/* NIA Labs: financial services hub, blockchain programme, module pages and taster labs */
.m1{--mc:#155BED;--mc-fg:#FFFFFF}.m2{--mc:#6746F4;--mc-fg:#FFFFFF}.m3{--mc:#C170F8;--mc-fg:#101218}.m4{--mc:#0752D9;--mc-fg:#FFFFFF}
.eyebrow{font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:13px;color:var(--offer-kicker)}
.dark .eyebrow,.fs-hero .eyebrow{color:#C170F8}
.sec-head{max-width:46em;margin-bottom:48px}
.sec-head .h-lg,.sec-head .h-xl{margin-top:12px}
.crumbs{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:15px;color:var(--muted);padding-top:24px}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--ink);text-decoration:underline}
.crumbs span[aria-hidden]{opacity:.6}
.fs-hero .crumbs,.fs-hero .crumbs a{color:rgba(255,255,255,.78)}
.fs-hero .crumbs a:hover{color:#fff}

/* ---------- video hero ---------- */
.fs-hero{position:relative;overflow:hidden;background:var(--navy-deep);color:#fff;isolation:isolate}
.fs-hero .media{position:absolute;inset:0;z-index:-2}
.fs-hero .media video,.fs-hero .media img{width:100%;height:100%;object-fit:cover}
.fs-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,12,16,.94) 0%,rgba(11,12,16,.8) 48%,rgba(11,12,16,.42) 100%),linear-gradient(0deg,rgba(11,12,16,.7),rgba(11,12,16,0) 40%)}
.fs-hero .wrap{padding-top:40px;padding-bottom:104px}
.fs-hero h1{margin-top:18px;font-weight:700;font-size:clamp(42px,5.6vw,84px);line-height:.96;letter-spacing:-.045em;max-width:12em}
.fs-hero .lede{margin-top:24px;font-size:20px;line-height:1.55;max-width:32em;color:rgba(255,255,255,.9)}
.fs-hero .cta{margin-top:34px;display:flex;flex-wrap:wrap;gap:14px}
.fs-hero .btn.ghost{color:#fff;border-color:#fff}
.fs-hero .btn.ghost:hover{background:#fff;color:#101216}
.fs-hero .btn:not(.ghost):not(.offer-cta){background:#fff;border-color:#fff;color:#101216}
.facts-row{margin-top:40px;display:flex;flex-wrap:wrap;gap:10px}
.facts-row li{border:1.5px solid rgba(255,255,255,.4);border-radius:999px;padding:8px 16px;font-size:15px;font-weight:600;background:rgba(255,255,255,.06);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.vid-toggle{position:absolute;right:24px;bottom:24px;z-index:2;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid rgba(255,255,255,.5);background:rgba(11,12,16,.5);color:#fff;font:600 14px var(--sans);cursor:pointer}
.vid-toggle:hover{background:rgba(11,12,16,.8);border-color:#fff}
.media-note{position:absolute;left:32px;bottom:28px;z-index:2;font-size:13px;color:rgba(255,255,255,.7);max-width:60%}

/* ---------- light hero (hub, module pages) ---------- */
.fs-top{position:relative;overflow:hidden;background:var(--offer-bg)}
.fs-top .offer-glow{top:-48%}
.fs-top .wrap{position:relative;padding-bottom:88px}
.fs-top h1{margin-top:16px;font-weight:700;font-size:clamp(42px,5.4vw,80px);line-height:.96;letter-spacing:-.045em;max-width:12em}
.fs-top .lede{margin-top:24px;font-size:20px;line-height:1.55;max-width:32em;color:var(--offer-lede)}
.fs-top .cta{margin-top:32px;display:flex;flex-wrap:wrap;gap:14px}
.fs-top .eyebrow{margin-top:36px}
.mod-top{border-top:10px solid var(--mc)}
.mod-top .facts-row li{border-color:var(--line);background:var(--paper);color:var(--ink);backdrop-filter:none}

/* ---------- buyer switch ---------- */
.switch{display:flex;flex-wrap:wrap;gap:8px;padding:6px;border:2px solid var(--ink);border-radius:12px;background:var(--paper);width:max-content;max-width:100%}
.switch button{appearance:none;min-height:48px;padding:0 20px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:600 16px var(--sans);cursor:pointer;transition:background-color .25s var(--ease),color .25s}
.switch button:hover{background:var(--ground)}
.switch button[aria-selected="true"]{background:var(--ink);color:var(--ground)}
.panels{margin-top:28px}
.panel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:start;background:var(--ground);border:2px solid var(--ink);border-radius:12px;padding:clamp(24px,3.6vw,44px);box-shadow:12px 12px 0 var(--c,var(--l2))}
.js .panel[hidden]{display:none}
.panel h3{font-size:clamp(28px,3vw,40px);letter-spacing:-.03em;line-height:1.05}
.panel p{margin-top:14px;font-size:18px;line-height:1.55;color:var(--body)}
.panel .actions{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px}
.ticks li{position:relative;padding:12px 0 12px 32px;border-top:1px solid var(--line);font-size:17px;line-height:1.5;color:var(--body)}
.ticks li:first-child{border-top:0}
.ticks li::before{content:'';position:absolute;left:0;top:19px;width:14px;height:14px;background:var(--c,var(--l2));border:2px solid var(--ink)}
.ticks b{color:var(--ink)}

/* ---------- programme cards (hub) ---------- */
.prog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.prog{display:flex;flex-direction:column;gap:14px;border:2px solid var(--ink);border-radius:12px;padding:clamp(24px,3vw,36px);background:var(--paper);text-decoration:none;color:var(--ink);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.prog:hover{transform:translate(-4px,-4px);box-shadow:12px 12px 0 var(--c);color:var(--ink)}
.prog .tag{align-self:flex-start;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:999px;background:var(--c);color:var(--on-accent)}
.prog h3{font-size:clamp(28px,3vw,40px);letter-spacing:-.035em;line-height:1.02}
.prog p{font-size:18px;line-height:1.55;color:var(--body)}
.prog ul{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.prog ul li{font-size:14px;font-weight:600;border:1.5px solid var(--ink);border-radius:999px;padding:5px 12px}
.prog em{margin-top:auto;padding-top:10px;font-style:normal;font-weight:600}

/* ---------- four lenses ---------- */
.lenses{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:8px}
.lens{position:relative;border:2px solid var(--navy-line);border-radius:12px;padding:24px 22px 22px;background:rgba(255,255,255,.03)}
.lens .n{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--mc);color:var(--mc-fg);font:700 18px var(--display)}
.lens h3{margin-top:18px;font-size:26px;letter-spacing:-.025em;line-height:1.1}
.lens p{margin-top:10px;font-size:16.5px;line-height:1.5;color:var(--navy-text)}
.lens .who{display:block;margin-top:14px;font-size:14px;font-weight:600;color:#fff}
.thread{margin-top:28px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:16px 20px;border:1.5px dashed var(--navy-line);border-radius:10px;font-size:16px;color:var(--navy-text)}
.thread code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;color:#fff;background:rgba(255,255,255,.08);padding:4px 10px;border-radius:6px}

/* ---------- module cards ---------- */
.mod-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.mod{display:flex;flex-direction:column;border:2px solid var(--ink);border-radius:12px;overflow:hidden;background:var(--ground);box-shadow:10px 10px 0 var(--mc)}
.mod .lab{background:var(--mc);color:var(--mc-fg);padding:26px 28px 24px}
.mod .lab .k{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.9}
.mod .lab h3{margin-top:8px;font-size:clamp(28px,2.8vw,38px);letter-spacing:-.035em;line-height:1.02}
.mod .lab p{margin-top:10px;font-size:17px;line-height:1.5}
.calls{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.calls li{font-size:14px;font-weight:700;border:2px solid currentColor;border-radius:999px;padding:4px 12px}
.mod .body{padding:24px 28px 26px;display:flex;flex-direction:column;gap:14px;flex:1}
.mod .meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14px;font-weight:600;color:var(--muted)}
.mod h4{font-size:24px;letter-spacing:-.02em}
.mod .sess li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:16px;line-height:1.45;color:var(--body)}
.mod .sess li span{font:700 14px var(--display);color:var(--muted);padding-top:2px}
.mod .links{margin-top:auto;padding-top:8px;display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
.mod .links a:not(.btn){font-weight:600}

/* ---------- dated hooks ---------- */
.dates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.date{border-top:3px solid var(--ink);padding-top:16px}
.date b{display:block;font:700 clamp(24px,2.4vw,32px)/1.05 var(--display);letter-spacing:-.03em}
.date span{display:block;margin-top:4px;font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--offer-kicker)}
.date p{margin-top:10px;font-size:16.5px;line-height:1.5;color:var(--body)}
.src-note{margin-top:28px;font-size:15px;color:var(--muted);max-width:52em}

/* ---------- format ladder ---------- */
.ladder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:end}
.rung{display:flex;flex-direction:column;gap:12px;border:2px solid var(--ink);border-radius:12px;padding:26px 24px;background:var(--ground)}
.rung:nth-child(1){min-height:330px}.rung:nth-child(2){min-height:380px}.rung:nth-child(3){min-height:430px;background:var(--ink);color:var(--ground)}
.rung:nth-child(3) p,.rung:nth-child(3) li{color:var(--ground);opacity:.88}
.rung:nth-child(3) .dur{color:var(--ground)}
.rung .step-n{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.rung:nth-child(3) .step-n{color:var(--ground);opacity:.7}
.rung .dur{font:700 clamp(44px,4.6vw,64px)/.95 var(--display);letter-spacing:-.05em}
.rung .dur small{font-size:20px;letter-spacing:-.01em;font-weight:600}
.rung h3{font-size:24px;letter-spacing:-.02em}
.rung p{font-size:16.5px;line-height:1.5;color:var(--body)}
.rung ul{margin-top:auto;display:flex;flex-wrap:wrap;gap:6px}
.rung ul li{font-size:13.5px;font-weight:600;border:1.5px solid currentColor;border-radius:999px;padding:4px 10px}

/* ---------- how it runs ---------- */
.runs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.runs div{border:1px solid var(--navy-line);border-radius:10px;padding:22px}
.runs b{display:block;font:700 22px/1.15 var(--display);letter-spacing:-.02em;color:#fff}
.runs p{margin-top:8px;font-size:16px;line-height:1.5;color:var(--navy-text)}

/* ---------- testimonials (hidden until real quotes exist) ---------- */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.quote{border:2px solid var(--ink);border-radius:12px;padding:26px;background:var(--paper)}
.quote blockquote{margin:0;font:600 21px/1.4 var(--display);letter-spacing:-.01em}
.quote figcaption{margin-top:14px;font-size:15px;color:var(--muted)}

/* ---------- bio ---------- */
.bio{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:start}
.creds li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:14px 0;border-top:1px solid var(--line);font-size:17px;line-height:1.45}
.creds li:last-child{border-bottom:1px solid var(--line)}
.creds b{font-family:var(--display);font-size:15px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}

/* ---------- brochure form ---------- */
.brochure{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:start}
.pdf-card{margin-top:36px;display:flex;gap:18px;align-items:center;padding:20px;border:1.5px solid var(--navy-line);border-radius:12px;background:rgba(255,255,255,.04)}
.pdf-card .doc-ic{flex:none;width:58px;height:74px;border-radius:6px;background:var(--grad);position:relative;box-shadow:6px 6px 0 rgba(255,255,255,.12)}
.pdf-card .doc-ic::after{content:'PDF';position:absolute;left:8px;bottom:8px;font:700 12px var(--sans);color:#fff;letter-spacing:.06em}
.pdf-card b{display:block;font:700 19px var(--display);color:#fff}
.pdf-card span{display:block;margin-top:4px;font-size:15px;line-height:1.45;color:var(--navy-text)}
.dark select{width:100%;font:17px var(--sans);color:var(--ink);background:var(--ground);border:2px solid #6E6B80;border-radius:4px;padding:0 14px;height:54px}
.dark select:focus{border-color:var(--l2);box-shadow:0 0 0 3px rgba(103,70,244,.3);outline:none}
.consent{font-size:14.5px;line-height:1.5;color:var(--navy-text)}

/* ---------- module pages ---------- */
.outcomes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px;counter-reset:o}
.outcomes li{counter-increment:o;position:relative;padding:16px 0 16px 56px;border-top:2px solid var(--ink);font-size:18px;line-height:1.5;color:var(--body)}
.outcomes li::before{content:counter(o,decimal-leading-zero);position:absolute;left:0;top:14px;font:700 22px var(--display);color:var(--mc,var(--l2))}
.m3 .outcomes li::before{color:var(--ink)}
.sessions{display:grid;gap:20px}
.session-c{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px;border:2px solid var(--ink);border-radius:12px;padding:26px 28px;background:var(--ground)}
.session-c .when b{display:block;font:700 26px/1.05 var(--display);letter-spacing:-.025em}
.session-c .when span{display:block;margin-top:6px;font-size:15px;color:var(--muted)}
.session-c h3{font-size:clamp(24px,2.4vw,30px);letter-spacing:-.025em;line-height:1.1}
.session-c p{margin-top:8px;font-size:17px;line-height:1.55;color:var(--body)}
.session-c ol{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}
.session-c ol li{font-size:15.5px;line-height:1.45;padding:6px 0;border-top:1px solid var(--line);color:var(--body)}
.session-c.lab-s{border-color:var(--mc);box-shadow:8px 8px 0 var(--mc)}
.spot{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:start}
.shot{margin:0}
.shot .frame{border:2px solid var(--ink);border-radius:10px;overflow:hidden;background:var(--paper);box-shadow:12px 12px 0 var(--mc)}
.shot .bar3{display:flex;gap:6px;padding:10px 12px;border-bottom:2px solid var(--ink);background:var(--ground)}
.shot .bar3 i{width:10px;height:10px;border-radius:50%;background:var(--line)}
.shot img{width:100%;height:auto}
.shot figcaption{margin-top:18px;font-size:15px;color:var(--muted)}
.canvas-mock{border:2px solid var(--ink);border-radius:10px;background:var(--paper);box-shadow:12px 12px 0 var(--mc);overflow:hidden}
.cv-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:16px 20px;border-bottom:2px solid var(--ink);background:var(--ground)}
.cv-head b{font:700 20px var(--display);letter-spacing:-.02em}
.cv-head span{font-size:14px;color:var(--muted)}
.cv li{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr) auto;gap:14px;align-items:start;padding:14px 20px;border-top:1px solid var(--line);font-size:15px;line-height:1.45}
.cv li:first-child{border-top:0}
.cv li b{font-family:var(--display);font-size:16.5px;line-height:1.3}
.cv li span{color:var(--body)}
.cv li i{font-style:normal;font-weight:700;font-size:13px;padding:3px 10px;border-radius:999px;border:2px solid var(--ink)}
.cv li i.h{background:var(--l3);color:#101218}
.cv li i.m{background:var(--ground)}
.cv-foot{padding:14px 20px;border-top:2px solid var(--ink);font-weight:600;font-size:15px;background:var(--ground)}
.shots-2{margin-top:36px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.clip{margin:36px 0 0}
.js .clip[hidden]{display:none}
.clip video{width:100%;border-radius:10px;border:2px solid var(--ink);background:#000}
.roles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}
.roles li{border:1.5px solid var(--line);border-radius:10px;padding:14px 16px;font-size:16px;line-height:1.45;color:var(--body);background:var(--paper)}
.roles b{display:block;font-family:var(--display);font-size:18px;color:var(--ink)}
.who-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.who-grid div{border-top:3px solid var(--mc,var(--ink));padding-top:16px}
.who-grid b{display:block;font:700 22px/1.15 var(--display);letter-spacing:-.02em}
.who-grid p{margin-top:8px;font-size:16.5px;line-height:1.5;color:var(--body)}
.mod-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.mod-nav a{display:block;border:2px solid var(--ink);border-radius:10px;padding:20px 22px;text-decoration:none;background:var(--paper);transition:transform .3s var(--ease),box-shadow .3s}
.mod-nav a:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--ink)}
.mod-nav span{display:block;font-size:14px;color:var(--muted)}
.mod-nav b{display:block;margin-top:4px;font:700 22px var(--display);letter-spacing:-.02em}
.mod-nav a.next{text-align:right}

/* ---------- tasters strip ---------- */
.tasters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.taster{display:flex;flex-direction:column;gap:12px;border:2px solid var(--ink);border-radius:12px;padding:24px;background:var(--ground);text-decoration:none;color:var(--ink);box-shadow:8px 8px 0 var(--mc);transition:transform .3s var(--ease),box-shadow .3s}
.taster:hover{transform:translate(-3px,-3px);box-shadow:12px 12px 0 var(--mc);color:var(--ink)}
.taster .k{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.taster b{font:700 25px/1.08 var(--display);letter-spacing:-.025em}
.taster p{font-size:16.5px;line-height:1.5;color:var(--body)}
.taster em{margin-top:auto;font-style:normal;font-weight:600}
.dark .taster{background:var(--paper)}

/* ---------- brochure success ---------- */
.done-card{max-width:720px;border:2px solid var(--ink);border-radius:14px;padding:clamp(24px,4vw,44px);background:var(--paper);box-shadow:12px 12px 0 var(--l2)}
.done-card h1{font-size:clamp(40px,6vw,72px);line-height:.98;letter-spacing:-.045em}
.done-card p{margin-top:18px;font-size:19px;line-height:1.55;color:var(--body)}
.done-card .actions{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px}

/* ---------- taster labs ---------- */
.taster-end{margin-top:48px;display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:28px;align-items:center;background:#101216;color:#fff;border-radius:12px;padding:clamp(24px,3.4vw,40px)}
.taster-end h2{font-size:clamp(28px,3vw,40px);letter-spacing:-.03em;line-height:1.05;color:#fff}
.taster-end p{margin-top:10px;font-size:18px;line-height:1.55;color:var(--navy-text)}
.taster-end .actions{margin:0;display:flex;flex-direction:column;gap:12px}
.taster-end .btn.ghost{color:#fff;border-color:#fff}
.taster-end .btn.ghost:hover{background:#fff;color:#101216}
.taster-end .btn.offer-cta{white-space:nowrap}
.fict{margin-top:32px;font-size:14px;color:var(--muted)}
/* explorer */
.xp-sum{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:28px}
.xp-sum div{border:2px solid var(--line);border-radius:8px;padding:12px 14px;background:var(--paper)}
.xp-sum span{display:block;font-size:13px;color:var(--muted);font-weight:600}
.xp-sum b{display:block;margin-top:4px;font:700 20px var(--display);letter-spacing:-.01em}
.xp-addr{margin-top:18px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;word-break:break-all;color:var(--muted)}
.xp-wrap{margin-top:24px;border:2px solid var(--ink);border-radius:10px;overflow:auto;background:var(--paper)}
.xp{width:100%;border-collapse:collapse;font-size:15px;min-width:760px}
.xp th{text-align:left;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:12px 14px;border-bottom:2px solid var(--ink);background:var(--ground);white-space:nowrap}
.xp td{padding:12px 14px;border-top:1px solid var(--line);vertical-align:top}
.xp tr.on td{background:rgba(103,70,244,.1)}
.xp .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px}
.xp .lbl{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.xp .dir{display:inline-block;min-width:44px;text-align:center;font-size:12px;font-weight:700;border-radius:4px;padding:2px 6px;border:1.5px solid var(--ink)}
.xp .dir.out{background:var(--ink);color:var(--ground)}
.xp .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.flag-btn{min-height:40px;padding:0 12px;border:2px solid var(--ink);border-radius:6px;background:var(--ground);color:var(--ink);font:600 14px var(--sans);cursor:pointer;white-space:nowrap}
.flag-btn[aria-pressed="true"]{background:var(--l2);border-color:var(--l2);color:#fff}
.picks{display:flex;flex-direction:column;gap:14px;margin-top:20px}
.pick{border:2px solid var(--ink);border-radius:8px;padding:16px 18px;background:var(--paper)}
.pick .t{font-weight:600;font-size:16.5px;line-height:1.4}
.pick .t small{display:block;font-weight:400;color:var(--muted);font-size:14px;margin-top:2px}
.pick .row-l{margin-top:12px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.chips-pick{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.chips-pick button{min-height:40px;padding:0 12px;border:2px solid var(--ink);border-radius:999px;background:var(--ground);color:var(--ink);font:600 14px var(--sans);cursor:pointer}
.chips-pick button[aria-pressed="true"]{background:var(--ink);color:var(--ground)}
.fb{margin-top:10px;font-size:15.5px;line-height:1.5;color:var(--body)}
.fb b{color:var(--ink)}
/* meridian */
.film{position:relative;border-radius:10px;overflow:hidden;border:2px solid var(--ink);background:#0B0C10;aspect-ratio:16/9;box-shadow:10px 10px 0 var(--acc)}
.film video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75}
.film .cap{position:absolute;left:0;right:0;bottom:0;padding:18px 22px 20px;background:linear-gradient(0deg,rgba(11,12,16,.92),rgba(11,12,16,0));color:#fff}
.film .cap span{display:block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#C170F8}
.film .cap b{display:block;margin-top:6px;font:700 clamp(20px,2.4vw,30px)/1.1 var(--display);letter-spacing:-.02em}
.film .cap small{display:block;margin-top:4px;font-size:14px;color:rgba(255,255,255,.8)}
.film .fbtn{position:absolute;top:12px;right:12px;min-height:40px;padding:0 14px;border-radius:999px;border:1.5px solid rgba(255,255,255,.6);background:rgba(11,12,16,.55);color:#fff;font:600 13.5px var(--sans);cursor:pointer}
.film-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;font-size:15px;font-weight:600;color:var(--muted)}
.film-nav .btn{min-height:44px;padding:0 16px;font-size:15px}
.row-l{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.factlist.card{padding:8px 22px;box-shadow:none}
.conn{background:var(--paper);border:2px solid var(--line);border-radius:8px;padding:18px 20px;margin-bottom:16px;transition:border-color .3s}
.conn.set{border-color:var(--ink)}
.conn h2{font-size:21px;letter-spacing:-.015em}
.conn p.what{margin-top:6px;font-size:16px;line-height:1.5;color:var(--body)}
.conn .ev{margin-top:10px;font-size:14.5px;line-height:1.5;color:var(--muted);background:var(--ground);border-radius:6px;padding:8px 12px}
.conn .ev::before{content:'From the pack: ';font-weight:700;color:var(--ink)}
.weak{margin-top:12px;display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600}
.weak button{min-height:40px;padding:0 14px;border:2px dashed var(--ink);border-radius:6px;background:transparent;color:var(--ink);font:600 14px var(--sans);cursor:pointer}
.weak button[aria-pressed="true"]{border-style:solid;background:var(--l3);color:#101218;border-color:#101218}
.pack{font-size:15.5px;line-height:1.55}
.pack p{padding:9px 0;border-top:1px solid var(--line);color:var(--body)}
.pack p:first-of-type{border-top:0}
.pack mark{background:rgba(193,112,248,.25);color:inherit;padding:0 2px;border-radius:2px}
/* verde */
.req{background:var(--paper);border:2px solid var(--line);border-radius:8px;padding:20px 22px;margin-bottom:16px}
.req.set{border-color:var(--ink)}
.req .n{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.req h2{margin-top:4px;font-size:22px;letter-spacing:-.015em}
.req p{margin-top:6px;font-size:16px;line-height:1.5;color:var(--body)}
.lrr{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.lrr button{min-height:52px;border:2px solid var(--ink);border-radius:6px;background:var(--ground);color:var(--ink);font:700 16px var(--sans);cursor:pointer;transition:background-color .25s,transform .25s var(--ease)}
.lrr button:hover{transform:translateY(-2px)}
.lrr button[aria-pressed="true"][data-arg2="launch"]{background:var(--l1);border-color:var(--l1);color:#fff}
.lrr button[aria-pressed="true"][data-arg2="restrict"]{background:var(--l2);border-color:var(--l2);color:#fff}
.lrr button[aria-pressed="true"][data-arg2="reject"]{background:var(--l3);border-color:#101218;color:#101218}
.factlist li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line);font-size:16px;line-height:1.5}
.factlist li:first-child{border-top:0}
.factlist button{flex:none;min-height:36px;padding:0 12px;border:2px solid var(--ink);border-radius:999px;background:var(--ground);color:var(--ink);font:600 13.5px var(--sans);cursor:pointer}
.factlist button[aria-pressed="true"]{background:var(--ink);color:var(--ground)}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .panel,.bio,.brochure,.spot{grid-template-columns:minmax(0,1fr);gap:36px}
  .lenses,.dates,.runs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mod-grid,.prog-grid,.tasters{grid-template-columns:minmax(0,1fr)}
  .ladder{grid-template-columns:minmax(0,1fr);align-items:stretch}
  .rung:nth-child(n){min-height:0}
  .xp-sum{grid-template-columns:repeat(3,minmax(0,1fr))}
  .taster-end{grid-template-columns:minmax(0,1fr)}
  .taster-end .actions{flex-direction:row;flex-wrap:wrap}
  .media-note{max-width:calc(100% - 200px)}
}
@media (max-width:640px){
  .fs-hero .wrap{padding-top:24px;padding-bottom:96px}
  .fs-hero .lede,.fs-top .lede{font-size:18px}
  .fs-hero .cta .btn,.fs-top .cta .btn{width:100%}
  .facts-row li{font-size:14px;padding:6px 12px}
  .vid-toggle{right:16px;bottom:16px}
  .media-note{left:20px;bottom:72px;max-width:calc(100% - 40px)}
  .switch{width:100%}
  .switch button{flex:1 1 100%;text-align:left}
  .panel{box-shadow:8px 8px 0 var(--c,var(--l2))}
  .lenses,.dates,.runs,.outcomes,.roles,.who-grid,.mod-nav,.shots-2{grid-template-columns:minmax(0,1fr)}
  .mod{box-shadow:6px 6px 0 var(--mc)}
  .mod .lab,.mod .body{padding-left:18px;padding-right:18px}
  .creds li{grid-template-columns:minmax(0,1fr);gap:2px}
  .session-c{grid-template-columns:minmax(0,1fr);gap:12px;padding:20px 18px}
  .session-c ol{grid-template-columns:minmax(0,1fr)}
  .mod-nav a.next{text-align:left}
  .xp-sum{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lrr{grid-template-columns:minmax(0,1fr)}
  .taster-end .actions .btn{width:100%}
  .pdf-card{padding:16px}
  .cv li{grid-template-columns:minmax(0,1fr);gap:4px}
  .cv li i{justify-self:start}
  .canvas-mock,.shot .frame{box-shadow:8px 8px 0 var(--mc)}
}
.fin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
@media (max-width:1024px){.fin-grid{grid-template-columns:minmax(0,1fr);gap:40px}}
.fin-labs{padding-top:24px;padding-bottom:96px;scroll-margin-top:100px}
.next-cta{grid-template-columns:minmax(0,1fr) auto}
@media (max-width:640px){.next-cta{grid-template-columns:minmax(0,1fr)}.next-cta .btn{width:100%;justify-content:center;white-space:normal}}
body.lab.l3 .steps-l span.n{color:#101218}
