/* MMS Ventures — single shared stylesheet (v2026-10-10)
   Field-report look: left-aligned editorial columns, mono labels, oxide-orange accent.
   Systems: 8pt spacing tokens, fluid type scale, wrap-safe text, 48px touch targets, WCAG AA colour pairs. */

/* ---------- 1. Tokens ---------- */
:root{
  /* colour */
  --bg:#F6F5F3; --surface:#FFFFFF; --ink:#17201C; --muted:#56615A; --line:#E3DFD9;
  --gold:#B83C1F;      /* accent: 5.6:1 on white, safe for text and for white-on-accent */
  --gold-hi:#D84727;   /* bright accent: decoration, and text on dark ink only */
  --gold-soft:#FBE3DC; --au:#C8962E; --au-soft:#F3E7C8; --oxide:#8E3B24; --ok:#2E6B48;
  --rock:#9AA39A; --rock-2:#7D877F; --rock-3:#5B655E;
  --on-ink-muted:color-mix(in srgb,var(--bg) 78%,var(--ink));
  --on-ink-faint:color-mix(in srgb,var(--bg) 62%,var(--ink));
  --on-ink-line:color-mix(in srgb,var(--bg) 22%,var(--ink));

  /* type */
  --f-display:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --f-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --fs-h1:clamp(2.75rem,1.6rem + 5.4vw,6.25rem);      /* 44 → 100 */
  --fs-h1-page:clamp(2.5rem,1.75rem + 3.4vw,4.5rem);  /* 40 → 72 */
  --fs-h2:clamp(2rem,1.55rem + 2vw,3.125rem);         /* 32 → 50 */
  --fs-h3:clamp(1.375rem,1.2rem + .6vw,1.75rem);      /* 22 → 28 */
  --fs-h4:1.25rem;                                    /* 20 */
  --fs-lg:1.125rem;                                   /* body large 18 */
  --fs-body:1rem;                                     /* 16 */
  --fs-sm:.9375rem;                                   /* card copy 15 */
  --fs-xs:.875rem;                                    /* small 14 */
  --fs-cap:.75rem;                                    /* mono caption 12 */

  /* 8pt spacing */
  --s-h:.25rem; --s1:.5rem; --s2:1rem; --s3:1.5rem; --s4:2rem; --s5:2.5rem; --s6:3rem; --s8:4rem; --s10:5rem;
  --section:clamp(3.5rem,2rem + 6vw,7.5rem);          /* 56 mobile → 120 desktop */
  --gutter:clamp(1rem,4vw,2.5rem);                    /* 16 → 40 */
  --wrap:76rem;                                       /* 1216 */
  --tap:3rem;                                         /* 48px touch target */
  --radius:2px;
  color-scheme:light;
}

/* ---------- 2. Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:var(--fs-body);line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-underline-offset:.18em}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:800;line-height:.98;letter-spacing:.005em;text-transform:uppercase;margin:0;text-wrap:balance;overflow-wrap:break-word;hyphens:manual}
h3,h4{font-weight:700;line-height:1.05}
p,li,dd,dt,td,th,summary,label,legend,figcaption{overflow-wrap:break-word}
p{margin:0;text-wrap:pretty}
main p{max-width:68ch}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:max(var(--gutter),env(safe-area-inset-left,0px)) max(var(--gutter),env(safe-area-inset-right,0px))}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--bg);padding:var(--s1) var(--s2);z-index:50}
.skip:focus{left:var(--s2)}
.eyebrow{font-family:var(--f-mono);font-size:var(--fs-cap);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
.note{font-size:var(--fs-xs);margin-top:var(--s2)}
.mt-1{margin-top:var(--s1)}
.more{display:inline-flex;align-items:center;gap:var(--s1);min-height:var(--tap);margin-top:var(--s2);font-weight:600;font-size:var(--fs-sm);color:var(--gold);text-decoration:none}
.more:hover{text-decoration:underline}
.more::after{content:"→"}

/* ---------- 3. Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s1);min-height:var(--tap);padding:var(--s1) var(--s3);font:600 var(--fs-sm)/1.2 var(--f-body);text-align:center;text-decoration:none;border:1px solid var(--ink);border-radius:var(--radius);background:transparent;color:var(--ink);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.btn-primary{background:var(--ink);color:var(--bg)}
.btn-primary:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.btn:not(.btn-primary):hover{border-color:var(--gold);color:var(--gold)}
.btn[disabled]{opacity:.6;cursor:progress}
.ctas{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s3)}

/* ---------- 4. Header / nav ---------- */
header.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.nav{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding-block:var(--s1)}
.brand{display:flex;align-items:center;flex:none;min-height:var(--tap);text-decoration:none}
.brand img.logo{height:40px;width:auto;object-fit:contain}
#nav{display:flex;align-items:center;gap:var(--s3)}
#nav a{display:inline-flex;align-items:center;min-height:var(--tap);font-size:var(--fs-xs);color:var(--muted);text-decoration:none;white-space:nowrap}
#nav a:hover,#nav a[aria-current="page"]{color:var(--ink)}
#nav a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--gold-hi)}
#nav .btn{color:var(--bg);padding-inline:var(--s2)}
#nav .btn:hover{color:#fff}
.menu-btn{display:none;min-height:var(--tap);min-width:var(--tap);padding:0 var(--s2);background:none;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);font:500 var(--fs-xs) var(--f-body);cursor:pointer}

/* ---------- 5. Heroes ---------- */
.hero{padding-block:clamp(2.5rem,1.5rem + 4vw,5rem) var(--s5)}
.hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(1.5rem,5vw,4rem);align-items:end}
.hero h1{font-size:var(--fs-h1)}
.hero h1 em{font-style:normal;color:var(--gold)}
.lede{font-size:var(--fs-lg);color:var(--muted);max-width:36rem}
.page-hero{padding-block:clamp(2rem,1.25rem + 3vw,4rem) clamp(1.5rem,1rem + 2vw,2.5rem);border-bottom:1px solid var(--line)}
.crumbs{font:400 var(--fs-cap) var(--f-mono);color:var(--muted);margin-bottom:var(--s2)}
.crumbs a{color:var(--muted)}
.page-hero h1{font-size:var(--fs-h1-page);margin-top:var(--s1);max-width:18ch}
.page-hero .lede{max-width:42rem;margin-top:var(--s2)}
.toc{display:flex;flex-wrap:wrap;gap:var(--s1);margin-top:var(--s3)}
.toc a{display:inline-flex;align-items:center;min-height:2.75rem;padding:0 var(--s2);font:500 var(--fs-cap) var(--f-mono);text-decoration:none;border:1px solid var(--line);border-radius:999px;background:var(--surface)}
.toc a:hover{border-color:var(--gold);color:var(--gold)}

/* ---------- 6. Flowsheet (home) ---------- */
.flow{margin:clamp(2rem,1rem + 4vw,4rem) 0 0;background:var(--surface);border:1px solid var(--line)}
.flow-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s1) var(--s2);padding:var(--s2) var(--s3);border-bottom:1px solid var(--line)}
.flow-head .mono{font-size:var(--fs-cap);color:var(--muted)}
.flow-scroll{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.flow-steps{display:grid;grid-template-columns:repeat(7,minmax(9.5rem,1fr));min-width:68rem;list-style:none;margin:0;padding:0}
.flow-steps li{position:relative;padding:var(--s2) var(--s2) var(--s3);border-right:1px solid var(--line);scroll-snap-align:start}
.flow-steps li:last-child{border-right:0}
.flow-steps li::after{content:"";position:absolute;right:-7px;top:2rem;width:12px;height:12px;background:var(--surface);border-top:1px solid var(--line);border-right:1px solid var(--line);transform:rotate(45deg);z-index:1}
.flow-steps li:last-child::after{display:none}
.flow-steps li.au,.flow-steps li.au::after{background:color-mix(in srgb,var(--au-soft) 70%,var(--surface))}
.flow-steps .n{font-family:var(--f-mono);font-size:var(--fs-cap);color:var(--gold)}
.flow-steps h3{font-size:var(--fs-h4);margin:var(--s1) 0}
.flow-steps p{font-size:var(--fs-xs);color:var(--muted);line-height:1.5}
.ore{display:flex;gap:3px;height:8px;margin-top:var(--s2)}
.ore i{flex:1;background:var(--rock);border-radius:1px}
.ore i.g{background:var(--au)}
.flow-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s1) var(--s3);padding:var(--s2) var(--s3);border-top:1px solid var(--line);font-size:var(--fs-sm)}
.flow-foot .hint{font-family:var(--f-mono);font-size:var(--fs-cap);color:var(--muted)}

/* country strip */
.strip{border-block:1px solid var(--line);background:var(--surface)}
.strip .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1) var(--s4);padding-block:var(--s2)}
.strip ul{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3);list-style:none;margin:0;padding:0}
.strip li{font-size:var(--fs-xs);white-space:nowrap}
.strip li .mono{color:var(--gold);font-size:var(--fs-cap);margin-right:var(--s-h)}

/* ---------- 7. Sections & column grids ---------- */
section.block{padding-block:var(--section)}
section.tight{padding-top:0}
section.alt{background:var(--surface);border-block:1px solid var(--line)}
.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2) var(--s6);align-items:end;margin-bottom:var(--s5)}
.sec-head h2{font-size:var(--fs-h2);margin-top:var(--s1)}
.sec-head p{color:var(--muted);max-width:36rem}
.hero-grid>*,.sec-head>*,.deals>*,.filters>*,.asks>*,.contact>*,.orbit>*,.fgrid>*,.poll>*,.foot>*{min-width:0}

.cols{display:grid;gap:0;border-top:2px solid var(--ink)}
.cols.thin{border-top:1px solid var(--line)}
.cols>*{min-width:0;padding:var(--s3) var(--s3) var(--s3) 0}
.cols>*+*{padding-left:var(--s3);border-left:1px solid var(--line)}
.c4{grid-template-columns:repeat(4,1fr)}
.c3{grid-template-columns:repeat(3,1fr)}
.cols h3{font-size:var(--fs-h3);margin-bottom:var(--s1)}
.cols p{font-size:var(--fs-sm);color:var(--muted)}
.cols .n{display:block;font-family:var(--f-mono);font-size:var(--fs-cap);color:var(--gold);margin-bottom:var(--s1)}
.ticks{display:grid;gap:var(--s1);list-style:none;margin:var(--s1) 0 0;padding:0}
.ticks li{position:relative;padding-left:var(--s3);font-size:var(--fs-sm)}
.ticks li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;background:var(--gold);transform:rotate(45deg)}

/* time-to-production chart */
.compare{margin-top:var(--s5);padding:var(--s3);background:var(--surface);border:1px solid var(--line)}
.cmp-row{display:grid;grid-template-columns:10rem 1fr;gap:var(--s2);align-items:center;margin-top:var(--s2)}
.cmp-row span{font-size:var(--fs-xs)}
.cmp-track{position:relative;height:24px;background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 10%)}
.cmp-bar{position:absolute;top:3px;bottom:3px;border-radius:var(--radius)}
.cmp-bar.fast{left:5%;width:9%;background:linear-gradient(90deg,var(--gold-hi) 55%,transparent)}
.cmp-bar.slow{left:50%;width:50%;background:var(--rock-3)}
.cmp-bar b{position:absolute;left:calc(100% + var(--s1));top:50%;transform:translateY(-50%);font:500 var(--fs-cap) var(--f-mono);white-space:nowrap;color:var(--ink)}
.cmp-bar.slow b{left:auto;right:var(--s1);color:#F1F2EE}
.cmp-axis{display:grid;grid-template-columns:10rem 1fr;gap:var(--s2);margin-top:var(--s1)}
.cmp-axis div{display:flex;justify-content:space-between;font:400 .6875rem var(--f-mono);color:var(--muted)}

/* invest tiers */
.tiers{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2);margin-top:var(--s4)}
.tier{min-width:0;padding:var(--s3);background:var(--surface);border:1px solid var(--line)}
.tier .tag{display:inline-block;margin-bottom:var(--s2);padding:var(--s-h) var(--s1);font:500 var(--fs-cap) var(--f-mono);color:var(--gold);border:1px solid currentColor;border-radius:var(--radius)}
.tier h3{font-size:var(--fs-h3);margin-bottom:var(--s1)}
.tier p{font-size:var(--fs-sm);color:var(--muted)}
.deals{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--s2) var(--s6);align-items:start;margin-top:var(--s4)}
.chips{display:flex;flex-wrap:wrap;gap:var(--s1);margin-top:var(--s2)}
.chips span{padding:var(--s1) var(--s2);font-size:var(--fs-xs);border:1px solid var(--line);border-radius:999px;background:var(--surface)}

/* audience cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2)}
.card{display:flex;flex-direction:column;min-width:0;padding:var(--s3);background:var(--surface);border:1px solid var(--line)}
.card .n{font:500 var(--fs-cap) var(--f-mono);color:var(--gold)}
.card h3{font-size:clamp(1.5rem,1.3rem + .8vw,1.875rem);margin:var(--s1) 0}
.card p{flex:1;font-size:var(--fs-sm);color:var(--muted)}
.card .more{margin-top:var(--s2)}

/* dark band */
.band{background:var(--ink);color:var(--bg)}
.band .eyebrow{color:var(--on-ink-faint)}
.band .sec-head p,.band .cols p{color:var(--on-ink-muted)}
.band .cols{border-top-color:var(--gold-hi)}
.band .cols>*+*{border-left-color:var(--on-ink-line)}
.band .cols .n{color:var(--gold-hi)}
.spec{display:grid;grid-template-columns:repeat(5,1fr);margin:var(--s5) 0 0;border:1px solid var(--on-ink-line)}
.spec div{min-width:0;padding:var(--s2)}
.spec div+div{border-left:1px solid var(--on-ink-line)}
.spec dt{font:400 .6875rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--on-ink-faint)}
.spec dd{margin:var(--s1) 0 0;font-family:var(--f-display);font-weight:700;font-size:clamp(1.5rem,1.2rem + 1vw,1.875rem);line-height:1;color:var(--gold-hi)}
.spec dd small{display:block;margin-top:var(--s1);font:400 var(--fs-cap)/1.4 var(--f-body);letter-spacing:0;color:var(--on-ink-muted)}
.fine{margin-top:var(--s2);font-size:var(--fs-cap);color:var(--on-ink-faint)}
.loop-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s4);margin-top:var(--s5)}
.loop-wrap h3{font-size:var(--fs-h3)}
.loop{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1);list-style:none;margin:0;padding:0}
.loop li{padding:var(--s1) var(--s2);font:500 var(--fs-cap) var(--f-mono);border:1px solid var(--on-ink-line);border-radius:var(--radius)}
.loop li+li::before{content:"→";margin-right:var(--s1);color:var(--gold-hi)}

/* jurisdictions */
.juris{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.juris article{min-width:0;padding:var(--s2) var(--s3) var(--s3);background:var(--surface)}
.juris article.anchor{background:color-mix(in srgb,var(--gold-soft) 55%,var(--surface))}
.juris .code{font:500 var(--fs-cap) var(--f-mono);color:var(--gold)}
.juris h2,.juris h3{font-size:var(--fs-h3);font-weight:700;margin:var(--s1) 0 var(--s-h)}
.juris .sub{display:block;margin-bottom:var(--s1);font:500 var(--fs-cap) var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.juris p{font-size:var(--fs-xs);color:var(--muted)}
.filters{display:grid;grid-template-columns:1fr 2fr;gap:var(--s2) var(--s6);margin-top:var(--s5)}
.filters h2,.filters h3{font-size:var(--fs-h3)}
.filters ol{display:grid;grid-template-columns:1fr 1fr;gap:var(--s1) var(--s4);list-style:none;margin:0;padding:0;counter-reset:f}
.filters li{display:flex;gap:var(--s2);padding-block:var(--s1);font-size:var(--fs-sm);border-bottom:1px dashed var(--line);counter-increment:f}
.filters li::before{content:counter(f,decimal-leading-zero);padding-top:.15rem;font:500 var(--fs-cap) var(--f-mono);color:var(--gold)}

/* zambia */
.zam{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3) var(--s4);margin-top:var(--s1)}
.zam>div{min-width:0;padding-top:var(--s2);border-top:1px solid var(--line)}
.zam h3{font-size:var(--fs-h4);margin-bottom:var(--s1)}
.zam p{font-size:var(--fs-sm);color:var(--muted)}
.orbit{display:grid;grid-template-columns:auto 1fr;gap:var(--s2) var(--s4);align-items:center;margin-top:var(--s5);padding:var(--s3);background:var(--surface);border:1px solid var(--line)}
.orbit .big{font-family:var(--f-display);font-weight:800;font-size:clamp(3.5rem,2.5rem + 4vw,5.5rem);line-height:.9;color:var(--gold)}
.orbit .big small{display:block;font:500 var(--fs-cap) var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.orbit h3{font-size:var(--fs-h3);margin-bottom:var(--s1)}
.orbit p{font-size:var(--fs-sm);color:var(--muted)}
.watch{margin-top:var(--s3);padding:var(--s2);font-size:var(--fs-sm);background:var(--surface);border-left:3px solid var(--oxide)}
.watch b{color:var(--oxide)}
.sources{margin-top:var(--s2);font-size:var(--fs-cap);color:var(--muted)}

/* timeline & gates */
.tl{display:grid;grid-template-columns:repeat(7,1fr);list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.tl li{min-width:0;padding:var(--s2) var(--s2) var(--s3) 0}
.tl li+li{padding-left:var(--s2);border-left:1px solid var(--line)}
.tl li:last-child{background:color-mix(in srgb,var(--gold-soft) 45%,transparent)}
.tl .d{display:block;font:500 var(--fs-cap) var(--f-mono);color:var(--gold)}
.tl h3{font-size:clamp(1.125rem,1rem + .4vw,1.25rem);margin:var(--s1) 0;hyphens:auto}
.tl p{font-size:var(--fs-xs);line-height:1.5;color:var(--muted)}
.gates{margin-top:var(--s6)}
.gates .t{font-size:var(--fs-h3)}
.gate-list{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s2);list-style:none;margin:var(--s3) 0 0;padding:0}
.gate-list li{display:flex;flex-direction:column;gap:var(--s1);min-width:0;padding:var(--s2);background:var(--bg);border:1px solid var(--line)}
.gate-list .k{font:500 var(--fs-cap) var(--f-mono);color:var(--muted)}
.gate-list b{font-size:var(--fs-body)}
.gate-list .v{font-family:var(--f-display);font-weight:700;font-size:1.75rem;line-height:1;color:var(--gold)}
.gate-list p{font-size:var(--fs-xs);color:var(--muted)}

/* evaluation */
.cap{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1) var(--s4);margin-top:var(--s3);padding:var(--s2) var(--s3);border:1px dashed var(--line)}
.cap b{font-family:var(--f-display);font-size:1.625rem;color:var(--gold)}
.score{display:flex;flex-wrap:wrap;gap:var(--s1)}
.score span{padding:var(--s1) var(--s2);font:500 var(--fs-cap) var(--f-mono);background:var(--ink);color:var(--bg);border-radius:var(--radius)}

/* funnel */
.funnel{display:grid;gap:var(--s1);margin-top:var(--s1)}
.fun-row{display:grid;grid-template-columns:13rem 1fr;gap:var(--s2);align-items:center}
.fun-row span{font-size:var(--fs-sm)}
.fun-bar{display:flex;align-items:center;min-width:4.5rem;max-width:100%;height:2.25rem;padding-inline:var(--s2);font:600 1.0625rem var(--f-display);letter-spacing:.03em;color:var(--ink);background:var(--rock);border-radius:var(--radius)}
.fun-row:last-child .fun-bar{background:var(--gold);color:#fff}

/* originators */
.fees{display:grid;grid-template-columns:repeat(4,1fr);margin-top:var(--s5);background:var(--bg);border:1px solid var(--line)}
.fees div{min-width:0;padding:var(--s2) var(--s3)}
.fees div+div{border-left:1px solid var(--line)}
.fees b{display:block;margin-bottom:var(--s1);font-family:var(--f-display);font-size:1.375rem;line-height:1.05;text-transform:uppercase}
.fees p{font-size:var(--fs-xs);color:var(--muted)}
.path{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--s1);list-style:none;margin:var(--s4) 0 0;padding:0}
.path li{min-width:0;padding-top:var(--s1);border-top:3px solid var(--gold)}
.path b{display:block;font-size:var(--fs-sm)}
.path span{font-size:var(--fs-xs);color:var(--muted)}
.asks{display:grid;grid-template-columns:1fr 2fr;gap:var(--s2) var(--s6);margin-top:var(--s5)}
.asks h2,.asks h3{font-size:var(--fs-h3)}
.asks dl{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2) var(--s4);margin:0}
.asks dt{font-weight:600;font-size:var(--fs-sm)}
.asks dd{margin:var(--s-h) 0 0;font-size:var(--fs-xs);color:var(--muted)}

/* risk table */
.table-wrap{overflow-x:auto;overscroll-behavior-x:contain;background:var(--surface);border:1px solid var(--line)}
table{width:100%;min-width:38.75rem;border-collapse:collapse;font-size:var(--fs-sm)}
th,td{padding:var(--s2) var(--s3);text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
th{font:500 var(--fs-cap) var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
tbody tr:last-child td{border-bottom:0}
td:first-child{width:32%;font-weight:600}
td:first-child::before{content:"";display:inline-block;width:8px;height:8px;margin-right:var(--s1);background:var(--oxide);transform:rotate(45deg) translateY(-1px)}
td:last-child{color:var(--muted)}

/* faq */
.faq{border-top:2px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{position:relative;padding:var(--s3) var(--s5) var(--s3) 0;font-weight:600;font-size:var(--fs-body);list-style:none;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:var(--s1);top:50%;transform:translateY(-50%);font:500 1.25rem var(--f-mono);color:var(--gold)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 var(--s3);font-size:var(--fs-sm);color:var(--muted)}

/* cta band — white on --gold is 5.6:1 (AA) */
.cta-band{background:var(--gold);color:#fff}
.cta-band .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3) var(--s6);padding-block:clamp(2.5rem,1.5rem + 3vw,4rem)}
.cta-band h2{font-size:var(--fs-h2);max-width:20ch}
.cta-band .ctas{margin-top:0}
.cta-band .btn{border-color:#fff;color:#fff}
.cta-band .btn-primary{background:#fff;color:var(--ink)}
.cta-band .btn-primary:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.cta-band .btn:not(.btn-primary):hover{background:#fff;color:var(--gold);border-color:#fff}

/* ---------- 8. Forms ---------- */
.contact{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.panel{padding:clamp(1.5rem,1rem + 2vw,2.5rem);background:var(--surface);border:1px solid var(--line)}
.panel h2,.panel h3{font-size:var(--fs-h3);margin-bottom:var(--s1)}
.panel>p{margin-bottom:var(--s3);font-size:var(--fs-sm);color:var(--muted)}
.invest-copy{margin-bottom:var(--s2)}
.invest-copy h2,.invest-copy h3{font-size:var(--fs-h3);margin:var(--s1) 0}
.invest-copy p{font-size:var(--fs-sm);color:var(--muted)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}
.fgrid .full{grid-column:1/-1}
label,.lg{display:block;margin-bottom:var(--s1);font-size:var(--fs-xs);font-weight:600}
.opt{font-weight:400;color:var(--muted)}
input,select,textarea{width:100%;min-height:var(--tap);padding:var(--s1) var(--s2);font:400 var(--fs-body) var(--f-body);color:var(--ink);background:var(--bg);border:1px solid #CFCAC2;border-radius:var(--radius)}
textarea{min-height:7rem;resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold)}
fieldset{min-width:0;margin:0;padding:0;border:0}
legend{padding:0}
.radios{display:flex;flex-wrap:wrap;gap:var(--s1)}
.radios label{display:flex;align-items:center;gap:var(--s1);min-height:2.75rem;margin:0;padding:0 var(--s2);font-weight:400;font-size:var(--fs-xs);background:var(--bg);border:1px solid var(--line);border-radius:999px;cursor:pointer}
.radios input{width:auto;min-height:0;margin:0;accent-color:var(--gold)}
.radios label:has(input:checked){border-color:var(--gold);background:color-mix(in srgb,var(--gold-soft) 60%,var(--bg))}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);margin-top:var(--s3)}
.form-foot small{flex:1;min-width:12rem;font-size:var(--fs-cap);color:var(--muted)}
.status{display:none;margin-top:var(--s2);padding:var(--s2);font-size:var(--fs-sm);background:var(--bg);border-left:3px solid var(--ok)}
.status.show{display:block}
.status.err{border-left-color:var(--oxide)}

/* poll (votes in Wix CMS collection SitePoll) */
.poll{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--s3) var(--s6);padding:clamp(1.5rem,1rem + 2vw,2.5rem);background:var(--surface);border:1px solid var(--line)}
.poll h2{font-size:clamp(1.875rem,1.5rem + 1.6vw,2.625rem);margin:var(--s1) 0 var(--s2)}
.poll legend{margin-bottom:var(--s1)}
.poll-out{display:none}
.poll.done form{display:none}
.poll.done .poll-out{display:block}
.poll-results{display:grid;gap:var(--s1);list-style:none;margin:0;padding:0}
.poll-results li{display:grid;grid-template-columns:minmax(8rem,14rem) 1fr 3rem;gap:var(--s2);align-items:center;font-size:var(--fs-xs)}
.poll-results .pb{height:12px;overflow:hidden;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius)}
.poll-results .pb i{display:block;height:100%;background:var(--rock-2)}
.poll-results li.mine .pb i{background:var(--gold-hi)}
.poll-results li.mine .pl{font-weight:600}
.poll-results .pp{font-family:var(--f-mono);font-size:var(--fs-cap);text-align:right}
.poll-total{margin-top:var(--s2);font-size:var(--fs-cap);color:var(--muted)}

/* ---------- 9. Footer ---------- */
footer{padding-block:var(--s5) calc(var(--s5) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line)}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--s3) var(--s6);align-items:start}
.foot p{max-width:30rem;margin-top:var(--s1);font-size:var(--fs-xs);color:var(--muted)}
.foot nav .eyebrow{display:block}
.foot ul{display:grid;list-style:none;margin:var(--s1) 0 0;padding:0}
.foot ul a{display:inline-flex;align-items:center;min-height:2.5rem;font-size:var(--fs-xs);color:var(--muted);text-decoration:none}
.foot ul a:hover{color:var(--ink);text-decoration:underline}
.foot .mono{font-size:var(--fs-cap);line-height:1.8;color:var(--muted)}
.foot .mono a{color:var(--ink)}

/* ---------- 10. Breakpoints: ≤1279 timeline / ≤1024 tablet / ≤900 nav / ≤860 stack / ≤560 mobile ---------- */
@media (max-width:1279px){
  .tl{grid-template-columns:repeat(4,1fr)}
  .tl li:nth-child(5){padding-left:0;border-left:0}
  .tl li:nth-child(n+5){border-top:1px solid var(--line)}
}
@media (max-width:1024px){
  .c4,.juris{grid-template-columns:1fr 1fr}
  .c4>:nth-child(odd){padding-left:0;border-left:0}
  .c4>:nth-child(n+3){border-top:1px solid var(--line)}
  .spec{grid-template-columns:repeat(3,1fr)}
  .spec div:nth-child(4){border-left:0}
  .spec div:nth-child(n+4){border-top:1px solid var(--on-ink-line)}
  .gate-list{grid-template-columns:repeat(3,1fr)}
  .fees{grid-template-columns:1fr 1fr}
  .fees div:nth-child(3){border-left:0}
  .fees div:nth-child(n+3){border-top:1px solid var(--line)}
  .path{grid-template-columns:repeat(3,1fr)}
  .zam{grid-template-columns:1fr 1fr}
  .cards{grid-template-columns:1fr}
}
@media (max-width:900px){
  .menu-btn{display:inline-flex;align-items:center;justify-content:center}
  #nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 4rem);overflow-y:auto;padding:var(--s1) var(--gutter) var(--s3);background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 12px 24px -16px rgba(23,32,28,.35)}
  #nav.open{display:flex}
  #nav a{min-height:var(--tap);padding-block:var(--s1);font-size:var(--fs-body);border-bottom:1px solid var(--line)}
  #nav a[aria-current="page"]{box-shadow:none;color:var(--gold)}
  #nav .btn{justify-content:center;margin-top:var(--s2);border-bottom:1px solid var(--ink)}
}
@media (max-width:860px){
  .hero-grid,.sec-head,.deals,.filters,.asks,.contact,.tiers,.poll{grid-template-columns:1fr}
  .c3{grid-template-columns:1fr}
  .c3>*{padding-left:0;border-left:0}
  .c3>*+*{border-top:1px solid var(--line)}
  .foot{grid-template-columns:1fr 1fr}
  .foot>:first-child{grid-column:1/-1}
}
@media (max-width:560px){
  .brand img.logo{height:36px}
  .c4,.juris,.fgrid,.zam,.filters ol,.asks dl,.fees,.gate-list,.foot{grid-template-columns:1fr}
  .c4>*{padding-left:0;border-left:0}
  .c4>*+*{border-top:1px solid var(--line)}
  .fees div{border-left:0}
  .fees div+div{border-top:1px solid var(--line)}
  .spec{grid-template-columns:1fr 1fr}
  .spec div{border-left:0}
  .spec div:nth-child(even){border-left:1px solid var(--on-ink-line)}
  .spec div:nth-child(n+3){border-top:1px solid var(--on-ink-line)}
  .tl,.path{grid-template-columns:1fr 1fr}
  .tl li{padding-left:0;padding-right:var(--s1);border-left:0}
  .tl li:nth-child(n+3){border-top:1px solid var(--line)}
  .fun-row,.cmp-row,.cmp-axis{grid-template-columns:1fr}
  .cmp-row{gap:var(--s1)}
  .cmp-axis>span{display:none}
  .cmp-bar.fast{width:14%}
  .orbit{grid-template-columns:1fr}
  .ctas .btn{flex:1 1 100%}
  .poll-results li{grid-template-columns:1fr 3rem;gap:var(--s-h) var(--s2)}
  .poll-results .pp{grid-column:2;grid-row:1}
  .poll-results .pb{grid-column:1/-1;grid-row:2}
  .flow-head,.flow-foot{padding-inline:var(--s2)}
}
@media (min-width:1180px){.flow-foot .hint{display:none}}
@media print{header.top,.menu-btn,.cta-band,.poll,form{display:none}body{background:#fff}}
/* ---------- v2026-10-11 additions: partner-led messaging ---------- */
.glance{display:grid;grid-template-columns:repeat(4,1fr);margin-top:var(--s6);border-top:2px solid var(--ink)}
.glance a{display:flex;flex-direction:column;gap:var(--s1);padding:var(--s3) var(--s3) var(--s3) 0;text-decoration:none;min-width:0;min-height:var(--tap)}
.glance a + a{padding-left:var(--s3);border-left:1px solid var(--line)}
.glance .n{font:500 var(--fs-cap) var(--f-mono);color:var(--gold);letter-spacing:.06em;text-transform:uppercase}
.glance b{font-family:var(--f-display);font-weight:700;font-size:var(--fs-h4);line-height:1.1;text-transform:uppercase;overflow-wrap:break-word}
.glance span:last-child{font-size:var(--fs-sm);color:var(--muted)}
.glance a:hover b,.glance a:focus-visible b{color:var(--gold)}
.cards.auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:var(--s2)}
.card .ticks{margin-top:var(--s2)}
.ticks.two{grid-template-columns:1fr 1fr;column-gap:var(--s4)}
.split{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--s4) var(--s6);align-items:start}
.split > *{min-width:0}
.split h3{margin-bottom:var(--s2)}
.mt{margin-top:var(--s5)}
@media (min-width:1280px){.tl.six{grid-template-columns:repeat(6,1fr)}}
.form-group{grid-column:1/-1;margin:var(--s3) 0 0;padding-top:var(--s2);border-top:1px solid var(--line);font:500 var(--fs-cap) var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.form-group:first-child{margin-top:0;padding-top:0;border-top:0}
.hint-s{display:block;font-size:var(--fs-xs);color:var(--muted);margin-top:var(--s1);font-weight:400}
label.check{display:flex;gap:var(--s1);align-items:flex-start;font-weight:400;font-size:var(--fs-sm);min-height:var(--tap);cursor:pointer}
label.check input{width:1.25rem;height:1.25rem;margin:.15rem 0 0;flex:none;accent-color:var(--gold)}
.steps-s{list-style:none;margin:var(--s2) 0;padding:0;counter-reset:s;display:grid;gap:var(--s2)}
.steps-s li{counter-increment:s;display:grid;grid-template-columns:2rem 1fr;column-gap:var(--s1)}
.steps-s li::before{content:counter(s,decimal-leading-zero);grid-row:span 2;font:500 var(--fs-cap) var(--f-mono);color:var(--gold);padding-top:.2rem}
.steps-s b{font-size:var(--fs-sm)}
.steps-s span{font-size:var(--fs-xs);color:var(--muted)}
.contact aside{min-width:0}
aside > .panel + .panel{margin-top:var(--s3)}
@media (max-width:1024px){.glance{grid-template-columns:1fr 1fr}.glance a:nth-child(3){padding-left:0;border-left:0}.glance a:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:860px){.split{grid-template-columns:1fr}}
@media (max-width:560px){.glance{grid-template-columns:1fr}.glance a{padding-left:0;border-left:0}.glance a + a{border-top:1px solid var(--line)}.ticks.two{grid-template-columns:1fr}}