:root{
  --bg:#0C0D0B; --bg2:#121310; --card:#171814; --card2:#1D1F1A;
  --ink:#F4F3EE; --dim:#B4B3AA; --faint:#908F87; --line:#2A2C26;
  --green:#5FCB90; --gdeep:#046938; --gsoft:#15291E;
  --gold:#E3B169; --goldsoft:#2B2214;
  --radius:16px; --max:1000px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{overflow-x:hidden}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:"Figtree",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;line-height:1.5}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:18px}
h1,h2,h3{margin:0;text-wrap:balance;letter-spacing:-.018em;line-height:1.12}
p{margin:0}
.hide{display:none!important}

/* ---------------- gate ---------------- */
#gate{min-height:100svh;display:flex;align-items:center;justify-content:center;
  padding:30px 18px;background:var(--bg)}
.gatecard{width:100%;max-width:380px;background:var(--card);border:1px solid var(--line);
  border-radius:20px;padding:30px 26px}
.mark{font-weight:800;letter-spacing:3.4px;font-size:13px;color:var(--green)}
.gatecard h1{font-size:24px;line-height:1.25}
.gatecard .sub{color:var(--dim);font-size:14px;margin-top:6px}
#pw{width:100%;margin-top:23px;padding:14px;font-size:16px;border:1px solid var(--line);
  border-radius:12px;background:rgba(0,0,0,.35);color:var(--ink);font-family:inherit}
#pw::placeholder{color:var(--faint)}
#pw:focus{outline:none;border-color:var(--green)}
.btn{width:100%;margin-top:11px;padding:14px;font-size:15px;font-weight:800;border:0;border-radius:12px;
  background:var(--green);color:#06271A;cursor:pointer;font-family:inherit;letter-spacing:.2px}
.btn:disabled{opacity:.5}
.hint{color:var(--dim);font-size:12.5px;margin-top:14px;line-height:1.45}
.err{color:#FF8A7A;font-size:13.5px;margin-top:10px;font-weight:700}
.langrow{display:flex;gap:6px;margin-top:19px;justify-content:center}
.langrow button{border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--dim);
  padding:6px 13px;border-radius:999px;font-size:12.5px;cursor:pointer;font-family:inherit}
.langrow button[aria-pressed="true"]{background:var(--green);border-color:var(--green);
  color:#06271A;font-weight:800}

/* ---------------- shell ---------------- */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;
  background:rgba(12,13,11,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line)}
.toprow{display:flex;align-items:center;gap:9px;padding:12px 0}
.toprow .mark{font-size:11.5px;letter-spacing:1.5px;line-height:1.35;min-width:0}
.toprow .mark em{font-style:normal;font-weight:600;letter-spacing:.6px;color:var(--dim);
  margin-left:6px;white-space:nowrap}
@media(max-width:460px){
  .toprow .mark{font-size:10.5px;letter-spacing:1.1px}
  .toprow .mark em{display:block;margin-left:0;margin-top:1px}
  .toprow .langrow button{padding:5px 8px;font-size:11px}
  .toprow .pill{padding:5px 9px;font-size:11px}
}
.toprow .pill{white-space:nowrap}
.toprow .langrow button{padding:5px 10px;font-size:12px}
.toprow .spacer{flex:1}
.pill{border:1px solid var(--line);background:transparent;color:var(--dim);padding:5px 11px;
  border-radius:999px;font-size:12px;cursor:pointer;font-family:inherit}
nav.tabs{display:flex;gap:3px;overflow-x:auto;padding-bottom:9px;scrollbar-width:none}
nav.tabs::-webkit-scrollbar{display:none}
nav.tabs button{white-space:nowrap;border:0;background:transparent;color:var(--dim);
  padding:8px 13px;border-radius:9px;font-size:14px;cursor:pointer;font-family:inherit;font-weight:600}
nav.tabs button[aria-selected="true"]{background:var(--gsoft);color:var(--green)}

/* ---------------- hero ---------------- */
.hero{position:relative;margin-bottom:8px;border-radius:0 0 26px 26px;overflow:hidden;
  margin-inline:-18px;padding:0 18px}
.herobg{position:absolute;inset:0;background-size:cover;background-position:center}
.herobg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(12,13,11,.06) 0%,rgba(12,13,11,.14) 30%,
             rgba(12,13,11,.58) 62%,rgba(12,13,11,.92) 85%,rgba(12,13,11,.99) 100%)}
.heroin{position:relative;padding:190px 0 26px}
@media(min-width:700px){.heroin{padding-top:240px}}
.hero h1{text-shadow:0 2px 24px rgba(0,0,0,.55)}
.hi{text-shadow:0 1px 10px rgba(0,0,0,.6)}
.hi{color:var(--green);font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase}
.hero h1{font-size:clamp(30px,8vw,46px);margin-top:7px}
.meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}
.tag{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:7px 13px;font-size:13px;
  backdrop-filter:blur(8px)}
.tag b{font-weight:700}
.tag.g{background:var(--green);border-color:transparent;color:#06271A;font-weight:700}

/* ---------------- blocks ---------------- */
section.panel{padding:26px 0 58px}
.lead{font-size:clamp(21px,4.6vw,29px);font-weight:800;margin-bottom:7px}
.sub{color:var(--dim);font-size:15px;margin-bottom:22px}
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(235px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.card h3{font-size:16px;margin-bottom:7px}
.card p{color:var(--dim);font-size:14px}
.card .note{margin-top:10px;font-size:13px;color:var(--green);font-weight:700}
.card.key{border-left:3px solid var(--green)}
.rule{background:linear-gradient(140deg,var(--gsoft),var(--card));border-color:#24402F}
.rule h3{color:var(--green)}
.rule p{color:var(--ink);opacity:.82}
.secthead{font-size:11.5px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;
  color:#CFCEC6;margin:36px 0 14px}
section.panel > div:first-child .secthead{margin-top:0}
.sectnote{color:var(--dim);font-size:14px;margin:-6px 0 14px;max-width:58ch}
.guard{background:var(--goldsoft);border:1px solid #3D3119;color:var(--gold);border-radius:12px;
  padding:12px 14px;font-size:14px;font-weight:700;margin:0 0 14px}

table.flights{width:100%;border-collapse:collapse;font-size:14px;background:var(--card);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
table.flights td{padding:12px 13px;border-bottom:1px solid var(--line)}
table.flights tr:last-child td{border-bottom:0}
table.flights td:nth-child(2){font-weight:800;color:var(--green)}
table.flights td:last-child{text-align:right;font-variant-numeric:tabular-nums;color:var(--dim)}

/* ---------------- itinerary ---------------- */
.day{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  margin-bottom:13px;overflow:hidden}
.daybody{padding:17px 18px}
.dh{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.dn{font-size:11px;font-weight:800;letter-spacing:1.4px;color:#06271A;background:var(--green);
  border-radius:7px;padding:3px 9px}
.day h3{font-size:18px}
.dd{color:var(--dim);font-size:13px;font-variant-numeric:tabular-nums}
.blocks{margin-top:13px;display:flex;flex-direction:column;gap:8px}
.blk{display:flex;gap:11px;font-size:14px;align-items:baseline}
.blk .w{min-width:78px;font-weight:800;font-size:11.5px;color:var(--green);text-transform:uppercase;
  letter-spacing:.7px}
.blk .t{color:var(--ink);opacity:.86}
.dnote{margin-top:13px;padding-top:12px;border-top:1px dashed var(--line);font-size:13.5px;
  color:var(--dim)}
.strip{display:flex;gap:7px;overflow-x:auto;padding:0 18px 17px;scrollbar-width:none}
.strip::-webkit-scrollbar{display:none}
.strip img{height:152px;width:auto;border-radius:11px;flex:0 0 auto;background:var(--card2);
  object-fit:cover}
/* scrollable photo row with desktop arrows */
.sw{margin-bottom:22px}
.swbox{position:relative}
.swbox .strip{padding:0 18px 4px;scroll-behavior:smooth}
.sw.big .strip img{height:230px;border-radius:14px}
@media(min-width:700px){.sw.big .strip img{height:280px}}
.day .sw{margin-bottom:0}
.day .swbox .strip{padding-bottom:17px}
.arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:38px;height:38px;border-radius:50%;border:1px solid var(--line);
  background:rgba(16,17,14,.88);backdrop-filter:blur(8px);color:var(--ink);
  font-size:20px;line-height:1;cursor:pointer;display:none;align-items:center;
  justify-content:center;font-family:inherit;padding:0 0 2px}
.arrow:hover{background:var(--green);color:#06271A;border-color:var(--green)}
.arrow.l{left:4px}
.arrow.r{right:4px}
@media(min-width:760px){
  .swbox .arrow{display:flex}
  .swbox.noscroll .arrow{display:none}
  .swbox.atstart .arrow.l{opacity:.25;pointer-events:none}
  .swbox.atend .arrow.r{opacity:.25;pointer-events:none}
}
.phone.second{font-size:clamp(20px,5vw,28px);opacity:.72;margin-top:-12px}
.striplab{padding:0 18px 9px;font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;
  color:#CFCEC6;font-weight:800}

/* ---------------- deliverables ---------------- */
.bignum{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.num{flex:1 1 260px;background:linear-gradient(150deg,var(--gsoft),var(--card));
  border:1px solid #23402F;border-radius:var(--radius);padding:19px;display:flex;
  flex-direction:column}
.num .v{font-size:42px;font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--green)}
.num .k{color:var(--ink);font-size:14px;margin-top:8px;font-weight:700}
.num .nb{color:var(--dim);font-size:13.5px;margin-top:7px;line-height:1.5}
.spec{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;
  padding:14px 0;border-bottom:1px solid var(--line)}
.spec:last-child{border-bottom:0}
.spec .l b{display:block;font-size:14.5px}
.spec .l span{color:var(--dim);font-size:13px}
.speclink{display:inline-block;margin-top:7px;font-size:13px;font-weight:700;
  color:var(--green);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}
.spec .r{font-weight:800;font-size:16px;white-space:nowrap;color:var(--green)}
.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.chip{background:var(--gsoft);color:var(--green);border:1px solid #23402F;border-radius:999px;
  padding:6px 12px;font-size:13px;font-weight:700}
.chip.a{background:var(--goldsoft);color:var(--gold);border-color:#3D3119}
.chip.acct{background:var(--ink);color:#0C0D0B;border-color:transparent}

/* ---------------- gallery ---------------- */
.gal{columns:2;column-gap:9px}
@media(min-width:620px){.gal{columns:3}}
@media(min-width:900px){.gal{columns:4}}
.gal img{width:100%;border-radius:12px;margin-bottom:9px;display:block;background:var(--card2)}
figure{margin:0}
.film{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.film video{width:100%;display:block;background:#000}
.yt{position:relative;width:100%;aspect-ratio:16/9;background:#000 center/cover}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.ytout{display:inline-block;margin-top:12px;font-size:13.5px;font-weight:700;color:var(--green);
  text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}
.film .fb{padding:17px 18px}

/* ---------------- admin ---------------- */
table.adm{width:100%;border-collapse:collapse;font-size:13.5px}
table.adm th{text-align:left;font-size:11px;letter-spacing:1.3px;text-transform:uppercase;
  color:#CFCEC6;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}
table.adm td{padding:11px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
table.adm tr:last-child td{border-bottom:0}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#E0574A;margin-right:7px}
.dot.ok{background:var(--green)}
.scrollx{overflow-x:auto;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:4px 8px}
footer{color:var(--dim);font-size:12px;padding:28px 0 46px;border-top:1px solid var(--line)}

/* ---------------- welcome ---------------- */
.intro{font-size:16.5px;color:var(--ink);opacity:.9;margin-bottom:18px;max-width:56ch}
.intro b{color:var(--green);font-weight:700}
.embargo{background:linear-gradient(140deg,#3A1512,#241110);border:1px solid #5A2420;
  border-left:4px solid #E0574A;border-radius:var(--radius);padding:16px 18px;margin-bottom:22px}
.emh{font-size:16.5px;font-weight:800;color:#FF9A8C;margin-bottom:6px;letter-spacing:-.01em}
.emb{font-size:14.5px;color:var(--ink);opacity:.85}
.guidep{font-size:15.5px;color:var(--dim);line-height:1.65;max-width:62ch}
.guidep .tabref{color:var(--green);font-weight:800}
.ttlbody{margin-bottom:4px;color:var(--ink);opacity:.86}
.guide{display:flex;flex-direction:column;gap:2px}
.gitem{display:flex;gap:13px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line)}
.gitem:last-child{border-bottom:0}
.gnum{flex:0 0 24px;height:24px;border-radius:7px;background:var(--gsoft);color:var(--green);
  font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:1px}
.gitem b{display:block;font-size:15px;margin-bottom:3px}
.gitem span{color:var(--dim);font-size:14px}
.outro{margin-top:20px;color:var(--gold);font-size:14.5px;font-weight:700}

/* ---------------- true to life ---------------- */
.kicker{font-size:11px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;
  color:var(--green);margin-bottom:9px}
.bigline{font-size:clamp(17px,3.8vw,21px);font-weight:600;color:var(--ink);opacity:.92;
  margin:2px 0 10px;max-width:40ch}
.card.half{background:linear-gradient(150deg,#1B1D18,var(--card));border-color:#2E3129}
.halfh{font-size:11px;font-weight:800;letter-spacing:2.4px;color:var(--gold);margin-bottom:9px}

/* ---------------- highlighted features ---------------- */
.phone{font-size:clamp(19px,4.2vw,25px);font-weight:800;letter-spacing:-.02em;
  margin:0 0 14px;color:var(--ink)}
.fintro{color:var(--dim);font-size:15px;margin:18px 0 0;max-width:58ch}
.pcount{font-weight:600;font-size:.62em;color:var(--green);letter-spacing:0;
  margin-left:7px;white-space:nowrap}
.fset{margin-bottom:26px}
.fhead{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 11px;margin:0 0 12px}
.badge{font-size:10.5px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;
  border-radius:999px;padding:5px 11px;background:var(--green);color:#06271A;flex:none}
.badge.soft{background:transparent;color:var(--gold);border:1px solid #3D3119}
.badge.plain{background:transparent;color:var(--dim);border:1px solid var(--line)}
.fn.lead2{flex:1 1 100%;font-size:14px;color:var(--dim);max-width:62ch}
.fn{color:var(--dim);font-size:13.5px;flex:1 1 220px;min-width:0}
.fset .grid{margin-bottom:20px}
.fset .grid:last-child{margin-bottom:0}

/* ---------------- hashtags ---------------- */
.chip.off{opacity:.34}
.chip.mine{position:relative}
.chip i{font-style:normal;margin-left:7px;font-size:10px;letter-spacing:1.1px;text-transform:uppercase;
  background:var(--green);color:#06271A;border-radius:999px;padding:2px 7px;font-weight:800}

/* ---------------- admin: password reset ---------------- */
.pwrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:11px 0;
  border-bottom:1px solid var(--line)}
.pwrow:last-child{border-bottom:0}
.pwname{flex:1 1 150px;min-width:130px;font-size:14.5px;display:flex;align-items:center;gap:8px}
.pwtag{font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;
  background:var(--goldsoft);color:var(--gold);border-radius:999px;padding:2px 8px}
.pwrow input{flex:1 1 170px;min-width:0;padding:9px 11px;font-size:15px;border:1px solid var(--line);
  border-radius:9px;background:rgba(0,0,0,.3);color:var(--ink);font-family:inherit}
.pwrow input:focus{outline:none;border-color:var(--green)}
.pwbtn{padding:9px 16px;font-size:13.5px;font-weight:800;border:0;border-radius:9px;
  background:var(--green);color:#06271A;cursor:pointer;font-family:inherit}
.pwbtn:disabled{opacity:.5}
.pwmsg{margin-top:12px;font-size:13.5px;font-weight:700;color:var(--green)}
.resetbar{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.resetform .pwrow{border-bottom:0;padding-bottom:0}
.resetform .sub{margin-bottom:4px;font-size:13.5px}
.pwbtn.ghost{background:transparent;color:var(--dim);border:1px solid var(--line)}
.pwbtn.ghost:hover{color:var(--ink);border-color:var(--faint)}
.logbar{margin:0 0 12px}
.logbox{max-height:460px;overflow-y:auto}
