/* =========================================================
   The Upgraded Traveller - "Ledger & Brass" design system
   Warm-dark editorial. Brass accent. Ivory spotlights.
   Fonts loaded per-page via Google Fonts <link>.
   ========================================================= */

/* Referrals link temporarily hidden in nav + footer (Sep 2026) - delete this line to re-enable */
.nav-links a[href="referrals.html"],footer a[href="referrals.html"]{display:none;}
:root{
  --ink:#12120e;
  --ink-raise:#1a1a14;
  --ink-card:#20201a;
  --ivory:#f4eee1;
  --ivory-2:#ece2cf;
  --brass:#c9a568;
  --brass-hi:#e6cf9a;
  --brass-lo:#a9884b;
  --text:#ece6d6;
  --text-dim:#a49d89;
  --ink-on-paper:#24211a;
  --dim-on-paper:#6e6656;
  --line:rgba(201,165,104,.22);
  --line-soft:rgba(236,230,214,.09);
  --line-dot:rgba(201,165,104,.38);
  --ok:#7fb98a;
  --wrap:1120px;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--text);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  background:
    radial-gradient(900px 520px at 88% -8%, rgba(201,165,104,.10), transparent 60%),
    radial-gradient(700px 460px at 2% 4%, rgba(201,165,104,.045), transparent 55%),
    var(--ink);
}
a{color:var(--brass-hi);text-decoration:none;transition:color .15s ease;}
a:hover{color:var(--brass);}
h1,h2,h3{text-wrap:balance;margin:0;}
p{margin:0 0 1em;}
code{font-family:var(--mono);font-size:.88em;background:rgba(201,165,104,.10);border:1px solid var(--line);border-radius:5px;padding:1px 6px;color:var(--brass-hi);}
::selection{background:var(--brass);color:var(--ink);}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:3px;}
img{max-width:100%;display:block;}
strong,b{color:var(--text);}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px;}
main{display:block;}

/* ---------- Eyebrow / kicker / accent word ---------- */
.eyebrow,.kicker{
  font-size:.78rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.16em;color:var(--brass);
  display:inline-flex;align-items:center;gap:9px;font-style:normal;
}
.eyebrow::before,.kicker::before{content:"";width:20px;height:1px;background:var(--brass-lo);}
.serif{font-family:var(--serif);font-optical-sizing:auto;}
.i,.grad{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--brass-hi);background:none;-webkit-text-fill-color:currentColor;}

/* ---------- Nav (pill) ---------- */
.topbar{position:sticky;top:0;z-index:40;padding:16px 24px;
  background:linear-gradient(var(--ink) 55%, rgba(18,18,14,0));}
.nav{
  position:relative;max-width:var(--wrap);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:11px 12px 11px 20px;
  border:1px solid var(--line);border-radius:999px;
  background:rgba(26,26,20,.72);backdrop-filter:saturate(140%) blur(10px);
}
.brand{display:flex;align-items:center;gap:11px;color:var(--text);font-family:var(--serif);font-weight:600;font-size:1.12rem;letter-spacing:.01em;flex-shrink:0;}
.brand:hover{color:var(--text);}
.brand::before{
  content:"";width:32px;height:32px;flex-shrink:0;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Ccircle cx='200' cy='200' r='180' fill='none' stroke='%23c9a568' stroke-width='26'/%3E%3Ccircle cx='194' cy='214' r='94' fill='none' stroke='%23c9a568' stroke-width='20'/%3E%3Cellipse cx='194' cy='214' rx='40' ry='94' fill='none' stroke='%23c9a568' stroke-width='14'/%3E%3Cpath d='M100 214 H288 M114 168 H274 M114 260 H274' stroke='%23c9a568' stroke-width='14'/%3E%3Cpath transform='translate(284 104) rotate(28) scale(.55) translate(-200 -195)' fill='%23e6cf9a' d='M200 112 C209 112 213 124 213 138 V180 L276 214 V230 L213 212 V250 L233 265 V277 L200 268 L167 277 V265 L187 250 V212 L124 230 V214 L187 180 V138 C187 124 191 112 200 112 Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.nav-links{display:flex;gap:26px;align-items:center;}
.nav-links a{color:var(--text-dim);font-size:.92rem;font-weight:500;position:relative;padding:3px 0;}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;background:var(--brass);transition:width .2s ease;}
.nav-links a:hover,.nav-links a.active{color:var(--text);}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-cta{
  flex-shrink:0;font-size:.9rem;font-weight:600;color:var(--ink);
  background:var(--brass);padding:9px 18px;border-radius:999px;
  transition:background .16s ease,transform .16s ease;
}
.nav-cta:hover{background:var(--brass-hi);color:var(--ink);transform:translateY(-1px);}
.menu-btn{display:none;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--text);cursor:pointer;}
.menu-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;}

/* ---------- Buttons ---------- */
.btn-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:6px;}
.btn,.cta{
  display:inline-flex;align-items:center;gap:8px;
  font-weight:600;font-size:.98rem;line-height:1.2;
  padding:13px 24px;border-radius:999px;cursor:pointer;
  transition:transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease;
}
.btn.primary,.cta{background:var(--brass);color:var(--ink);border:1px solid transparent;}
.btn.primary:hover,.cta:hover{background:var(--brass-hi);color:var(--ink);transform:translateY(-2px);}
.btn.ghost,.cta.ghost{background:transparent;border:1px solid var(--line);color:var(--text);}
.btn.ghost:hover,.cta.ghost:hover{border-color:var(--brass);color:var(--brass-hi);background:transparent;transform:translateY(-2px);}
.btn.dark{background:var(--ink-on-paper);color:var(--ivory);}
.btn.dark:hover{background:#000;color:var(--ivory);transform:translateY(-2px);}
.btn.outline-ink{border:1px solid rgba(36,33,26,.28);color:var(--ink-on-paper);}
.btn.outline-ink:hover{border-color:var(--brass-lo);color:var(--brass-lo);transform:translateY(-2px);}

/* ---------- Hero ---------- */
.hero{padding:52px 0 68px;position:relative;overflow:hidden;}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);
  background-size:56px 100%;
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent 72%);
  mask-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent 72%);
  opacity:.6;
}
.hero h1{
  font-family:var(--serif);font-optical-sizing:auto;font-weight:500;
  font-size:clamp(2.3rem,4.6vw,3.4rem);line-height:1.04;letter-spacing:-.02em;
  margin:18px 0 18px;
}
.hero .lead{color:var(--text-dim);font-size:clamp(1.05rem,1.5vw,1.2rem);max-width:60ch;margin:0 0 26px;}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:56px;align-items:center;}
.hero-grid h1{font-size:clamp(2.5rem,4.8vw,3.7rem);line-height:1.015;letter-spacing:-.022em;margin:20px 0 22px;}
.hero-grid .lead{max-width:40ch;margin-bottom:30px;}

.trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:34px;padding-top:22px;border-top:1px solid var(--line-soft);font-size:.82rem;color:var(--text-dim);}
.trust span{display:inline-flex;align-items:center;gap:8px;}
.dot{width:6px;height:6px;border-radius:50%;background:var(--brass);flex-shrink:0;box-shadow:0 0 0 3px rgba(201,165,104,.14);}

/* ---------- Split hero (Tools etc.) ---------- */
.hero-split{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center;padding:48px 0 20px;}
.hero-split .copy h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.1rem,4vw,3rem);line-height:1.06;letter-spacing:-.018em;margin:14px 0 16px;}
.hero-split .copy .lead{color:var(--text-dim);font-size:1.12rem;margin:0 0 20px;}
.meta-line{font-size:.85rem;color:var(--text-dim);margin-top:16px;}
.meta-line strong{color:var(--text);}

/* ---------- Value ledger (signature) ---------- */
.ledger{
  background:linear-gradient(168deg,var(--ink-card),#161610);
  border:1px solid var(--line);border-radius:18px;padding:26px 28px 24px;
  box-shadow:0 40px 80px -46px rgba(0,0,0,.85), inset 0 1px 0 rgba(236,230,214,.05);position:relative;
}
.ledger::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;border-radius:18px 18px 0 0;background:linear-gradient(90deg,transparent,var(--brass),transparent);opacity:.7;}
.ledger .lhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.ledger .ltag{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);font-weight:600;}
.ledger .lstamp{font-family:var(--mono);font-size:.78rem;color:var(--text-dim);border:1px solid var(--line);border-radius:5px;padding:3px 7px;}
.lrow{display:flex;align-items:baseline;gap:12px;padding:9px 0;font-size:.95rem;}
.lrow .lab{color:var(--text);}
.lrow .dots{flex:1;border-bottom:1px dotted var(--line-dot);transform:translateY(-4px);}
.lrow .val{font-family:var(--mono);font-size:.86rem;color:var(--text-dim);white-space:nowrap;}
.lrow .val.good{color:var(--brass-hi);}
.lnet{margin-top:10px;padding-top:16px;border-top:1px solid var(--brass-lo);display:flex;align-items:baseline;justify-content:space-between;gap:14px;}
.lnet .nlab{font-family:var(--mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);}
.lnet .nval{font-family:var(--serif);font-style:italic;font-size:1.18rem;color:var(--text);text-align:right;}

/* ---------- Statement divider ---------- */
.rule{max-width:var(--wrap);margin:0 auto;padding:0 24px;}
.rule-in{display:flex;align-items:center;gap:18px;color:var(--brass-lo);}
.rule-in::before,.rule-in::after{content:"";flex:1;height:1px;background:var(--line);}
.rule-in .mk{font-family:var(--serif);font-size:.9rem;color:var(--brass);letter-spacing:.02em;white-space:nowrap;}

/* ---------- Sections ---------- */
section.band{padding:70px 0;}
.sec-head{max-width:62ch;margin-bottom:38px;}
.sec-head h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.75rem,3.4vw,2.5rem);letter-spacing:-.015em;line-height:1.08;margin:14px 0 12px;}
.sec-head p{color:var(--text-dim);margin:0;font-size:1.05rem;}

section.block{margin-top:52px;}
section.block>h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.5rem,2.8vw,2rem);letter-spacing:-.012em;line-height:1.12;padding-bottom:14px;margin-bottom:22px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;}
section.block>h2::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--brass);transform:rotate(45deg);flex-shrink:0;}
/* collapsible block (e.g. How it works) - closed by default */
details.fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line);}
details.fold>summary::-webkit-details-marker{display:none;}
details.fold>summary h2{flex:1;font-family:var(--serif);font-weight:500;font-size:clamp(1.5rem,2.8vw,2rem);letter-spacing:-.012em;line-height:1.12;display:flex;align-items:center;gap:12px;}
details.fold>summary h2::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--brass);transform:rotate(45deg);flex-shrink:0;}
details.fold>summary::after{content:"Show";font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--brass);border:1px solid var(--brass-lo);border-radius:999px;padding:4px 14px;transition:background .15s ease;}
details.fold>summary:hover::after{background:rgba(201,165,104,.10);}
details.fold[open]>summary::after{content:"Hide";}
details.fold[open]>summary{margin-bottom:22px;}
section.block>p{color:var(--text-dim);}

/* ---------- Pillars ---------- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);}
.pillar{padding:30px 28px 32px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);position:relative;transition:background .18s ease;}
.pillar:nth-child(3n){border-right:none;}
.pillar:hover{background:rgba(201,165,104,.04);}
.pillar .pico{width:40px;height:40px;color:var(--brass);margin-bottom:18px;}
.pillar .pico svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;}
.pillar h3{font-family:var(--serif);font-weight:500;font-size:1.4rem;margin-bottom:10px;letter-spacing:-.01em;}
.pillar p{color:var(--text-dim);font-size:.96rem;margin:0 0 18px;}
.pillar .plink{font-size:.9rem;font-weight:600;color:var(--brass);display:inline-flex;gap:6px;align-items:center;transition:gap .16s ease,color .16s ease;}
.pillar .plink:hover{gap:11px;color:var(--brass-hi);}

/* ---------- Grid + cards ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:8px;}
.card{background:linear-gradient(180deg,var(--ink-raise),#141410);border:1px solid var(--line);border-radius:14px;padding:24px;position:relative;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;}
.card::before{content:"";position:absolute;left:0;top:0;right:0;height:2px;background:linear-gradient(90deg,var(--brass),transparent);opacity:0;transition:opacity .18s ease;}
.card:hover{transform:translateY(-3px);border-color:var(--brass-lo);box-shadow:0 24px 50px -34px rgba(0,0,0,.85);}
.card:hover::before{opacity:1;}
.card h3{font-family:var(--serif);font-weight:500;font-size:1.22rem;margin:0 0 8px;letter-spacing:-.01em;}
.card p{color:var(--text-dim);margin:0;font-size:.96rem;}
.card p+p{margin-top:10px;}
a.card{display:block;color:inherit;}
a.card:hover{color:inherit;}
a.card h3{color:var(--text);}
a.card .rd{margin-top:15px;font-size:.9rem;font-weight:600;color:var(--brass);display:inline-flex;gap:6px;align-items:center;transition:gap .16s ease,color .16s ease;}
a.card:hover .rd{gap:11px;color:var(--brass-hi);}
.card .meta-row{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:12px;font-size:.78rem;color:var(--text-dim);font-family:var(--mono);}
.tag{display:inline-block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--brass);background:rgba(201,165,104,.10);border:1px solid var(--brass-lo);border-radius:999px;padding:3px 11px;margin-bottom:14px;}
.ic{width:44px;height:44px;border-radius:12px;background:rgba(201,165,104,.10);border:1px solid var(--brass-lo);display:grid;place-items:center;margin-bottom:16px;}
.ic svg{width:22px;height:22px;fill:none;stroke:var(--brass);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}

/* ---------- Ivory spotlight ---------- */
.spot{background:radial-gradient(700px 400px at 90% 0%, rgba(169,136,75,.10), transparent 60%),var(--ivory);color:var(--ink-on-paper);padding:74px 0;}
.spot .eyebrow,.spot .kicker{color:var(--brass-lo);}
.spot .eyebrow::before,.spot .kicker::before{background:var(--brass-lo);}
.spot-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:52px;align-items:center;}
.spot h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.8rem,3.4vw,2.6rem);letter-spacing:-.015em;line-height:1.06;color:var(--ink-on-paper);margin:16px 0 16px;}
.spot .lead{color:var(--dim-on-paper);font-size:1.08rem;margin:0 0 22px;}
.spot .feat{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:11px;}
.spot .feat li{display:flex;gap:11px;align-items:flex-start;font-size:.97rem;color:var(--ink-on-paper);}
.spot .feat svg{width:19px;height:19px;flex-shrink:0;margin-top:3px;stroke:var(--brass-lo);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.spot .meta{font-size:.85rem;color:var(--dim-on-paper);margin-top:6px;}
.spot b,.spot strong{color:var(--brass-lo);}
.spot .meta b{color:var(--ink-on-paper);}
.shot{background:linear-gradient(160deg,#fffaf0,var(--ivory-2));border:1px solid rgba(36,33,26,.14);border-radius:16px;padding:10px;box-shadow:0 40px 70px -40px rgba(60,45,20,.4);}
.shot img{border-radius:9px;border:1px solid rgba(36,33,26,.12);width:100%;}
.shot .cap{font-family:var(--mono);font-size:.78rem;color:var(--dim-on-paper);text-align:center;padding:9px 0 3px;letter-spacing:.04em;}

/* ---------- Travel band ---------- */
.travel{position:relative;overflow:hidden;padding:76px 0;background:radial-gradient(760px 460px at 82% 120%, rgba(201,165,104,.14), transparent 60%),linear-gradient(180deg,#151510,#100f0b);}
.travel-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;}
.travel h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.9rem,3.6vw,2.8rem);line-height:1.04;letter-spacing:-.018em;margin:16px 0 18px;}
.travel .lead{color:var(--text-dim);font-size:1.08rem;margin:0 0 26px;max-width:40ch;}
.perks{display:grid;gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:rgba(26,26,20,.5);}
.perk{display:flex;align-items:baseline;gap:14px;padding:16px 20px;border-bottom:1px solid var(--line-soft);}
.perk:last-child{border-bottom:none;}
.perk .pk{font-family:var(--serif);font-style:italic;color:var(--brass-hi);font-size:1.05rem;min-width:132px;}
.perk .pv{color:var(--text-dim);font-size:.94rem;}

/* ---------- Updates ---------- */
.updates{padding:72px 0;text-align:center;}
.updates .inner{max-width:640px;margin:0 auto;}
.updates h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.7rem,3.2vw,2.4rem);letter-spacing:-.015em;line-height:1.08;margin:16px 0 14px;}
.updates p{color:var(--text-dim);margin:0 0 28px;}
.updates .btn-row{justify-content:center;}
.updates .eyebrow,.eyebrow.center{justify-content:center;}

/* ---------- Lists / callouts ---------- */
.terms{padding-left:0;margin:14px 0;list-style:none;}
.terms li{margin-bottom:12px;color:var(--text-dim);padding-left:26px;position:relative;}
.terms li::before{content:"";position:absolute;left:2px;top:.62em;width:9px;height:9px;border-radius:2px;background:var(--brass);transform:rotate(45deg);}
.terms li strong{color:var(--text);}

.notice{border:1px solid var(--brass-lo);background:rgba(201,165,104,.07);color:var(--text);padding:16px 18px;border-radius:12px;margin:24px 0;font-size:1rem;}
.notice strong{color:var(--brass-hi);}

/* ---------- Deal listing (Deals page) ---------- */
.deals-list{display:grid;gap:16px;margin-top:8px;}
.deal{display:flex;flex-wrap:wrap;gap:18px 26px;align-items:center;justify-content:space-between;background:linear-gradient(180deg,var(--ink-raise),#141410);border:1px solid var(--line);border-radius:16px;padding:24px 26px;transition:border-color .16s ease;}
.deal:hover{border-color:var(--brass-lo);}
.deal .deal-info{flex:1 1 300px;min-width:0;}
.deal .deal-info h3{font-family:var(--serif);font-weight:500;font-size:1.3rem;margin:10px 0 8px;letter-spacing:-.01em;}
.deal .deal-info p{color:var(--text-dim);margin:0;font-size:.94rem;}
.deal .deal-buy{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:2px;}
.deal .deal-price{display:flex;align-items:baseline;gap:10px;}
.deal .deal-price .now{font-family:var(--serif);font-size:2.05rem;font-weight:500;color:var(--text);letter-spacing:-.02em;}
.deal .deal-price .was{font-family:var(--mono);font-size:.9rem;color:var(--text-dim);text-decoration:line-through;}
.deal .deal-unit{font-size:.78rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;}
.deal.featured{border-color:var(--brass);box-shadow:0 22px 48px -30px rgba(0,0,0,.85), inset 0 0 0 1px rgba(201,165,104,.14);}
.deal .save{display:inline-block;margin-top:14px;font-size:.8rem;font-weight:700;color:var(--ink);background:var(--brass);border-radius:999px;padding:5px 13px;letter-spacing:.01em;}
@media(max-width:560px){.deal .deal-buy{align-items:flex-start;text-align:left;width:100%;}}
/* brand coupon codes */
.coupon-code{display:flex;align-items:stretch;border:1.5px dashed var(--brass);border-radius:10px;overflow:hidden;margin:4px 0 12px;}
.coupon-code code{font-family:var(--mono);font-size:1.25rem;font-weight:500;letter-spacing:.12em;color:var(--brass-hi);padding:9px 16px;background:rgba(201,165,104,.07);}
.coupon-code button{font:600 .8rem var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--ink);background:var(--brass);border:0;padding:0 14px;cursor:pointer;}
.coupon-code button:hover{background:var(--brass-hi);}

/* live "in stock" heading */
section.block>h2.live::before{display:none;}
.livewrap{display:flex;align-items:center;gap:11px;}
.livedot{width:9px;height:9px;border-radius:50%;background:var(--ok);flex-shrink:0;box-shadow:0 0 0 0 rgba(127,185,138,.55);animation:livepulse 2.2s infinite;}
@keyframes livepulse{0%{box-shadow:0 0 0 0 rgba(127,185,138,.5);}70%{box-shadow:0 0 0 9px rgba(127,185,138,0);}100%{box-shadow:0 0 0 0 rgba(127,185,138,0);}}
@media(prefers-reduced-motion:reduce){.livedot{animation:none;}}

/* ---------- Perks marquee (Travel page name ticker) ---------- */
.ticker{overflow:hidden;border-top:1px solid var(--line-soft);padding:4px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}
.ticker:last-of-type{border-bottom:1px solid var(--line-soft);}
.ticker .track{display:inline-flex;white-space:nowrap;will-change:transform;animation:tickerscroll 44s linear infinite;}
.ticker.rev .track{animation-direction:reverse;animation-duration:52s;}
.ticker:hover .track{animation-play-state:paused;}
.ticker .item{display:inline-flex;align-items:baseline;gap:12px;padding:11px 0;}
.ticker .item .nm{font-family:var(--serif);font-weight:500;font-size:clamp(1.2rem,2.4vw,1.55rem);color:var(--text);letter-spacing:-.01em;}
.ticker .item .lc{font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);}
.ticker .sep{color:var(--brass);font-size:.95rem;padding:0 24px;transform:translateY(-3px);}
@keyframes tickerscroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){.ticker .track{animation:none;white-space:normal;flex-wrap:wrap;gap:0 6px;}}

.disclosure{margin:22px 0;font-size:.86rem;color:var(--text-dim);border-left:2px solid var(--brass-lo);padding:4px 0 4px 15px;max-width:64ch;}
.disclosure b,.disclosure strong{color:var(--text);}

ol.steps{list-style:none;padding:0;margin:18px 0;counter-reset:step;display:grid;gap:12px;}
ol.steps li{counter-increment:step;position:relative;padding:16px 20px 16px 66px;background:linear-gradient(180deg,var(--ink-raise),#141410);border:1px solid var(--line);border-radius:13px;color:var(--text-dim);}
ol.steps li strong{color:var(--text);}
ol.steps li::before{content:counter(step);position:absolute;left:16px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:var(--brass);color:var(--ink);font-family:var(--serif);font-weight:600;font-size:1rem;display:grid;place-items:center;}

.facts{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 4px;}
.facts span{font-size:.82rem;color:var(--text-dim);border:1px solid var(--line);background:var(--ink-raise);border-radius:999px;padding:6px 14px;}
.facts span strong{color:var(--brass-hi);font-weight:600;}

.empty-state{border:1px dashed var(--line);background:linear-gradient(180deg,var(--ink-raise),#141410);border-radius:16px;padding:44px 30px;text-align:center;color:var(--text-dim);}
.empty-state h3{font-family:var(--serif);font-weight:500;color:var(--text);margin:0 0 8px;font-size:1.35rem;}
.empty-state p{max-width:480px;margin:0 auto 18px;}

/* ---------- Article / story ---------- */
.article{max-width:760px;margin:0 auto;padding:8px 24px 0;}
.article .sec{margin:34px 0;}
.article .sec h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.3rem,2.4vw,1.6rem);letter-spacing:-.01em;line-height:1.15;margin:0 0 13px;display:flex;align-items:baseline;gap:13px;}
.article .sec h2 .n{font-family:var(--mono);font-size:.8rem;color:var(--brass);border:1px solid var(--brass-lo);border-radius:7px;padding:3px 9px;flex-shrink:0;line-height:1.2;}
.article p{color:var(--text-dim);margin:0 0 14px;font-size:1.04rem;line-height:1.75;}
.article p strong,.article li strong{color:var(--text);}
.article ul.story{list-style:none;padding:0;margin:0 0 16px;}
.article ul.story li{color:var(--text-dim);padding-left:22px;position:relative;margin-bottom:9px;line-height:1.62;}
.article ul.story li::before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;border-radius:2px;background:var(--brass-lo);transform:rotate(45deg);}
.article ul.story li strong{color:var(--text);}
blockquote.pull{margin:26px 0;padding:18px 24px;border-left:3px solid var(--brass);background:var(--ink-raise);border-radius:0 12px 12px 0;font-family:var(--serif);font-style:italic;font-size:1.18rem;line-height:1.5;color:var(--text);}
blockquote.pull cite{display:block;margin-top:10px;font-family:var(--sans);font-style:normal;font-size:.82rem;color:var(--text-dim);}
.byline{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:16px 0 2px;font-size:.85rem;color:var(--text-dim);}
.byline .dot-sep{width:4px;height:4px;border-radius:50%;background:var(--brass-lo);}
.xsource{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;border:1px solid var(--line);background:var(--ink-raise);border-radius:14px;padding:18px 22px;margin:6px 0 0;}
.xsource p{margin:0;color:var(--text-dim);font-size:.9rem;}
.xsource p strong{color:var(--text);}

/* ---------- Reading theme (option 2: calmer neutral dark) ----------
   Applied via <body class="read"> on article/guide pages. Neutralises the
   warm-tan + gold cast for comfortable long-form reading; keeps brass only
   on small labels, numbers and accents. */
body.read{
  --ink:#15151a; --ink-raise:#1e1e24; --ink-card:#24242b;
  --text:#f3f1ec; --text-dim:#a7a5a0;
  --brass:#c6a56c; --brass-hi:#e2c88f; --brass-lo:#9a8a66;
  --line:rgba(255,255,255,.11); --line-soft:rgba(255,255,255,.06); --line-dot:rgba(255,255,255,.20);
  background:
    radial-gradient(900px 520px at 88% -8%, rgba(255,255,255,.028), transparent 60%),
    var(--ink);
}
/* article images - compact zoomable thumbnails (opens in js/lightbox.js) */
.article .gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin:24px 0;}
.article .gallery figure{margin:0;min-width:0;}
.article .thumb{position:relative;display:block;border-radius:11px;overflow:hidden;border:1px solid var(--line);cursor:zoom-in;background:var(--ink-raise);}
.article .thumb img{width:100%;height:152px;object-fit:cover;object-position:center;display:block;transition:transform .35s ease;}
.article .thumb.shot{background:#fff;}
.article .thumb.shot img{object-fit:contain;padding:5px;}
.article .thumb:hover img{transform:scale(1.05);}
.article .thumb::after{content:"\2922";position:absolute;top:7px;right:7px;width:26px;height:26px;border-radius:7px;background:rgba(8,8,10,.72);color:#fff;display:grid;place-items:center;font-size:1rem;opacity:0;transition:opacity .15s ease;pointer-events:none;}
.article .thumb:hover::after{opacity:1;}
.article .gallery figcaption{font-family:var(--mono);font-size:.78rem;letter-spacing:.03em;color:var(--text-dim);margin-top:7px;text-transform:uppercase;line-height:1.45;}

/* ---------- Tables ---------- */
table.tier{width:100%;border-collapse:collapse;margin:14px 0;}
table.tier th,table.tier td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);font-size:.92rem;}
table.tier th{color:var(--brass);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;}
table.tier td{color:var(--text-dim);}
table.tier td strong{color:var(--text);}

/* ---------- FAQ ---------- */
.faq details{border:1px solid var(--line);background:var(--ink-raise);border-radius:12px;padding:2px 20px;margin-bottom:10px;transition:border-color .15s ease;}
.faq details[open]{border-color:var(--brass-lo);}
.faq summary{cursor:pointer;font-weight:600;color:var(--text);padding:16px 0;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";color:var(--brass);font-size:1.5rem;font-weight:300;line-height:1;flex-shrink:0;}
.faq details[open] summary::after{content:"\2013";}
.faq details>*:not(summary){color:var(--text-dim);margin:0 0 15px;}
.faq details ul{padding-left:20px;}
.faq details li{margin-bottom:6px;}

/* ---------- Pricing ---------- */
.pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-top:8px;}
.price{background:linear-gradient(180deg,var(--ink-raise),#141410);border:1px solid var(--line);border-radius:16px;padding:28px 20px;text-align:center;position:relative;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;}
.price:hover{transform:translateY(-3px);border-color:var(--brass-lo);}
.price.featured{border-color:var(--brass);box-shadow:0 20px 46px -30px rgba(0,0,0,.85);}
.price .term{color:var(--text-dim);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;}
.price .amt{font-family:var(--serif);font-size:2.3rem;font-weight:500;margin:10px 0 2px;letter-spacing:-.02em;color:var(--text);}
.price .amt small{font-size:.95rem;font-weight:600;color:var(--text-dim);}
.price .note{color:var(--text-dim);font-size:.84rem;min-height:20px;}
.price .best{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--brass);color:var(--ink);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 12px;border-radius:999px;white-space:nowrap;}
.fineprint{font-size:.82rem;color:var(--text-dim);margin-top:12px;}
.ast{color:var(--brass);font-weight:700;}

/* ---------- Screenshots (dark frame, inner pages) ---------- */
.shot-frame{background:linear-gradient(160deg,var(--ink-card),var(--ink-raise));border:1px solid var(--line);border-radius:16px;padding:9px;box-shadow:0 30px 66px -38px rgba(0,0,0,.85);}
.shot-frame img{width:100%;display:block;border-radius:9px;border:1px solid var(--line);}
img.zoomable{cursor:zoom-in;}
.screens{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;}
.screens figure{margin:0;}
.screens figcaption{color:var(--text-dim);font-size:.86rem;margin-top:10px;}
.screens figcaption strong{color:var(--text);}
.screens .shot-frame{position:relative;}
.screens .shot-frame::after{content:"\2922 Click to enlarge";position:absolute;left:50%;bottom:16px;transform:translateX(-50%);background:rgba(18,18,14,.9);border:1px solid var(--line);color:var(--text);font-size:.75rem;font-weight:500;padding:5px 12px;border-radius:999px;opacity:0;transition:opacity .16s ease;pointer-events:none;}
.screens .shot-frame:hover::after{opacity:1;}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(6,6,4,.94);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;padding:24px;cursor:zoom-out;}
.lightbox.open{display:flex;}
.lightbox img{max-width:96vw;max-height:92vh;border-radius:10px;border:1px solid var(--line);box-shadow:0 30px 80px -18px rgba(0,0,0,.9);}
.lightbox .lb-close{position:absolute;top:14px;right:20px;color:var(--text);font-size:2.2rem;line-height:1;background:none;border:none;cursor:pointer;padding:6px;}
.lightbox .lb-close:hover{color:var(--brass);}

/* ---------- Ivory panels (dark pages, soft-ivory cards) ----------
   Anything you act on - pillar, deal, card, step, ledger - sits on ivory
   paper. The palette is re-scoped so children using the usual tokens
   (--text, --brass, --line...) flip to dark-on-ivory automatically. */
.pillar,.ledger,.deal,.card,ol.steps li,.price,.empty-state,.faq details,blockquote.pull,.xsource{
  --ink:#e9e3d6;
  --ink-raise:#f2eee5;
  --text:#27231c;
  --text-dim:#595244;
  --brass:#8f6d33;
  --brass-hi:#7a5a24;
  --brass-lo:#b89a62;
  --line:rgba(120,92,40,.24);
  --line-soft:rgba(29,26,20,.09);
  --line-dot:rgba(120,92,40,.38);
  color:var(--text);
  background:var(--ink-raise);
  border-color:rgba(201,165,104,.35);
}
.pillars{gap:18px;border-top:none;}
.pillar,.pillar:nth-child(3n){border:1px solid rgba(201,165,104,.35);border-radius:16px;}
.pillar:hover{background:#f7f3eb;border-color:var(--brass-lo);}
.card:hover,.deal:hover,.price:hover{border-color:#c9a568;box-shadow:0 24px 50px -30px rgba(0,0,0,.9);}
.deal.featured{border-color:#c9a568;box-shadow:inset 0 0 0 1px rgba(201,165,104,.5);}
.ledger{box-shadow:0 40px 80px -40px rgba(0,0,0,.9);}
.ledger::before{background:linear-gradient(90deg,transparent,#c9a568,transparent);}
/* brass fills always keep dark text, whatever surface they sit on */
.btn.primary,.cta,.coupon-code button,.deal .save,ol.steps li::before,.price .best{background:#c9a568;color:#1d1a14;}
.btn.primary:hover,.cta:hover,.coupon-code button:hover{background:#e6cf9a;color:#1d1a14;}
.coupon-code{border-color:#b89a62;}
.coupon-code code{background:rgba(201,165,104,.14);}

/* ---------- Footer ---------- */
footer{border-top:1px solid var(--line);padding:40px 0 48px;margin-top:20px;}
.foot{display:flex;flex-wrap:wrap;gap:18px 30px;align-items:center;justify-content:space-between;}
.foot .fbrand{display:flex;align-items:center;gap:10px;color:var(--text);font-family:var(--serif);font-weight:600;}
.foot .fbrand::before{content:"";width:26px;height:26px;flex-shrink:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Ccircle cx='200' cy='200' r='180' fill='none' stroke='%23c9a568' stroke-width='26'/%3E%3Ccircle cx='194' cy='214' r='94' fill='none' stroke='%23c9a568' stroke-width='20'/%3E%3Cellipse cx='194' cy='214' rx='40' ry='94' fill='none' stroke='%23c9a568' stroke-width='14'/%3E%3Cpath d='M100 214 H288 M114 168 H274 M114 260 H274' stroke='%23c9a568' stroke-width='14'/%3E%3Cpath transform='translate(284 104) rotate(28) scale(.55) translate(-200 -195)' fill='%23e6cf9a' d='M200 112 C209 112 213 124 213 138 V180 L276 214 V230 L213 212 V250 L233 265 V277 L200 268 L167 277 V265 L187 250 V212 L124 230 V214 L187 180 V138 C187 124 191 112 200 112 Z'/%3E%3C/svg%3E") center/contain no-repeat;}
.foot nav{display:flex;flex-wrap:wrap;gap:18px;font-size:.9rem;}
.foot nav a{color:var(--text-dim);}
.foot nav a:hover{color:var(--brass-hi);}
.foot .discl{width:100%;font-size:.78rem;color:var(--text-dim);border-top:1px solid var(--line-soft);padding-top:20px;line-height:1.6;margin:0;}

/* ---------- Utilities (replace former inline styles) ---------- */
.hero.tight{padding-bottom:6px;}
section.block.tight{margin-top:26px;}
section.block>h2+.sub{margin:-12px 0 16px;}
.wrap.narrow{max-width:760px;}
.spaced{margin-top:22px;}
.note{font-size:.85rem;color:var(--text-dim);margin-top:14px;}

/* ---------- Reveal animation ---------- */
.reveal{animation:rise .45s cubic-bezier(.2,.7,.2,1) both;}
.d1{animation-delay:.05s;}.d2{animation-delay:.14s;}.d3{animation-delay:.23s;}.d4{animation-delay:.32s;}.d5{animation-delay:.42s;}
@keyframes rise{from{transform:translateY(8px);}to{transform:none;}}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .hero-grid,.spot-grid,.travel-grid,.hero-split{grid-template-columns:1fr;gap:38px;}
  .hero{padding:36px 0 52px;}
  .hero-split{padding:28px 0 8px;}
  .ledger{order:2;}
  .pillars{grid-template-columns:1fr;}
}
@media(max-width:760px){
  .nav-links{position:absolute;top:calc(100% + 8px);left:8px;right:8px;flex-direction:column;align-items:stretch;gap:4px;background:var(--ink-raise);border:1px solid var(--line);border-radius:16px;padding:10px;display:none;box-shadow:0 30px 60px -30px rgba(0,0,0,.85);}
  .nav-links.open{display:flex;}
  .nav-links a{padding:11px 14px;border-radius:10px;font-size:.98rem;}
  .nav-links a:hover{background:rgba(201,165,104,.08);}
  .nav-links a::after{display:none;}
  .menu-btn{display:inline-flex;}
}
@media(max-width:620px){
  section.band,.spot,.travel,.updates{padding:50px 0;}
  .trust{gap:8px 16px;}
  .perk .pk{min-width:104px;}
  .nav-cta{display:none;}
}
@media(prefers-reduced-motion:reduce){
  .reveal{animation:none;opacity:1;transform:none;}
  html{scroll-behavior:auto;}
}

/* ---------- Hero photo + perks ticket ---------- */
.hero-photo{position:relative;margin:0 0 0 24px;}
.hero-photo .slides{position:relative;height:540px;border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:0 40px 80px -40px rgba(0,0,0,.9);background:var(--ink-raise);}
.hero-photo .slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:slidefade 24s infinite;}
.hero-photo .slides img:nth-child(1){opacity:1;animation:none;}
.hero-photo .slides img:nth-child(2){animation-delay:6s;}
.hero-photo .slides img:nth-child(3){animation-delay:12s;}
.hero-photo .slides img:nth-child(4){animation-delay:18s;}
@keyframes slidefade{0%{opacity:0;}4%{opacity:1;}25%{opacity:1;}29%{opacity:0;}100%{opacity:0;}}
@media(prefers-reduced-motion:reduce){.hero-photo .slides img{animation:none;}.hero-photo .slides img:not(:first-child){display:none;}}
.hero-photo .ticket{position:absolute;left:-44px;bottom:-34px;width:min(370px,92%);padding:20px 22px 18px;}
.hero-photo .ticket .lrow{padding:6px 0;font-size:.9rem;}
.hero-photo .ticket .lhead{margin-bottom:10px;}
.hero-photo .ticket .lnet .nval{font-size:1.02rem;}
@media(max-width:900px){
  .hero-photo{margin:0 0 30px;}
  .hero-photo .slides{height:360px;}
  .hero-photo .ticket{position:relative;left:auto;bottom:auto;width:auto;margin:-70px 14px 0;}
}
