/* SMCON26 — light-first layout. White paper ground, Forest for type and for a few deliberate dark bands
   (hero, "built for", footer), Volt only as fill and highlight, Mint as relief. Patterns: brand blob tile,
   Ndop-inspired lattice (Cameroon Grassfields cloth) and a zigzag border strip. Single committed look. */
:root{
  --paper:#FFFFFF; --paper-2:#F5FAF0; --mint:#E4F5D6; --mint-2:#D3EDBE;
  --forest:#0A3323; --forest-deep:#062317; --forest-2:#123F2C; --charcoal:#21322A;
  --volt:#A8E62B; --volt-80:#B9EB55; --elephant:#47831E; --leaf:#3B6E18;
  --ink:#0A3323; --ink-2:#3D5248; --ink-3:#6B7C73; --rule:rgba(10,51,35,.12); --rule-2:rgba(10,51,35,.2);
  --on-dark:#F3FAEC; --on-dark-2:rgba(228,245,214,.72); --on-dark-rule:rgba(228,245,214,.14);
  --warn:#B35400; --err:#B42318; --ok:#2E7D1E;
  --f-display:"Orbitron","Montserrat",system-ui,sans-serif;
  --f-text:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease-out:cubic-bezier(.23,1,.32,1); --ease-expo:cubic-bezier(.16,1,.3,1); --ease-io:cubic-bezier(.77,0,.175,1);
  --max:1280px; --gutter:clamp(16px,4vw,48px); --hdr:76px;
  --r-sm:8px; --r-md:16px; --r-lg:28px; --r-xl:40px; --r-pill:999px;
  --shadow-1:0 1px 2px rgba(10,51,35,.06),0 8px 24px rgba(10,51,35,.06);
  --shadow-2:0 2px 6px rgba(10,51,35,.08),0 24px 60px rgba(10,51,35,.12);
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 16px)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--f-text);overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--elephant);outline-offset:3px;border-radius:6px}
.dark :focus-visible,.hero :focus-visible{outline-color:var(--volt)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--forest);color:#fff;padding:10px 16px;border-radius:var(--r-sm)}
.skip:focus{top:12px}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.sec{padding-block:clamp(80px,10vw,140px);position:relative}
.sec.tight{padding-block:clamp(56px,7vw,96px)}
.bg-paper2{background:var(--paper-2)}
.bg-mint{background:var(--mint)}
.dark{background:var(--forest);color:var(--on-dark)}
.dark-deep{background:var(--forest-deep);color:var(--on-dark)}

/* ---------- Type ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:700 12px/1.2 var(--f-display);letter-spacing:.3em;text-transform:uppercase;color:var(--elephant);margin:0}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor;border-radius:2px}
.dark .eyebrow,.hero .eyebrow{color:var(--volt)}
.h1{font:900 clamp(2.5rem,5.6vw,5.4rem)/.98 var(--f-display);letter-spacing:-.03em;margin:.28em 0 0;text-wrap:balance}
.h2{font:800 clamp(2rem,4.6vw,4rem)/1.02 var(--f-display);letter-spacing:-.02em;margin:.35em 0 0;text-wrap:balance}
.h3{font:800 clamp(1.25rem,1.8vw,1.55rem)/1.15 var(--f-display);letter-spacing:-.01em;margin:0}
.lead{font-size:clamp(1.02rem,1.35vw,1.2rem);line-height:1.7;color:var(--ink-2);max-width:60ch;margin:1.1em 0 0}
.dark .lead,.hero .lead{color:var(--on-dark-2)}
.mask{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.mask>span{display:block}
/* Volt highlighter: brand highlight that stays legible on white (Forest text on a Volt stroke) */
.hl{position:relative;white-space:nowrap;z-index:0}
.hl::after{content:"";position:absolute;left:-.06em;right:-.06em;bottom:.06em;height:.36em;background:var(--volt);z-index:-1;border-radius:.06em;transform-origin:left;transform:scaleX(var(--hl,1))}
.volt{color:var(--volt)}
.head-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.head-row .lead{margin-bottom:0}

/* ---------- Buttons ---------- */
.btn{--bg:var(--volt);--fg:var(--forest);--bd:transparent;display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:50px;padding:0 1.5em;border-radius:var(--r-pill);background:var(--bg);color:var(--fg);border:1.5px solid var(--bd);font:700 12.5px/1 var(--f-display);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;cursor:pointer;white-space:nowrap;position:relative;overflow:hidden;isolation:isolate;transition:transform 160ms var(--ease-out),background-color 200ms ease,color 200ms ease,border-color 200ms ease,box-shadow 200ms ease}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--fill,var(--forest));transform:translateY(101%);transition:transform 380ms var(--ease-expo);border-radius:inherit}
.btn:active{transform:scale(.97)}
.btn svg{width:16px;height:16px;flex:none;transition:transform 260ms var(--ease-out)}
.btn-primary{--bg:var(--volt);--fg:var(--forest);--fill:var(--forest)}
.btn-dark{--bg:var(--forest);--fg:#fff;--fill:var(--volt)}
.btn-line{--bg:transparent;--fg:var(--forest);--bd:var(--rule-2);--fill:var(--forest)}
.btn-ghost{--bg:transparent;--fg:var(--on-dark);--bd:rgba(228,245,214,.42);--fill:var(--on-dark)}
.btn-white{--bg:#fff;--fg:var(--forest);--fill:var(--volt)}
.btn-sm{min-height:42px;padding:0 1.1em;font-size:11px}
@media (hover:hover) and (pointer:fine){
  .btn:hover::before{transform:translateY(0)}
  .btn-primary:hover,.btn-line:hover{color:#fff;border-color:var(--forest)}
  .btn-dark:hover{color:var(--forest)}
  .btn-ghost:hover{color:var(--forest);border-color:var(--on-dark)}
  .btn-white:hover{color:var(--forest)}
  .btn:hover svg.arrow{transform:translateX(3px)}
}
.link{font:700 12px/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;display:inline-flex;gap:8px;align-items:center;color:var(--forest);padding:8px 0;border-bottom:2px solid var(--volt)}
.dark .link{color:var(--on-dark)}

/* ---------- Badges ---------- */
.badge{display:inline-flex;align-items:center;gap:.55em;padding:.5em .95em;border-radius:var(--r-pill);font:700 10.5px/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase;background:var(--mint);color:var(--forest);white-space:nowrap}
.badge i{width:7px;height:7px;border-radius:50%;background:var(--elephant);font-style:normal}
.badge.soon i{animation:pulse 2s ease-in-out infinite}
.badge.open{background:var(--volt)}
.badge.open i{background:var(--forest)}
.badge.line{background:transparent;border:1px solid var(--rule-2)}
.dark .badge,.hero .badge{background:rgba(168,230,43,.14);color:var(--volt)}
.dark .badge i,.hero .badge i{background:var(--volt)}
@keyframes pulse{50%{opacity:.35}}

/* ---------- Patterns ---------- */
.pat-blob{background-image:url(img/pat-blob-mint.svg);background-size:260px}
.pat-blob-mint2{background-image:url(img/pat-blob-mint2.svg);background-size:260px}
.pat-blob-volt{background-image:url(img/pat-blob-volt.svg);background-size:240px}
.pat-blob-forest{background-image:url(img/pat-blob-forest.svg);background-size:260px}
.pat-ndop{background-image:url(img/pat-ndop-forest.svg);background-size:88px}
.pat-ndop-dark{background-image:url(img/pat-ndop-mint.svg);background-size:88px}
.pat-ndop-volt{background-image:url(img/pat-ndop-volt.svg);background-size:88px}
.zig{height:28px;background:url(img/pat-zigzag.svg) repeat-x;background-size:48px 28px}
.patch{position:absolute;pointer-events:none;z-index:0}
.fade-r{-webkit-mask:linear-gradient(90deg,transparent,#000 60%);mask:linear-gradient(90deg,transparent,#000 60%)}
.fade-l{-webkit-mask:linear-gradient(270deg,transparent,#000 60%);mask:linear-gradient(270deg,transparent,#000 60%)}
.fade-radial{-webkit-mask:radial-gradient(closest-side,#000 40%,transparent);mask:radial-gradient(closest-side,#000 40%,transparent)}

/* ---------- Announcement + header ---------- */
.announce{position:relative;z-index:70;background:var(--forest);color:var(--on-dark);font:500 13px/1.35 var(--f-text);text-align:center;padding:10px 52px}
.announce b{color:var(--volt);font-weight:700}
.announce a{font-weight:700;color:var(--volt)}
.announce button{position:absolute;right:6px;top:50%;translate:0 -50%;width:40px;height:40px;border:0;background:none;color:var(--on-dark);cursor:pointer;border-radius:50%}
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);border-bottom:1px solid var(--rule);transition:background-color 300ms ease,border-color 300ms ease,color 300ms ease}
.hdr-in{display:flex;align-items:center;gap:18px;height:var(--hdr)}
.hdr-logo{flex:none;display:block;position:relative;height:44px;width:100px}
.hdr-logo img{position:absolute;inset:0;height:44px;width:auto;transition:opacity 250ms ease}
.hdr-logo .rev{opacity:0}
.nav{display:flex;align-items:center;gap:2px;margin:0 0 0 14px;padding:0;list-style:none}
.nav li{position:relative;display:flex;align-items:center}
.nav a.top{display:block;padding:10px 4px 10px 12px;font:600 14.5px/1 var(--f-text);text-decoration:none;border-radius:var(--r-pill);transition:color 150ms ease;white-space:nowrap}
.nav a.top[aria-current="page"]{color:var(--elephant)}
.nav a.top{position:relative}
.nav a.top[aria-current="page"]::after{content:"";position:absolute;left:12px;right:4px;bottom:2px;height:2px;background:var(--volt);border-radius:2px}
.nav .chev{width:26px;height:30px;display:grid;place-items:center;border:0;background:none;cursor:pointer;border-radius:50%;padding:0;color:inherit}
.nav .chev svg{width:10px;transition:transform 220ms var(--ease-out)}
.nav .chev[aria-expanded="true"] svg{transform:rotate(180deg)}
@media (hover:hover){.nav a.top:hover{color:var(--elephant)}}
.hdr-tools{margin-left:auto;display:flex;align-items:center;gap:10px}
.lang{display:flex;border:1px solid var(--rule-2);border-radius:var(--r-pill);padding:3px}
.lang button{border:0;background:none;font:700 11px/1 var(--f-display);letter-spacing:.1em;padding:8px 10px;border-radius:var(--r-pill);cursor:pointer;min-width:38px;color:var(--ink-3)}
.lang button[aria-pressed="true"]{background:var(--forest);color:#fff}
.icon-btn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--rule-2);background:transparent;cursor:pointer;text-decoration:none;flex:none}
.icon-btn svg{width:18px;height:18px}
.menu-toggle{display:none}
/* transparent over a dark hero */
.hdr.over{background:transparent;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;color:#fff}
.hdr.over .hdr-logo .col{opacity:0}.hdr.over .hdr-logo .rev{opacity:1}
.hdr.over .nav a.top[aria-current="page"],.hdr.over .nav a.top:hover{color:var(--volt)}
.hdr.over .lang,.hdr.over .icon-btn{border-color:rgba(255,255,255,.3)}
.hdr.over .lang button{color:rgba(255,255,255,.7)}
.hdr.over .lang button[aria-pressed="true"]{background:#fff;color:var(--forest)}
.hdr.over .btn-line{--fg:#fff;--bd:rgba(255,255,255,.4);--fill:#fff}
@media (hover:hover){.hdr.over .btn-line:hover{color:var(--forest)}}
.hdr-over-wrap{margin-bottom:calc(-1 * var(--hdr))}

/* Mega menu */
.mega{position:absolute;left:0;right:0;top:100%;pointer-events:none}
.mega-panel{position:absolute;left:50%;top:8px;width:min(980px,calc(100vw - 32px));translate:-50% 0;background:#fff;color:var(--ink);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:14px;display:grid;grid-template-columns:1.25fr 1fr;gap:14px;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.985);transform-origin:top center;transition:opacity 180ms ease,transform 240ms var(--ease-out),visibility 0s 240ms}
.mega-panel.open{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity 180ms ease,transform 240ms var(--ease-out)}
.mega-links{list-style:none;margin:0;padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;align-content:start}
.mega-links a{display:grid;grid-template-columns:36px 1fr;gap:2px 12px;align-items:center;padding:12px;border-radius:var(--r-md);text-decoration:none;transition:background-color 150ms ease}
.mega-links a i{grid-row:span 2;width:36px;height:36px;border-radius:10px;background:var(--mint);display:grid;place-items:center;color:var(--forest);font-style:normal}
.mega-links a i svg{width:18px;height:18px}
.mega-links b{font:700 14.5px/1.2 var(--f-text)}
.mega-links small{color:var(--ink-3);font-size:12.5px;line-height:1.3}
@media (hover:hover){.mega-links a:hover{background:var(--paper-2)}.mega-links a:hover i{background:var(--volt)}}
.mega-feature{border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:10px;background:var(--forest);color:var(--on-dark);position:relative;overflow:hidden;isolation:isolate;min-height:250px}
.mega-feature>.pat-ndop-dark{position:absolute;inset:0;z-index:-1;opacity:1}
.mega-feature h3{font:800 21px/1.15 var(--f-display);margin:0}
.mega-feature p{margin:0;color:var(--on-dark-2);font-size:14px}
.mega-feature .btn{margin-top:auto;align-self:flex-start}
.mega-feature .big{font:900 44px/1 var(--f-display);color:var(--volt);font-variant-numeric:tabular-nums}
.mega-feature.photo{background:var(--forest)}
.mega-feature.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.42}

/* Mobile menu */
.mnav{position:fixed;inset:0;z-index:90;background:#fff;color:var(--ink);display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + 12px) var(--gutter) calc(env(safe-area-inset-bottom,0px) + 16px);visibility:hidden;opacity:0;transform:translateY(-12px);transition:opacity 220ms ease,transform 320ms var(--ease-out),visibility 0s 320ms}
.mnav.open{visibility:visible;opacity:1;transform:none;transition:opacity 220ms ease,transform 320ms var(--ease-out)}
.mnav-top{display:flex;justify-content:space-between;align-items:center;height:56px}
.mnav-top img{height:40px;width:auto}
.mnav-list{flex:1;overflow:auto;margin:12px 0;padding:0;list-style:none}
.mnav-list>li{border-bottom:1px solid var(--rule)}
.mnav-list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:18px 0;font:800 22px/1 var(--f-display);cursor:pointer}
.mnav-list summary::-webkit-details-marker{display:none}
.mnav-list summary svg{width:16px;transition:transform 220ms var(--ease-out)}
.mnav-list details[open] summary svg{transform:rotate(45deg)}
.mnav-list ul{list-style:none;margin:0;padding:0 0 16px;display:grid;gap:2px}
.mnav-list ul a{display:block;padding:11px 0;text-decoration:none;color:var(--ink-2);font-weight:600}
.mnav-list ul a.ov{color:var(--elephant);font-weight:700}
.mnav-foot{display:grid;gap:12px}
.mnav-foot .btn{min-height:56px}

/* Sticky mobile CTA */
.mcta{position:fixed;left:0;right:0;bottom:0;z-index:55;display:none;gap:10px;padding:10px 16px calc(env(safe-area-inset-bottom,0px) + 10px);background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--rule);transform:translateY(110%);transition:transform 380ms var(--ease-out)}
.mcta.show{transform:none}
.mcta .btn{flex:1}

/* Page wipe transition */
.wipe{position:fixed;inset:0;z-index:300;pointer-events:none;display:grid;place-items:center;background:var(--forest);clip-path:inset(100% 0 0 0)}
.wipe::before{content:"";position:absolute;left:0;right:0;top:0;height:18px;background:var(--volt)}
.wipe img{width:150px;opacity:.95}

/* ---------- Hero (home) ---------- */
.hero{position:relative;margin-top:calc(-1 * var(--hdr));min-height:min(100svh,1000px);display:flex;flex-direction:column;justify-content:flex-end;color:#fff;overflow:hidden;isolation:isolate;background:var(--forest-deep)}
.hero>.wrap{width:100%}
.hero-media{position:absolute;inset:0;z-index:-3}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:60% 40%}
.hero-shade{position:absolute;inset:0;z-index:-2;background:
  linear-gradient(180deg,rgba(6,35,23,.78) 0%,rgba(6,35,23,0) 22%),
  linear-gradient(90deg,rgba(6,35,23,.95) 0%,rgba(6,35,23,.86) 36%,rgba(6,35,23,.25) 60%,rgba(6,35,23,0) 75%),
  linear-gradient(0deg,rgba(6,35,23,.96) 0%,rgba(6,35,23,.4) 34%,rgba(6,35,23,0) 58%)}
.hero-ribbon{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.hero-ribbon path{fill:none;stroke:var(--volt);stroke-linejoin:round}
.hero-in{padding-top:calc(var(--hdr) + 80px);padding-bottom:clamp(40px,7vh,80px);display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:end}
.hero-copy{grid-column:1 / span 7;display:flex;flex-direction:column;gap:22px}
.hero h1{font:900 clamp(2.6rem,6.4vw,6.2rem)/.94 var(--f-display);letter-spacing:-.035em;margin:0;text-wrap:balance}
.hero-meta{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;font:700 clamp(12px,1.05vw,14px)/1.3 var(--f-display);letter-spacing:.22em;text-transform:uppercase}
.hero-meta .dot{width:6px;height:6px;border-radius:50%;background:var(--volt)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.hero-side{grid-column:9 / -1;justify-self:end;display:grid;gap:10px;width:min(320px,100%)}
.glass{background:rgba(6,35,23,.55);border:1px solid rgba(228,245,214,.18);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);border-radius:var(--r-md);padding:18px 20px}
.glass svg{width:22px;height:22px;flex:none}
.glass small{display:block;font:700 10.5px/1 var(--f-display);letter-spacing:.2em;color:var(--on-dark-2);text-transform:uppercase}
.glass .cd{display:flex;gap:16px;margin-top:12px;font-variant-numeric:tabular-nums}
.glass .cd b{display:block;font:800 30px/1 var(--f-display);color:var(--volt)}
.glass .cd span{display:block;font:700 9.5px/1 var(--f-display);letter-spacing:.18em;color:var(--on-dark-2);margin-top:6px;text-transform:uppercase}
.hero-bottom{border-top:1px solid rgba(228,245,214,.16);display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:18px;font:600 12.5px/1.3 var(--f-text);color:var(--on-dark-2)}
.cue{display:flex;align-items:center;gap:10px;text-decoration:none;font:700 10.5px/1 var(--f-display);letter-spacing:.26em}
.cue i{width:28px;height:44px;border:1.5px solid rgba(255,255,255,.5);border-radius:14px;position:relative}
.cue i::after{content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--volt);animation:cue 1.8s var(--ease-io) infinite}
@keyframes cue{0%{transform:translateY(0);opacity:1}70%{transform:translateY(14px);opacity:0}100%{opacity:0}}
.mode-copy{display:none}
html[data-mode="announce"] .mode-copy[data-m="announce"],html[data-mode="registration"] .mode-copy[data-m="registration"],html[data-mode="live"] .mode-copy[data-m="live"],html[data-mode="post"] .mode-copy[data-m="post"]{display:inline-flex}

/* ---------- Inner page hero (light) ---------- */
.phero{position:relative;overflow:hidden;isolation:isolate;padding-block:clamp(48px,7vw,96px) clamp(56px,8vw,110px);background:var(--paper)}
.phero .pat{position:absolute;right:-6%;top:-10%;width:58%;height:120%;z-index:-1;opacity:1}
.phero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.phero-media{position:relative;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/4.4;box-shadow:var(--shadow-2);background:var(--mint)}
.phero-media img{width:100%;height:100%;object-fit:cover}
.phero-media .tag{position:absolute;left:16px;bottom:16px;right:16px}
.phero-ribbon{position:absolute;right:-90px;bottom:-56px;width:min(80%,560px);z-index:-1;pointer-events:none}
.phero-ribbon path{fill:none;stroke:var(--volt);stroke-width:56;stroke-linejoin:round}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font:600 13px/1 var(--f-text);color:var(--ink-3);margin:0 0 6px;padding:0;list-style:none}
.crumbs li{display:flex;gap:8px}
.crumbs li+li::before{content:"/";opacity:.5}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--forest)}
.phero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px}
.jump a{border:1px solid var(--rule-2);border-radius:var(--r-pill);padding:10px 16px;font:600 13.5px/1 var(--f-text);text-decoration:none;transition:background-color 180ms ease,border-color 180ms ease}
@media (hover:hover){.jump a:hover{background:var(--mint);border-color:var(--mint)}}

/* ---------- Countdown band ---------- */
.cband{background:var(--paper);border-bottom:1px solid var(--rule)}
.cband-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 40px;padding-block:26px}
.cband .lbl strong{display:block;font:800 18px/1.2 var(--f-display)}
.cband .lbl span{color:var(--ink-3);font-size:14px}
.cd-big{display:flex;gap:clamp(14px,3vw,40px);font-variant-numeric:tabular-nums}
.cd-big div{text-align:center;min-width:58px}
.cd-big b{display:block;font:900 clamp(2rem,4vw,3.4rem)/1 var(--f-display)}
.cd-big small{display:block;margin-top:8px;font:700 10px/1 var(--f-display);letter-spacing:.22em;color:var(--ink-3);text-transform:uppercase}

/* ---------- Theme ---------- */
.theme-q{font:900 clamp(2.6rem,8.8vw,8.8rem)/.94 var(--f-display);letter-spacing:-.035em;margin:.25em 0 0}
.theme-q .w{display:inline-block}
.theme-cols{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;margin-top:clamp(36px,5vw,72px)}
.theme-cols>p{grid-column:1 / span 6;margin:0;font-size:clamp(1.05rem,1.45vw,1.28rem);line-height:1.7;color:var(--ink-2)}
.theme-cols>p strong{color:var(--ink);font-weight:600}
.pillars{grid-column:8 / -1;display:grid;gap:10px;margin:0;padding:0;list-style:none}
.pillars li{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--r-md);background:#fff;border:1px solid var(--rule);font-weight:600}
.pillars li i{width:40px;height:40px;border-radius:12px;background:var(--mint);display:grid;place-items:center;flex:none;font-style:normal}
.pillars li i svg{width:20px;height:20px}

/* ---------- Stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-radius:var(--r-xl);overflow:hidden;background:var(--forest);color:var(--on-dark);position:relative;isolation:isolate}
.stats .pat-ndop-dark{position:absolute;inset:0;z-index:-1}
.stat{padding:clamp(28px,4vw,52px) clamp(20px,2.4vw,36px);border-left:1px solid var(--on-dark-rule)}
.stat:first-of-type{border-left:0}
.stat b{display:block;font:900 clamp(3rem,7vw,6.4rem)/.9 var(--f-display);letter-spacing:-.04em;color:var(--volt);font-variant-numeric:tabular-nums}
.stat span{display:block;margin-top:14px;font:700 12px/1.3 var(--f-display);letter-spacing:.22em;text-transform:uppercase}
.stat p{margin:8px 0 0;font-size:14px;color:var(--on-dark-2)}

/* ---------- Programme roll ---------- */
.roll{position:relative;height:calc(var(--n) * 58vh + 100vh);margin-top:24px}
.roll-stage{position:sticky;top:var(--hdr);height:calc(100vh - var(--hdr));display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:center}
.roll-list-wrap{grid-column:1 / span 7;position:relative;height:100%;overflow:hidden;-webkit-mask:linear-gradient(transparent,#000 24%,#000 76%,transparent);mask:linear-gradient(transparent,#000 24%,#000 76%,transparent)}
.roll-list{position:absolute;left:0;right:0;top:50%;margin:0;padding:0;list-style:none;transition:transform 700ms var(--ease-expo)}
.roll-list li{height:var(--row);display:flex;flex-direction:column;justify-content:center;opacity:.14;transition:opacity 400ms ease}
.roll-list li.on{opacity:1}
.roll-list h3{margin:0;font:900 clamp(1.7rem,3.6vw,3.2rem)/1.02 var(--f-display);letter-spacing:-.02em}
.roll-list li.more h3 span{position:relative;z-index:0}
.roll-list li.more h3 span::after{content:"";position:absolute;left:-.04em;right:-.04em;bottom:.06em;height:.36em;background:var(--volt);z-index:-1}
.roll-list p{margin:10px 0 0;color:var(--ink-2);max-width:46ch;opacity:0;transform:translateY(8px);transition:opacity 300ms ease,transform 420ms var(--ease-out)}
.roll-list li.on p{opacity:1;transform:none;transition-delay:120ms}
.roll-list .mob-img{display:none}
.roll-side{grid-column:8 / -1;display:flex;flex-direction:column;gap:16px;height:min(72vh,640px)}
.roll-meta{display:flex;justify-content:space-between;align-items:center;font:700 12px/1 var(--f-display);letter-spacing:.24em;text-transform:uppercase}
.roll-group{position:relative;height:14px;overflow:hidden;flex:1;color:var(--elephant)}
.roll-group span{position:absolute;inset:0;transition:transform 520ms var(--ease-expo),opacity 300ms ease}
.roll-group span:last-child{transform:translateY(100%);opacity:0}
.roll[data-g="1"] .roll-group span:first-child{transform:translateY(-100%);opacity:0}
.roll[data-g="1"] .roll-group span:last-child{transform:none;opacity:1}
.roll-num{color:var(--ink-3);font-variant-numeric:tabular-nums;letter-spacing:.12em}
.roll-num b{color:var(--ink)}
.roll-figs{position:relative;flex:1;border-radius:var(--r-xl);overflow:hidden;background:var(--mint)}
.roll-figs figure{position:absolute;inset:0;margin:0;clip-path:inset(100% 0 0 0);transition:clip-path 900ms var(--ease-expo)}
.roll-figs figure.on{clip-path:inset(0);z-index:1}
.roll-figs figure.was{clip-path:inset(0)}
.roll-figs img{width:100%;height:100%;object-fit:cover;transform:scale(1.1);transition:transform 1400ms var(--ease-expo)}
.roll-figs figure.on img{transform:scale(1)}
.roll-figs figcaption{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.92);color:var(--forest);font:600 12px/1.3 var(--f-text);padding:7px 12px;border-radius:var(--r-pill)}
.roll-bar{height:3px;background:var(--rule);border-radius:3px;overflow:hidden}
.roll-bar i{display:block;height:100%;background:var(--forest);transform-origin:left;transform:scaleX(var(--p,0))}

/* ---------- Built for (dark band) ---------- */
.built{height:320vh;position:relative;background:var(--forest);color:var(--on-dark)}
.built-stage{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;isolation:isolate}
.built-stage .pat-ndop-dark{position:absolute;inset:0;z-index:-1}
.built-k{font:700 13px/1 var(--f-display);letter-spacing:.32em;color:var(--on-dark-2);margin:0}
.built-words{position:relative;font-size:clamp(2.6rem,10.4vw,10.2rem);height:1.14em;margin-top:22px;overflow:hidden}
.built-words span{position:absolute;left:0;top:.04em;font:900 1em/1 var(--f-display);letter-spacing:-.035em;white-space:nowrap;opacity:0}
.built-words span.you{color:var(--volt)}
.built-list{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:40px;font:700 12px/1 var(--f-display);letter-spacing:.2em;color:rgba(228,245,214,.24);text-transform:uppercase}
.built-list b{transition:color 300ms ease}
.built-list b.on{color:var(--on-dark)}
.built-ele{position:absolute;right:-5vw;bottom:-4vh;width:min(46vw,640px);opacity:0;pointer-events:none;z-index:-1}

/* ---------- Cards ---------- */
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card{position:relative;background:#fff;border:1px solid var(--rule);border-radius:var(--r-lg);padding:26px;display:flex;flex-direction:column;gap:12px;transition:transform 320ms var(--ease-out),box-shadow 320ms var(--ease-out),border-color 320ms ease}
.card p{margin:0;color:var(--ink-2)}
@media (hover:hover) and (pointer:fine){.card.lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);border-color:transparent}}
.card .ico{width:48px;height:48px;border-radius:14px;background:var(--mint);display:grid;place-items:center;color:var(--forest)}
.card .ico svg{width:24px;height:24px}
.card .num{font:900 14px/1 var(--f-display);color:var(--elephant);letter-spacing:.1em}

/* Contest card */
.contest{position:relative;border-radius:var(--r-lg);overflow:hidden;background:#fff;border:1px solid var(--rule);display:flex;flex-direction:column;transition:transform 360ms var(--ease-out),box-shadow 360ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.contest:hover{transform:translateY(-6px);box-shadow:var(--shadow-2)}.contest:hover .contest-img img{transform:scale(1.06)}}
.contest-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--mint)}
.contest-img img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease-out)}
.contest-img .badge{position:absolute;left:14px;top:14px}
.contest-img .idx{position:absolute;right:14px;top:12px;font:900 34px/1 var(--f-display);color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.4)}
.contest-body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.contest-body h3{margin:0;font:900 clamp(1.25rem,1.7vw,1.5rem)/1.1 var(--f-display)}
.contest-body p{margin:0;color:var(--ink-2);font-size:14.5px}
.contest-body dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:4px 0 0;font-size:13px;padding-top:12px;border-top:1px dashed var(--rule-2)}
.contest-body dt{color:var(--ink-3)}
.contest-body dd{margin:0;text-align:right;font-weight:600}
.contest-actions{display:flex;gap:8px;margin-top:auto;padding-top:10px}
.contest-actions .btn{flex:1;min-height:46px;padding:0 1em;font-size:11px}

/* Offer cards */
.offer{display:flex;flex-direction:column;gap:14px;padding:28px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--rule);position:relative;overflow:hidden;isolation:isolate}
.offer.feat{background:var(--forest);color:var(--on-dark);border-color:transparent}
.offer.feat .pat-blob-forest{position:absolute;inset:0;z-index:-1}
.offer h3{margin:0;font:800 22px/1.15 var(--f-display)}
.offer .who{margin:0;color:var(--ink-2);font-size:14.5px}
.offer.feat .who{color:var(--on-dark-2)}
.offer .price{font:800 15px/1.3 var(--f-display);letter-spacing:.04em;margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.offer .price b{font:900 clamp(1.8rem,3vw,2.4rem)/1 var(--f-display);letter-spacing:-.02em}
.offer .price s{font:600 15px var(--f-text);color:var(--ink-3)}
.offer.feat .price s{color:var(--on-dark-2)}
.offer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:14.5px}
.offer li{display:flex;gap:10px}
.offer li svg{flex:none;width:18px;height:18px;color:var(--elephant);margin-top:3px}
.offer.feat li svg{color:var(--volt)}
.offer .btn{margin-top:auto}
.offer .left{font:700 12px/1 var(--f-display);letter-spacing:.12em;color:var(--warn);text-transform:uppercase}
.offer.feat .left{color:#FFC27A}
.sample-tag{display:none;font:700 10px/1 var(--f-display);letter-spacing:.16em;text-transform:uppercase;background:#FFE1BD;color:#5A2B00;padding:6px 10px;border-radius:var(--r-pill)}
html[data-mode="registration"] .sample-tag{display:inline-block}
html:not([data-mode="registration"]) .on-sale{display:none!important}
html[data-mode="registration"] .pre-sale{display:none!important}

/* Mount band */
.mount{display:grid;grid-template-columns:1fr 1.05fr;gap:0;border-radius:var(--r-xl);overflow:hidden;background:var(--forest);color:var(--on-dark);isolation:isolate;position:relative}
.mount-img{position:relative;min-height:440px;overflow:hidden}
.mount-img img{position:absolute;inset:0;width:100%;height:110%;object-fit:cover}
.mount-copy{padding:clamp(28px,5vw,64px);display:flex;flex-direction:column;gap:16px;justify-content:center;position:relative}
.mount-copy .pat-ndop-dark{position:absolute;inset:0;z-index:-1}
.mount-copy dl{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:12px 0 0}
.mount-copy dt{font:700 10.5px/1 var(--f-display);letter-spacing:.2em;color:var(--on-dark-2);text-transform:uppercase}
.mount-copy dd{margin:8px 0 0;font:800 18px/1.2 var(--f-display)}

/* Mosaic */
.mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(90px,10vw,140px);gap:12px;margin-top:48px}
.mosaic figure{margin:0;position:relative;overflow:hidden;border-radius:var(--r-md);background:var(--mint)}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease-out)}
@media (hover:hover){.mosaic figure:hover img{transform:scale(1.05)}}
.mosaic figcaption{position:absolute;left:10px;bottom:10px;background:rgba(255,255,255,.92);color:var(--forest);font:600 12px/1.3 var(--f-text);padding:6px 10px;border-radius:var(--r-pill)}
.m1{grid-column:1 / span 7;grid-row:span 4}.m2{grid-column:8 / span 5;grid-row:span 2}.m3{grid-column:8 / span 5;grid-row:span 2}
.m4{grid-column:1 / span 4;grid-row:span 3}.m5{grid-column:5 / span 4;grid-row:span 3}.m6{grid-column:9 / span 4;grid-row:span 3}

/* Editions */
.ed{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:400px;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;text-decoration:none;color:#fff;isolation:isolate;transition:transform 360ms var(--ease-out)}
.ed img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 900ms var(--ease-out)}
.ed::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,35,23,0) 30%,rgba(6,35,23,.9) 92%)}
@media (hover:hover){.ed:hover img{transform:scale(1.05)}}
.ed .yr{font:900 clamp(3.2rem,5vw,4.6rem)/.9 var(--f-display);letter-spacing:-.04em}
.ed h3{margin:10px 0 4px;font:700 17px/1.3 var(--f-text)}
.ed p{margin:0;color:rgba(255,255,255,.8);font-size:14px}
.ed.now{background:var(--volt);color:var(--forest)}
.ed.now::before{display:none}
.ed.now p{color:var(--ink-2)}
.ed.now .pat-blob-volt{position:absolute;inset:0;z-index:-1}

/* Logo wall */
.marquee{display:flex;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.mq-track{display:flex;flex:none;gap:14px;padding-right:14px;animation:mq 44s linear infinite}
.marquee:hover .mq-track{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-100%)}}
.lt{display:grid;place-items:center;min-width:190px;height:86px;padding:0 26px;border-radius:var(--r-md);background:#fff;border:1px solid var(--rule);font:800 18px/1 var(--f-display);letter-spacing:-.01em;color:var(--ink-2);white-space:nowrap}
.logo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.logo-grid .lt{min-width:0}

/* News */
.news-card{display:grid;grid-template-columns:1.1fr 1fr;border-radius:var(--r-xl);overflow:hidden;background:#fff;border:1px solid var(--rule);text-decoration:none;transition:box-shadow 320ms var(--ease-out)}
@media (hover:hover){.news-card:hover{box-shadow:var(--shadow-2)}}
.news-card img{width:100%;height:100%;min-height:320px;object-fit:cover}
.news-card>div{padding:clamp(24px,4vw,48px);display:flex;flex-direction:column;gap:14px;justify-content:center}
.news-card h3{margin:0;font:800 clamp(1.4rem,2.3vw,2rem)/1.15 var(--f-display)}
.news-card p{margin:0;color:var(--ink-2)}
.news-card time,.meta{font:700 11px/1 var(--f-display);letter-spacing:.2em;color:var(--elephant);text-transform:uppercase}
.post{display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;background:#fff;border:1px solid var(--rule);text-decoration:none}
.post img{aspect-ratio:16/10;object-fit:cover;width:100%}
.post>div{padding:22px;display:grid;gap:10px}
.post h3{margin:0;font:800 19px/1.2 var(--f-display)}
.post p{margin:0;color:var(--ink-2);font-size:14.5px}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}
.faq-grid>header{grid-column:1 / span 4}
.faq-list{grid-column:6 / -1}
.faq-list details{border-bottom:1px solid var(--rule-2)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font:700 clamp(1rem,1.35vw,1.15rem)/1.4 var(--f-text)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary i{flex:none;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--forest);display:grid;place-items:center;transition:transform 260ms var(--ease-out),background-color 200ms ease,border-color 200ms ease}
.faq-list summary i svg{width:12px}
.faq-list details[open] summary i{transform:rotate(45deg);background:var(--volt);border-color:var(--volt)}
.faq-list details p{margin:0 0 22px;color:var(--ink-2);max-width:62ch}

/* CTA band */
.cta-band{position:relative;border-radius:var(--r-xl);overflow:hidden;isolation:isolate;background:var(--volt);color:var(--forest);padding:clamp(32px,6vw,72px);display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center}
.cta-band .pat-blob-volt{position:absolute;inset:0;z-index:-1;opacity:1}
.cta-band h2{margin:0;font:900 clamp(2rem,5vw,4.2rem)/.98 var(--f-display);letter-spacing:-.03em}
.cta-band p{margin:12px 0 0;color:rgba(10,51,35,.8);font-size:1.05rem}
.cta-band .row{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}

/* Forms */
.form{display:grid;gap:16px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fgrid .full{grid-column:1 / -1}
.field{display:flex;flex-direction:column;gap:7px;min-width:0}
.field label,.field .lbl{font:700 10.5px/1.2 var(--f-display);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.field label span{text-transform:none;letter-spacing:0;font:500 12px var(--f-text);color:var(--ink-3)}
.field input,.field select,.field textarea{min-height:52px;border-radius:var(--r-sm);border:1.5px solid var(--rule-2);background:#fff;padding:12px 14px;font:500 15.5px var(--f-text);color:var(--ink);transition:border-color 150ms ease,box-shadow 150ms ease;width:100%}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 4px rgba(168,230,43,.45)}
.field .help{font-size:12.5px;color:var(--ink-3)}
.field .err{font-size:12.5px;color:var(--err);display:none}
.field.bad input,.field.bad select,.field.bad textarea{border-color:var(--err)}
.field.bad .err{display:block}
.phone{display:flex}
.phone span{display:grid;place-items:center;padding:0 14px;border:1.5px solid var(--rule-2);border-right:0;border-radius:var(--r-sm) 0 0 var(--r-sm);background:var(--paper-2);font-weight:600}
.phone input{border-radius:0 var(--r-sm) var(--r-sm) 0;flex:1;min-width:0}
.check{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--ink-2)}
.check input{width:20px;height:20px;accent-color:var(--forest);margin-top:2px;flex:none}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{cursor:pointer}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-block;border:1.5px solid var(--rule-2);border-radius:var(--r-pill);padding:10px 16px;font:600 14px var(--f-text);transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease}
.chips input:checked+span{background:var(--forest);border-color:var(--forest);color:#fff}
.chips input:focus-visible+span{outline:3px solid var(--elephant);outline-offset:2px}
.panel-form{background:#fff;border:1px solid var(--rule);border-radius:var(--r-xl);padding:clamp(22px,4vw,44px);box-shadow:var(--shadow-1)}
.progress{display:flex;gap:6px;margin-bottom:24px}
.progress i{flex:1;height:4px;border-radius:4px;background:var(--rule);overflow:hidden;position:relative}
.progress i::after{content:"";position:absolute;inset:0;background:var(--forest);transform:scaleX(0);transform-origin:left;transition:transform 500ms var(--ease-expo)}
.progress i.done::after{transform:scaleX(1)}
.fstep{display:none}
.fstep.on{display:grid;gap:16px;animation:stepIn 420ms var(--ease-out)}
@keyframes stepIn{from{opacity:0;transform:translateY(10px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
.fstep h3{margin:0;font:800 22px/1.2 var(--f-display)}
.factions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:8px}
.back{background:none;border:0;color:var(--ink-3);cursor:pointer;font:600 14px var(--f-text);min-height:44px;padding:0 6px}
.review{margin:0;display:grid;grid-template-columns:auto 1fr;gap:10px 18px;font-size:14.5px;background:var(--paper-2);border-radius:var(--r-md);padding:18px}
.review dt{color:var(--ink-3)}
.review dd{margin:0;font-weight:600;word-break:break-word}
.success{text-align:center;padding:24px 0}
.tick{width:76px;height:76px;margin:0 auto 18px;border-radius:50%;background:var(--volt);display:grid;place-items:center;color:var(--forest)}
.tick svg{width:36px;height:36px}
.tick path{stroke-dasharray:40;stroke-dashoffset:40;animation:tickDraw 600ms 200ms var(--ease-out) forwards}
@keyframes tickDraw{to{stroke-dashoffset:0}}
.note{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;border-radius:var(--r-md);background:var(--paper-2);border:1px solid var(--rule);font-size:14px;color:var(--ink-2)}
.note svg{flex:none;width:18px;height:18px;color:var(--elephant);margin-top:2px}
.proto{background:#FFE1BD;color:#5A2B00;font:600 13px/1.4 var(--f-text);padding:10px 16px;text-align:center}

/* Tabs */
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--rule-2);position:relative;overflow-x:auto}
.tab{background:none;border:0;padding:14px 18px 18px;cursor:pointer;text-align:left;color:var(--ink-3);min-height:44px;flex:none}
.tab b{display:block;font:800 18px/1 var(--f-display);color:inherit}
.tab small{display:block;margin-top:6px;font-size:12.5px}
.tab[aria-selected="true"]{color:var(--ink)}
.tab-ink{position:absolute;bottom:-1px;left:0;height:3px;background:var(--forest);border-radius:3px;transition:transform 420ms var(--ease-expo),width 420ms var(--ease-expo)}
.empty{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:28px;border:1.5px dashed var(--rule-2);border-radius:var(--r-lg);background:var(--paper-2)}
.empty>svg{width:56px;height:56px;color:var(--elephant)}
.empty h3{margin:0;font:800 20px/1.2 var(--f-display)}
.empty p{margin:6px 0 0;color:var(--ink-2)}

/* Format tiles */
.formats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.fmt{border-radius:var(--r-md);background:#fff;border:1px solid var(--rule);padding:18px;display:grid;gap:8px;align-content:start;min-height:150px;transition:background-color 220ms ease,transform 300ms var(--ease-out)}
.fmt b{font:800 16px/1.15 var(--f-display)}
.fmt span{font-size:13.5px;color:var(--ink-2)}
.fmt small{font:700 10px/1 var(--f-display);letter-spacing:.16em;color:var(--elephant);text-transform:uppercase}
@media (hover:hover){.fmt:hover{background:var(--mint);transform:translateY(-3px)}}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(var(--n,4),1fr);gap:16px;counter-reset:st;list-style:none;margin:0;padding:0}
.steps li{position:relative;padding:24px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--rule)}
.steps li::before{counter-increment:st;content:counter(st,decimal-leading-zero);display:block;font:900 40px/1 var(--f-display);color:var(--forest);margin-bottom:14px;-webkit-text-stroke:0}
.steps li h3{margin:0 0 6px;font:800 18px/1.2 var(--f-display)}
.steps li p{margin:0;color:var(--ink-2);font-size:14.5px}

/* Tables */
.tbl-wrap{overflow-x:auto;border:1px solid var(--rule);border-radius:var(--r-lg);background:#fff}
.tbl{width:100%;border-collapse:collapse;min-width:640px;font-size:15px}
.tbl th,.tbl td{padding:16px 20px;text-align:center;border-bottom:1px solid var(--rule)}
.tbl th:first-child,.tbl td:first-child{text-align:left}
.tbl thead th{font:700 11.5px/1.2 var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);background:var(--paper-2)}
.tbl thead th.hi{background:var(--forest);color:var(--volt)}
.tbl tbody th{font-weight:600}
.tbl tbody tr:last-child>*{border-bottom:0}
.tbl .y{color:var(--elephant);font-weight:800;font-size:17px}
.tbl .n{color:var(--ink-3)}

/* Audience chips */
.aud{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.aud div{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:var(--r-md);background:#fff;border:1px solid var(--rule)}
.aud i{width:44px;height:44px;flex:none;border-radius:12px;background:var(--forest);color:var(--volt);display:grid;place-items:center;font-style:normal}
.aud i svg{width:22px;height:22px}
.aud b{display:block;font:800 16px/1.2 var(--f-display)}
.aud span{font-size:14px;color:var(--ink-2)}

/* Timeline (editions) */
.tl{position:relative;margin:0;padding:0;list-style:none}
.tl::before{content:"";position:absolute;left:calc(var(--col) - 1px);top:0;bottom:0;width:2px;background:var(--rule-2)}
.tl .tl-line{position:absolute;left:calc(var(--col) - 1px);top:0;width:2px;height:100%;background:var(--forest);transform-origin:top;transform:scaleY(var(--p,1))}
.tl li{display:grid;grid-template-columns:var(--col) 1fr;gap:0 40px;padding-bottom:72px;position:relative}
.tl .yr{font:900 clamp(3rem,5vw,4.6rem)/.9 var(--f-display);letter-spacing:-.04em;padding-right:40px;text-align:right;position:sticky;top:calc(var(--hdr) + 24px);align-self:start}
.tl li::after{content:"";position:absolute;left:calc(var(--col) - 9px);top:18px;width:18px;height:18px;border-radius:50%;background:var(--volt);border:4px solid #fff;box-shadow:0 0 0 2px var(--forest)}
.tl .body{display:grid;gap:16px;padding-left:12px}
.tl .body img{border-radius:var(--r-lg);aspect-ratio:16/9;object-fit:cover;width:100%}

/* Gallery */
.filter{display:flex;flex-wrap:wrap;gap:8px}
.filter button{border:1.5px solid var(--rule-2);background:#fff;border-radius:var(--r-pill);padding:10px 16px;cursor:pointer;font:600 14px var(--f-text);transition:background-color 160ms ease,color 160ms ease,border-color 160ms ease}
.filter button[aria-pressed="true"]{background:var(--forest);color:#fff;border-color:var(--forest)}
.gal{columns:3 260px;column-gap:12px;margin-top:28px}
.gal button{display:block;width:100%;margin:0 0 12px;padding:0;border:0;border-radius:var(--r-md);overflow:hidden;cursor:zoom-in;break-inside:avoid;background:var(--mint);position:relative}
.gal button img{width:100%;height:auto;transition:transform 700ms var(--ease-out)}
.gal button span{position:absolute;left:10px;bottom:10px;background:rgba(255,255,255,.92);color:var(--forest);font:600 12px var(--f-text);padding:5px 10px;border-radius:var(--r-pill)}
@media (hover:hover){.gal button:hover img{transform:scale(1.04)}}
.lightbox{position:fixed;inset:0;z-index:120;background:rgba(6,35,23,.94);display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;transition:opacity 220ms ease,visibility 0s 220ms}
.lightbox.open{opacity:1;visibility:visible;transition:opacity 220ms ease}
.lightbox img{max-height:82vh;max-width:min(1200px,100%);border-radius:var(--r-md);transform:scale(.96);transition:transform 320ms var(--ease-out)}
.lightbox.open img{transform:none}
.lightbox p{color:var(--on-dark);margin:14px 0 0;text-align:center}
.lightbox .x{position:absolute;right:16px;top:16px;color:#fff;border-color:rgba(255,255,255,.3)}

/* Swatches */
.swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.sw{border-radius:var(--r-md);overflow:hidden;border:1px solid var(--rule);background:#fff;text-align:left;padding:0;cursor:pointer;transition:transform 200ms var(--ease-out)}
.sw:active{transform:scale(.98)}
.sw i{display:block;height:110px}
.sw div{padding:14px;display:grid;gap:4px}
.sw b{font:800 15px var(--f-display)}
.sw span{font:600 13px var(--f-text);color:var(--ink-2)}

/* Toast */
.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 88px);z-index:150;translate:-50% 0;background:var(--forest);color:#fff;padding:14px 20px;border-radius:var(--r-md);font:600 14px var(--f-text);box-shadow:var(--shadow-2);opacity:0;transform:translateY(12px);transition:opacity 220ms ease,transform 320ms var(--ease-out);pointer-events:none;max-width:calc(100vw - 32px)}
.toast.show{opacity:1;transform:none}

/* ---------- Footer ---------- */
.ftr{position:relative;background:var(--forest-deep);color:var(--on-dark);isolation:isolate;overflow:hidden}
.ftr>.pat-ndop-dark{position:absolute;inset:0;z-index:-1;opacity:.7}
.ftr-big{padding-block:clamp(64px,8vw,110px) 48px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:end;border-bottom:1px solid var(--on-dark-rule)}
.ftr-big h2{margin:0;font:900 clamp(2.4rem,6.4vw,6rem)/.95 var(--f-display);letter-spacing:-.035em}
.ftr-big p{color:var(--on-dark-2);margin:16px 0 0}
.nform{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.nform .field{flex:1 1 180px}
.ftr .field label{color:var(--on-dark-2)}
.ftr .field input{background:rgba(255,255,255,.06);border-color:rgba(228,245,214,.24);color:#fff}
.ftr .field input:focus{border-color:var(--volt);box-shadow:0 0 0 4px rgba(168,230,43,.25)}
.nform .btn{min-height:52px}
.fcols{display:grid;grid-template-columns:1.5fr repeat(6,1fr);gap:28px;padding-block:56px}
.fcols h3{margin:0 0 14px;font:700 11px/1 var(--f-display);letter-spacing:.2em;text-transform:uppercase;color:var(--volt)}
.fcols ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.fcols a{text-decoration:none;color:var(--on-dark-2);font-size:14px;transition:color 150ms ease}
@media (hover:hover){.fcols a:hover{color:#fff}}
.fbrand img{height:62px;width:auto}
.fbrand p{color:var(--on-dark-2);font-size:14px;margin:16px 0 0;max-width:32ch}
.socials{display:flex;gap:8px;margin-top:18px}
.socials a{width:40px;height:40px;border-radius:50%;border:1px solid var(--on-dark-rule);display:grid;place-items:center;font:700 11px var(--f-display);text-decoration:none}
.fyears{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:28px}
.fyears a{border:1px solid var(--on-dark-rule);border-radius:var(--r-pill);padding:8px 14px;text-decoration:none;font:700 12px/1 var(--f-display);letter-spacing:.08em}
.fyears a[aria-current]{background:var(--volt);color:var(--forest);border-color:var(--volt)}
.flegal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-block:24px 32px;border-top:1px solid var(--on-dark-rule);font-size:13px;color:var(--on-dark-2)}
.flegal nav{display:flex;flex-wrap:wrap;gap:18px}
.flegal a{text-decoration:none}
.modes{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;color:var(--on-dark-2)}
.modes .seg{display:flex;border:1px solid var(--on-dark-rule);border-radius:var(--r-pill);padding:3px}
.modes button{border:0;background:none;font:700 10.5px/1 var(--f-display);letter-spacing:.1em;padding:9px 12px;border-radius:var(--r-pill);cursor:pointer;color:var(--on-dark-2);text-transform:uppercase}
.modes button[aria-pressed="true"]{background:var(--mint);color:var(--forest)}

/* ---------- Responsive ---------- */
@media (max-width:1280px){.hdr-tools .acct{display:none}.nav a.top{font-size:13.5px;padding-left:9px}}
@media (max-width:1140px){.hdr-tools .btn-line{display:none}}
@media (max-width:1023px){
  :root{--hdr:66px}
  .nav,.mega,.hdr-tools .lang,.hdr-tools .acct,.hdr-tools .btn-line{display:none}
  .menu-toggle{display:grid}
  .hdr-tools .btn{min-height:40px;padding:0 1.05em;font-size:10.5px}
  .hdr-logo,.hdr-logo img{height:38px}.hdr-logo{width:86px}
  .hero{min-height:0}
  .hero-media{bottom:auto;height:62vh}
  .hero-in{grid-template-columns:1fr;padding-top:calc(var(--hdr) + 40vh)}
  .hero-copy,.hero-side{grid-column:1 / -1;justify-self:stretch}
  .hero-media img{object-position:62% 50%}
  .hero-shade{background:linear-gradient(180deg,rgba(6,35,23,.75) 0%,rgba(6,35,23,0) 22%,rgba(6,35,23,0) 30%,var(--forest-deep) 62vh)}
  .phero-grid,.mount,.cta-band,.news-card,.ftr-big{grid-template-columns:1fr}
  .phero-media{aspect-ratio:16/11}
  .theme-cols>p,.pillars,.faq-grid>header,.faq-list{grid-column:1 / -1}
  .stats{grid-template-columns:1fr 1fr}
  .stat:nth-of-type(3){border-left:0}
  .stat:nth-of-type(n+3){border-top:1px solid var(--on-dark-rule)}
  .g3,.g4{grid-template-columns:1fr 1fr}
  .formats{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:1fr 1fr}
  .aud{grid-template-columns:1fr 1fr}
  .logo-grid{grid-template-columns:repeat(3,1fr)}
  .swatches{grid-template-columns:repeat(3,1fr)}
  .fcols{grid-template-columns:repeat(3,1fr)}
  .fbrand{grid-column:1 / -1}
  .cta-band .row{justify-content:flex-start}
  .mount-img{min-height:300px}
  .mcta{display:flex}
  .ftr{padding-bottom:84px}
  .roll{height:auto}
  .roll-stage{position:static;height:auto;display:block}
  .roll-list-wrap{height:auto;-webkit-mask:none;mask:none;overflow:visible}
  .roll-list{position:static;transform:none!important;display:grid}
  .roll-list li{height:auto;opacity:1;padding:22px 0;border-top:1px solid var(--rule)}
  .roll-list li p{opacity:1;transform:none}
  .roll-list .mob-img{display:block;margin-top:14px;border-radius:var(--r-md);aspect-ratio:16/10;width:100%;object-fit:cover}
  .roll-side{display:none}
  .built{height:auto}
  .built-stage{position:relative;height:auto;padding-block:96px}
  .built-words{height:auto;display:grid;gap:2px;font-size:clamp(2.2rem,10vw,4.4rem)}
  .built-words span{position:static;opacity:1}
  .built-list{display:none}
  .mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}
  .m1{grid-column:1 / -1;grid-row:span 2}.m2,.m3,.m4,.m5{grid-column:span 1;grid-row:span 1}.m6{grid-column:1 / -1;grid-row:span 2}
  .tl{--col:0px !important}
  .tl::before,.tl .tl-line,.tl li::after{display:none}
  .tl li{grid-template-columns:1fr;gap:12px}
  .tl .yr{position:static;text-align:left;padding:0}
  .tl .body{padding:0}
}
@media (max-width:620px){
  .g2,.g3,.g4,.steps,.aud,.fgrid,.formats{grid-template-columns:1fr}
  .logo-grid{grid-template-columns:repeat(2,1fr)}
  .swatches{grid-template-columns:repeat(2,1fr)}
  .fcols{grid-template-columns:repeat(2,1fr)}
  .empty{grid-template-columns:1fr}
  .mount-copy dl{grid-template-columns:1fr 1fr}
  .announce{text-align:left;padding-left:16px;font-size:12.5px}
  .hero-meta .dot{display:none}
  .hero-meta{flex-direction:column;align-items:flex-start;gap:6px}
  .hero-bottom .hide-s{display:none}
}
/* No-motion / no-GSAP fallback: programme and "built for" render as plain lists */
html.flat .roll{height:auto}
html.flat .roll-stage{position:static;height:auto;display:block}
html.flat .roll-list-wrap{height:auto;-webkit-mask:none;mask:none;overflow:visible}
html.flat .roll-list{position:static;transform:none!important;display:grid;grid-template-columns:repeat(2,1fr);gap:0 32px}
html.flat .roll-list li{height:auto;opacity:1;padding:22px 0;border-top:1px solid var(--rule)}
html.flat .roll-list li p{opacity:1;transform:none}
html.flat .roll-list .mob-img{display:block;margin-top:14px;border-radius:var(--r-md);aspect-ratio:16/10;width:100%;object-fit:cover}
html.flat .roll-side{display:none}
html.flat .built{height:auto}
html.flat .built-stage{position:relative;height:auto;padding-block:96px}
html.flat .built-words{height:auto;display:grid;gap:2px}
html.flat .built-words span{position:static;opacity:1;font-size:.6em}
html.flat .built-list{display:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .mq-track{animation:none}.marquee{flex-wrap:wrap}
}

/* ===== v4: more patterns, speakers carousel, motion helpers ===== */
.pat-contour{background:url(img/pat-contour-mint.svg) center/cover no-repeat}
.pat-contour-light{background:url(img/pat-contour-forest.svg) center/cover no-repeat}
.pat-contour-volt{background:url(img/pat-contour-onvolt.svg) center/cover no-repeat}
.pat-chevron{background-image:url(img/pat-chevron.svg);background-size:64px 40px}
.pat-dots{background-image:radial-gradient(rgba(10,51,35,.14) 1.4px,transparent 1.6px);background-size:18px 18px}
.pat-dots-dark{background-image:radial-gradient(rgba(228,245,214,.16) 1.4px,transparent 1.6px);background-size:18px 18px}
.strip{height:28px;background-repeat:repeat-x;background-size:auto 28px}
.strip.kente{background-image:url(img/strip-kente.svg)}
.strip.toghu{background-image:url(img/strip-toghu.svg)}
.strip.zig{background-image:url(img/pat-zigzag.svg);background-size:48px 28px}
.strip.move{animation:stripMove 30s linear infinite}
@keyframes stripMove{to{background-position:-1200px 0}}

/* Scroll progress */
.progress-top{position:fixed;left:0;right:0;top:0;height:3px;z-index:120;background:var(--volt);transform-origin:left;transform:scaleX(0);pointer-events:none}

/* Built for — show every word in full (descenders and long words) */
.built-words{font-size:clamp(2.4rem,7.4vw,7.6rem);height:1.32em;margin-top:18px}
.built-words span{top:.1em;line-height:1.1}
.built-stage{padding-block:40px}

/* Speakers carousel */
.spk{position:relative;overflow:hidden}
.car{position:relative;margin-top:44px}
.car-track{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(240px,24vw,320px);gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);padding:8px var(--gutter) 28px;scrollbar-width:none;cursor:grab;-webkit-overflow-scrolling:touch}
.car-track::-webkit-scrollbar{display:none}
.car-track.dragging{cursor:grabbing;scroll-snap-type:none}
.car-track.dragging *{pointer-events:none}
@media (min-width:1360px){.car-track{padding-inline:calc((100vw - var(--max))/2 + var(--gutter));scroll-padding-inline:calc((100vw - var(--max))/2 + var(--gutter))}}
.scard{scroll-snap-align:start;position:relative;aspect-ratio:3/4.1;border-radius:var(--r-lg);overflow:hidden;isolation:isolate;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;text-decoration:none;transform-style:preserve-3d;will-change:transform;transition:box-shadow 400ms var(--ease-out)}
.scard:focus-visible{outline-offset:4px}
@media (hover:hover) and (pointer:fine){.scard:hover{box-shadow:var(--shadow-2)}}
.scard .bgp{position:absolute;inset:0;z-index:-3}
.scard .sil{position:absolute;left:50%;bottom:0;width:86%;translate:-50% 0;z-index:-2;transition:transform 700ms var(--ease-expo)}
.scard .q{position:absolute;right:16px;top:12px;font:900 64px/1 var(--f-display);opacity:.9;z-index:-1;transition:transform 600ms var(--ease-expo)}
.scard .shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 45%,rgba(6,35,23,.88) 92%)}
.scard .badge{position:absolute;left:16px;top:16px}
.scard b{display:block;font:800 19px/1.15 var(--f-display)}
.scard small{display:block;margin-top:6px;font:500 13.5px/1.35 var(--f-text);color:rgba(255,255,255,.82)}
.scard .notify{display:inline-flex;align-items:center;gap:8px;margin-top:14px;align-self:flex-start;background:var(--volt);color:var(--forest);font:700 10.5px/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase;padding:10px 14px;border-radius:var(--r-pill);transform:translateY(8px);opacity:.0;transition:transform 400ms var(--ease-out),opacity 300ms ease}
.scard .notify svg{width:14px;height:14px}
@media (hover:hover) and (pointer:fine){.scard:hover .sil{transform:scale(1.06) translateY(-6px)}.scard:hover .q{transform:rotate(-8deg) scale(1.1)}.scard:hover .notify{transform:none;opacity:1}}
@media (hover:none){.scard .notify{opacity:1;transform:none}}
.scard.t-forest{background:var(--forest)}.scard.t-volt{background:var(--volt);color:var(--forest)}.scard.t-mint{background:var(--mint);color:var(--forest)}.scard.t-char{background:var(--charcoal)}.scard.t-leaf{background:var(--elephant)}
.scard.t-volt small,.scard.t-mint small{color:var(--ink-2)}
.scard.t-volt .shade,.scard.t-mint .shade{background:linear-gradient(180deg,transparent 50%,rgba(255,255,255,.75) 95%)}
.scard.cta{background:#fff;color:var(--forest);border:1.5px dashed var(--rule-2);justify-content:center;align-items:flex-start;gap:12px}
.scard.cta .big{font:900 34px/1 var(--f-display)}
.car-ui{display:flex;align-items:center;gap:18px;margin-top:4px}
.car-bar{flex:1;height:3px;border-radius:3px;background:var(--rule);overflow:hidden}
.car-bar i{display:block;height:100%;width:100%;background:var(--forest);transform-origin:left;transform:scaleX(.2)}
.car-btn{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--rule-2);background:#fff;display:grid;place-items:center;cursor:pointer;transition:background-color 200ms ease,color 200ms ease,transform 160ms var(--ease-out),opacity 200ms ease}
.car-btn:active{transform:scale(.94)}
.car-btn:disabled{opacity:.35;cursor:default}
.car-btn svg{width:18px;height:18px}
@media (hover:hover){.car-btn:not(:disabled):hover{background:var(--forest);color:#fff;border-color:var(--forest)}}
.car-count{font:800 13px/1 var(--f-display);letter-spacing:.12em;font-variant-numeric:tabular-nums;color:var(--ink-3)}
.car-count b{color:var(--ink)}

/* Section heading split words */
.wd{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.wd>span{display:inline-block}

/* Tilt */
[data-tilt]{transform-style:preserve-3d}

/* Pattern ornament blocks */
.orn{position:absolute;pointer-events:none;z-index:0;border-radius:50%}
@media (max-width:620px){.car-track{grid-auto-columns:76vw}}
@media (max-width:1023px){.built-words{height:auto;font-size:clamp(2rem,9vw,4rem)}.built-words span{position:static;opacity:1}}
html.flat .built-words{height:auto}
html.flat .built-words span{position:static;opacity:1;font-size:.7em}
.built-stage>.wrap{width:100%}

/* ===================== v5 · Mobile, native feel ===================== */
html{-webkit-tap-highlight-color:transparent}
a,button,[role="button"],summary,label{touch-action:manipulation}
.btn,.chev,.tab,.chips span,.filter button,.car-btn,.dk,.lang button,.modes button,summary,.method,.sw{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.field input,.field select,.field textarea,.promo input{font-size:16px}
.date-chip{display:none}
.burger{display:grid;gap:5px;width:18px}
.burger i{display:block;height:2px;border-radius:2px;background:currentColor;transition:transform 300ms var(--ease-out)}
.burger i:last-child{width:12px;justify-self:end}

/* Bottom dock (phones + tablets) */
.dock{display:none}
@media (max-width:1023px){
  .dock{position:fixed;z-index:85;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);translate:-50% 0;display:flex;align-items:flex-end;gap:2px;padding:6px;border-radius:26px;background:rgba(255,255,255,.86);backdrop-filter:saturate(1.8) blur(18px);-webkit-backdrop-filter:saturate(1.8) blur(18px);border:1px solid rgba(10,51,35,.1);box-shadow:0 10px 40px rgba(6,35,23,.22),0 2px 6px rgba(6,35,23,.08);transition:transform 420ms var(--ease-expo),opacity 300ms ease;width:min(420px,calc(100vw - 24px))}
  .dock.tuck{transform:translateY(calc(100% + 24px));opacity:0}
  .dk{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;border:0;background:none;border-radius:18px;text-decoration:none;color:var(--ink-3);font:700 10px/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;min-height:54px;transition:color 200ms ease,background-color 200ms ease,transform 140ms var(--ease-out)}
  .dk:active{transform:scale(.92)}
  .dk i{display:grid;place-items:center;width:24px;height:24px}
  .dk i svg{width:22px;height:22px}
  .dk[aria-current="page"]{color:var(--forest);background:var(--mint)}
  .dk-main{flex:1.1;color:var(--forest)}
  .dk-main i{width:52px;height:52px;margin-top:-26px;border-radius:50%;background:var(--volt);box-shadow:0 8px 22px rgba(120,170,20,.45),0 0 0 5px rgba(255,255,255,.9);transition:transform 300ms var(--ease-out)}
  .dk-main:active i{transform:scale(.9)}
  .dk-main i svg{width:24px;height:24px}
  .ftr{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
  .toast{bottom:calc(env(safe-area-inset-bottom,0px) + 100px)}
  .hdr-tools .lang{display:none}
  .menu-toggle{border-color:transparent;background:var(--paper-2)}
  .hdr.over .menu-toggle{background:rgba(255,255,255,.12)}
}
@media (max-width:620px){
  .hdr-cta{display:none!important}
  .date-chip{display:inline-flex;gap:6px;align-items:center;padding:9px 12px;border-radius:var(--r-pill);background:var(--mint);font:700 10.5px/1 var(--f-display);letter-spacing:.12em;color:var(--forest)}
  .date-chip b{font-weight:900}
  .hdr.over .date-chip{background:rgba(168,230,43,.16);color:var(--volt)}
  .announce{padding:9px 48px 9px 16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}
  .announce [data-i18n="announce"]{display:none}
}

/* Full-screen menu */
.mnav{background:var(--forest-deep);color:var(--on-dark);padding:0;clip-path:circle(0% at calc(100% - 40px) 34px);opacity:1;transform:none;visibility:hidden;transition:clip-path 650ms var(--ease-expo),visibility 0s 650ms}
.mnav.open{clip-path:circle(150% at calc(100% - 40px) 34px);visibility:visible;transition:clip-path 700ms var(--ease-expo)}
.mnav-bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.mnav-bg .pat-contour{position:absolute;inset:-10%;opacity:.8}
.mnav-bg::after{content:"";position:absolute;left:-30%;bottom:-18%;width:160%;height:46%;background:url(img/pat-blob-forest.svg);background-size:220px;-webkit-mask:linear-gradient(transparent,#000 60%);mask:linear-gradient(transparent,#000 60%)}
.mnav-top{padding:calc(env(safe-area-inset-top,0px) + 10px) var(--gutter) 6px;height:auto}
.mnav-top img{height:38px}
.mnav-top .icon-btn{border-color:var(--on-dark-rule);color:#fff;background:rgba(255,255,255,.06)}
.mnav-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:8px var(--gutter) calc(env(safe-area-inset-bottom,0px) + 28px);display:flex;flex-direction:column;gap:18px}
.mnav .mi,.mnav-cd,.mnav-tiles,.mnav-foot{opacity:0;transform:translateY(18px);transition:opacity 300ms ease,transform 600ms var(--ease-expo)}
.mnav.open .mi,.mnav.open .mnav-cd,.mnav.open .mnav-tiles,.mnav.open .mnav-foot{opacity:1;transform:none;transition-delay:calc(140ms + var(--i) * 45ms)}
.mnav-cd{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:end;padding:16px 18px;border-radius:20px;background:rgba(168,230,43,.1);border:1px solid rgba(168,230,43,.25)}
.mnav-cd span{font:700 10px/1 var(--f-display);letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-2)}
.mnav-cd b{grid-row:span 2;font:900 30px/1 var(--f-display);color:var(--volt)}
.mnav-cd small{color:var(--on-dark-2);font-size:13px}
.mnav-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mnav-tiles a{display:grid;gap:4px;padding:14px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid var(--on-dark-rule);text-decoration:none;transition:transform 140ms var(--ease-out),background-color 200ms ease}
.mnav-tiles a:active{transform:scale(.97)}
.mnav-tiles a i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(168,230,43,.14);color:var(--volt);margin-bottom:6px}
.mnav-tiles a i svg{width:18px;height:18px}
.mnav-tiles a b{font:800 15px/1.1 var(--f-display)}
.mnav-tiles a small{font-size:12px;color:var(--on-dark-2)}
.mnav-tiles a.t-volt{background:var(--volt);color:var(--forest);border-color:transparent}
.mnav-tiles a.t-volt i{background:rgba(10,51,35,.12);color:var(--forest)}
.mnav-tiles a.t-volt small{color:rgba(10,51,35,.7)}
.mnav-list{margin:0;padding:0;flex:none;overflow:visible}
.mnav-list>li{border-bottom:1px solid var(--on-dark-rule)}
.mnav-list summary,.mnav-list .mhome{display:flex;align-items:center;gap:14px;padding:16px 2px;font:800 24px/1 var(--f-display);color:var(--on-dark);text-decoration:none;cursor:pointer;list-style:none}
.mnav-list .mn{font:700 11px/1 var(--f-display);color:var(--volt);letter-spacing:.1em;width:22px}
.mnav-list .ml{flex:1}
.mnav-list .cur .ml{color:var(--volt)}
.mnav-list summary svg{width:16px;transition:transform 260ms var(--ease-out);color:var(--on-dark-2)}
.mnav-list details[open] summary svg{transform:rotate(45deg);color:var(--volt)}
.mnav-list ul{padding:0 0 14px 36px;gap:0}
.mnav-list ul a{display:flex;align-items:center;gap:12px;padding:11px 0;color:var(--on-dark-2);font:600 15px/1.2 var(--f-text);text-decoration:none}
.mnav-list ul a i{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.06);color:var(--volt);flex:none}
.mnav-list ul a i svg{width:16px;height:16px}
.mnav-list ul a.ov{color:var(--volt);font-weight:700}
.mnav-list ul a.ov svg{width:14px}
.mnav-list details ul{animation:subIn 360ms var(--ease-out)}
@keyframes subIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.mnav-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;font:700 11px/1 var(--f-display);letter-spacing:.14em;color:var(--on-dark-2)}
.mnav-foot .lang{border-color:var(--on-dark-rule)}
.mnav-foot .lang button{color:var(--on-dark-2)}
.mnav-foot .lang button[aria-pressed="true"]{background:var(--volt);color:var(--forest)}

/* Sticky "on this page" bar */
.subnav{position:fixed;left:0;right:0;top:var(--hdr);z-index:58;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--rule);transform:translateY(-110%);transition:transform 380ms var(--ease-expo);pointer-events:none}
.subnav.show{transform:none;pointer-events:auto}
.subnav-in{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:10px var(--gutter);max-width:var(--max);margin:0 auto}
.subnav-in::-webkit-scrollbar{display:none}
.subnav a{flex:none;padding:9px 14px;border-radius:var(--r-pill);font:600 13px/1 var(--f-text);text-decoration:none;color:var(--ink-2);transition:background-color 200ms ease,color 200ms ease}
.subnav a.on{background:var(--forest);color:#fff}
.hdr.has-sub{border-bottom-color:transparent}

/* Swipe rows on phones */
.snap-dots{display:none}
@media (max-width:700px){
  .snap-m{display:grid!important;grid-auto-flow:column;grid-template-columns:none!important;grid-auto-columns:84%;gap:12px!important;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;margin-inline:calc(-1 * var(--gutter));padding:6px var(--gutter) 10px!important;scroll-padding-inline:var(--gutter);scrollbar-width:none;align-items:stretch}
  .snap-m::-webkit-scrollbar{display:none}
  .snap-m>*{scroll-snap-align:start;min-width:0}
  .snap-dots{display:flex;justify-content:center;gap:6px;margin-top:10px}
  .snap-dots i{width:6px;height:6px;border-radius:6px;background:var(--rule-2);transition:width 300ms var(--ease-out),background-color 300ms ease}
  .snap-dots i.on{width:22px;background:var(--forest)}
  .steps.snap-m li{min-height:0}
  .formats{grid-template-columns:1fr 1fr}
  .fmt{min-height:0;padding:14px}
}

/* Mobile: hero, sections, programme carousel */
@media (max-width:1023px){
  .sec{padding-block:clamp(64px,14vw,96px)}
  .hero{min-height:100svh}
  .hero-media img{animation:kb 18s ease-in-out infinite alternate}
  .hero h1{font-size:clamp(2.7rem,12.5vw,4.6rem)}
  .roll{margin-top:28px}
  .roll-stage{padding:0}
  .roll-list-wrap{overflow:visible}
  .roll-list{grid-auto-flow:column;grid-auto-columns:80%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:6px var(--gutter) 16px;scroll-padding-inline:var(--gutter);scrollbar-width:none}
  .roll-list::-webkit-scrollbar{display:none}
  .roll-list li{scroll-snap-align:start;border:1px solid var(--rule)!important;border-radius:var(--r-lg);background:#fff;padding:12px 12px 18px!important;display:flex;flex-direction:column}
  .roll-list li .mob-img{order:-1;margin:0 0 14px!important;border-radius:16px}
  .roll-list h3{font-size:1.4rem}
  .roll-list li.more{background:var(--volt);border-color:transparent!important}
  #programme{padding-bottom:72px!important}
  .mount{border-radius:var(--r-lg)}
  .stats{border-radius:var(--r-lg)}
  .cta-band{border-radius:var(--r-lg)}
}
@keyframes kb{from{transform:scale(1.04)}to{transform:scale(1.14) translateX(-3%)}}
@media (max-width:620px){
  .hero-in{padding-top:calc(var(--hdr) + 36vh);gap:16px}
  .hero-side>a.glass{display:none}
  .hero-side{width:100%}
  .glass .cd{justify-content:space-between}
  .hero-ctas{display:grid;grid-template-columns:1fr;gap:10px}
  .hero-ctas .btn{width:100%;min-height:54px}
  .hero-bottom{display:none}
  .hero .eyebrow::before{display:none}
  .phero{padding-block:28px 56px}
  .phero .ctas{display:grid;grid-template-columns:1fr;gap:10px}
  .phero .ctas .btn{width:100%;min-height:54px}
  .phero-media{border-radius:var(--r-lg);aspect-ratio:4/3.2}
  .phero-ribbon{right:-50px;bottom:-40px}
  .jump{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);scrollbar-width:none}
  .jump::-webkit-scrollbar{display:none}
  .jump a{flex:none}
  .head-row{gap:16px}
  .head-row>.btn{min-height:46px}
  .cta-band .row .btn{flex:1}
  .ftr-big h2{font-size:2.6rem}
  .fcols{gap:28px 16px}
  .car-btn{width:46px;height:46px}
  .cd-big b{font-size:2.2rem}
  .faq-list summary{padding:18px 0}
  .mosaic{grid-auto-rows:120px;gap:8px}
}
@media (prefers-reduced-motion:reduce){.hero-media img{animation:none}.mnav{transition:none}}
@media (max-width:620px){
  .hero-in{padding-top:calc(var(--hdr) + 30vh)}
  .hero .eyebrow{font-size:10px;letter-spacing:.22em}
  .hero-meta{flex-direction:row;flex-wrap:wrap;gap:6px 12px;font-size:11.5px}
  .hero-meta>span:last-child{display:none}
  .hero-shade{background:linear-gradient(180deg,rgba(6,35,23,.7) 0%,rgba(6,35,23,0) 16%,rgba(6,35,23,0) 22%,var(--forest-deep) 48vh)!important}
  .scard{aspect-ratio:3/3.6}
}

/* ===================== v6 · pages, autoplay, mobile clarity ===================== */
/* Explore tiles (home) */
.explore{padding-block:40px 8px}
.ex-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:16px}
.ex-grid a{display:grid;gap:3px;padding:16px;border-radius:18px;background:#fff;border:1px solid var(--rule);text-decoration:none;transition:transform 160ms var(--ease-out),box-shadow 300ms var(--ease-out),background-color 200ms ease}
.ex-grid a:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.ex-grid a:hover{box-shadow:var(--shadow-2);transform:translateY(-3px)}}
.ex-grid i{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--mint);color:var(--forest);margin-bottom:8px}
.ex-grid i svg{width:20px;height:20px}
.ex-grid b{font:800 15px/1.1 var(--f-display)}
.ex-grid small{font-size:12.5px;color:var(--ink-3)}
.ex-grid a.hot{background:var(--volt);border-color:transparent}
.ex-grid a.hot i{background:var(--forest);color:var(--volt)}
.ex-grid a.hot small{color:var(--ink-2)}

/* Autoplay pause button */
.car-play .i-play{display:none}
.car-play[aria-pressed="true"] .i-play{display:block}
.car-play[aria-pressed="true"] .i-pause{display:none}

/* Speakers grid */
.sgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}
.sgrid .scard{aspect-ratio:3/3.8}
.filter{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.filter::-webkit-scrollbar{display:none}
.filter button{flex:none;min-height:44px}

/* Partners directory */
.org{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;margin-top:36px;padding:28px;border-radius:var(--r-xl);background:var(--paper-2);border:1px solid var(--rule)}
.org-logo{width:220px;aspect-ratio:1.6;display:grid;place-items:center;background:#fff;border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-1)}
.org p{color:var(--ink-2);margin:8px 0 14px;max-width:56ch}
.tiers{display:grid;gap:36px;margin-top:40px}
.tier-h{display:flex;align-items:center;gap:14px;margin:0 0 16px;font:700 12px/1 var(--f-display);letter-spacing:.2em;text-transform:uppercase}
.tier-h i{flex:1;height:1px;background:var(--rule-2)}
.tier-h em{font-style:normal;color:var(--elephant);letter-spacing:.1em}
.slots{display:grid;gap:12px}
.slots-xl{grid-template-columns:1fr}.slots-l{grid-template-columns:repeat(2,1fr)}.slots-m{grid-template-columns:repeat(4,1fr)}.slots-s{grid-template-columns:repeat(6,1fr)}
.institutional .slots-m,#institutional .slots-m{grid-template-columns:repeat(3,1fr)}
.slot{position:relative;display:grid;place-items:center;align-content:center;gap:6px;text-align:center;padding:18px;border-radius:var(--r-lg);border:1.5px dashed var(--rule-2);background:#fff;text-decoration:none;overflow:hidden;isolation:isolate;transition:border-color 200ms ease,transform 200ms var(--ease-out),background-color 200ms ease}
.slot::before{content:"";position:absolute;inset:0;z-index:-1;background:url(img/pat-blob-mint.svg);background-size:200px;opacity:0;transition:opacity 300ms ease}
.slot span{font:700 10px/1 var(--f-display);letter-spacing:.18em;text-transform:uppercase;color:var(--elephant)}
.slot b{font:800 15px/1.15 var(--f-display);color:var(--ink-3)}
.slot small{display:inline-flex;align-items:center;gap:6px;font:600 12px var(--f-text);color:var(--forest)}
.slot small svg{width:13px;height:13px}
.slot:active{transform:scale(.98)}
@media (hover:hover) and (pointer:fine){.slot:hover{border-color:var(--forest);border-style:solid}.slot:hover::before{opacity:1}}
.slot-xl{min-height:220px;background:var(--forest);border:0}
.slot-xl::before{background:url(img/pat-contour-mint.svg) center/cover;opacity:1}
.slot-xl span{color:var(--volt)}.slot-xl b{color:#fff;font-size:clamp(1.4rem,3vw,2.2rem)}.slot-xl small{color:var(--on-dark-2)}
.slot-l{min-height:170px}.slot-m{min-height:130px}.slot-s{min-height:104px;padding:12px}.slot-s small{display:none}.slot-s b{font-size:13px}

@media (max-width:1023px){
  .ex-grid{grid-template-columns:repeat(3,1fr)}
  .sgrid{grid-template-columns:repeat(3,1fr)}
  .slots-m{grid-template-columns:repeat(2,1fr)}.slots-s{grid-template-columns:repeat(3,1fr)}
  #institutional .slots-m{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:620px){
  .explore{padding-block:28px 0}
  .ex-grid{grid-template-columns:repeat(3,1fr);gap:8px}
  .ex-grid a{padding:12px 10px;text-align:center;justify-items:center;border-radius:16px}
  .ex-grid i{margin-bottom:4px;width:40px;height:40px}
  .ex-grid small{display:none}
  .ex-grid b{font-size:12.5px}
  .sgrid{grid-template-columns:1fr 1fr;gap:10px}
  .sgrid .scard{padding:14px;border-radius:20px}
  .sgrid .scard b{font-size:14.5px}.sgrid .scard small{font-size:11.5px}
  .sgrid .scard .notify{display:none}
  .sgrid .scard .q{font-size:40px}
  .org{grid-template-columns:1fr;padding:20px}
  .org-logo{width:100%}
  .slots-l,.slots-m,#institutional .slots-m{grid-template-columns:1fr 1fr}.slots-s{grid-template-columns:repeat(2,1fr)}
  .slot-xl{min-height:170px}
  .tier-h em{display:none}
  /* clearer section rhythm on phones */
  .head-row .lead{font-size:1rem}
  .eyebrow{font-size:11px}
  .snap-m{grid-auto-columns:82%}
}
@media (max-width:620px){.slot-l small,.slot-m small{display:none}.slot-l{min-height:130px}.slot-m{min-height:110px}.slot b{font-size:13.5px}}

/* ===================== v7 · Dark preview theme (black + white, green only where it matters) ===================== */
:root{--surface:#fff;--inv:#fff}
.theme-btn{position:relative;overflow:hidden}
.theme-btn svg{position:absolute;width:18px;height:18px;transition:transform 500ms var(--ease-expo),opacity 300ms ease}
.theme-btn .moon{transform:translateY(0)}.theme-btn .sun{transform:translateY(140%) rotate(90deg);opacity:0}
html[data-theme="dark"] .theme-btn .moon{transform:translateY(-140%) rotate(-90deg);opacity:0}
html[data-theme="dark"] .theme-btn .sun{transform:none;opacity:1}
.hdr.over .theme-btn{border-color:rgba(255,255,255,.3);color:#fff}
.theme-row{display:flex;align-items:center;gap:10px}
.theme-seg{display:flex;border:1px solid var(--on-dark-rule);border-radius:var(--r-pill);padding:3px}
.theme-seg button{border:0;background:none;font:700 10.5px/1 var(--f-display);letter-spacing:.1em;padding:9px 12px;border-radius:var(--r-pill);cursor:pointer;color:var(--on-dark-2);text-transform:uppercase}
.theme-seg button[aria-pressed="true"]{background:var(--volt);color:#0B0D0C}
html.theming,html.theming *{transition:background-color 500ms ease,color 400ms ease,border-color 400ms ease!important}

html[data-theme="dark"]{
  color-scheme:dark;
  --paper:#050605;--paper-2:#0C0E0D;--surface:#101312;--mint:#181C1A;--mint-2:#1E2320;
  --forest:#0B0D0C;--forest-deep:#030403;--forest-2:#141716;--charcoal:#141716;
  --elephant:#A8E62B;--leaf:#A8E62B;
  --ink:#F3F5F2;--ink-2:rgba(243,245,242,.72);--ink-3:rgba(243,245,242,.5);--inv:#0B0D0C;
  --rule:rgba(255,255,255,.09);--rule-2:rgba(255,255,255,.17);
  --on-dark:#F3F5F2;--on-dark-2:rgba(243,245,242,.7);--on-dark-rule:rgba(255,255,255,.12);
  --shadow-1:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);--shadow-2:0 2px 6px rgba(0,0,0,.5),0 24px 60px rgba(0,0,0,.55);
}
/* white islands: these blocks switch back to a black-on-white palette */
html[data-theme="dark"] :is(.bg-mint,.offer.feat,.scard.t-volt,.ticket,.org-logo){
  --ink:#0B0D0C;--ink-2:#3E4441;--ink-3:#6B716E;--inv:#fff;--surface:#fff;--paper-2:#F3F4F3;--mint:#ECEEEC;--mint-2:#E2E5E2;
  --rule:rgba(0,0,0,.1);--rule-2:rgba(0,0,0,.18);--elephant:#3B6E18;--forest:#0B0D0C;color:var(--ink)}
html[data-theme="dark"] .bg-mint{background:#fff}
html[data-theme="dark"] .bg-mint .patch{opacity:.0!important}
html[data-theme="dark"] body{background:var(--paper);color:var(--ink)}

/* surfaces */
html[data-theme="dark"] :is(.card,.contest,.offer,.lt,.news-card,.post,.panel-form,.fmt,.steps li,.tbl-wrap,.aud div,.pillars li,.sw,.ex-grid a,.slot,.scard.cta,.car-btn,.filter button,.ck-main,.method,.empty,.org){background:var(--surface)}
html[data-theme="dark"] :is(.field input,.field select,.field textarea){background:var(--surface);color:var(--ink)}
html[data-theme="dark"] .offer.feat{background:#fff;color:var(--ink)}
html[data-theme="dark"] .offer.feat .pat-blob-forest{display:none}
html[data-theme="dark"] .offer.feat .who{color:var(--ink-2)}
html[data-theme="dark"] .offer.feat .price s{color:var(--ink-3)}
html[data-theme="dark"] .offer.feat li svg{color:var(--elephant)}
html[data-theme="dark"] .offer.feat .left{color:var(--warn)}
html[data-theme="dark"] :is(.stats,.mount,.slot-xl,.mega-feature){border:1px solid var(--rule-2)}
html[data-theme="dark"] .mega-panel{background:#0C0E0D;border-color:var(--rule-2)}
html[data-theme="dark"] .mega-feature{background:#141716}
html[data-theme="dark"] .mega-feature .pat-blob-forest{opacity:.25}

/* header, dock, subnav, menus */
html[data-theme="dark"] .hdr{background:rgba(5,6,5,.82);border-color:var(--rule)}
html[data-theme="dark"] .hdr .hdr-logo .col{opacity:0}
html[data-theme="dark"] .hdr .hdr-logo .rev{opacity:1}
html[data-theme="dark"] .hdr.over{background:transparent;border-color:transparent}
html[data-theme="dark"] .subnav{background:rgba(5,6,5,.88);border-color:var(--rule)}
html[data-theme="dark"] .dock{background:rgba(16,19,18,.86);border-color:var(--rule-2)}
html[data-theme="dark"] .dk[aria-current="page"]{background:var(--mint-2);color:var(--ink)}
html[data-theme="dark"] .dk-main{color:var(--ink)}
html[data-theme="dark"] .dk-main i{color:#0B0D0C;box-shadow:0 8px 22px rgba(168,230,43,.25),0 0 0 5px #050605}
html[data-theme="dark"] .date-chip{background:var(--mint-2);color:var(--ink)}
html[data-theme="dark"] .announce{background:#000;border-bottom:1px solid var(--rule)}
html[data-theme="dark"] .toast{background:#F3F5F2;color:#0B0D0C}

/* active fills: white on black instead of forest */
html[data-theme="dark"] :is(.lang button[aria-pressed="true"],.filter button[aria-pressed="true"],.chips input:checked+span,.subnav a.on,.c-switch a[aria-current="page"],.pass-switch button[aria-pressed="true"]){background:var(--ink);color:var(--inv);border-color:var(--ink)}
html[data-theme="dark"] :is(.tab-ink,.progress i::after,.roll-bar i,.car-bar i,.tl .tl-line,.rounds .rline,.crit .bar i){background:var(--volt)}
html[data-theme="dark"] .snap-dots i.on{background:var(--ink)}
html[data-theme="dark"] .btn-dark{--bg:var(--ink);--fg:var(--inv);--fill:var(--volt)}
html[data-theme="dark"] .btn-line{--fg:var(--ink);--fill:var(--ink)}
@media (hover:hover) and (pointer:fine){
  html[data-theme="dark"] .btn-line:hover{color:var(--inv);border-color:var(--ink)}
  html[data-theme="dark"] .btn-primary:hover{color:#0B0D0C;--fill:#F3F5F2}
  html[data-theme="dark"] .btn-dark:hover{color:#0B0D0C}
  html[data-theme="dark"] .car-btn:not(:disabled):hover{background:var(--ink);color:var(--inv);border-color:var(--ink)}
}

/* text that used Forest as its colour */
html[data-theme="dark"] :is(.link,.badge,.crumbs a:hover,.slot small,.scard.cta,.steps li::before,.ex-grid b){color:var(--ink)}
html[data-theme="dark"] .badge.open{color:#0B0D0C}
html[data-theme="dark"] :is(.card .ico,.ex-grid i,.pillars li i,.mega-links a i,.mnav-tiles a i){color:var(--volt);background:var(--mint-2)}
html[data-theme="dark"] .ex-grid a.hot{background:var(--volt)}
html[data-theme="dark"] .ex-grid a.hot b{color:#0B0D0C}
html[data-theme="dark"] .ex-grid a.hot i{background:#0B0D0C}
html[data-theme="dark"] .aud i{background:var(--mint-2)}
html[data-theme="dark"] .tbl thead th.hi{background:var(--ink);color:var(--inv)}
html[data-theme="dark"] .tbl .y{color:var(--volt)}
html[data-theme="dark"] .hl{color:var(--volt)}
html[data-theme="dark"] .hl::after{opacity:0}
html[data-theme="dark"] .bg-mint .hl{color:inherit}
html[data-theme="dark"] .bg-mint .hl::after{opacity:1}
html[data-theme="dark"] .theme-q .w{color:var(--ink)}

/* speaker cards */
html[data-theme="dark"] .scard.t-volt{background:#F3F5F2;color:var(--ink)}
html[data-theme="dark"] .scard.t-volt .bgp{opacity:.12;filter:grayscale(1)}
html[data-theme="dark"] .scard.t-volt .shade{background:linear-gradient(180deg,transparent 50%,rgba(255,255,255,.8) 95%)}
html[data-theme="dark"] .scard.t-mint,html[data-theme="dark"] .scard.t-leaf{background:#161A18;color:#F3F5F2}
html[data-theme="dark"] .scard.t-mint small{color:rgba(243,245,242,.75)}
html[data-theme="dark"] .scard.t-mint .shade{background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.85) 92%)}
html[data-theme="dark"] .scard.t-mint .bgp{opacity:.3}
html[data-theme="dark"] .scard{border:1px solid var(--rule)}

/* patterns: neutral on black */
html[data-theme="dark"] .pat-blob{background-image:url(img/pat-blob-ink.svg)}
html[data-theme="dark"] .pat-chevron{background-image:url(img/pat-chevron-dark.svg)}
html[data-theme="dark"] .pat-dots{background-image:radial-gradient(rgba(255,255,255,.1) 1.4px,transparent 1.6px)}
html[data-theme="dark"] .phero .pat{opacity:.9}
html[data-theme="dark"] .slot::before{background-image:url(img/pat-blob-ink.svg)}

/* hero shading: pure black, no green cast */
html[data-theme="dark"] .hero{background:#000}
html[data-theme="dark"] .hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,0) 22%),linear-gradient(90deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.84) 36%,rgba(0,0,0,.2) 62%,rgba(0,0,0,0) 76%),linear-gradient(0deg,rgba(0,0,0,.97) 0%,rgba(0,0,0,.4) 34%,rgba(0,0,0,0) 58%)}
@media (max-width:1023px){html[data-theme="dark"] .hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,0) 22%,rgba(0,0,0,0) 30%,#000 62vh)}}
@media (max-width:620px){html[data-theme="dark"] .hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.7) 0%,rgba(0,0,0,0) 16%,rgba(0,0,0,0) 22%,#000 48vh)!important}}
html[data-theme="dark"] .glass{background:rgba(0,0,0,.55);border-color:rgba(255,255,255,.14)}
html[data-theme="dark"] .mnav{background:#030403}
html[data-theme="dark"] .mnav-cd{background:rgba(255,255,255,.05);border-color:var(--rule-2)}
html[data-theme="dark"] .ftr{background:#000}
html[data-theme="dark"] .ftr>.pat-ndop-dark{opacity:.35}
html[data-theme="dark"] .ed.now .badge{background:#0B0D0C!important}
.link svg{width:14px;height:14px;flex:none}
.news-card .link{align-self:flex-start}
.date-chip{white-space:nowrap}
@media (max-width:620px){.hdr-tools{gap:8px}.hdr-tools .icon-btn{width:42px;height:42px}}
@media (max-width:400px){.dc-x{display:none}}
html[data-theme="dark"] .menu-toggle{background:var(--mint-2);color:var(--ink)}

/* ===== v8 · dark fixes + more white sections ===== */
/* volt surfaces behave as light islands (dark text) */
html[data-theme="dark"] :is(.cta-band,.ed.now,.mnav-tiles a.t-volt,.ex-grid a.hot,.badge.open,.btn-primary,.modes button[aria-pressed="true"],.theme-seg button[aria-pressed="true"]){
  --ink:#0B0D0C;--ink-2:#26302A;--ink-3:#3E4A43;--inv:#fff;--surface:#fff;--rule:rgba(0,0,0,.12);--rule-2:rgba(0,0,0,.22);--forest:#0B0D0C;--on-dark-2:#26302A}
html[data-theme="dark"] .badge.badge.open{color:#0B0D0C}
html[data-theme="dark"] .modes button[aria-pressed="true"]{background:var(--volt);color:#0B0D0C}
html[data-theme="dark"] .cta-band .field input{background:#fff;color:#0B0D0C;border-color:rgba(0,0,0,.25)}
html[data-theme="dark"] .cta-band .field label{color:#0B0D0C}
html[data-theme="dark"] .mnav-tiles a.t-volt small{color:#26302A}
/* literal white backgrounds written inline or in page styles */
html[data-theme="dark"] :is(.prize,.c-facts div,.rounds li i):not(.prize:first-child){background:var(--surface)}
html[data-theme="dark"] .prize:first-child{background:#fff;color:#0B0D0C;--ink-2:#3E4441}
html[data-theme="dark"] .prize:first-child .pl{color:#0B0D0C}
html[data-theme="dark"] .prize .pl{color:var(--volt)}
html[data-theme="dark"] .rounds li i{color:var(--ink);border-color:var(--volt)}
html[data-theme="dark"] .rounds li:last-of-type i{background:var(--volt);color:#0B0D0C}
html[data-theme="dark"] [style*="background:#fff"]{background:var(--surface)!important}
html[data-theme="dark"] .bg-mint [style*="background:#fff"]{background:#fff!important}

/* extra white sections in dark: break up the black */
html[data-theme="dark"] :is(#theme,#news,#why,#how,#organiser,#formats,#contests,#passes,#meet,#community,#gallery,#overview-w){
  background:#fff;--ink:#0B0D0C;--ink-2:#3E4441;--ink-3:#6B716E;--inv:#fff;--surface:#F4F5F4;--paper-2:#F4F5F4;--mint:#ECEEEC;--mint-2:#E2E5E2;
  --rule:rgba(0,0,0,.1);--rule-2:rgba(0,0,0,.18);--elephant:#3B6E18;--forest:#0B0D0C;color:var(--ink)}
html[data-theme="dark"] :is(#theme,#news,#why,#how,#organiser,#formats,#contests,#passes,#meet,#community,#gallery) .hl{color:inherit}
html[data-theme="dark"] :is(#theme,#news,#why,#how,#organiser,#formats,#contests,#passes,#meet,#community,#gallery) .hl::after{opacity:1}
html[data-theme="dark"] :is(#theme,#news,#why,#how,#organiser,#formats,#contests,#passes,#meet,#community,#gallery) :is(.card .ico,.ex-grid i,.pillars li i){color:#0B0D0C;background:var(--volt)}
html[data-theme="dark"] :is(#theme,#news,#why,#how,#organiser,#formats,#contests,#passes,#meet,#community,#gallery) .patch{opacity:.0}
html[data-theme="dark"] :is(#theme,#news,#why,#how,#organiser,#formats,#contests,#passes,#meet,#community,#gallery) .aud i{background:#0B0D0C;color:var(--volt)}
html[data-theme="dark"] :is(#theme,#news,#why,#how,#organiser,#formats,#contests,#passes,#meet,#community,#gallery) .tbl .y{color:var(--elephant)}
html[data-theme="dark"] #theme .theme-q .w{color:#0B0D0C}
html[data-theme="dark"] .prize:first-child span{color:#3E4441}
html[data-theme="dark"] .rounds li:last-of-type i{background:var(--volt)!important;color:#0B0D0C}
html[data-theme="dark"] section:is([aria-labelledby="ov-h"],[aria-labelledby="cr-h"],[aria-labelledby="mom-h"]){
  background:#fff;--ink:#0B0D0C;--ink-2:#3E4441;--ink-3:#6B716E;--inv:#fff;--surface:#F4F5F4;--paper-2:#F4F5F4;--mint:#ECEEEC;--mint-2:#E2E5E2;
  --rule:rgba(0,0,0,.1);--rule-2:rgba(0,0,0,.18);--elephant:#3B6E18;--forest:#0B0D0C;color:var(--ink)}
html[data-theme="dark"] section[aria-labelledby="cr-h"] .crit .bar i{background:#0B0D0C}

/* ===== v9 · business + investors ===== */
.ex-grid{grid-template-columns:repeat(4,1fr)}
@media (max-width:620px){.ex-grid{grid-template-columns:repeat(4,1fr);gap:6px}.ex-grid a{padding:10px 4px;border-radius:14px}.ex-grid i{width:36px;height:36px}.ex-grid b{font-size:10.5px;letter-spacing:-.01em}}
.biz-top{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,64px);align-items:center}
.biz-fig{margin:0;position:relative;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/3.4;box-shadow:var(--shadow-2)}
.biz-fig img{width:100%;height:100%;object-fit:cover}
.biz-fig figcaption{position:absolute;left:14px;right:14px;bottom:14px;display:grid;gap:2px;padding:14px 16px;border-radius:var(--r-md);background:rgba(255,255,255,.92);backdrop-filter:blur(8px);color:#0B0D0C}
.biz-fig figcaption b{font:800 15px/1.2 var(--f-display)}
.biz-fig figcaption span{font-size:13px;color:#3E4441}
.inv{overflow:hidden;isolation:isolate}
.inv .lead{color:var(--on-dark-2)}
.inv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:44px;border-radius:var(--r-xl);overflow:hidden;background:var(--on-dark-rule);border:1px solid var(--on-dark-rule)}
.inv-c{display:grid;gap:8px;align-content:start;padding:clamp(22px,3vw,34px);background:rgba(3,10,6,.55);backdrop-filter:blur(6px);transition:background-color 300ms ease}
@media (hover:hover){.inv-c:hover{background:rgba(168,230,43,.07)}}
.inv-c i{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(168,230,43,.14);color:var(--volt);font-style:normal;margin-bottom:6px}
.inv-c i svg{width:22px;height:22px}
.inv-c b{font:800 18px/1.2 var(--f-display);color:var(--on-dark)}
.inv-c span{font-size:14.5px;color:var(--on-dark-2)}
.sectors{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:28px}
.sectors .eyebrow{margin-right:8px}
.sec-chip{display:inline-flex;padding:10px 16px;border-radius:var(--r-pill);border:1px solid var(--on-dark-rule);font:600 13.5px var(--f-text);color:var(--on-dark)}
.sectors.big{margin-top:36px}
.sectors.big .sec-chip{border-color:var(--rule-2);color:var(--ink);font-size:15px;padding:14px 20px;background:var(--surface)}
.solve{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:40px}
.solve div{padding:22px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--rule);display:grid;gap:6px}
.solve b{font:800 17px/1.2 var(--f-display)}
.solve span{color:var(--ink-2);font-size:14.5px}
.flow{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;counter-reset:none}
.flow li{position:relative;padding:22px;border-radius:var(--r-lg);background:rgba(255,255,255,.05);border:1px solid var(--on-dark-rule);display:grid;gap:8px;align-content:start}
.flow li:last-child{background:var(--volt);border-color:transparent}
.flow li:last-child *{color:#0B0D0C!important}
.flow i{font:900 28px/1 var(--f-display);font-style:normal;color:var(--volt)}
.flow b{font:800 16px/1.2 var(--f-display);color:var(--on-dark)}
.flow span{font-size:14px;color:var(--on-dark-2)}
@media (max-width:1023px){.biz-top{grid-template-columns:1fr}.inv-grid{grid-template-columns:1fr 1fr}.solve{grid-template-columns:1fr 1fr}.flow{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.inv-grid,.solve{grid-template-columns:1fr}.flow{grid-template-columns:1fr}.biz-fig{aspect-ratio:4/3}.sectors .eyebrow{width:100%}}
/* dark theme: business section goes white, investors stays black */
html[data-theme="dark"] :is(#business,#gain,#plan){background:#fff;--ink:#0B0D0C;--ink-2:#3E4441;--ink-3:#6B716E;--inv:#fff;--surface:#F4F5F4;--paper-2:#F4F5F4;--mint:#ECEEEC;--mint-2:#E2E5E2;--rule:rgba(0,0,0,.1);--rule-2:rgba(0,0,0,.18);--elephant:#3B6E18;--forest:#0B0D0C;color:var(--ink)}
html[data-theme="dark"] :is(#business,#gain,#plan) .hl{color:inherit}
html[data-theme="dark"] :is(#business,#gain,#plan) .hl::after{opacity:1}
html[data-theme="dark"] :is(#business,#gain,#plan) .card .ico{background:var(--volt);color:#0B0D0C}
html[data-theme="dark"] #business .patch{opacity:0}
html[data-theme="dark"] .inv-c{background:rgba(0,0,0,.6)}
html[data-theme="dark"] .inv-c i,html[data-theme="dark"] .flow li:not(:last-child){background:rgba(255,255,255,.05)}

/* ===== v10 ===== */
/* Dark: no soft drop shadows (they read as grey smudges on black); use a crisp hairline ring instead */
html[data-theme="dark"]{--shadow-1:none;--shadow-2:0 0 0 1px rgba(255,255,255,.16)}
html[data-theme="dark"] .card.lift:hover,html[data-theme="dark"] .contest:hover,html[data-theme="dark"] .scard:hover{box-shadow:0 0 0 1px rgba(168,230,43,.55)}
html[data-theme="dark"] :is(#theme,#news,#why,#how,#organiser,#formats,#contests,#passes,#meet,#community,#gallery,#business,#gain,#plan,.bg-mint) {--shadow-2:0 0 0 1px rgba(0,0,0,.12)}
html[data-theme="dark"] .contest-img .idx{text-shadow:none}
html[data-theme="dark"] .scard .shade{background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.7) 100%)}
html[data-theme="dark"] .scard.t-volt .shade{background:linear-gradient(180deg,transparent 55%,rgba(255,255,255,.85) 100%)}
/* Light theme hero: same neutral black shading as dark mode (no green cast) */
.hero{background:#000}
.hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,0) 22%),linear-gradient(90deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.84) 36%,rgba(0,0,0,.2) 62%,rgba(0,0,0,0) 76%),linear-gradient(0deg,rgba(0,0,0,.97) 0%,rgba(0,0,0,.4) 34%,rgba(0,0,0,0) 58%)}
@media (max-width:1023px){.hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,0) 22%,rgba(0,0,0,0) 30%,#000 62vh)}}
@media (max-width:620px){.hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.7) 0%,rgba(0,0,0,0) 16%,rgba(0,0,0,0) 22%,#000 48vh)!important}}
.glass{background:rgba(0,0,0,.55);border-color:rgba(255,255,255,.14)}

/* ===== v11 · prospectus ===== */
.hero-free{display:inline-flex;align-items:center;gap:10px;margin:14px 0 0;padding:8px 16px 8px 12px;border-radius:var(--r-pill);background:var(--volt);color:#0B0D0C;font:800 12px/1 var(--f-display);letter-spacing:.12em;text-transform:uppercase}
.hero-free::before{content:"";width:8px;height:8px;border-radius:50%;background:#0B0D0C;box-shadow:0 0 0 4px rgba(11,13,12,.15)}
/* Silicon Mountain highlights */
.sm-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}
.sm-cos{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:24px}
.sm-cos span{width:100%;font:700 11px/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}
.sm-cos b{padding:9px 14px;border:1px solid var(--rule-2);border-radius:var(--r-pill);font:700 14px var(--f-text)}
.sm-stats{display:grid;gap:12px}
.sm-stats>div{display:grid;grid-template-columns:minmax(120px,auto) 1fr;gap:18px;align-items:center;padding:22px 24px;border-radius:var(--r-lg);background:var(--forest);color:var(--on-dark)}
.sm-stats>div:nth-child(2){background:var(--volt);color:#0B0D0C}
.sm-stats b{font:900 clamp(2rem,4vw,2.8rem)/1 var(--f-display);letter-spacing:-.02em}
.sm-stats>div:not(:nth-child(2)) b{color:var(--volt)}
.sm-stats span{font-weight:600;font-size:15px;line-height:1.4}
.sm-stats small{color:var(--ink-3);font-size:12px}
html[data-theme="dark"] .sm-stats>div:not(:nth-child(2)){background:var(--surface);border:1px solid var(--rule)}
/* SMCON is back */
.back-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(32px,6vw,72px);align-items:center}
.back-fig{margin:0;position:relative}
.back-fig img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-xl)}
.back-fig figcaption{margin-top:12px;font-size:13px;color:var(--ink-3)}
.back-goals{margin-top:24px}
html[data-theme="dark"] .smback{background:#fff;--ink:#0B0D0C;--ink-2:#3E4441;--ink-3:#6B716E;--rule:rgba(0,0,0,.1);--rule-2:rgba(0,0,0,.18);--elephant:#3B6E18;--surface:#fff;color:var(--ink)}
/* days */
.day{display:grid;grid-template-columns:minmax(220px,.8fr) 1.6fr;gap:32px;padding:clamp(20px,3vw,36px);border-radius:var(--r-lg);border:1px solid var(--rule);background:var(--surface,#fff)}
.day header h3{font:800 clamp(1.3rem,2.4vw,1.8rem)/1.15 var(--f-display);margin:8px 0 12px}
.day header p{display:flex;gap:8px;align-items:center;color:var(--ink-2);margin:0}
.day header p svg{width:18px;height:18px;flex:none}
.day-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.day-list li{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:var(--r-md);background:var(--paper-2);font-weight:600;font-size:15px;line-height:1.35}
.day-list i{width:36px;height:36px;flex:none;border-radius:10px;background:var(--forest);color:var(--volt);display:grid;place-items:center}
.day-list i svg{width:18px;height:18px}
html[data-theme="dark"] .day-list i{background:var(--mint-2)}
/* who you'll meet */
.meet-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.meet-chips span{padding:10px 16px;border-radius:var(--r-pill);border:1.5px solid var(--rule-2);font:600 14px var(--f-text);transition:background-color 200ms ease,color 200ms ease,border-color 200ms ease}
.meet-chips span:hover{background:var(--forest);border-color:var(--forest);color:#fff}
html[data-theme="dark"] .meet-chips span:hover{background:var(--volt);border-color:var(--volt);color:#0B0D0C}
/* prize band */
.prize-band{display:grid;grid-template-columns:1.6fr repeat(3,1fr);border-radius:var(--r-lg);overflow:hidden;background:var(--forest);color:var(--on-dark)}
.prize-band>div{padding:24px 28px;display:flex;flex-direction:column;gap:8px;border-left:1px solid var(--on-dark-rule)}
.prize-band>div:first-child{background:var(--volt);color:#0B0D0C;border:0}
.prize-band>div:first-child .eyebrow{color:#0B0D0C;margin:0}
.prize-band span{font:700 11px/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.prize-band b{font:900 clamp(1.3rem,2.6vw,2rem)/1 var(--f-display)}
html[data-theme="dark"] .prize-band{background:var(--surface);border:1px solid var(--rule)}
/* footer contact */
.fcontact{font-style:normal;display:flex;flex-direction:column;gap:6px;margin:16px 0;font-size:14px;color:var(--on-dark-2)}
.fcontact a{color:var(--on-dark);text-decoration:none;font-weight:600}
.fcontact a:hover{color:var(--volt)}
.pcontact{flex-direction:row;flex-wrap:wrap;gap:10px;margin:24px 0 0}
.pcontact a{padding:10px 16px;border-radius:var(--r-pill);background:var(--forest);color:#fff;font-size:14px}
.pcontact a:hover{background:var(--volt);color:#0B0D0C}
/* packages */
.pkgs .offer h3{font:900 clamp(1.4rem,2.4vw,1.8rem)/1 var(--f-display);letter-spacing:.02em;margin:4px 0 0;text-transform:uppercase}
.pkgs .offer .price b{font-size:clamp(1.5rem,2.4vw,2rem)}
.offer .eur{margin:-8px 0 0;font-size:14px;color:var(--ink-3);font-weight:600}
.offer.feat .eur{color:var(--on-dark-2)}
html[data-theme="dark"] .offer.feat .eur{color:var(--ink-3)}
.offer ul{flex:1}
.offer.more{gap:12px}
.offer.more .eyebrow{color:var(--elephant)}
.offer.more .btn{align-self:flex-start;margin-top:auto}
.tbl-pk tfoot td,.tbl-pk tfoot th{padding:18px 20px;background:var(--forest);color:var(--on-dark);border:0}
.tbl-pk tfoot th{font:700 11.5px/1.2 var(--f-display);letter-spacing:.14em;text-transform:uppercase}
.tbl-pk tfoot td b{display:block;font:800 15px var(--f-display);color:var(--volt)}
.tbl-pk tfoot td small{font-size:12px;color:var(--on-dark-2)}
.tbl-pk tfoot td:nth-child(2){background:var(--volt)}
.tbl-pk tfoot td:nth-child(2) b,.tbl-pk tfoot td:nth-child(2) small{color:#0B0D0C}
.tbl-pk tbody td:nth-child(2){background:color-mix(in srgb,var(--volt) 14%,transparent)}
html[data-theme="dark"] .tbl-pk tfoot :is(td,th){background:var(--surface);border-top:1px solid var(--rule)}
html[data-theme="dark"] .tbl-pk tfoot td:nth-child(2){background:var(--volt)}
.principles{padding:28px 32px;border-radius:var(--r-lg);background:var(--forest);color:var(--on-dark);display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:start}
.principles .eyebrow{color:var(--volt);margin:0}
.principles p:last-child{margin:0;font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.6}
html[data-theme="dark"] .principles{background:var(--surface);border:1px solid var(--rule)}
.steps4{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.steps4 li{padding:28px;border-radius:var(--r-lg);border:1px solid var(--rule);background:var(--surface,#fff);position:relative}
.steps4 li>b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--volt);color:#0B0D0C;font:900 18px var(--f-display);margin-bottom:18px}
.steps4 h3{font:800 18px/1.25 var(--f-display);margin:0 0 8px}
.steps4 p{margin:0;color:var(--ink-2);font-size:15px}
.bud-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.bud-tiers>div{padding:18px;border-radius:var(--r-md);border:1px solid var(--rule);background:var(--surface,#fff);display:flex;flex-direction:column;gap:6px}
.bud-tiers small{font:700 10.5px/1.2 var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.bud-tiers b{font:900 clamp(1.4rem,2.4vw,1.9rem)/1 var(--f-display)}
.bud-tiers span{font-size:13px;color:var(--ink-2);line-height:1.4}
.bud-tiers .on{background:var(--forest);color:var(--on-dark);border-color:transparent}
.bud-tiers .on small,.bud-tiers .on span{color:var(--on-dark-2)}
.bud-tiers .on b{color:var(--volt)}
html[data-theme="dark"] .bud-tiers .on{background:var(--volt);color:#0B0D0C}
html[data-theme="dark"] .bud-tiers .on :is(small,span,b){color:#0B0D0C}
.tbl-bud{min-width:0;font-size:14.5px}
.tbl-bud td{text-align:right!important;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.tbl-bud thead th:last-child{text-align:right}
.tbl-bud tbody th{font-weight:500}
.tbl-bud tfoot :is(th,td){padding:14px 20px;border-top:1px solid var(--rule-2);font-weight:700}
.tbl-bud tfoot tr.tot :is(th,td){background:var(--forest);color:var(--volt);font:800 15px var(--f-display)}
html[data-theme="dark"] .tbl-bud tfoot tr.tot :is(th,td){background:var(--volt);color:#0B0D0C}
.ed-fig{display:inline-flex;align-items:baseline;gap:10px;padding:16px 22px;border-radius:var(--r-md);background:var(--forest);color:var(--on-dark);justify-self:start}
.ed-fig b{font:900 2.2rem/1 var(--f-display);color:var(--volt)}
html[data-theme="dark"] .ed-fig{background:var(--surface);border:1px solid var(--rule)}
@media (max-width:980px){
  .sm-grid,.back-grid,.day{grid-template-columns:1fr}
  .steps4{grid-template-columns:1fr 1fr}
  .prize-band{grid-template-columns:repeat(3,1fr)}
  .prize-band>div:first-child{grid-column:1/-1}
  .principles{grid-template-columns:1fr;gap:10px}
}
@media (max-width:640px){
  .day-list,.steps4{grid-template-columns:1fr}
  .bud-tiers{grid-template-columns:1fr}
  .back-fig img{aspect-ratio:4/3}
  .prize-band>div{padding:18px}
  .sm-stats>div{grid-template-columns:1fr;gap:6px}
}
.aud.aud4{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){.aud.aud4{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.aud.aud4{grid-template-columns:1fr}}
.back-goals{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.back-goals li{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:var(--r-md);background:var(--surface,#fff);border:1px solid var(--rule);font-weight:600;font-size:15px;line-height:1.35}
.back-goals svg{width:26px;height:26px;flex:none;padding:5px;border-radius:50%;background:var(--volt);color:#0B0D0C}
@media (max-width:640px){.back-goals{grid-template-columns:1fr}}
.principles .pr-l{font:800 13px/1.3 var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--volt)}
