/* AINewPath v2 · "The ticket out" — railway journey skin. Scoped to body.v2. */
.v2{--paper:#F4F1E8;--paper2:#E8E2D2;--ink:#111111;--board:#F6C700;--coach:#12304F;--coach2:#1B3F66;--signal:#1F6B4A;--brake:#C8102E;
 --text:#111;--muted:#3E4048;--line:transparent;--night:#E8E2D2;--night2:#E8E2D2;--teal:#1F6B4A;--violet:#12304F;--saffron:#F6C700;--coral:#C8102E;--ok:#1F6B4A;--r:4px;
 --fs-d:clamp(44px,7vw,104px);--fs-2:clamp(30px,4.2vw,56px);--fs-3:22px;--fs-b:18px;--fs-s:15px;
 --ease-out:cubic-bezier(.22,1,.36,1);--ease-expo:cubic-bezier(.16,1,.3,1);
 --pad:clamp(20px,4vw,56px);
 background:var(--paper);color:var(--ink);font:400 var(--fs-b)/1.6 Archivo,system-ui,sans-serif;font-stretch:100%}
.v2 *{border-radius:0}
.v2 .wrap{max-width:none;padding:0 var(--pad)}
.v2 h1,.v2 h2,.v2 h3{font-family:Archivo,system-ui,sans-serif;font-stretch:62%;font-weight:800;letter-spacing:-.005em;line-height:.98;color:inherit}
.v2 h2{font-size:var(--fs-2)}.v2 h3{font-size:var(--fs-3);font-stretch:75%;line-height:1.1}
.v2 a{color:inherit;text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:var(--board)}
.v2 a:hover{color:inherit;text-decoration-color:var(--ink)}
.v2 :focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:0}
.v2 .small,.v2 small,.v2 .crumbs,.v2 .pill,.v2 .badge,.v2 .meta,.v2 .smallv,.v2 .whint,.v2 .wprog,.v2 .wticks,.v2 .quest .meta,.v2 .sources,.v2 .site-foot,.v2 label,.v2 .hstat,.v2 .credits,.v2 .flip small,.v2 .rcard small,.v2 .q .fb,.v2 .reveal,.v2 .tablewrap,.v2 .prose table,.v2 .prose th,.v2 .prose td,.v2 .sq9,.v2 .mock-bar,.v2 .wrow output{font-size:var(--fs-s)}
.v2 .muted{color:var(--muted)}
.v2 .mono,.v2 .receipt,.v2 code,.v2 pre{font-family:Archivo,system-ui,sans-serif!important;font-stretch:87%}
/* buttons: one shape */
.v2 .btn{border-radius:4px;border:0;min-height:48px;padding:0 22px;font-size:var(--fs-b);font-weight:700;background:var(--ink);color:var(--paper);transition:background .24s var(--ease-out),color .24s var(--ease-out),transform .24s var(--ease-out)}
.v2 .btn:hover{background:var(--board);color:var(--ink);transform:translateY(-2px)}
.v2 .btn-g{background:var(--paper2);color:var(--ink)}
.v2 .btn-s{min-height:44px;font-size:var(--fs-s)}
.v2 select,.v2 input[type=text],.v2 input[type=search],.v2 input[type=email],.v2 textarea{background:#fff;color:var(--ink);border:2px solid var(--ink);border-radius:4px;min-height:48px;font:inherit;font-size:var(--fs-b);padding:0 12px}
/* nav */
.v2 header.nav{padding:14px 0}
.v2 .logo{font-family:Archivo;font-stretch:75%;font-weight:800;font-size:var(--fs-3);color:var(--ink)}
.v2 .logo i{width:18px;height:18px;border-radius:2px;background:var(--board);box-shadow:none}
.v2 .site-nav a{color:var(--ink);border-radius:4px;font-size:var(--fs-s)}.v2 .site-nav a[aria-current=page],.v2 .site-nav a:hover{background:var(--board);border:0}
.v2 .xpchip{border:0;background:var(--coach);color:var(--paper);border-radius:4px;font-size:var(--fs-s)}.v2 .xpchip b{color:var(--board)}
/* hero split */
.v2 .v2hero{display:grid;grid-template-columns:1fr 1fr;min-height:min(88vh,820px);margin:0 calc(-1*var(--pad));background:var(--paper)}
.v2 .v2hero.side-R .hcopy{order:2}
.v2 .hcopy{container-type:inline-size;padding:clamp(24px,4vw,64px) var(--pad);display:flex;flex-direction:column;justify-content:center;gap:18px;min-width:0}
.v2 .crumbs{color:var(--muted)}.v2 .crumbs a{color:var(--muted)}
.v2 h1.board{margin:0;background:var(--board);color:var(--ink);padding:.12em .2em .16em;font-size:min(104px,calc(165cqi / (var(--n) * .43)));line-height:.95;align-self:flex-start;max-width:100%}
.v2 .flap{display:inline-block;transform-origin:50% 0;animation:flap .8s var(--ease-expo) both;animation-delay:calc(var(--i) * 70ms + 150ms)}
@keyframes flap{from{transform:perspective(400px) rotateX(-92deg);opacity:0}to{transform:none;opacity:1}}
.v2 .lead{font-size:var(--fs-3);line-height:1.4;color:var(--ink);max-width:34ch;margin:0}
.v2 .hstat{color:var(--muted);margin:0}
.v2 .ctas{display:flex;gap:12px;flex-wrap:wrap;margin:6px 0 0}
.v2 .hphoto{margin:0;position:relative;overflow:hidden;background:var(--coach);min-height:360px}
.v2 .xfs{position:absolute;inset:0}
.v2 .xfs img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:xf 18s linear infinite}
.v2 .xfs img.xf0{animation-delay:0s}.v2 .xfs img.xf1{animation-delay:-12s}.v2 .xfs img.xf2{animation-delay:-6s}
.v2 .xfs:has(img:nth-child(2):last-child) img{animation-duration:12s}.v2 .xfs:has(img:nth-child(2):last-child) img.xf1{animation-delay:-6s}
@keyframes xf{0%{opacity:0;transform:scale(1.08)}8%{opacity:1}42%{opacity:1}50%{opacity:0;transform:scale(1)}100%{opacity:0}}
.v2 .xfs:has(img:nth-child(3)) img{animation-name:xf3}
@keyframes xf3{0%{opacity:0;transform:scale(1.08)}6%{opacity:1}33%{opacity:1}40%{opacity:0;transform:scale(1)}100%{opacity:0}}
.v2 .stub{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:auto 1fr auto 1fr;gap:4px 12px;align-items:baseline;padding:16px var(--pad);background:var(--coach);color:var(--paper);border-top:10px solid var(--board)}
.v2 .stub span{font-size:var(--fs-s);color:var(--board)}.v2 .stub b{font-stretch:75%;font-size:var(--fs-3);line-height:1.1}
.v2 .plats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:640px}
.v2 .plat{background:var(--coach);color:var(--paper);text-decoration:none;padding:10px 12px;border-radius:4px;font-weight:700;font-size:var(--fs-s);line-height:1.25;transition:transform .24s var(--ease-out),background .24s}
.v2 .plat span{display:block;color:var(--board);font-weight:400}
.v2 .plat:hover{background:var(--ink);color:var(--paper);transform:translateY(-3px)}
/* route hero: full-bleed photo, board on a plate */
.v2 .v2hero.side-F{grid-template-columns:1fr;position:relative;min-height:min(86vh,780px)}
.v2 .v2hero.side-F .hphoto{position:absolute;inset:0;min-height:0}
.v2 .v2hero.side-F .hcopy{position:relative;z-index:1;justify-content:flex-end;max-width:min(980px,100%);background:var(--paper);margin-top:auto;margin-bottom:96px;padding-top:28px;padding-bottom:28px}
.v2 .v2hero.side-F .stub{display:none}
/* ticker */
.v2 .ticker{margin:0 calc(-1*var(--pad));background:var(--ink);color:var(--board);overflow:hidden;white-space:nowrap;padding:12px 0;font-weight:700;font-stretch:75%;font-size:var(--fs-3)}
.v2 .tk{display:inline-flex;animation:tick 40s linear infinite}
.v2 .tk span{padding:0 28px}.v2 .tk span::after{content:"";display:inline-block;width:10px;height:10px;background:var(--board);margin-left:56px;vertical-align:middle}
.v2 .ticker:hover .tk{animation-play-state:paused}
@keyframes tick{to{transform:translateX(-50%)}}
/* journey bar */
.v2 .jbar{position:sticky;top:0;z-index:20;margin:0 calc(-1*var(--pad));padding:10px var(--pad) 12px;background:var(--paper2)}
.v2 .jtrack{position:relative;height:6px;background:#CFC6AF;margin:14px 0 8px}
.v2 .jfill{position:absolute;inset:0;background:var(--signal);transform-origin:0 50%;transform:scaleX(var(--p,0))}
.v2 .train{position:absolute;top:-10px;left:0;width:48px;height:20px;transform:translateX(calc(var(--p,0) * (100cqw - 48px)))}
.v2 .jbar{container-type:inline-size}
.v2 .jbar ol{list-style:none;display:flex;gap:4px;margin:0;padding:0;overflow:hidden}
.v2 .jbar li{flex:1;min-width:0}
.v2 .jbar a{display:block;text-decoration:none;font-size:var(--fs-s);line-height:1.2;color:var(--muted);padding:4px 6px 4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2 .jbar a i{display:block;width:12px;height:12px;background:#CFC6AF;margin-bottom:4px;transition:background .3s,transform .3s var(--ease-out)}
.v2 .jbar a.on{color:var(--ink);font-weight:700}.v2 .jbar a.on i{background:var(--signal);transform:scale(1.4)}
.v2 .jnow{display:none;margin:0;font-weight:700;font-size:var(--fs-s)}
/* reading column */
.v2 .layout,.v2.v-F2 .layout,.v2.v-F6 .layout{display:block;max-width:none}
.v2 .prose{max-width:none}
.v2 .prose>*:not(.panel):not(.interlude):not(.vband){max-width:760px;margin-left:auto;margin-right:auto}
.v2 .prose>p,.v2 .prose li,.v2 .prose blockquote{color:var(--ink);max-width:68ch}
.v2 .prose>h2,.v2 .prose>h3{max-width:760px}
.v2 .prose>h2{font-size:var(--fs-2);margin-top:1.4em;padding-top:0;scroll-margin-top:110px}
.v2 .prose>h2::before{display:none}
.v2 .prose h3{font-size:var(--fs-3)}
.v2 .prose blockquote{border:0;background:var(--board);padding:16px 20px;border-radius:4px}
.v2 .tablewrap{border:0;background:var(--paper2);border-radius:4px;max-width:900px!important}
.v2 .prose th{background:var(--coach);color:var(--paper);border:0}.v2 .prose td{border:0;border-top:3px solid var(--paper)}
.v2 .prose tbody tr:nth-child(even) td{background:transparent}
/* panels = chapters, full bleed */
.v2 .panel{border:0;background:var(--paper2);border-radius:0;box-shadow:none;position:relative;isolation:isolate;padding:clamp(32px,5vw,72px) 0;margin:48px 0}
.v2 .panel::before{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);background:inherit;z-index:-1}
.v2 .panel>*{max-width:900px;margin-left:auto;margin-right:auto}
.v2 .panel h2,.v2 .panel h3#sp-h,.v2 .panel h3#qh{font-size:var(--fs-2);margin:0 auto .4em}
.v2 .ch-coach{background:var(--coach);color:var(--paper)}
.v2 .ch-coach h2,.v2 .ch-coach h3{color:var(--board)}
.v2 .ch-coach .muted,.v2 .ch-coach p{color:#DDE3EC}
.v2 .ch-coach a{color:var(--paper)}
.v2 .ch-board{background:var(--board)}
.v2 .scam{background:var(--brake);color:#fff}.v2 .scam h2{color:#fff}.v2 .scam a{color:#fff;text-decoration-color:#fff}
.v2 .surprise{box-shadow:none}
/* interactive bits: filled tiles, no outlines */
.v2 .gcard,.v2 .q,.v2 .quest,.v2 .chip,.v2 .slot,.v2 .out,.v2 .flip,.v2 .wslider,.v2 .wtabs [role=tabpanel],.v2 .wtabs [role=tab],.v2 .tline,.v2 .mock,.v2 .dspot,.v2 fieldset.wrow,.v2 .reveal,.v2 .pausenote,.v2 .badge{border:0!important;border-radius:4px}
.v2 .gcard,.v2 .q,.v2 .out{background:var(--paper);color:var(--ink)}
.v2 .ch-coach .gcard,.v2 .ch-coach .out,.v2 .ch-coach .quest{background:var(--coach2);color:var(--paper)}
.v2 .chip{background:var(--paper2);color:var(--ink);font-size:var(--fs-s)}
.v2 .ch-coach .chip{background:var(--paper);color:var(--ink)}
.v2 .chip:hover{background:var(--board)}.v2 .chip[aria-pressed=true]{background:var(--board)}
.v2 .chip.right,.v2 .q label.right{background:var(--signal)!important;color:#fff}.v2 .chip.wrong,.v2 .q label.wrong{background:var(--brake)!important;color:#fff}
.v2 .slot{background:rgba(255,255,255,.12)}.v2 .slot.filled{background:var(--board);color:var(--ink)}
.v2 .q label{border:0;background:var(--paper2);border-radius:4px}.v2 .q label:hover{background:var(--board)}
.v2 .runline,.v2 .xpbar{background:rgba(255,255,255,.18);border-radius:0;height:10px}
.v2 .runline i,.v2 .xpbar i,.v2 .wprog i b{background:var(--board)}
.v2 .wprog i{background:var(--paper2);border-radius:0}
.v2 .quest.done{background:var(--signal)}
.v2 .phase h3{color:var(--board);font-size:var(--fs-3)}
.v2 .badge{background:var(--paper);color:var(--ink)}.v2 .badge.proof{background:var(--board);color:var(--ink)}.v2 .badge.outreach{background:#BFD4EA;color:var(--ink)}.v2 .badge.learning{background:#CDE3D5;color:var(--ink)}
.v2 .smallv button{color:var(--board)}
.v2 .pausenote{background:var(--board);color:var(--ink)}
.v2 .flip{background:var(--paper2);color:var(--ink)}.v2 .flip[aria-expanded=true]{background:var(--board)}.v2 .flip .fb{color:var(--ink)}.v2 .flip small{color:var(--coach);letter-spacing:0;text-transform:none}
.v2 .wslider{background:var(--paper2)}.v2 .wtabs [role=tab]{background:var(--paper2);color:var(--ink)}.v2 .wtabs [role=tab][aria-selected=true]{background:var(--ink);color:var(--paper)}.v2 .wtabs [role=tabpanel]{background:var(--paper2)}
.v2 .tline{background:rgba(255,255,255,.1)}.v2 .receipt{border-radius:4px;box-shadow:none}
.v2 .reveal{background:var(--board);color:var(--ink)}
.v2 .timer{color:var(--board)}
.v2 .status.ok{color:var(--signal)}.v2 .ch-coach .status.ok{color:var(--board)}.v2 .status.bad{color:var(--brake)}.v2 .ch-coach .status.bad{color:#FFB3B3}
/* path card = ticket */
.v2 .pcard{background:var(--paper);color:var(--ink);border:0;border-radius:4px;box-shadow:none;position:relative;-webkit-mask:radial-gradient(circle 10px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 10px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 10px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 10px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat}
.v2 .pcard .from{color:var(--muted);font-size:var(--fs-s)}.v2 .pcard .to{font-stretch:62%;font-size:var(--fs-2);color:var(--ink)}.v2 .pcard .day{color:var(--signal)}
/* departure board */
.v2 .depart .related{display:grid;grid-template-columns:1fr;gap:4px}
.v2 .depart .rcard{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;background:var(--coach2);color:var(--paper);border:0;border-radius:4px;padding:14px 18px;text-decoration:none}
.v2 .depart .rcard .dest{font-stretch:75%;font-weight:800;font-size:var(--fs-3);color:var(--board)}
.v2 .depart .rcard .kind{font-size:var(--fs-s);color:#DDE3EC}
.v2 .depart .rcard .go{background:var(--board);color:var(--ink);padding:4px 12px;font-weight:700;font-size:var(--fs-s)}
.v2 .depart a.rcard:hover{transform:translateX(6px);background:var(--ink)}
.v2 .skillmap .smap{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:6px}
.v2 .skillmap .smap li{background:var(--paper);padding:10px 14px;border-radius:4px}
/* interlude + video */
.v2 .interlude{position:relative;margin:56px calc(50% - 50vw);height:min(70vh,640px);overflow:hidden;max-width:none!important}
.v2 .interlude img{width:100%;height:120%;object-fit:cover;transform:translateY(calc(var(--py,0) * -1px))}
.v2 .interlude figcaption{position:absolute;left:var(--pad);bottom:var(--pad);background:var(--board);color:var(--ink);font-stretch:62%;font-weight:800;font-size:var(--fs-2);line-height:1;padding:.15em .25em;max-width:min(900px,85%)}
.v2 .vband{position:relative;margin:56px calc(50% - 50vw);height:min(72vh,620px);overflow:hidden;background:var(--coach);max-width:none!important}
.v2.home .vband{margin:0 calc(-1*var(--pad))}
.v2 .vband video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v2 .vplate{position:absolute;left:var(--pad);bottom:var(--pad);background:var(--ink);color:var(--paper);padding:24px 28px;max-width:560px}
.v2 .vplate h2{color:var(--board);margin:0 0 .3em}.v2 .vplate p{margin:0;color:var(--paper)}
/* footer: back of the ticket */
.v2 .site-foot{margin:0 calc(-1*var(--pad));padding:48px var(--pad) 40px;background:var(--coach);color:#DDE3EC;border:0}
.v2 .site-foot a{color:var(--paper)}.v2 .site-foot .foot-nav a{color:var(--board);font-size:var(--fs-b)}
.v2 .site-foot .muted,.v2 .site-foot .scamline{color:#DDE3EC}
.v2 .credits{max-width:110ch}
/* toast */
.v2 .toast{background:var(--board);color:var(--ink);border-radius:4px}
/* reveals (JS adds .rv; .in shows) */
.v2js .rv{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-expo)}
.v2js .rv.in{opacity:1;transform:none}
/* ===== HOME ===== */
.v2.home .hhero{min-height:min(90vh,860px)}
.v2 .board-ch{margin:0 calc(-1*var(--pad));padding:clamp(40px,6vw,88px) var(--pad);background:var(--coach);color:var(--paper)}
.v2 .board-ch h2{color:var(--board);margin:0 0 18px;max-width:18ch}
.v2 .bhead{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:28px}
.v2 .picker{display:grid;gap:8px;max-width:none;margin:0}.v2 .picker label{color:#DDE3EC}.v2 .picker .row{flex-wrap:nowrap}.v2 .picker select{flex:1;min-width:0}
.v2 .picker input{background:#fff;color:var(--ink);border:2px solid var(--ink);border-radius:4px}
.v2 #rolecount{margin:0;color:var(--board);min-height:1.2em;font-size:var(--fs-s)}
.v2 .board-ch .btn{background:var(--board);color:var(--ink)}.v2 .board-ch .btn:hover{background:var(--paper)}
.v2 .rolegrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.v2 .rolecard{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;background:var(--coach2);border:0;border-radius:4px;padding:14px 18px;color:var(--paper);text-decoration:none;transition:background .24s,transform .24s var(--ease-out)}
.v2 .rolecard strong{font-stretch:75%;font-size:var(--fs-3);color:var(--board);line-height:1.15}
.v2 .rolecard span{grid-column:1;color:#DDE3EC;font-size:var(--fs-s)}
.v2 .rolecard em{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;background:var(--board);color:var(--ink);font-weight:700;padding:4px 12px;font-size:var(--fs-s)}
.v2 .rolecard:hover{background:var(--ink);transform:translateX(6px)}
.v2 .rolecard.flipin{animation:rowflip .55s var(--ease-expo) both}
@keyframes rowflip{from{transform:perspective(600px) rotateX(-80deg);opacity:0}to{transform:none;opacity:1}}
.v2 .bnote{color:#DDE3EC;max-width:90ch;margin:22px 0 0;font-size:var(--fs-s)}.v2 .bnote a{color:var(--board)}
.v2 .moments{padding:clamp(40px,6vw,88px) 0}
.v2 .moments h2{margin:0 0 28px;max-width:22ch}
.v2 .mrow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.v2 .moment{background:var(--paper2);border-radius:4px;overflow:hidden;display:grid;grid-template-rows:auto 1fr}
.v2 .moment img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;transition:transform .7s var(--ease-expo)}
.v2 .moment:hover img{transform:scale(1.05)}
.v2 .moment div{padding:18px 20px 22px}.v2 .moment h3{margin:0 0 6px;font-size:var(--fs-3)}.v2 .moment p{margin:0}
.v2 .tickets{margin:0 calc(-1*var(--pad));padding:clamp(40px,6vw,88px) var(--pad);background:var(--board)}
.v2 .tickets h2{margin:0 0 28px}
.v2 .tixrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:28px}
.v2 .tix{display:grid;gap:6px;align-content:start;background:var(--paper);color:var(--ink);text-decoration:none;padding:22px 24px;border-radius:4px;transform:rotate(var(--t));transition:transform .35s var(--ease-expo),background .24s;border-left:14px solid var(--coach)}
.v2 .tix span{color:var(--muted);font-size:var(--fs-s)}.v2 .tix strong{font-stretch:62%;font-weight:800;font-size:clamp(26px,2.6vw,36px);line-height:1}
.v2 .tix em{font-style:normal;font-size:var(--fs-s);color:var(--muted)}.v2 .tix b{margin-top:6px;font-size:var(--fs-s)}
.v2 .tix:hover,.v2 .tix:focus-visible{transform:rotate(0) translateY(-8px);background:#fff}
.v2 .sheets{padding:clamp(40px,6vw,88px) 0 24px}
.v2 .sheets>h2{margin:0 0 24px}
.v2 .sheet{position:sticky;top:24px;min-height:42vh;padding:clamp(28px,4vw,56px);border-radius:4px;margin-bottom:24px;display:grid;align-content:end}
.v2 .sheet h3{font-size:var(--fs-2);font-stretch:62%;margin:0 0 10px;max-width:16ch}.v2 .sheet p{max-width:52ch;margin:0;font-size:var(--fs-3);line-height:1.4}
.v2 .s1{background:var(--paper2)}.v2 .s2{background:var(--coach);color:var(--paper);top:40px}.v2 .s2 h3{color:var(--board)}.v2 .s3{background:var(--board);top:56px}
.v2 .reply{padding:clamp(24px,4vw,48px) 0 clamp(48px,6vw,88px)}
.v2 .join{background:var(--paper2);border:0;border-radius:4px;padding:clamp(24px,4vw,56px);grid-template-columns:1fr 1fr;border-left:24px solid var(--board)}
.v2 .join h2{margin:0 0 12px}.v2 .join label{color:var(--ink)}
.v2 .join input,.v2 .join select{background:#fff;border:2px solid var(--ink);border-radius:4px;color:var(--ink)}
.v2 .honest{border-left:6px solid var(--board);color:var(--ink)}
.v2 .msg.ok{color:var(--signal)}.v2 .msg.err{color:var(--brake)}
/* ===== responsive ===== */
@media (max-width:900px){
 .v2 .v2hero{grid-template-columns:1fr;min-height:0}
 .v2 .v2hero.side-R .hcopy{order:0}
 .v2 .hphoto{min-height:62vw}
 .v2 .plats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .v2 .bhead,.v2 .join{grid-template-columns:1fr}
 .v2 .rolegrid{grid-template-columns:1fr}
 .v2 .mrow{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 calc(-1*var(--pad));padding:0 var(--pad) 8px;scrollbar-width:none}
 .v2 .mrow::-webkit-scrollbar{display:none}
 .v2 .moment{flex:0 0 78%;scroll-snap-align:start}
 .v2 .tixrow{grid-template-columns:1fr}
 .v2 .jbar ol{display:none}.v2 .jnow{display:block}
 .v2 .v2hero.side-F .hcopy{margin:52vh 0 0}
}
@media (max-width:520px){
 .v2 .stub{grid-template-columns:auto 1fr;padding:12px 20px}
 .v2 .picker .row{flex-wrap:wrap}.v2 .picker .row .btn{width:100%}
 .v2 .interlude figcaption,.v2 .vplate{left:16px;right:16px;bottom:16px;max-width:none}
 .v2 .depart .rcard{grid-template-columns:1fr auto}.v2 .depart .rcard .kind{display:none}
 .v2 .sheet{min-height:0}
}
@media (prefers-reduced-motion:reduce){
 .v2 .flap,.v2 .tk,.v2 .xfs img,.v2 .rolecard.flipin{animation:none!important}
 .v2 .xfs img{opacity:0}.v2 .xfs img.xf0{opacity:1}
 .v2 .tk{white-space:normal}
 .v2js .rv{opacity:1;transform:none}
 .v2 .interlude img{transform:none}
}
/* iteration 2 */
.v2 .prose h2::before,.v2 .panel h2::before{display:none!important}
.v2 .tablewrap{margin-bottom:2.4rem!important}
.v2 .prose>h2{margin-top:2.2em}
.v2 .lead{max-width:44ch}
.v2 .plats{max-width:none}
.v2 .ch-coach .quest,.v2 .ch-coach .quest *{color:var(--paper)}
.v2 .ch-coach .quest a{color:var(--board)}
.v2 .sheets{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:0 clamp(24px,4vw,64px);align-items:start}
.v2 .sheets>h2{position:sticky;top:96px;grid-column:1}
.v2 .sheets>:not(h2){grid-column:2}
.v2 .sheet h3{max-width:none}
@media (max-width:900px){.v2 .sheets{grid-template-columns:1fr}.v2 .sheets>h2{position:static}.v2 .sheets>:not(h2){grid-column:1}.v2 .moments{padding-inline:var(--pad)!important;scroll-padding-inline:var(--pad)}}
@media (max-width:520px){
 .v2 .tablewrap{overflow:visible!important}
 .v2 .tablewrap table,.v2 .tablewrap tbody,.v2 .tablewrap tr,.v2 .tablewrap td,.v2 .tablewrap th{display:block;width:auto!important;min-width:0!important}
 .v2 .tablewrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .v2 .tablewrap tr{padding:12px 14px;border-bottom:4px solid var(--paper)}
 .v2 .tablewrap td,.v2 .tablewrap th{padding:2px 0!important;border:0!important}
}
@media (max-width:900px){.v2 .mrow{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));overflow:visible!important;gap:12px;padding:0!important;margin:0!important}.v2 .moment{flex:none!important}}
.v2 .kick{text-transform:none!important;letter-spacing:0!important;font-size:var(--fs-b)!important;font-weight:700;color:inherit;margin:0 0 4px}
.v2 blockquote{background:var(--board);color:var(--ink);border:0;border-radius:4px;padding:16px 20px}
.v2 blockquote *{color:var(--ink)!important}
.v2 .site-foot{text-align:center}.v2 .credits{max-width:none}
.v2 .site-foot .foot-nav{justify-content:center}
.v2 code{color:var(--ink)!important;background:var(--paper)!important}
.v2 .ch-coach code{background:var(--coach2,#1B3F66)!important;color:var(--paper)!important}
.v2 .prose>h2{margin-top:max(2.2em,104px)}
.v2 .prose>.chap{max-width:1328px!important;margin:0 auto;padding:clamp(40px,6vw,88px) 0 0}
.v2 .chap>.chh>h2{margin:0;max-width:16ch}
.v2 .chb>*:first-child{margin-top:0}
.v2 .chb{max-width:70ch}
@media (min-width:1100px){
 .v2 .chap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:start}
 .v2 .chap>.chh{position:sticky;top:120px}
 .v2 .chb{max-width:none}
 .v2 .chb>p,.v2 .chb>ul,.v2 .chb>ol{max-width:66ch}
}
.v2 .prose p,.v2 .prose li{color:var(--ink)}
.v2 .ch-coach p,.v2 .ch-coach li,.v2 .depart p{color:var(--paper)}
.v2 .chap>.chh>h2{max-width:none;font-size:clamp(26px,6.2vw,var(--fs-2));font-stretch:62%}
@media (min-width:1100px){.v2 .chap>.chh>h2{font-size:clamp(32px,3.2vw,var(--fs-2))}}
.v2 .scam p,.v2 .scam li,.v2 .vplate p{color:#fff}
.v2 .pcard *, .v2 .to{font-family:Archivo,system-ui,sans-serif!important}
.v2 .chh h2{color:var(--ink)}
.v2 .ch-coach strong,.v2 .scam strong,.v2 .vplate strong,.v2 .depart strong{color:inherit}
@media (max-width:520px){.v2 .tablewrap td[data-l]::before{content:attr(data-l) ": ";font-weight:700}}
/* iteration 3: illustration system (inline SVG, one line style) */
.v2 .il{display:block;width:100%;height:100%}
.v2 .hphoto.ilw{background:var(--coach)}.v2 .hphoto.ilw .xfs{position:absolute;inset:0}
.v2 .interlude.ilw{height:min(46vh,420px);background:var(--coach)}
.v2 .vband.ilw{background:var(--coach)}.v2 .vband .il{position:absolute;inset:0}
.v2 .moment .mimg{padding:0;aspect-ratio:4/3;overflow:hidden;background:var(--coach)}
.v2 .il .tr{animation:il-in 1.6s var(--ease-expo,cubic-bezier(.16,1,.3,1)) both}
@keyframes il-in{from{transform:translate(-700px,318px)}}
.v2 .il-icon .tr{animation:none}
.v2 .il .tr-run{animation:il-run 22s linear infinite}
@keyframes il-run{from{transform:translateX(-900px)}to{transform:translateX(1700px)}}
.v2 .il .tr2{offset-path:path("M0 150 H360 C480 150 520 60 640 60 H1300");animation:il-path 12s linear infinite}
@keyframes il-path{from{offset-distance:0%}to{offset-distance:100%}}
.v2 .il .dash{animation:il-dash 1.6s linear infinite}@keyframes il-dash{to{stroke-dashoffset:-48}}
.v2 .il .lamp{animation:il-lamp 3s steps(1) infinite;opacity:.25}.v2 .il .l1{animation-delay:1s}.v2 .il .l2{animation-delay:2s}
@keyframes il-lamp{0%{opacity:1}33%{opacity:.25}}
.v2 .il .tick{stroke-dasharray:1;stroke-dashoffset:1;animation:il-tick 6s ease infinite}.v2 .il .t1{animation-delay:.6s}.v2 .il .t2{animation-delay:1.2s}.v2 .il .t3{animation-delay:1.8s}
@keyframes il-tick{10%,80%{stroke-dashoffset:0}90%,100%{stroke-dashoffset:1}}
.v2 .il .loupe{animation:il-loupe 6s ease-in-out infinite}@keyframes il-loupe{50%{transform:translate(-40px,40px)}}
.v2 .il .arm{transform-origin:140px 126px;animation:il-arm 5s ease-in-out infinite}@keyframes il-arm{40%,60%{transform:rotate(-70deg)}}
.v2 .il .warn{transform-origin:460px 100px;animation:il-pulse 1.4s ease-in-out infinite}@keyframes il-pulse{50%{transform:scale(1.08)}}
.v2 .il .lever{transform-origin:240px 110px;animation:il-lever 4s ease-in-out infinite}@keyframes il-lever{0%,40%{transform:rotate(-25deg)}50%,90%{transform:rotate(25deg)}}
.v2 .il .needle{transform-origin:300px 230px;animation:il-needle 5s cubic-bezier(.3,1.4,.5,1) infinite}@keyframes il-needle{0%{transform:rotate(-80deg)}40%,80%{transform:rotate(52deg)}}
.v2 .il .crate{animation:il-drop .9s cubic-bezier(.3,1.4,.5,1) both}.v2 .il .c1{animation-delay:.2s}.v2 .il .c2{animation-delay:.4s}@keyframes il-drop{from{transform:translateY(-60px);opacity:0}}
.v2 .il .stamp{transform-origin:470px 110px;animation:il-stamp 4s ease infinite}@keyframes il-stamp{0%,20%{transform:scale(1.6);opacity:0}30%,90%{transform:scale(1);opacity:1}}
.v2 .il .stn{transform-box:fill-box;transform-origin:center;animation:il-pulse 2.4s ease-in-out infinite}.v2 .il .s3{animation-delay:1.2s}
.v2 .il .sun{animation:il-pulse 6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@media (prefers-reduced-motion:reduce){.v2 .il *{animation:none!important}.v2 .il .lamp,.v2 .il .tick{opacity:1;stroke-dashoffset:0}.v2 .il .tr2{offset-distance:60%}}
.v2 .il-hero{overflow:visible}
.v2 .site-foot{padding:32px var(--pad) 28px}.v2 .site-foot .fdisc,.v2 .site-foot .fcopy{color:#DDE3EC}.v2 .site-foot .fbrand{color:var(--paper)}

/* iteration 4: motif library generic motion (build/motifs.py) */
.v2 .il .pop,.v2 .il .drop,.v2 .il .grow,.v2 .il .growx,.v2 .il .spin,.v2 .il .ping{transform-box:fill-box;transform-origin:center}
.v2 .il .pop{animation:il-pop 6s cubic-bezier(.3,1.4,.5,1) infinite both}@keyframes il-pop{0%,100%{transform:scale(.88)}12%,88%{transform:scale(1)}}
.v2 .il .d1{animation-delay:.2s}.v2 .il .d2{animation-delay:.6s}.v2 .il .d3{animation-delay:1s}.v2 .il .d4{animation-delay:1.4s}.v2 .il .d5{animation-delay:1.8s}
.v2 .il .grow{transform-origin:bottom;animation:il-grow 6s var(--ease-expo,cubic-bezier(.16,1,.3,1)) infinite both}@keyframes il-grow{0%{transform:scaleY(0)}15%,90%{transform:scaleY(1)}}
.v2 .il .growx{transform-origin:left;animation:il-growx 6s var(--ease-expo,cubic-bezier(.16,1,.3,1)) infinite both}@keyframes il-growx{0%{transform:scaleX(0)}15%,90%{transform:scaleX(1)}}
.v2 .il .spin{animation:il-spin 10s linear infinite}.v2 .il .rev{animation-direction:reverse;animation-duration:7s}@keyframes il-spin{to{transform:rotate(360deg)}}
.v2 .il .orbit{transform-origin:300px 140px;animation:il-spin 14s linear infinite}
.v2 .il .blink{animation:il-blink 1.2s steps(1) infinite}@keyframes il-blink{50%{opacity:0}}
.v2 .il .bob{animation:il-bob 2.6s ease-in-out infinite}@keyframes il-bob{50%{transform:translateY(-10px)}}
.v2 .il .draw{stroke-dasharray:1;stroke-dashoffset:1;animation:il-tick 6s ease infinite}
.v2 .il .drop{animation:il-drop2 4s cubic-bezier(.3,1.4,.5,1) infinite both}@keyframes il-drop2{0%{transform:translateY(-24px)}20%,85%{transform:none}100%{transform:translateY(-24px)}}
.v2 .il .slide{animation:il-slide 4s ease-in-out infinite}@keyframes il-slide{50%{transform:translateX(420px)}}
.v2 .il .slide2{animation:il-slide2 8s ease-in-out infinite}@keyframes il-slide2{50%{transform:translateX(180px)}}
.v2 .il .slide3{animation:il-slide3 5s ease-in-out infinite}@keyframes il-slide3{0%,15%{transform:none}45%,55%{transform:translate(145px,-100px)}85%,100%{transform:translate(290px,-150px)}}
.v2 .il .slide4{animation:il-slide4 4.5s steps(1) infinite}@keyframes il-slide4{33%{transform:translateX(130px)}66%{transform:translateX(260px)}}
.v2 .il .scan{animation:il-scan 3s ease-in-out infinite}@keyframes il-scan{50%{transform:translateY(210px)}}
.v2 .il .ping{animation:il-ping 2.4s ease-out infinite}@keyframes il-ping{0%{opacity:.35;transform:scale(.8)}40%{opacity:1}100%{opacity:.35;transform:scale(1.08)}}
.v2 .il .wrench{transform-origin:520px 170px;animation:il-lever 3s ease-in-out infinite}
.v2 .il .loupe2{animation:il-loupe2 5s ease-in-out infinite}@keyframes il-loupe2{50%{transform:translate(-90px,40px)}}
@media (prefers-reduced-motion:reduce){.v2 .il .pop,.v2 .il .drop,.v2 .il .ping{opacity:1;transform:none}.v2 .il .draw{stroke-dashoffset:0}.v2 .il .grow,.v2 .il .growx{transform:none}}
/* iteration 4: site pages (paths, about, 404) */
.v2 .dirgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:4px}
.v2 .dircard{background:var(--coach2);border-radius:4px;padding:16px 18px;color:var(--paper)}
.v2 .dircard .dirhead{display:block;font-stretch:75%;font-weight:800;font-size:var(--fs-3);color:var(--board);text-decoration:none;margin-bottom:8px}
.v2 .dircard ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.v2 .dircard li a{display:block;color:#DDE3EC;text-decoration:none;padding:6px 0;border-top:1px solid var(--coach);font-size:var(--fs-s)}
.v2 .dircard li a:hover,.v2 .dircard .dirhead:hover{color:var(--paper);text-decoration:underline}
.v2 .aboutp{padding:24px var(--pad) 56px}
.v2 .depart .bnote{color:#DDE3EC}
/* iteration 5 */
.v2 .pcard .from,.v2 .pcard .to{font-size:clamp(1.15rem,2.2vw,1.45rem);font-weight:800;color:var(--ink);letter-spacing:0;text-transform:none;line-height:1.2}
.v2 .dircard li a{border-top:0;padding:5px 10px;margin:0 -10px;border-radius:4px}
.v2 .dircard li a:hover{background:var(--coach)}
@media(min-width:1100px){.v2 .dirgrid{grid-template-columns:repeat(4,1fr)}}
.v2 .aboutp{max-width:1200px;margin-inline:auto}
@media(min-width:900px){.v2 .aboutp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:72px;align-items:start}
.v2 .aboutp>h2{grid-column:1;font-size:var(--fs-2);margin-top:56px;border-top:6px solid var(--board);padding-top:14px}
.v2 .aboutp>*:not(h2){grid-column:2;font-size:1.15rem}
.v2 .aboutp>h2+*{margin-top:62px}}
.v2.nf .rcard,.v2.nf .rcard *,.v2.nf p{font-size:1.05rem}
@media(max-width:520px){.v2 h1.board{font-size:min(50px,calc(165cqi / (var(--n) * .43)))}}
@media(max-width:520px){.v2 .lead{font-size:1.1rem}}
.v2 .board-ch .bhead .bnote{text-align:right}
@media(min-width:900px){.v2.paths #routes-s .related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.v2.paths #routes-s .rcard{grid-template-columns:1fr auto}}
.v2 .dircard li a{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.v2 .dircard li a b{font-size:.78rem;font-weight:700;color:var(--board);opacity:.85}
@media(max-width:600px){.v2 .depart .rcard{padding-right:8px}.v2 .dircard{padding-right:8px}}
/* iteration 6: no empty ground — chapter heading column is a full-height colour field */
@media (min-width:1100px){
 .v2 .chap{align-items:stretch}
 .v2 .chap>.chh{position:static;align-self:stretch;background:var(--board);border-radius:14px;padding:clamp(24px,2.4vw,40px);box-shadow:inset 0 -10px 0 var(--ink)}
 .v2 .chap>.chh>h2{position:sticky;top:120px;color:var(--ink)}
 .v2 .chb>p,.v2 .chb>li,.v2 .chb li{font-size:1.15rem}
}
@media (min-width:1100px){
 .v2 .chap>.chh{padding:clamp(20px,1.8vw,30px)}
 .v2 .chap>.chh>h2{font-size:clamp(28px,2.4vw,36px)}
}
/* waitlist form: consent + privacy line */
#f .consent{display:flex;align-items:flex-start;gap:10px;margin:4px 0 12px}#f .consent input{width:20px;height:20px;margin-top:2px;flex:none}#f .consent label{font-weight:600}
#f .privline{font-size:.9rem;margin:10px 0 0;opacity:.85}#f button[disabled]{opacity:.6;cursor:wait}
