/* ═══════════════════════════════════════════════════════════════════
   ⚠  BUMP THE VERSION WHEN YOU EDIT THIS FILE

   vercel.json caches /assets/* for one year with `immutable`, which
   tells browsers never to revalidate — not on reload, not on a hard
   refresh. The filename carries no content hash, so the only thing that
   makes a returning visitor fetch a new copy is a different URL.

   Every page references this file as:

       /assets/site.css?v=20260823c

   Change the file, change that stamp in all seven HTML pages, or the
   change is invisible to everyone who has already visited. It is not a
   deployment problem and it will not look like one: the HTML updates
   normally while the CSS and JavaScript stay frozen, which reads as a
   half-broken site rather than a cache.
   ═══════════════════════════════════════════════════════════════════ */
/* ═══════════════ TOKENS ═══════════════ */
/* ═══════════════════════════════════════════════════════════════════
   DESIGN TOKENS

   Ink and graphite ground, warm off-white type, brass as an accent and
   never as a field. The brass was previously doing three jobs at once —
   text, rules and background washes — which is what made the site read
   as luxury marketing rather than analysis. Here it marks one thing at a
   time: the active state, the eyebrow, a single hairline.

   Contrast, measured against --coal (#0E0F12):
     --ivory   #F5F1E8   15.8:1   body and headings        AAA
     --smoke   #8B8578    6.1:1   secondary and captions   AA
     --champ-hi #DCC79A  11.4:1   accent text on ink       AAA
   --champagne (#C4A265, 8.6:1) is reserved for rules, marks and small
   accents rather than running text.
   ═══════════════════════════════════════════════════════════════════ */
:root{
  /* ground + ink */
  --void:#050608; --coal:#0E0F12; --graphite:#17181C;
  --ivory:#F5F1E8; --smoke:#8B8578;

  /* accent — small surfaces only */
  --champagne:#C4A265; --champ-hi:#DCC79A; --champ-dim:rgba(196,162,101,0.22);
  --emerald:#1A6B4A;

  /* borders: neutral by default, brass only where something is active */
  --line:rgba(245,241,232,0.10);
  --line-strong:rgba(245,241,232,0.18);
  --line-accent:rgba(196,162,101,0.34);

  /* spacing — one scale, no arbitrary values */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px;
  --s6:32px; --s7:48px; --s8:64px; --s9:96px; --s10:128px;

  /* radius — near-square. Rounded corners read as consumer software */
  --r-sm:2px; --r-md:3px; --r-lg:4px;

  /* type scale */
  --t-micro:11px; --t-cap:12.5px; --t-sm:14px; --t-body:16px;
  --t-lg:19px; --t-xl:24px; --t-2xl:32px; --t-3xl:44px;
  --lh-tight:1.14; --lh-snug:1.35; --lh-body:1.68;
  --track-label:.19em;

  /* motion */
  --ease:cubic-bezier(0.22,1,0.36,1);
  --dur-fast:140ms; --dur:240ms; --dur-slow:600ms;

  /* focus — visible on ink, never removed */
  --focus:var(--champ-hi);
  --focus-ring:0 0 0 2px var(--coal), 0 0 0 4px var(--champ-hi);
}

/* One focus treatment for everything that takes keyboard focus. Previously
   several components defined their own and two defined none. */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible,
summary:focus-visible{
  outline:none; box-shadow:var(--focus-ring); border-radius:var(--r-sm);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',sans-serif;background:var(--void);color:var(--ivory);
  font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;}
::selection{background:var(--champagne);color:var(--void);}
.wrap{max-width:1140px;margin:0 auto;padding:0 28px;}
.serif{font-family:'Cormorant Garamond',serif;}
.label{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--champagne);font-weight:600;}

/* reveals */
/* Content is visible by default and only hidden when there is JavaScript
   present to reveal it again. The reveal is driven by an IntersectionObserver,
   so hiding unconditionally meant a failed or blocked script left the body of
   every page blank — hero and footer with nothing between them. An inline
   script in <head> stamps .js on <html> before the first paint, so the
   animation is unchanged for anyone with a working browser and the content
   simply stays put for everyone else. */
.js .rv{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1s var(--ease);}
.rv.in{opacity:1;transform:none;}
.rv-d1{transition-delay:.12s;} .rv-d2{transition-delay:.24s;} .rv-d3{transition-delay:.36s;}
@media(prefers-reduced-motion:reduce){
  .js .rv{opacity:1;transform:none;transition:none;}
  *{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;}
}

/* ═══════════════ PRELOADER ═══════════════ */
#loader{position:fixed;inset:0;background:var(--void);z-index:200;display:flex;align-items:center;justify-content:center;transition:opacity .7s var(--ease),visibility .7s;}
#loader.gone{opacity:0;visibility:hidden;}
#loader .lr{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:64px;color:var(--champagne);opacity:0;animation:loaderIn 1s var(--ease) forwards;}
@keyframes loaderIn{to{opacity:1;}}

/* ═══════════════ CURSOR ═══════════════ */
#cur-dot,#cur-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:190;border-radius:50%;transform:translate(-50%,-50%);}
#cur-dot{width:6px;height:6px;background:var(--champagne);}
#cur-ring{width:34px;height:34px;border:1px solid var(--champ-dim);transition:width .25s,height .25s,border-color .25s;}
#cur-ring.hot{width:56px;height:56px;border-color:var(--champagne);}
@media(hover:none),(max-width:860px){#cur-dot,#cur-ring{display:none;}}

/* ═══════════════ NAV ═══════════════ */
#progress{position:fixed;top:0;left:0;height:2px;background:var(--champagne);width:0;z-index:110;}
/* The bar's background and blur live on a pseudo-element, not on <nav>.

   backdrop-filter makes an element a containing block for its
   position:fixed descendants — so with the filter on <nav>, the mobile
   menu panel (.nav-links, position:fixed; inset:0) sized itself to the
   84px bar instead of the viewport. Its opaque background covered only
   that strip while the links overflowed past it, rendering over the hero
   with nothing behind them.

   Moving the treatment to nav::before takes <nav> out of that role
   entirely, so any fixed child positions against the viewport as
   written. filter, transform, perspective, contain and will-change all
   create the same trap; keeping them off <nav> keeps the menu working. */
nav{position:fixed;top:0;left:0;right:0;z-index:100;height:96px;display:flex;align-items:center;transition:height .4s var(--ease);}
nav::before{content:"";position:absolute;inset:0;z-index:-1;
  background:rgba(5,6,8,0.92);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  box-shadow:0 1px 0 var(--line);}
nav.solid{height:74px;}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:48px;width:100%;}
.nav-brand{display:flex;align-items:baseline;gap:14px;flex-shrink:0;white-space:nowrap;}
.nav-brand .mk{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:30px;color:var(--champagne);line-height:1;}
.nav-brand .wd{font-size:10.5px;letter-spacing:3.2px;font-weight:600;}
.nav-brand .wd span{color:var(--smoke);font-weight:400;}
.nav-links{display:flex;gap:clamp(22px,2.6vw,44px);align-items:center;flex-wrap:nowrap;}
.nav-links a{font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--smoke);transition:color .3s var(--ease);position:relative;white-space:nowrap;padding:10px 0;font-weight:500;}
.nav-links a::after{content:"";position:absolute;left:0;bottom:2px;width:0;height:1px;background:var(--champagne);transition:width .4s var(--ease);}
.nav-links a:hover{color:var(--ivory);}
.nav-links a:hover::after{width:100%;}
.nav-cta{border:1px solid var(--champagne);color:var(--champ-hi)!important;padding:13px 26px!important;transition:all .35s var(--ease);flex-shrink:0;letter-spacing:0.14em!important;}
.nav-cta::after{display:none;}
.nav-cta:hover{background:var(--champagne);color:var(--void)!important;}
#nav-tg{display:none;background:none;border:1px solid var(--line);color:var(--champagne);width:44px;height:44px;font-size:17px;cursor:pointer;z-index:130;transition:border-color .3s,background .3s;}
#nav-tg:hover{border-color:var(--champagne);background:rgba(196,162,101,0.06);}
@media(max-width:1080px){
  .nav-links{position:fixed;inset:0;background:var(--void);flex-direction:column;justify-content:center;align-items:center;gap:34px;transform:translateX(100%);transition:transform .5s var(--ease);padding:80px 32px;}
  .nav-links.open{transform:none;}
  .nav-links a{font-size:17px;letter-spacing:0.2em;padding:6px 0;}
  .nav-links a::after{left:50%;transform:translateX(-50%);}
  .nav-links .nav-cta{margin-top:14px;padding:17px 34px!important;font-size:12px;}
  #nav-tg{display:flex;align-items:center;justify-content:center;}
  nav{height:82px;}
  nav.solid{height:70px;}
}

/* ═══════════════ HERO ═══════════════ */
.hero{position:relative;min-height:clamp(470px,60vh,660px);display:grid;grid-template-rows:1fr auto;overflow:hidden;}
.hero-in{position:relative;z-index:5;grid-row:1;align-self:center;padding-top:104px;padding-bottom:40px;}
.hero-eyebrow{margin-bottom:22px;display:flex;align-items:center;gap:16px;}
.hero-eyebrow .rule{width:52px;height:1px;background:var(--champagne);}
.hero h1{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(44px,7.4vw,92px);line-height:1.04;letter-spacing:-0.5px;}
.hero h1 .row1,.hero h1 .row2{display:inline-block;opacity:0;transform:translateY(12px);
  transition:opacity var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease);}
.hero h1 .row1.on,.hero h1 .row2.on{opacity:1;transform:none;}
.hero h1 .row2{font-style:italic;color:var(--champ-hi);}
.hero-sub{color:var(--smoke);font-size:var(--t-body);line-height:var(--lh-body);max-width:56ch;margin:var(--s5) 0 var(--s6);opacity:0;transition:opacity var(--dur) var(--ease) .12s;}
.hero-sub.on{opacity:1;}
.hero-ctas{display:flex;gap:var(--s3);flex-wrap:wrap;opacity:0;transition:opacity var(--dur) var(--ease) .2s;}
.hero-ctas.on{opacity:1;}
.btn{display:inline-flex;align-items:center;gap:10px;padding:17px 32px;font-size:11px;letter-spacing:2.5px;font-weight:600;text-transform:uppercase;cursor:pointer;border:1px solid transparent;position:relative;overflow:hidden;transition:transform .25s var(--ease),background .3s,color .3s,border-color .3s;will-change:transform;}
/* Primary action. Brass marks it rather than fills it — a solid gold
   block at full mobile width was the single largest field of accent
   colour on the site, which is the thing that read as marketing. */
.btn-solid{background:rgba(196,162,101,0.14);color:var(--ivory);
  border:1px solid var(--line-accent);box-shadow:inset 2px 0 0 var(--champagne);}
.btn-solid:hover{background:rgba(196,162,101,0.22);border-color:var(--champagne);}
.btn-line{border-color:var(--champ-dim);color:var(--champ-hi);}
.btn-line:hover{border-color:var(--champagne);background:rgba(196,162,101,0.06);}
.hero-meta{position:relative;z-index:6;grid-row:2;padding-bottom:28px;}
.hero-meta .wrap{display:block;padding-top:22px;border-top:1px solid var(--line);}
.hero-meta .hm{font-size:9.5px;letter-spacing:3px;color:var(--smoke);text-transform:uppercase;}
.scroll-cue{width:1px;height:44px;background:linear-gradient(var(--champagne),transparent);position:relative;overflow:hidden;}
.scroll-cue::after{content:"";position:absolute;top:-40%;left:0;width:100%;height:40%;background:var(--champ-hi);animation:cue 2.2s var(--ease) infinite;}
@keyframes cue{to{top:110%;}}

/* ═══════════════ MARQUEE ═══════════════ */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--coal);overflow:hidden;padding:19px 0;}
.mq-track{display:flex;gap:56px;white-space:nowrap;width:max-content;animation:mq 44s linear infinite;}
.marquee:hover .mq-track{animation-play-state:paused;}
.mq-track span{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;color:var(--smoke);display:flex;align-items:center;gap:56px;}
.mq-track span::after{content:"·";color:var(--champagne);font-style:normal;}
@keyframes mq{to{transform:translateX(-50%);}}

/* ═══════════════ SECTIONS ═══════════════ */
section{padding:96px 0;position:relative;}
.sec-head{margin-bottom:52px;max-width:660px;}
.sec-head .label{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.sec-head .label::before{content:"";width:34px;height:1px;background:var(--champagne);}
.sec-head h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(32px,4.4vw,52px);line-height:1.12;}
.sec-head h2 em{font-style:italic;color:var(--champ-hi);}
.sec-head p{color:var(--smoke);margin-top:18px;font-size:15.5px;}

/* ═══════════════ ABOUT ═══════════════ */
.about-g{display:grid;grid-template-columns:0.66fr 1.34fr;gap:64px;align-items:center;}
.about-frame{position:relative;max-width:300px;width:100%;}
.about-frame::before{content:"";position:absolute;top:-16px;left:-16px;right:16px;bottom:16px;border:1px solid var(--champagne);opacity:.55;}
.about-frame img{position:relative;width:100%;aspect-ratio:5/6;object-fit:cover;object-position:center 18%;filter:saturate(.82) contrast(1.03);box-shadow:0 30px 80px rgba(0,0,0,0.6);display:block;}
.about-frame .cap{position:absolute;bottom:-30px;right:0;font-size:9px;letter-spacing:3px;color:var(--smoke);text-transform:uppercase;}
.about-t p{color:#B9B2A4;margin-bottom:18px;font-size:15.5px;}
.about-t p strong{color:var(--ivory);font-weight:600;}
.about-langs{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap;}
.lang-chip{border:1px solid var(--line);padding:9px 16px;font-size:10.5px;letter-spacing:2px;color:var(--smoke);text-transform:uppercase;display:flex;gap:8px;align-items:center;}
.lang-chip b{color:var(--champ-hi);font-weight:600;}
.about-marks{display:flex;gap:34px;margin-top:36px;padding-top:30px;border-top:1px solid var(--line);flex-wrap:wrap;}
.mark-i .n{font-family:'Cormorant Garamond',serif;font-size:30px;color:var(--champ-hi);line-height:1;}
.mark-i .t{font-size:9.5px;letter-spacing:2px;color:var(--smoke);text-transform:uppercase;margin-top:6px;}
@media(max-width:920px){.about-g{grid-template-columns:1fr;gap:38px;}.about-frame{margin:0 auto;max-width:230px;}.about-frame img{aspect-ratio:1/1;object-position:center 14%;}}

/* ═══════════════ PHILOSOPHY ═══════════════ */
.philo{background:var(--coal);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.philo-g{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);border:1px solid var(--line);}
.philo-c{background:var(--coal);padding:52px 42px;transition:background .4s;}
.philo-c:hover{background:var(--graphite);}
.philo-c .pn{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:52px;color:var(--champagne);opacity:.5;line-height:1;margin-bottom:26px;}
.philo-c h3{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:500;margin-bottom:14px;}
.philo-c p{font-size:14px;color:var(--smoke);}
@media(max-width:860px){.philo-g{grid-template-columns:1fr;}}

/* ═══════════════ MARKET DATA ═══════════════ */
.data-g{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line);border:1px solid var(--line);}
.data-c{background:var(--void);padding:46px 30px;text-align:center;position:relative;overflow:hidden;}
.data-c::after{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:0;height:2px;background:var(--champagne);transition:width .5s var(--ease);}
.data-c:hover::after{width:60%;}
.data-c .dn{font-family:'Cormorant Garamond',serif;font-size:54px;color:var(--champ-hi);line-height:1;margin-bottom:12px;}
.data-c .dl{font-size:11.5px;font-weight:600;letter-spacing:.4px;margin-bottom:7px;}
.data-c .ds{font-size:11px;color:var(--smoke);}
@media(max-width:860px){.data-g{grid-template-columns:repeat(2,1fr);}}
@media(max-width:500px){.data-g{grid-template-columns:1fr;}}

/* ═══════════════ ADDRESSES ═══════════════ */
.addr-g{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:64px;}
.addr-c{background:var(--coal);border:1px solid var(--line);padding:40px 34px;position:relative;transition:transform .35s var(--ease),border-color .35s;overflow:hidden;}
.addr-c::before{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(196,162,101,0.07),transparent 60%);opacity:0;transition:opacity .3s;}
.addr-c:hover::before{opacity:1;}
.addr-c:hover{transform:translateY(-4px);border-color:var(--champ-dim);}
.addr-c .al{font-size:9px;letter-spacing:3px;color:var(--champagne);text-transform:uppercase;font-weight:700;margin-bottom:14px;}
.addr-c h3{font-family:'Cormorant Garamond',serif;font-size:25px;font-weight:500;margin-bottom:8px;}
.addr-c .ap{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;color:var(--champ-hi);margin-bottom:12px;}
.addr-c p{font-size:13px;color:var(--smoke);}
@media(max-width:920px){.addr-g{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.addr-g{grid-template-columns:1fr;}}
.cmp{overflow-x:auto;}
.cmp table{width:100%;border-collapse:collapse;min-width:680px;}
.cmp th{background:var(--graphite);color:var(--champ-hi);font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:600;padding:15px 18px;text-align:left;border:1px solid var(--line);}
.cmp td{padding:15px 18px;font-size:12.5px;color:#B9B2A4;border:1px solid var(--line);}
.cmp td:first-child{font-family:'Cormorant Garamond',serif;font-size:16px;color:var(--ivory);}
.cmp tr:hover td{background:rgba(196,162,101,0.03);}

/* ═══════════════ METHOD ═══════════════ */
.meth{background:var(--coal);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.meth-g{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.meth-s{padding:38px 30px;border:1px solid var(--line);background:var(--void);position:relative;}
.meth-s .mn{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:48px;color:var(--champagne);line-height:1;margin-bottom:20px;}
.meth-s h3{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px;}
.meth-s p{font-size:13px;color:var(--smoke);}
.meth-s::after{content:"";position:absolute;top:50%;right:-22px;width:22px;height:1px;background:var(--line);}
.meth-s:last-child::after{display:none;}
@media(max-width:920px){.meth-g{grid-template-columns:repeat(2,1fr);}.meth-s::after{display:none;}}
@media(max-width:560px){.meth-g{grid-template-columns:1fr;}}

/* ═══════════════ INSTRUMENTS (tools) ═══════════════ */
.tools-tabs{display:flex;gap:0;border:1px solid var(--line);margin-bottom:0;flex-wrap:wrap;}
.tt{flex:1;min-width:150px;padding:18px 14px;background:var(--coal);border:none;color:var(--smoke);font-size:10.5px;letter-spacing:2px;text-transform:uppercase;font-weight:600;cursor:pointer;transition:all .3s;border-right:1px solid var(--line);}
.tt:last-child{border-right:none;}
.tt.on{background:var(--champagne);color:var(--void);}
.tt:not(.on):hover{color:var(--ivory);}
.tool-panel{border:1px solid var(--line);border-top:none;background:var(--coal);padding:50px 46px;display:none;}
.tool-panel.on{display:block;}
.tool-g{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
@media(max-width:860px){.tool-g{grid-template-columns:1fr;gap:36px;}.tool-panel{padding:34px 24px;}}
.tf{margin-bottom:20px;}
.tf label{display:block;font-size:9.5px;letter-spacing:2.5px;color:var(--champagne);font-weight:700;text-transform:uppercase;margin-bottom:9px;}
.tf input,.tf select{width:100%;background:var(--void);border:1px solid var(--line);padding:14px 16px;color:var(--ivory);font-size:14px;font-family:'Inter',sans-serif;outline:none;transition:border-color .25s;}
.tf input:focus,.tf select:focus{border-color:var(--champagne);}
.tf input[type=range]{padding:0;height:2px;background:var(--line);appearance:none;border:none;margin-top:16px;}
.tf input[type=range]::-webkit-slider-thumb{appearance:none;width:16px;height:16px;border-radius:50%;background:var(--champagne);cursor:pointer;}
.range-val{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--champ-hi);margin-top:8px;}
.res-panel{background:var(--void);border:1px solid var(--line);padding:36px 34px;}
.res-title{font-size:9.5px;letter-spacing:3px;color:var(--champagne);text-transform:uppercase;font-weight:700;margin-bottom:24px;}
.res-line{display:flex;justify-content:space-between;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--line);}
.res-line:last-child{border-bottom:none;}
.res-line .rk{font-size:12px;color:var(--smoke);}
.res-line .rvv{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--ivory);}
.res-line .rvv.gold{color:var(--champ-hi);}
.res-line.big .rvv{font-size:32px;}
.gv-verdict{padding:26px;text-align:center;margin-top:8px;border:1px solid var(--line);}
.gv-verdict.yes{border-color:var(--emerald);background:rgba(26,107,74,0.1);}
.gv-verdict.no{border-color:var(--line);}
.gv-verdict .v1{font-family:'Cormorant Garamond',serif;font-size:26px;margin-bottom:8px;}
.gv-verdict.yes .v1{color:#6FBF9A;}
.gv-verdict .v2{font-size:12px;color:var(--smoke);}
.quiz-q{margin-bottom:26px;}
.quiz-q .qt{font-family:'Cormorant Garamond',serif;font-size:19px;margin-bottom:14px;}
.quiz-opts{display:flex;gap:10px;flex-wrap:wrap;}
.qo{border:1px solid var(--line);background:var(--void);color:var(--smoke);padding:11px 18px;font-size:12px;cursor:pointer;transition:all .25s;}
.qo:hover{border-color:var(--champ-dim);color:var(--ivory);}
.qo.sel{background:var(--champagne);color:var(--void);border-color:var(--champagne);}
.tool-note{font-size:11px;color:var(--smoke);margin-top:22px;line-height:1.6;}

/* ═══════════════ INVESTMENT LAB ═══════════════ */
.lab-g{display:grid;grid-template-columns:0.9fr 1.1fr;gap:44px;align-items:start;}
@media(max-width:940px){.lab-g{grid-template-columns:1fr;gap:32px;}}
.lab-sec{margin-bottom:26px;}
.lab-sec .lsh{font-size:8.5px;letter-spacing:0.24em;color:var(--champagne);font-weight:700;text-transform:uppercase;margin-bottom:14px;padding-bottom:9px;border-bottom:1px solid var(--line);}
.lab-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:560px){.lab-two{grid-template-columns:1fr;}}
.scenarios{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);border:1px solid var(--line);margin-bottom:22px;}
.scn{background:var(--void);padding:20px 16px;text-align:center;}
.scn.mid{background:var(--graphite);}
.scn .sh{font-size:8.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--smoke);margin-bottom:12px;}
.scn.mid .sh{color:var(--champagne);font-weight:700;}
.scn .sv{font-family:'Cormorant Garamond',serif;font-size:27px;line-height:1;color:var(--ivory);margin-bottom:5px;}
.scn.mid .sv{color:var(--champ-hi);font-size:31px;}
.scn .sl{font-size:9.5px;color:var(--smoke);}
.scn .sa{font-size:9px;color:var(--smoke);margin-top:9px;padding-top:9px;border-top:1px solid var(--line);}
@media(max-width:640px){.scenarios{grid-template-columns:1fr;}}
.kpi-g{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--line);border:1px solid var(--line);margin-bottom:20px;}
.kpi{background:var(--void);padding:20px 18px;}
.kpi .kv{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--champ-hi);line-height:1;margin-bottom:6px;}
.kpi .kl{font-size:9px;letter-spacing:0.14em;color:var(--smoke);text-transform:uppercase;}
.kpi.neg .kv{color:#C08585;}
.flow{border:1px solid var(--line);}
.flow-h{background:var(--graphite);padding:12px 18px;font-size:8.5px;letter-spacing:0.2em;color:var(--champ-hi);text-transform:uppercase;font-weight:700;}
.flow-r{display:flex;justify-content:space-between;padding:11px 18px;border-bottom:1px solid var(--line);font-size:12px;gap:12px;}
.flow-r:last-child{border-bottom:none;}
.flow-r.tot{background:rgba(196,162,101,0.06);}
.flow-r .fk{color:var(--smoke);}
.flow-r .fv{color:var(--ivory);font-weight:500;}
.flow-r.tot .fv{color:var(--champ-hi);font-family:'Cormorant Garamond',serif;font-size:17px;}
.flow-r .fv.red{color:#C08585;}

/* ═══════════════ STR / YIELD ARBITRAGE ═══════════════ */
.str{background:var(--coal);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.str-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);border:1px solid var(--line);margin-bottom:52px;}
.str-p{background:var(--void);padding:38px 32px;}
.str-p .pl{font-size:8.5px;letter-spacing:0.24em;color:var(--champagne);font-weight:700;text-transform:uppercase;margin-bottom:14px;}
.str-p h3{font-family:'Cormorant Garamond',serif;font-size:23px;font-weight:500;margin-bottom:12px;line-height:1.2;}
.str-p p{font-size:12.5px;color:var(--smoke);margin-bottom:12px;}
.str-p p:last-child{margin-bottom:0;}
.str-p strong{color:var(--champ-hi);font-weight:500;}
@media(max-width:900px){.str-pillars{grid-template-columns:1fr;}}

.mode{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-bottom:none;}
.mode-b{background:var(--void);border:none;padding:19px 22px;cursor:pointer;transition:background .3s var(--ease);position:relative;font-family:'Inter',sans-serif;}
.mode-b::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:transparent;transition:background .3s;}
.mode-b .mb-t{display:block;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--smoke);font-weight:600;transition:color .3s;}
.mode-b .mb-s{display:block;font-size:11px;color:var(--smoke);margin-top:6px;}
.mode-b.on{background:var(--graphite);}
.mode-b.on::before{background:var(--champagne);}
.mode-b.on .mb-t{color:var(--champ-hi);}

.str-g{display:grid;grid-template-columns:0.85fr 1.15fr;gap:0;background:var(--line);border:1px solid var(--line);}
.str-in{background:var(--void);padding:34px 30px;}
.str-out{background:var(--coal);padding:34px 30px;}
@media(max-width:940px){.str-g{grid-template-columns:1fr;}}

.noi{border:1px solid var(--line);margin-bottom:20px;}
.noi-h{background:var(--graphite);padding:11px 16px;font-size:8.5px;letter-spacing:0.22em;color:var(--champ-hi);text-transform:uppercase;font-weight:700;display:flex;justify-content:space-between;gap:10px;}
.noi-r{display:flex;justify-content:space-between;padding:9px 16px;font-size:12px;gap:12px;border-bottom:1px solid rgba(196,162,101,0.07);}
.noi-r:last-child{border-bottom:none;}
.noi-r .nk{color:var(--smoke);}
.noi-r .nv{color:var(--ivory);font-weight:500;}
.noi-r .nv.neg{color:#C08585;}
.noi-r.gross{background:rgba(196,162,101,0.05);}
.noi-r.gross .nk,.noi-r.gross .nv{color:var(--champ-hi);font-weight:600;}
.noi-r.net{background:rgba(196,162,101,0.09);border-top:1px solid var(--champ-dim);padding:13px 16px;}
.noi-r.net .nk{color:var(--champ-hi);font-weight:600;letter-spacing:0.08em;text-transform:uppercase;font-size:10px;}
.noi-r.net .nv{color:var(--champ-hi);font-family:'Cormorant Garamond',serif;font-size:21px;}

.verdict{border:1px solid var(--champ-dim);padding:22px 24px;background:rgba(196,162,101,0.04);}
.verdict .vt{font-size:8.5px;letter-spacing:0.22em;color:var(--champagne);text-transform:uppercase;font-weight:700;margin-bottom:11px;}
.verdict .vv{font-family:'Cormorant Garamond',serif;font-size:25px;color:var(--ivory);margin-bottom:9px;line-height:1.25;}
.verdict .vv em{font-style:italic;color:var(--champ-hi);}
.verdict .vd{font-size:12px;color:var(--smoke);line-height:1.65;}
.str-note{font-size:11px;color:var(--smoke);margin-top:18px;line-height:1.65;font-style:italic;}

/* ═══════════════ GLOBAL COMPARISON ═══════════════ */
.gc{background:var(--coal);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.gc-hero{border:1px solid var(--champ-dim);background:rgba(196,162,101,0.04);padding:38px 34px;margin-bottom:34px;text-align:center;}
.gc-hero .gh-l{font-size:8.5px;letter-spacing:0.24em;color:var(--champagne);text-transform:uppercase;font-weight:700;margin-bottom:16px;}
.gc-hero .gh-n{font-family:'Cormorant Garamond',serif;font-size:clamp(44px,7vw,76px);color:var(--champ-hi);line-height:1;margin-bottom:8px;}
.gc-hero .gh-u{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:19px;color:var(--ivory);margin-bottom:14px;}
.gc-hero .gh-d{font-size:12.5px;color:var(--smoke);max-width:520px;margin:0 auto;line-height:1.65;}

.gc-bars{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:34px;}
.gc-bar{background:var(--void);padding:14px 18px;display:grid;grid-template-columns:104px 1fr 74px;gap:14px;align-items:center;}
.gc-bar.me{background:rgba(196,162,101,0.07);}
.gc-bar .cb-c{font-family:'Cormorant Garamond',serif;font-size:16px;color:var(--smoke);}
.gc-bar.me .cb-c{color:var(--champ-hi);font-weight:600;}
.gc-bar .cb-t{height:9px;background:rgba(255,255,255,0.05);position:relative;overflow:hidden;}
.gc-bar .cb-f{position:absolute;left:0;top:0;bottom:0;background:var(--smoke);opacity:.45;}
.gc-bar.me .cb-f{background:var(--champagne);opacity:1;}
.gc-bar .cb-v{font-size:12px;color:var(--ivory);text-align:right;}
.gc-bar.me .cb-v{color:var(--champ-hi);font-weight:600;}
@media(max-width:560px){.gc-bar{grid-template-columns:88px 1fr 62px;gap:10px;padding:12px 14px;}.gc-bar .cb-c{font-size:14px;}}

.gc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);border:1px solid var(--line);margin-bottom:30px;}
.gc-card{background:var(--void);padding:26px 22px;}
.gc-card.me{background:var(--graphite);}
.gc-card .cc-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line);}
.gc-card .cc-n{font-family:'Cormorant Garamond',serif;font-size:21px;color:var(--ivory);}
.gc-card.me .cc-n{color:var(--champ-hi);}
.gc-card .cc-f{font-size:8px;letter-spacing:0.16em;color:var(--smoke);text-transform:uppercase;}
.gc-card .cc-r{display:flex;justify-content:space-between;padding:7px 0;font-size:11.5px;gap:10px;}
.gc-card .cc-k{color:var(--smoke);}
.gc-card .cc-v{color:var(--ivory);text-align:right;font-weight:500;}
.gc-card .cc-v.good{color:#6FBF9A;}
.gc-card .cc-v.bad{color:#C08585;}
@media(max-width:900px){.gc-cards{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.gc-cards{grid-template-columns:1fr;}}

/* ═══════════════ WORDS ═══════════════ */
.words-g{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.word-c{background:var(--coal);border:1px solid var(--line);padding:42px 36px;display:flex;flex-direction:column;gap:22px;}
.word-c .wq{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:19px;line-height:1.5;}
.word-c .ww{font-size:10px;letter-spacing:2.5px;color:var(--champagne);text-transform:uppercase;}
.word-c .ww span{display:block;color:var(--smoke);letter-spacing:.8px;text-transform:none;font-size:11.5px;margin-top:4px;}
.words-note{text-align:center;margin-top:34px;font-size:11px;color:var(--smoke);letter-spacing:1px;}
@media(max-width:860px){.words-g{grid-template-columns:1fr;}}

/* ═══════════════ FAQ ═══════════════ */
.faq-list{max-width:780px;margin:0 auto;}
.faq-i{border-bottom:1px solid var(--line);}
.faq-q{width:100%;background:none;border:none;color:var(--ivory);display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 4px;cursor:pointer;text-align:left;}
.faq-q .qt{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:500;}
.faq-q .qi{font-size:22px;color:var(--champagne);transition:transform .35s var(--ease);flex-shrink:0;font-weight:300;}
.faq-i.open .qi{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .45s var(--ease);}
.faq-a p{padding:0 4px 26px;font-size:14px;color:var(--smoke);max-width:640px;}

/* ═══════════════ CONSULT ═══════════════ */
.consult{background:var(--coal);border-top:1px solid var(--line);}
.cons-g{display:grid;grid-template-columns:0.9fr 1.1fr;gap:70px;align-items:start;}
.cons-l h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(32px,4vw,48px);line-height:1.12;margin-bottom:22px;}
.cons-l h2 em{font-style:italic;color:var(--champ-hi);}
.cons-l p{color:var(--smoke);margin-bottom:30px;}
.direct{border:1px solid var(--line);padding:30px;}
.direct .dt{font-size:9.5px;letter-spacing:3px;color:var(--champagne);text-transform:uppercase;font-weight:700;margin-bottom:16px;}
.d-line{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;gap:14px;}
.d-line:last-child{border-bottom:none;}
.d-line .k{color:var(--smoke);}
.d-line .v{color:var(--ivory);text-align:right;}
.cons-form{background:var(--void);border:1px solid var(--line);padding:46px 42px;}
.cons-form .cf-t{font-family:'Cormorant Garamond',serif;font-size:25px;margin-bottom:6px;}
.cons-form .cf-s{font-size:12px;color:var(--smoke);margin-bottom:30px;}
.fld{margin-bottom:20px;}
.fld label{display:block;font-size:9.5px;letter-spacing:2.5px;color:var(--champagne);font-weight:700;text-transform:uppercase;margin-bottom:9px;}
.fld input,.fld select,.fld textarea{width:100%;background:var(--coal);border:1px solid var(--line);padding:14px 16px;color:var(--ivory);font-size:13.5px;font-family:'Inter',sans-serif;outline:none;transition:border-color .25s;}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--champagne);}
.fld textarea{min-height:100px;resize:vertical;}
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:560px){.two{grid-template-columns:1fr;}}
.cf-note{font-size:11px;color:var(--smoke);margin-top:18px;line-height:1.6;}
/* Confirmation that the brief was actually stored. Silence after a submit
   reads as failure, and this form is the one place on the site where a
   visitor has handed over something they cannot get back. */
.cf-stored{font-size:12.5px;line-height:1.6;margin-top:14px;padding:11px 14px;
  border-left:2px solid var(--champagne);background:rgba(196,164,106,.07);color:var(--ivory);}
.cf-stored.warn{border-left-color:#C2564E;background:rgba(194,86,78,.09);}
@media(max-width:920px){.cons-g{grid-template-columns:1fr;gap:48px;}.cons-form{padding:34px 26px;}}

/* ═══════════════ FOOTER ═══════════════ */
footer{border-top:1px solid var(--line);padding:64px 0 38px;background:var(--void);}
.ft-g{display:flex;justify-content:space-between;align-items:flex-start;gap:34px;flex-wrap:wrap;margin-bottom:44px;}
.ft-brand .mk{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:38px;color:var(--champagne);}
.ft-brand .n1{font-size:12px;letter-spacing:2.5px;margin-top:10px;}
.ft-brand .n2{font-size:10px;color:var(--smoke);letter-spacing:1.5px;margin-top:5px;}
.ft-links{display:flex;gap:26px;flex-wrap:wrap;}
.ft-links a{font-size:10.5px;letter-spacing:2px;color:var(--smoke);text-transform:uppercase;transition:color .25s;}
.ft-links a:hover{color:var(--champ-hi);}
.ft-tag{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--champ-hi);font-size:16px;max-width:220px;text-align:right;}
.ft-bot{border-top:1px solid rgba(255,255,255,0.05);padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:10px;color:var(--smoke);letter-spacing:1.2px;}

/* ═══════════════ STORY ═══════════════ */
.story-g{display:grid;grid-template-columns:260px 1fr;gap:80px;align-items:start;}
.timeline{position:relative;padding-left:0;}
.timeline::before{content:"";position:absolute;left:10px;top:14px;bottom:14px;width:1px;background:linear-gradient(var(--champagne),transparent);}
.t-stop{display:flex;gap:26px;align-items:flex-start;padding-bottom:46px;position:relative;}
.t-dot{width:21px;height:21px;border:1px solid var(--champagne);border-radius:50%;background:var(--void);flex-shrink:0;margin-top:3px;position:relative;}
.t-dot::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:7px;height:7px;background:var(--champagne);border-radius:50%;}
.t-label{font-size:9.5px;letter-spacing:3px;color:var(--smoke);text-transform:uppercase;margin-bottom:5px;}
.t-place{font-family:'Cormorant Garamond',serif;font-size:19px;color:var(--ivory);}
.story-quote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;line-height:1.5;color:var(--champ-hi);border-left:2px solid var(--champagne);padding-left:24px;margin:28px 0;}
.story-pillars{display:flex;gap:0;flex-wrap:wrap;margin-top:6px;}
.story-pillars .sp{font-size:9.5px;letter-spacing:2px;color:var(--smoke);text-transform:uppercase;display:flex;align-items:center;gap:18px;}
.story-pillars .sp:not(:last-child)::after{content:"·";color:var(--champagne);font-size:14px;}
@media(max-width:920px){.story-g{grid-template-columns:1fr;gap:44px;}}

/* ═══════════════ INSIGHTS ═══════════════ */
.ins-g{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.ins-c{background:var(--coal);border:1px solid var(--line);padding:44px 38px;position:relative;overflow:hidden;transition:border-color .3s;}
.ins-c:hover{border-color:var(--champ-dim);}
.ins-c::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--champagne);}
.ins-c .inum{font-family:'Cormorant Garamond',serif;font-size:60px;color:var(--champ-hi);line-height:1;margin-bottom:14px;}
.ins-c h3{font-size:12.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:10px;}
.ins-c p{font-size:13px;color:var(--smoke);}
@media(max-width:760px){
  .hero-meta .wrap{text-align:left;}
  .hero-meta .scroll-cue{display:none;}
  .hero-ctas .btn{width:100%;justify-content:center;}
  section{padding:64px 0;}
  .sec-head{margin-bottom:38px;}
  .hero{min-height:clamp(480px,68vh,640px);}
  .hero-in{padding-top:56px;}
}
@media(max-width:760px){.ins-g{grid-template-columns:1fr;}}

/* ═══════════════ PARTNERS ═══════════════ */
.partner-g{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line);border:1px solid var(--line);}
.partner-c{background:var(--coal);padding:36px 28px;text-align:center;transition:background .3s;}
.partner-c:hover{background:var(--graphite);}
.partner-c .pname{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:500;color:var(--ivory);margin-bottom:8px;}
.partner-c .psub{font-size:9.5px;letter-spacing:2px;color:var(--smoke);text-transform:uppercase;}
@media(max-width:860px){.partner-g{grid-template-columns:repeat(2,1fr);}}

.partner-c .pdel{font-size:9px;letter-spacing:1px;color:var(--champ-hi);margin-top:9px;padding-top:8px;border-top:1px solid var(--line);}
.partner-c .pdel i{font-style:normal;color:var(--smoke);}

/* ═══════════════ TRUST BUILDERS ═══════════════ */
.trustb-g{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.trustb-c{border:1px solid var(--line);padding:40px 34px;transition:border-color .3s,background .3s;}
.trustb-c:hover{border-color:var(--champ-dim);background:rgba(196,162,101,0.03);}
.trustb-c .ticon{font-size:26px;color:var(--champagne);margin-bottom:20px;line-height:1;}
.trustb-c h3{font-family:'Cormorant Garamond',serif;font-size:23px;font-weight:500;margin-bottom:12px;}
.trustb-c p{font-size:13px;color:var(--smoke);}
@media(max-width:860px){.trustb-g{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.trustb-g{grid-template-columns:1fr;}}

/* ═══════════════ MEDIA & SPEAKING ═══════════════ */
.media-sec{background:var(--coal);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.media-g{display:grid;grid-template-columns:1fr 0.85fr;gap:70px;align-items:start;}
.speak-list{display:flex;flex-direction:column;gap:2px;}
.speak-item{background:var(--void);border:1px solid var(--line);padding:28px 30px;display:flex;gap:24px;align-items:flex-start;transition:border-color .25s;}
.speak-item:hover{border-color:var(--champ-dim);}
.speak-item .snum{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:40px;color:var(--champagne);opacity:.6;line-height:1;width:40px;flex-shrink:0;text-align:center;padding-top:3px;}
.speak-item h4{font-size:13px;font-weight:700;letter-spacing:.5px;margin-bottom:6px;}
.speak-item p{font-size:12.5px;color:var(--smoke);}
.lang-panels{display:flex;flex-direction:column;gap:2px;margin-bottom:22px;}
.lang-panel{background:var(--void);border:1px solid var(--line);padding:26px 28px;}
.lang-panel .lpt{font-size:9.5px;letter-spacing:3px;color:var(--champagne);font-weight:700;text-transform:uppercase;margin-bottom:8px;}
.lang-panel p{font-size:13px;color:var(--smoke);}
@media(max-width:860px){.media-g{grid-template-columns:1fr;gap:36px;}}

/* ═══════════════ CREDENTIALS BAND ═══════════════ */
.creds{background:var(--coal);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0;}
.creds-g{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line);}
.cred-c{background:var(--coal);padding:40px 26px;text-align:center;}
.cred-c .cn{font-family:'Cormorant Garamond',serif;font-size:40px;color:var(--champ-hi);line-height:1;margin-bottom:10px;}
.cred-c .ct{font-size:10px;letter-spacing:2.5px;color:var(--smoke);text-transform:uppercase;}
@media(max-width:860px){.creds-g{grid-template-columns:repeat(2,1fr);}}

/* ═══════════════ WHO I SERVE ═══════════════ */
.serve-g{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line);border:1px solid var(--line);}
.serve-c{background:var(--void);padding:36px 26px;transition:background .35s;}
.serve-c:hover{background:var(--coal);}
.serve-c .sl{font-size:9px;letter-spacing:2.5px;color:var(--champagne);text-transform:uppercase;font-weight:700;margin-bottom:12px;}
.serve-c h3{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:500;margin-bottom:10px;line-height:1.2;}
.serve-c p{font-size:12.5px;color:var(--smoke);}
@media(max-width:900px){.serve-g{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.serve-g{grid-template-columns:1fr;}}

/* ═══════════════ LEVEL 0 GATE ═══════════════ */
.gate{border:1px solid var(--line);border-bottom:none;background:var(--void);}
.gate-h{padding:13px 20px;font-size:8.5px;letter-spacing:0.24em;color:var(--champagne);text-transform:uppercase;font-weight:700;border-bottom:1px solid var(--line);}
.gate-g{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);}
.gate-b{background:var(--coal);border:none;padding:22px 24px;text-align:left;cursor:pointer;transition:background .3s var(--ease);display:flex;flex-direction:column;gap:8px;position:relative;}
.gate-b::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:transparent;transition:background .3s;}
.gate-b:hover{background:var(--graphite);}
.gate-b.on{background:var(--graphite);}
.gate-b.on::before{background:var(--champagne);}
.gate-b .gb-t{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--smoke);transition:color .3s;}
.gate-b.on .gb-t{color:var(--champ-hi);}
.gate-b .gb-d{font-size:11.5px;color:var(--smoke);line-height:1.6;}
.gate-b.on .gb-d{color:#B9B2A4;}
@media(max-width:720px){.gate-g{grid-template-columns:1fr;}}

/* ═══════════════ GROSS → NET BRIDGE ═══════════════ */
.yield-bridge{border:1px solid var(--line);margin:14px 0;background:rgba(196,162,101,0.03);}
.yb-h{padding:9px 14px;font-size:8px;letter-spacing:0.22em;color:var(--champagne);text-transform:uppercase;font-weight:700;border-bottom:1px solid var(--line);}
.yb-r{display:flex;justify-content:space-between;padding:7px 14px;font-size:11.5px;color:var(--ivory);gap:10px;}
.yb-r.sub{color:var(--smoke);font-size:11px;}
.yb-r.sub span:last-child{color:#C08585;}
.yb-r.net{border-top:1px solid var(--line);color:var(--champ-hi);font-weight:600;padding:10px 14px;}
.yb-r.net span:last-child{font-family:'Cormorant Garamond',serif;font-size:18px;}

/* ═══════════════ INTELLIGENCE MAP ═══════════════ */
.map-toolbar{display:flex;gap:2px;background:var(--line);border:1px solid var(--line);border-bottom:none;flex-wrap:wrap;}
.map-tb{flex:1;min-width:132px;padding:15px 12px;background:var(--coal);border:none;color:var(--smoke);font-family:'Inter',sans-serif;font-size:9.5px;letter-spacing:0.18em;text-transform:uppercase;font-weight:600;cursor:pointer;transition:all .3s var(--ease);}
.map-tb.on{background:var(--champagne);color:var(--void);}
.map-tb:not(.on):hover{color:var(--ivory);background:var(--graphite);}
.map-filters{display:flex;gap:2px;background:var(--line);border:1px solid var(--line);border-top:none;border-bottom:none;flex-wrap:wrap;}
.map-fl{flex:1;min-width:104px;padding:12px 10px;background:var(--void);border:none;color:var(--smoke);font-family:'Inter',sans-serif;font-size:9px;letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;transition:all .28s;}
.map-fl.on{color:var(--champ-hi);background:rgba(196,162,101,0.09);}
.map-fl:not(.on):hover{color:var(--ivory);}

.map-g{display:grid;grid-template-columns:1.4fr 0.6fr;gap:2px;background:var(--line);border:1px solid var(--line);}
.map-stage{background:var(--coal);position:relative;overflow:hidden;min-height:490px;}
.map-stage svg{width:100%;height:100%;display:block;}

.map-pin{cursor:pointer;transition:opacity .4s var(--ease);}
.map-pin circle.hit{fill:transparent;}
.map-pin circle.ring{fill:rgba(196,162,101,0.10);stroke:var(--champagne);stroke-width:1.6;transition:r .4s var(--ease),stroke-width .3s,fill .4s,stroke .4s;}
.map-pin{filter:drop-shadow(0 0 7px rgba(0,0,0,0.85));}
.map-pin circle.core{fill:var(--champagne);transition:r .4s var(--ease),fill .4s;}
.map-pin text{fill:var(--smoke);font-family:'Inter',sans-serif;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;font-weight:500;transition:fill .3s,font-weight .3s;pointer-events:none;paint-order:stroke;stroke:#070A0E;stroke-width:3.5px;stroke-linejoin:round;}
.map-pin:hover circle.ring{r:18;stroke-width:1.4;}
.map-pin:hover circle.core{r:5;}
.map-pin:hover text{fill:var(--ivory);}
.map-pin:focus{outline:none;}
.map-pin:focus-visible circle.ring{r:22;stroke-width:2;}
.map-pin.on circle.ring{r:21;stroke-width:1.8;}
.map-pin.on circle.core{r:6;}
.map-pin.on text{fill:var(--champ-hi);font-weight:700;}
.map-pin.dim{opacity:0.13;pointer-events:none;}
.map-pin.on circle.ring{animation:pinPulse 2.8s var(--ease) infinite;}
@keyframes pinPulse{0%,100%{stroke-opacity:1;}50%{stroke-opacity:0.45;}}
@media(prefers-reduced-motion:reduce){.map-pin.on circle.ring{animation:none;}}
.map-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 55%,rgba(5,6,8,0.55) 100%);}

.map-legend{position:absolute;bottom:16px;left:20px;right:20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;pointer-events:none;}
.lg-title{font-size:8.5px;letter-spacing:0.22em;color:var(--smoke);text-transform:uppercase;}
.lg-scale{display:flex;align-items:center;gap:9px;}
.lg-sw{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--smoke);}
.lg-sw i{width:9px;height:9px;border-radius:50%;display:block;}
.map-count{position:absolute;top:16px;right:20px;font-size:9px;letter-spacing:0.18em;color:var(--champ-hi);text-transform:uppercase;pointer-events:none;}
.lg-extremes{display:flex;gap:22px;flex-wrap:wrap;width:100%;margin-top:9px;padding-top:9px;border-top:1px solid var(--line);}
.lg-extremes span{font-size:10px;color:var(--smoke);letter-spacing:0.04em;}
.lg-extremes b{color:var(--champ-hi);font-weight:600;letter-spacing:0.14em;text-transform:uppercase;font-size:8.5px;margin-right:6px;}
.map-stage.flash{animation:stageFlash .55s var(--ease);}
@keyframes stageFlash{0%{filter:brightness(1);}35%{filter:brightness(1.28);}100%{filter:brightness(1);}}

.map-panel{background:var(--coal);padding:34px 30px;display:flex;flex-direction:column;}
.map-panel .mp-label{font-size:8.5px;letter-spacing:0.24em;color:var(--champagne);text-transform:uppercase;font-weight:700;margin-bottom:14px;}
.map-panel h3{font-family:'Cormorant Garamond',serif;font-size:27px;font-weight:500;margin-bottom:5px;line-height:1.1;}
.map-panel .mp-band{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;color:var(--champ-hi);margin-bottom:18px;}
.map-panel .mp-desc{font-size:12.5px;color:var(--smoke);margin-bottom:20px;}
.mp-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:11.5px;gap:12px;}
.mp-row:last-of-type{border-bottom:none;}
.mp-row .mk{color:var(--smoke);}
.mp-row .mv{color:var(--ivory);text-align:right;font-weight:500;}
.mp-row .mv.hot{color:var(--champ-hi);}
.mp-rating{display:flex;gap:3px;}
.mp-rating i{width:7px;height:7px;border-radius:50%;background:var(--line);display:block;}
.mp-rating i.f{background:var(--champagne);}
.map-panel .mp-cta{margin-top:auto;padding-top:22px;}
@media(max-width:920px){
  .map-g{grid-template-columns:1fr;}
  .map-stage{min-height:340px;}
  .map-panel{padding:26px 22px;}
  .map-legend{position:static;padding:14px 20px 18px;background:var(--coal);}
}

/* ═══════════════ PROVENANCE LAYER ═══════════════ */
.src{position:relative;border-bottom:1px dotted rgba(196,162,101,0.45);cursor:help;}
.src::after{
  content:attr(data-src) " · " attr(data-date) " · " attr(data-conf);
  position:absolute;left:50%;bottom:calc(100% + 11px);transform:translateX(-50%) translateY(5px);
  background:var(--graphite);color:var(--ivory);border:1px solid var(--champ-dim);
  padding:11px 15px;font-family:'Inter',sans-serif;font-size:10.5px;letter-spacing:0.04em;
  line-height:1.55;white-space:normal;width:max-content;max-width:290px;text-transform:none;
  font-weight:400;font-style:normal;opacity:0;pointer-events:none;
  transition:opacity .25s var(--ease),transform .25s var(--ease);z-index:70;
  box-shadow:0 14px 40px rgba(0,0,0,0.55);
}
.src::before{
  content:"";position:absolute;left:50%;bottom:calc(100% + 5px);transform:translateX(-50%);
  border:6px solid transparent;border-top-color:var(--champ-dim);opacity:0;
  transition:opacity .25s var(--ease);z-index:71;
}
.src:hover::after,.src:focus::after,.src.open::after{opacity:1;transform:translateX(-50%) translateY(0);}
.src:hover::before,.src:focus::before,.src.open::before{opacity:1;}
.src[data-conf="Verified"]{border-bottom-color:rgba(26,107,74,0.6);}
.src[data-conf="Indicative"]{border-bottom-color:rgba(196,162,101,0.5);}
.src[data-conf="Forecast"]{border-bottom-color:rgba(139,32,32,0.5);}

.prov-key{display:flex;gap:26px;flex-wrap:wrap;padding:20px 0 0;margin-top:24px;border-top:1px solid var(--line);}
.prov-key span{font-size:9.5px;letter-spacing:0.16em;color:var(--smoke);text-transform:uppercase;display:flex;align-items:center;gap:8px;}
.prov-key i{width:16px;height:0;border-bottom:1px dotted;display:block;}
.prov-key .v i{border-color:rgba(26,107,74,0.9);}
.prov-key .i i{border-color:rgba(196,162,101,0.9);}
.prov-key .f i{border-color:rgba(139,32,32,0.9);}
.updated{font-size:9.5px;letter-spacing:0.16em;color:var(--smoke);text-transform:uppercase;margin-top:12px;}
.updated b{color:var(--champ-hi);font-weight:500;}
@media(max-width:620px){.src::after{max-width:220px;font-size:10px;}}

.method-note{border:1px solid var(--line);background:rgba(196,162,101,0.03);padding:16px 18px;margin-top:18px;}
.method-note .mnh{font-size:8px;letter-spacing:0.22em;color:var(--champagne);text-transform:uppercase;font-weight:700;margin-bottom:9px;}
.method-note p{font-size:10.5px;color:var(--smoke);line-height:1.65;margin:0 0 7px;}
.method-note p:last-child{margin-bottom:0;}
.method-note b{color:var(--champ-hi);font-weight:600;}
.tag{display:inline-block;font-size:7.5px;letter-spacing:0.16em;text-transform:uppercase;padding:2px 6px;border:1px solid;margin-left:7px;vertical-align:middle;font-weight:700;}
.tag.src{color:#6FBF9A;border-color:rgba(111,191,154,0.45);}
.tag.mod{color:var(--champ-hi);border-color:var(--champ-dim);}

/* ═══════════════ LIVE DLD PANEL ═══════════════ */
.live{border:1px solid var(--line);background:var(--void);margin-top:28px;}
.live-h{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 18px;border-bottom:1px solid var(--line);background:var(--graphite);flex-wrap:wrap;}
.live-h .lh-t{font-size:8.5px;letter-spacing:0.22em;color:var(--champ-hi);text-transform:uppercase;font-weight:700;display:flex;align-items:center;gap:9px;}
.live-h .dot{width:6px;height:6px;border-radius:50%;background:var(--smoke);display:block;}
.live-h .dot.on{background:#6FBF9A;box-shadow:0 0 0 3px rgba(111,191,154,0.15);}
.live-h .lh-s{font-size:9px;letter-spacing:0.14em;color:var(--smoke);text-transform:uppercase;}
.live-b{padding:0;}
.live-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);}
.live-k{background:var(--void);padding:20px 16px;text-align:center;}
.live-k .v{font-family:'Cormorant Garamond',serif;font-size:25px;color:var(--champ-hi);line-height:1;margin-bottom:6px;}
.live-k .l{font-size:8.5px;letter-spacing:0.14em;color:var(--smoke);text-transform:uppercase;}
@media(max-width:760px){.live-kpis{grid-template-columns:repeat(2,1fr);}}
.live-rows{border-top:1px solid var(--line);}
.live-r{display:flex;justify-content:space-between;padding:10px 18px;font-size:12px;border-bottom:1px solid rgba(196,162,101,0.06);gap:12px;}
.live-r:last-child{border-bottom:none;}
.live-r .a{color:var(--ivory);}
.live-r .n{color:var(--smoke);}
.live-r .p{color:var(--champ-hi);font-weight:500;}
.live-msg{padding:22px 18px;font-size:11.5px;color:var(--smoke);line-height:1.65;}

/* ═══════════════ 3D TILT ═══════════════ */
.tilt{transform-style:preserve-3d;transition:transform .45s var(--ease);will-change:transform;}
.tilt-in{transform:translateZ(24px);}

/* ═══════════════ FAITH & STEWARDSHIP ═══════════════ */
.intro{background:var(--coal);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.intro-in{max-width:790px;margin:0 auto;text-align:center;}
.intro-rule{width:44px;height:1px;background:var(--champagne);margin:0 auto 28px;}
.intro-in .label{display:block;margin-bottom:26px;}
.intro-in h2{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(28px,3.8vw,42px);line-height:1.28;margin-bottom:34px;}
.intro-in h2 em{font-style:italic;color:var(--champ-hi);}
.intro-in p{color:#B9B2A4;font-size:15.5px;margin-bottom:20px;text-align:left;}
.intro-vals{display:flex;justify-content:center;gap:0;flex-wrap:wrap;margin-top:38px;padding-top:32px;border-top:1px solid var(--line);}
.intro-vals span{font-size:9.5px;letter-spacing:2.5px;color:var(--smoke);text-transform:uppercase;display:flex;align-items:center;gap:20px;}
.intro-vals span:not(:last-child)::after{content:"·";color:var(--champagne);font-size:15px;}
.intro-note{margin-top:32px;font-size:13px;color:var(--smoke);font-style:italic;font-family:'Cormorant Garamond',serif;font-size:16px;}

/* ═══════════════ THE MARKET BRIEF (lead magnet) ═══════════════ */
.brief-band{background:var(--void);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.bb-g{display:grid;grid-template-columns:1.25fr 0.75fr;gap:56px;align-items:center;}
.bb-l .label{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
.bb-l .label::before{content:"";width:34px;height:1px;background:var(--champagne);}
.bb-l h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(28px,3.6vw,40px);line-height:1.14;margin-bottom:18px;}
.bb-l h2 em{font-style:italic;color:var(--champ-hi);}
.bb-l p{color:var(--smoke);font-size:14.5px;margin-bottom:22px;}
.bb-list{display:flex;flex-direction:column;gap:9px;}
.bb-list li{list-style:none;font-size:13px;color:#B9B2A4;padding-left:22px;position:relative;}
.bb-list li::before{content:"—";position:absolute;left:0;color:var(--champagne);}
.bb-r{background:var(--coal);border:1px solid var(--line);padding:38px 32px;text-align:center;}
.bb-r .bbn{font-family:'Cormorant Garamond',serif;font-size:46px;color:var(--champ-hi);line-height:1;margin-bottom:6px;}
.bb-r .bbt{font-size:9.5px;letter-spacing:2.5px;color:var(--smoke);text-transform:uppercase;margin-bottom:24px;}
.bb-r .bbnote{font-size:11px;color:var(--smoke);margin-top:16px;line-height:1.6;}
@media(max-width:860px){.bb-g{grid-template-columns:1fr;gap:34px;}}

/* ═══════════════ LEGAL ═══════════════ */
.legal{border-top:1px solid rgba(255,255,255,0.05);margin-top:30px;padding-top:26px;}
.legal-g{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.legal-c .lt{font-size:9px;letter-spacing:2.5px;color:var(--champagne);text-transform:uppercase;font-weight:700;margin-bottom:9px;}
.legal-c p{font-size:11px;color:var(--smoke);line-height:1.65;}
@media(max-width:980px){.legal-g{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.legal-g{grid-template-columns:1fr;gap:22px;}}

/* ═══════════════ SOCIAL ═══════════════ */
.social{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);}
.social a{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:var(--void);color:var(--smoke);transition:color .3s var(--ease),background .3s;}
.social a:hover{color:var(--champ-hi);background:var(--graphite);}
.social svg{width:15px;height:15px;fill:currentColor;}
.ft-social{display:flex;flex-direction:column;gap:12px;align-items:flex-end;}
.ft-social .fs-l{font-size:8.5px;letter-spacing:0.22em;color:var(--smoke);text-transform:uppercase;}
@media(max-width:760px){.ft-social{align-items:flex-start;}}

/* ═══════════════ WHATSAPP FLOAT ═══════════════ */
#wa{position:fixed;bottom:28px;right:28px;z-index:95;display:inline-flex;align-items:center;gap:10px;background:var(--champagne);color:var(--void);padding:15px 26px;border-radius:40px;font-size:11.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;box-shadow:0 10px 34px rgba(196,162,101,0.35);transition:transform .25s var(--ease),background .3s;}
#wa:hover{transform:translateY(-3px);background:var(--champ-hi);}
#wa svg{width:16px;height:16px;}
@media(max-width:560px){#wa{padding:14px 20px;bottom:20px;right:20px;}}

/* ═══════════════════════════════════════════════════════════════════════
   ▓▓ MULTI-PAGE REFACTOR — layout fixes, UI elevation, new components
   Appended deliberately: everything above is the original single-page
   stylesheet, kept intact so the origin of each rule stays readable.
   ═══════════════════════════════════════════════════════════════════════ */

/* ─────────── 1. Anchors clear the sticky nav ─────────── */
html{scroll-padding-top:96px;}
section,header,footer,[id]{scroll-margin-top:96px;}

/* ─────────── 2. Skip link ─────────── */
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--champagne);color:var(--void);
  padding:14px 24px;font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:700;}
.skip:focus{left:12px;top:12px;}

/* ─────────── 3. Visible focus for keyboard users ─────────── */
:focus-visible{outline:2px solid var(--champ-hi);outline-offset:3px;}
a:focus-visible,button:focus-visible{outline-offset:4px;}

/* ─────────── 4. Nav — brand overlap, active state, larger targets ───────────
   The italic Cormorant "R." overhangs its advance width, which is what
   made it collide with the wordmark. Padding on the glyph, not a bigger
   gap, is the fix — the gap stays optically even. */
.nav-brand{gap:16px;align-items:center;padding:6px 0;}
.nav-brand .mk{padding-right:6px;font-size:31px;}
.nav-brand .wd{font-size:11px;letter-spacing:3.4px;}
.nav-links a{font-size:11.5px;padding:14px 0;}
.nav-links a.on{color:var(--ivory);}
.nav-links a.on::after{width:100%;}
/* the original .nav-cta rule ships !important on colour and padding,
   so the active state has to match that weight to take effect */
.nav-links .nav-cta{padding:15px 26px!important;border:1px solid var(--champ-dim);}
.nav-links .nav-cta::after{display:none;}
.nav-links .nav-cta:hover{border-color:var(--champagne);}
.nav-links .nav-cta.on{background:var(--champagne);color:var(--void)!important;border-color:var(--champagne);}
.nav-links .nav-cta.on:hover{background:var(--champ-hi);}

/* hamburger drawn from three bars so it can animate into a close icon */
#nav-tg{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;}
#nav-tg .bar{display:block;width:18px;height:1.5px;background:var(--champagne);
  transition:transform .32s var(--ease),opacity .2s var(--ease);}
#nav-tg.open .bar:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
#nav-tg.open .bar:nth-child(2){opacity:0;}
#nav-tg.open .bar:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* ─────────── 5. Hero — CTAs no longer collide with the meta bar ───────────
   Row 1 was a hard 1fr, so a centred block taller than the row bled into
   row 2. minmax(min-content,1fr) lets the row grow instead of overflowing. */
.hero{grid-template-rows:minmax(min-content,1fr) auto;}
.hero-in{padding-top:120px;padding-bottom:52px;}
/* words stay whole: the letter spans sit inside word-level inline blocks */
.hero h1 .w{display:inline-block;white-space:nowrap;}
.hero-sub{font-size:17px;line-height:1.6;max-width:560px;}
.hero-meta{padding-bottom:34px;}
.hero-meta .hm{font-size:10.5px;letter-spacing:2.6px;}

/* ─────────── 6. Type scale — nothing essential below 11px ─────────── */
body{font-size:16px;}
.label{font-size:11px;letter-spacing:3.4px;}
.btn{font-size:12px;padding:18px 34px;letter-spacing:2.2px;min-height:52px;}
.sec-head p{font-size:16.5px;}
.fld label{font-size:11px;letter-spacing:2px;}
.lang-chip{font-size:11.5px;}
.cap{font-size:10.5px;}

/* ─────────── 7. Form controls — native selects replaced with themed ones ─────────── */
.fld input,.fld select,.fld textarea,.tf input,.tf select{
  font-size:15px;padding:15px 16px;min-height:52px;border-radius:0;
  -webkit-appearance:none;appearance:none;}
.fld select,.tf select{
  background-image:linear-gradient(45deg,transparent 50%,var(--champagne) 50%),
                   linear-gradient(135deg,var(--champagne) 50%,transparent 50%);
  background-position:calc(100% - 19px) calc(50% + 1px),calc(100% - 13px) calc(50% + 1px);
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:44px;cursor:pointer;}
.fld select option,.tf select option{background:var(--coal);color:var(--ivory);}
.fld input:hover,.fld select:hover,.fld textarea:hover,
.tf input:hover,.tf select:hover{border-color:rgba(196,162,101,0.34);}
.fld input:focus,.fld select:focus,.fld textarea:focus,
.tf input:focus,.tf select:focus{border-color:var(--champagne);box-shadow:0 0 0 3px rgba(196,162,101,0.10);}
.fld input::placeholder,.fld textarea::placeholder{color:rgba(139,133,120,0.62);}
.fld textarea{min-height:120px;}

/* ─────────── 8. Tap targets ─────────── */
.map-tb,.map-fl,.tt,.faq-q{min-height:48px;}
.ft-links a,.legal a{display:inline-block;padding:7px 0;}
@media (hover:none){
  .nav-links a,.ft-links a{min-height:44px;display:flex;align-items:center;}
}

/* ─────────── 9. Cards — depth on hover instead of a flat border shift ─────────── */
.ins-c,.addr-c,.philo-c,.cred-c,.explore-c{
  transition:transform .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease),background .45s var(--ease);}
.ins-c:hover,.addr-c:hover,.cred-c:hover{
  border-color:rgba(196,162,101,0.36);
  box-shadow:0 18px 48px -22px rgba(0,0,0,0.9),0 0 0 1px rgba(196,162,101,0.06) inset;}

/* ─────────── 10. Explore grid (home) ─────────── */
.explore-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:2px;
  background:var(--line);border:1px solid var(--line);}
.explore-c{background:var(--coal);padding:38px 32px 32px;display:flex;flex-direction:column;
  gap:14px;position:relative;overflow:hidden;min-height:288px;}
.explore-c::after{content:"";position:absolute;inset:0;
  background:radial-gradient(420px circle at 50% 0%,rgba(196,162,101,0.09),transparent 70%);
  opacity:0;transition:opacity .5s var(--ease);pointer-events:none;}
.explore-c:hover{background:var(--graphite);transform:translateY(-3px);}
.explore-c:hover::after{opacity:1;}
.explore-c .xn{font-family:'Cormorant Garamond',serif;font-size:13px;color:var(--champagne);
  letter-spacing:3px;font-style:italic;}
.explore-c h3{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:29px;line-height:1.1;color:var(--ivory);}
.explore-c p{color:var(--smoke);font-size:14.5px;line-height:1.62;flex:1;}
.explore-c .xgo{font-size:10.5px;letter-spacing:2.6px;text-transform:uppercase;color:var(--champ-hi);
  font-weight:600;display:inline-flex;align-items:center;gap:9px;}
.explore-c .xgo i{font-style:normal;transition:transform .35s var(--ease);}
.explore-c:hover .xgo i{transform:translateX(6px);}

/* ─────────── 11. Closing CTA band (home) ─────────── */
.cta-band{border-top:1px solid var(--line);background:var(--coal);}
.cta-in{display:grid;grid-template-columns:1.35fr 1fr;gap:56px;align-items:center;}
.cta-in h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(30px,4vw,48px);
  line-height:1.12;margin:16px 0 18px;}
.cta-in h2 em{font-style:italic;color:var(--champ-hi);}
.cta-in p{color:var(--smoke);font-size:16px;max-width:520px;}
.cta-act{display:flex;flex-direction:column;gap:14px;align-items:stretch;}
.cta-act .btn{justify-content:center;}

/* ─────────── 12. Brief-form fallback ─────────── */
.brief-fb{margin-top:20px;border:1px solid var(--champ-dim);background:rgba(196,162,101,0.04);padding:20px 22px;}
.brief-fb[hidden]{display:none;}
.brief-fb.urgent{border-color:var(--champagne);background:rgba(196,162,101,0.09);}
.brief-fb p{font-size:13.5px;color:var(--smoke);margin-bottom:14px;}
.fb-act{display:flex;gap:10px;flex-wrap:wrap;}
.fb-act .btn{flex:1;justify-content:center;min-width:180px;padding:14px 20px;min-height:46px;font-size:11px;}
.btn-ghost{border-color:var(--line);color:var(--smoke);background:none;}
.btn-ghost:hover{border-color:var(--champ-dim);color:var(--ivory);}

/* ─────────── 13. Cross-page transitions ─────────── */
@view-transition{navigation:auto;}
@media (prefers-reduced-motion:no-preference){
  ::view-transition-old(root){animation:vt-out .22s var(--ease) both;}
  ::view-transition-new(root){animation:vt-in .34s var(--ease) both;}
}
@keyframes vt-out{to{opacity:0;transform:translateY(-6px);}}
@keyframes vt-in{from{opacity:0;transform:translateY(10px);}}
#nav{view-transition-name:site-nav;}
footer{view-transition-name:site-footer;}

/* the preloader curtain only exists on a first visit */
#loader.gone{pointer-events:none;}

/* ─────────── 14. Mobile ─────────── */
@media (max-width:900px){
  #nav-tg{display:flex;}
  body.nav-open{overflow:hidden;}
  .cta-in{grid-template-columns:1fr;gap:32px;}
  .cta-act{flex-direction:row;flex-wrap:wrap;}
  .cta-act .btn{flex:1;min-width:220px;}
}
@media (max-width:700px){
  section{padding:72px 0;}
  html{scroll-padding-top:80px;}
  section,header,footer,[id]{scroll-margin-top:80px;}
  .hero-in{padding-top:104px;padding-bottom:40px;}
  .hero h1{font-size:clamp(38px,10vw,60px);}
  .hero-sub{font-size:16px;}
  .hero-ctas{flex-direction:column;align-items:stretch;}
  .hero-ctas .btn{justify-content:center;width:100%;}
  .hero-meta .wrap{text-align:left;}
  .hero-meta .scroll-cue{display:none;}
  .explore-c{min-height:0;padding:30px 26px 28px;}
  .brief-fb .fb-act .btn{min-width:100%;}
  #wa{bottom:18px;right:18px;width:54px;height:54px;}
  #wa svg{width:24px;height:24px;}
}

/* ─────────── 15. Floating WhatsApp — disc at rest, pill on intent ───────────
   As a permanent pill it sat over the right-hand edge of the content
   column at every viewport under ~1400px and covered live copy. It now
   rests as a disc and only claims the extra width while hovered. */
#wa{width:58px;height:58px;padding:0;border-radius:40px;justify-content:center;gap:0;
  overflow:hidden;white-space:nowrap;
  transition:width .38s var(--ease),transform .25s var(--ease),background .3s,box-shadow .3s;}
#wa svg{width:23px;height:23px;flex:0 0 auto;}
#wa .wa-t{max-width:0;opacity:0;overflow:hidden;
  transition:max-width .38s var(--ease),opacity .22s var(--ease),margin .38s var(--ease);}
#wa:hover,#wa:focus-visible{width:196px;transform:translateY(-3px);}
#wa:hover .wa-t,#wa:focus-visible .wa-t{max-width:120px;opacity:1;margin-left:10px;}
@media (hover:none){
  #wa{width:56px;}
  #wa .wa-t{display:none;}
}

/* ─────────── 16. Promoted section headings ───────────
   On the split pages the leading section heading becomes the document
   <h1>; it must keep the exact look the <h2> had. */
.sec-head h1{font-family:'Cormorant Garamond',serif;font-weight:400;
  font-size:clamp(32px,4.4vw,52px);line-height:1.12;}
.sec-head h1 em{font-style:italic;color:var(--champ-hi);}

/* ─────────── 17. Philosophy cards — shared baselines ───────────
   The first title runs to two lines and the other two to one, which
   dropped their body copy to three different heights. A grid with a
   min-content title row locks all three to the same baseline. */
.philo-c{display:grid;grid-template-rows:auto auto 1fr;align-content:start;}
.philo-c h3{margin-bottom:0;line-height:1.2;min-height:2.4em;display:flex;align-items:flex-start;}
.philo-c p{font-size:14.5px;line-height:1.65;padding-top:14px;}
@media (max-width:820px){
  .philo-g{grid-template-columns:1fr;}
  .philo-c h3{min-height:0;}
}

/* ─────────── 18. Shareable model bar (/instruments) ─────────── */
.share-bar{margin-top:40px;border:1px solid var(--champ-dim);background:rgba(196,162,101,0.04);
  padding:30px 32px;display:flex;flex-direction:column;gap:14px;align-items:flex-start;}
.share-bar .sb-t{font-family:'Cormorant Garamond',serif;font-size:25px;color:var(--champ-hi);line-height:1;}
.share-bar .sb-d{font-size:14.5px;color:var(--smoke);max-width:640px;line-height:1.6;}
.share-bar .sb-act{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px;}
.share-bar .sb-msg{font-size:12px;letter-spacing:1.6px;text-transform:uppercase;
  color:var(--champ-hi);min-height:18px;display:block;width:100%;}
.share-bar .sb-fallback{width:100%;background:var(--void);border:1px solid var(--champ-dim);
  color:var(--ivory);padding:10px 12px;font-size:12.5px;font-family:'Inter',sans-serif;
  text-transform:none;letter-spacing:0;}
@media (max-width:700px){
  .share-bar{padding:24px 20px;}
  .share-bar .sb-act{width:100%;}
  .share-bar .sb-act .btn{flex:1;justify-content:center;min-width:100%;}
}

/* ─────────── 19. Side-by-side community comparison (/addresses) ─────────── */
.cmp-bar{margin-top:26px;padding-top:24px;border-top:1px solid var(--line);}
.cmp-bar .cmp-l{display:block;font-size:11px;letter-spacing:2.6px;text-transform:uppercase;
  color:var(--champagne);font-weight:700;margin-bottom:10px;}
.cmp-bar select{width:100%;background:var(--void);border:1px solid var(--line);color:var(--ivory);
  padding:14px 44px 14px 16px;font-size:14.5px;font-family:'Inter',sans-serif;min-height:50px;
  -webkit-appearance:none;appearance:none;cursor:pointer;outline:none;transition:border-color .25s;
  background-image:linear-gradient(45deg,transparent 50%,var(--champagne) 50%),
                   linear-gradient(135deg,var(--champagne) 50%,transparent 50%);
  background-position:calc(100% - 19px) calc(50% + 1px),calc(100% - 13px) calc(50% + 1px);
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;}
.cmp-bar select:hover{border-color:rgba(196,162,101,0.34);}
.cmp-bar select:focus{border-color:var(--champagne);box-shadow:0 0 0 3px rgba(196,162,101,0.10);}
.cmp-bar select option{background:var(--coal);color:var(--ivory);}
.cmp-out[hidden]{display:none;}
.cmp-out{margin-top:20px;}
.cmp-tbl{width:100%;border-collapse:collapse;border:1px solid var(--line);}
.cmp-tbl thead th{font-family:'Cormorant Garamond',serif;font-size:17px;color:var(--champ-hi);
  font-weight:500;text-align:right;padding:13px 14px;border-bottom:1px solid var(--line);
  background:rgba(196,162,101,0.05);}
.cmp-tbl thead th:first-child{width:38%;}
.cmp-tbl tbody th{text-align:left;font-weight:400;font-size:12.5px;color:var(--smoke);
  padding:11px 14px;border-bottom:1px solid rgba(196,162,101,0.08);}
.cmp-tbl td{text-align:right;font-size:13px;color:var(--ivory);padding:11px 14px;
  border-bottom:1px solid rgba(196,162,101,0.08);border-left:1px solid rgba(196,162,101,0.08);}
.cmp-tbl tbody tr:last-child th,.cmp-tbl tbody tr:last-child td{border-bottom:0;}
.cmp-tbl .cv.win{color:var(--champ-hi);font-weight:600;background:rgba(196,162,101,0.06);}
.cmp-note{font-size:11.5px;color:var(--smoke);line-height:1.6;margin-top:12px;}
@media (max-width:560px){
  .cmp-tbl thead th,.cmp-tbl tbody th{font-size:11.5px;padding:9px 9px;}
  .cmp-tbl td{font-size:12px;padding:9px 9px;}
  .cmp-tbl thead th:first-child{width:32%;}
}

/* ─────────── 20. Print — the model as a document ───────────
   The visitor's own figures, on paper, carrying the link that reproduces
   them. Everything that is navigation or decoration is dropped. */
#print-head{display:none;}
@media print{
  @page{margin:16mm 14mm;}
  html,body{background:#fff!important;color:#111!important;font-size:11pt;}
  #nav,#wa,#progress,#loader,#cur-dot,#cur-ring,footer,.skip,.marquee,
  .share-bar,.tool-tabs,.tt,.cmp-bar,.scroll-cue{display:none!important;}
  .tool-panel:not(.on){display:none!important;}
  main,section,.wrap{padding:0!important;margin:0!important;max-width:none!important;}
  section{border:0!important;background:#fff!important;}
  #print-head{display:block;margin-bottom:14mm;padding-bottom:5mm;border-bottom:1.5pt solid #C4A265;}
  #print-head .ph-brand{font-size:10pt;letter-spacing:2.4pt;font-weight:700;color:#111;}
  #print-head .ph-brand span{font-weight:400;letter-spacing:.6pt;color:#555;}
  #print-head .ph-t{font-family:'Cormorant Garamond',serif;font-size:24pt;color:#111;margin:5mm 0 2mm;}
  #print-head .ph-m{font-size:8.5pt;color:#444;}
  #print-head .ph-m b{color:#111;font-weight:600;word-break:break-all;}
  #print-head .ph-d{font-size:7.5pt;color:#666;margin-top:3mm;line-height:1.45;max-width:150mm;}
  /* the dark theme inverted for ink */
  .tool-panel,.tf,.fld,.lab-out,.lab-card,.cmp-tbl{background:#fff!important;color:#111!important;
    border-color:#ccc!important;box-shadow:none!important;}
  .tool-panel *,.cmp-tbl *{color:#111!important;text-shadow:none!important;}
  input,select,textarea{background:#fff!important;color:#111!important;border:1pt solid #bbb!important;}
  .rv{opacity:1!important;transform:none!important;}
  a[href]{text-decoration:none;color:#111!important;}
  .tool-note,.updated,.cmp-note{color:#555!important;font-size:8pt;}
  h1,h2,h3{color:#111!important;page-break-after:avoid;}
  table,.lab-card{page-break-inside:avoid;}
}

/* ─────────── 21. Nav on routes without a hero ───────────
   The transparent bar only makes sense over the home hero. Everywhere
   else the content starts directly beneath it, so headings used to slide
   under a see-through bar during the first 70px of scroll. Painted in CSS
   as well as JS so the correct state is there on the first frame. */
body:not(:has(.hero)) nav{height:74px;}
/* The leading block must clear the fixed bar. Some sections ship an inline
   padding-top:0 from the single-page layout, where a hero sat above them —
   as the first thing on a route that leaves the heading under the nav, so
   the clearance is set here and wins over the inline value. */
body:not(:has(.hero)) main > :first-child{padding-top:118px!important;}
@media (max-width:700px){
  body:not(:has(.hero)) nav{height:70px;}
  body:not(:has(.hero)) main > :first-child{padding-top:104px!important;}
}

/* ═══════════════════════════════════════════════════════════════════
   PHASE 2 — PROVENANCE STRIP AND DECISION PATHS
   ═══════════════════════════════════════════════════════════════════ */

/* ─────────── hero provenance ───────────
   Three positions on method, sitting where a skyline and a particle
   canvas used to. None of them is a market statistic: they are the rules
   the rest of the site is governed by, which is the one thing that can
   be stated in a hero without a source line under it. */
.prov{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:0; margin:0; padding:0;
  border-top:1px solid var(--line);
}
.prov-i{
  padding:var(--s5) var(--s5) var(--s5) 0;
  border-right:1px solid var(--line);
}
.prov-i:last-child{ border-right:0; }
.prov-i + .prov-i{ padding-left:var(--s5); }
.prov dt{
  font-size:var(--t-micro); letter-spacing:var(--track-label);
  text-transform:uppercase; color:var(--champagne);
  margin:0 0 var(--s2);
}
.prov dd{
  margin:0 0 var(--s2);
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:var(--t-xl); line-height:var(--lh-tight); color:var(--ivory);
  font-weight:400;
}
.prov p{
  margin:0; font-size:var(--t-cap); line-height:var(--lh-snug);
  color:var(--smoke); max-width:34ch;
}

/* ─────────── decision paths ───────────
   A list, not a grid of cards. Each row carries the question that brings
   someone here, then what answers it. Four equal boxes made four
   destinations look interchangeable; a list with one rule between rows
   makes them read as alternatives to choose between. */
.paths{ list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.path{ border-bottom:1px solid var(--line); }
.path > a{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:start; gap:var(--s6);
  padding:var(--s6) var(--s3);
  text-decoration:none; color:inherit;
  transition:background var(--dur) var(--ease);
}
.path > a:hover{ background:rgba(245,241,232,0.028); }
.path > a:focus-visible{ box-shadow:var(--focus-ring); border-radius:var(--r-md); }
.p-n{
  font-size:var(--t-micro); letter-spacing:.14em; color:var(--champagne);
  padding-top:8px; font-variant-numeric:tabular-nums;
}
.p-b{ display:block; }
.p-q{
  display:block; font-size:var(--t-cap); color:var(--smoke);
  margin-bottom:var(--s2);
}
.p-t{
  display:block; font-family:'Cormorant Garamond',Georgia,serif;
  font-size:var(--t-2xl); line-height:var(--lh-tight); color:var(--ivory);
  margin-bottom:var(--s3); transition:color var(--dur) var(--ease);
}
.path > a:hover .p-t{ color:var(--champ-hi); }
.p-d{
  display:block; font-size:var(--t-sm); line-height:var(--lh-body);
  color:var(--smoke); max-width:62ch;
}
.p-go{
  color:var(--champagne); font-size:var(--t-lg); padding-top:6px;
  transition:transform var(--dur) var(--ease);
}
.path > a:hover .p-go{ transform:translateX(5px); }

/* Practice line under the copyright, now that no company name sits there */
.ft-practice{ color:var(--smoke); }

@media (max-width:860px){
  .prov{ grid-template-columns:1fr; border-top:0; }
  .prov-i{
    border-right:0; border-top:1px solid var(--line);
    padding:var(--s4) 0;
  }
  .prov-i + .prov-i{ padding-left:0; }
  .prov dd{ font-size:var(--t-lg); }
  .path > a{ grid-template-columns:auto 1fr; gap:var(--s4); padding:var(--s5) 0; }
  .p-go{ display:none; }
  .p-t{ font-size:var(--t-xl); }
}

@media (prefers-reduced-motion:reduce){
  .path > a, .p-t, .p-go{ transition:none; }
  .path > a:hover .p-go{ transform:none; }
}

/* Phase 3 readability correction: content remains restrained, but it must be
   comfortably readable at a normal desktop zoom level. */
@media screen {
  body { font-size: 16px; line-height: 1.7; }
  .wrap { max-width: 1240px; padding-inline: 32px; }
  nav { height: 84px; }
  nav::before { background: rgba(5,6,8,.9); backdrop-filter: blur(18px) saturate(130%);
    -webkit-backdrop-filter: blur(18px) saturate(130%); }
  .hero { min-height: clamp(560px,66vh,720px); }
  .hero-in { padding-top: 124px; padding-bottom: 56px; }
  .hero h1 { font-size: clamp(50px,6.6vw,88px); line-height: 1.06; letter-spacing: 0; }
  .hero-sub { color: #B9B2A4; font-size: 17px; line-height: 1.68; max-width: 60ch; }
  .btn { font-size: 12px; letter-spacing: 2px; }
  .addr-c::before { display: none; }
  .scroll-cue { background: var(--line-accent); }
  section { padding-block: 112px; }
  .path > a { grid-template-columns: 72px minmax(0,1fr) 32px; gap: var(--s7); padding: 36px 0; }
  .p-q { font-size: 14px; }
  .p-t { font-size: 36px; line-height: 1.1; }
  .p-d { font-size: 15.5px; line-height: 1.65; }
  footer { padding: 80px 0 48px; }
  .ft-links a { font-size: 11.5px; }
  .legal-c p { font-size: 12px; }
}
@media screen and (max-width: 860px) {
  .wrap { padding-inline: 24px; }
  nav { height: 74px; }
  .hero-in { padding-top: 108px; padding-bottom: 44px; }
  section { padding-block: 80px; }
  .path > a { grid-template-columns: 44px minmax(0,1fr); gap: var(--s4); padding: 28px 0; }
  .p-go { display: none; }
  .p-t { font-size: 30px; }
  .p-d { font-size: 15px; }
}

/* ═══════════════════════════════════════════════════════════════════
   HOMEPAGE CALCULATOR AND INVESTOR READINESS ASSESSMENT

   Data-table restraint rather than product-card gloss: hairlines, tabular
   figures, and a provenance tag on each block saying whether the numbers
   above it are statutory or modelled. Nothing here is a gradient.
   ═══════════════════════════════════════════════════════════════════ */

.hc-g{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:var(--s8);align-items:start;}
.hc-t,.hc-bt{font-size:var(--t-micro);letter-spacing:var(--track-label);text-transform:uppercase;
  color:var(--champagne);margin-bottom:var(--s4);display:flex;align-items:center;gap:var(--s3);}
.hc-in .fld{margin-bottom:var(--s4);}
.hc-in label span{color:var(--smoke);text-transform:none;letter-spacing:0;margin-left:6px;}
.hc-note{font-size:var(--t-cap);line-height:1.6;color:var(--smoke);margin-top:var(--s4);max-width:56ch;}

.src-tag{font-size:9.5px;letter-spacing:.12em;padding:3px 8px;border-radius:var(--r-sm);
  background:rgba(196,162,101,.12);color:var(--champ-hi);border:1px solid var(--line-accent);}
.src-tag.mod{background:rgba(245,241,232,.05);color:var(--smoke);border-color:var(--line);}

.hc-block{border-top:1px solid var(--line);padding:var(--s5) 0;}
.hc-l{display:flex;justify-content:space-between;gap:var(--s5);padding:7px 0;
  font-size:var(--t-sm);color:var(--smoke);font-variant-numeric:tabular-nums;}
.hc-l span:last-child{color:var(--ivory);}
.hc-l.tot{border-top:1px solid var(--line);margin-top:var(--s3);padding-top:var(--s3);color:var(--ivory);}
.hc-l.tot span:last-child{color:var(--champ-hi);}

.hc-y{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);
  border:1px solid var(--line);margin:var(--s5) 0;}
.hc-yi{background:var(--void);padding:var(--s5);}
.hc-yl{font-size:var(--t-micro);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--smoke);}
.hc-yv{font-family:'Cormorant Garamond',Georgia,serif;font-size:var(--t-2xl);color:var(--ivory);
  margin-top:6px;font-variant-numeric:tabular-nums;}

.hc-gv{font-size:var(--t-sm);padding:var(--s4) var(--s5);border-left:2px solid var(--line-strong);
  background:rgba(245,241,232,.03);color:var(--ivory);margin-bottom:var(--s5);}
.hc-gv.yes{border-left-color:var(--emerald);}
.hc-gv.no{border-left-color:var(--champagne);color:var(--smoke);}

/* ─────────── assessment ─────────── */
.d-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:var(--s9);align-items:start;}
.d-l h2{margin:var(--s4) 0 var(--s5);}
.d-l p{color:var(--smoke);font-size:var(--t-body);line-height:var(--lh-body);max-width:46ch;margin-bottom:var(--s4);}
.d-small{font-size:var(--t-cap)!important;}
.d-p{border:1px solid var(--line);background:var(--void);padding:var(--s7);position:relative;}

.d-rail{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s6);}
.d-count{font-size:var(--t-micro);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--smoke);}
.d-pips{display:flex;gap:6px;}
.d-pip{width:22px;height:2px;background:var(--line-strong);display:block;transition:background var(--dur) var(--ease);}
.d-pip.on{background:var(--champagne);}
.d-pip.done{background:var(--champ-dim);}

.d-q{font-family:'Cormorant Garamond',Georgia,serif;font-size:var(--t-xl);color:var(--ivory);
  margin:0 0 var(--s5);font-weight:400;outline:none;}
.d-opt{display:block;width:100%;text-align:left;background:none;border:1px solid var(--line);
  padding:var(--s4) var(--s5);margin-bottom:var(--s3);cursor:pointer;color:inherit;
  transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease);}
.d-opt:hover{border-color:var(--line-accent);background:rgba(245,241,232,.03);}
.d-opt[aria-pressed="true"]{border-color:var(--champagne);background:rgba(196,162,101,.09);}
.d-opt b{display:block;font-size:var(--t-body);color:var(--ivory);font-weight:500;}
.d-opt span{display:block;font-size:var(--t-cap);color:var(--smoke);margin-top:4px;}

.d-consent{display:flex;gap:var(--s3);align-items:flex-start;margin:var(--s5) 0;
  font-size:var(--t-cap);line-height:1.55;color:var(--smoke);cursor:pointer;}
.d-consent input{width:18px;height:18px;flex:none;margin-top:1px;accent-color:var(--champagne);}
.d-back{background:none;border:0;color:var(--smoke);font-size:var(--t-cap);cursor:pointer;
  padding:var(--s3) 0 0;margin-top:var(--s4);}
.d-back:hover{color:var(--ivory);}

.d-done h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:var(--t-2xl);color:var(--ivory);
  margin:0 0 var(--s4);font-weight:400;outline:none;}
.d-done p{color:var(--smoke);font-size:var(--t-sm);line-height:var(--lh-body);margin-bottom:var(--s5);}
.d-acts{display:flex;gap:var(--s3);flex-wrap:wrap;}

@media (max-width:980px){
  .hc-g,.d-g{grid-template-columns:1fr;gap:var(--s7);}
  .d-p{padding:var(--s5);}
  .hc-y{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){
  .d-pip,.d-opt{transition:none;}
}
.d-noscript{font-size:var(--t-sm);line-height:var(--lh-body);color:var(--ivory);
  padding:var(--s5);border:1px solid var(--line-accent);background:rgba(196,162,101,.07);}
.d-noscript a{color:var(--champ-hi);}
