/* Layout: the site is an engineering drawing set — each section is a numbered sheet with a border, zone markers and a title block. */
:root{
  --paper:#F3F4EE; --paper-2:#E9ECE3; --sheet:#FBFBF7;
  --ink:#1E2B40; --ink-2:#56627A; --line:#C9D0C4; --grid:#1E2B40;
  --accent:#2E7A62; --accent-2:#276A55; --accent-ink:#FFFFFF;
  --accent-soft:#E3EFE8; --stamp:#A9782A; --stamp-soft:#F6EEDF; --focus:#2E7A62; --danger:#A8322A;
  --f-display:"Archivo","Arial Narrow",Helvetica,Arial,sans-serif;
  --f-body:"IBM Plex Serif",Georgia,"Times New Roman",serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4.5rem;--s-9:7rem;
  --max:1240px;
  color-scheme:light;
}
/* Single soft-light theme by design: the owner's standard for all sites is light, soft colours. */

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:1.0625rem;line-height:1.6;
  background-image:linear-gradient(color-mix(in srgb,var(--grid) 6%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--grid) 6%,transparent) 1px,transparent 1px);
  background-size:24px 24px}
::selection{background:var(--accent);color:var(--accent-ink)}
html{scrollbar-color:var(--line) var(--paper)}
a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}
h1,h2,h3{font-family:var(--f-display);font-stretch:112%;line-height:1.02;letter-spacing:-.02em;text-wrap:balance;margin:0}
p{margin:0}
.mono{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;font-variant-numeric:tabular-nums}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:50;background:var(--sheet);padding:.5rem 1rem}

/* Header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:var(--s-5);min-height:64px}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--ink);text-decoration:none;font-family:var(--f-display);font-weight:800;font-stretch:118%;font-size:1.15rem;letter-spacing:-.01em;white-space:nowrap}
.brand svg{width:30px;height:30px;flex:none}
.nav{display:flex;gap:var(--s-4);margin-left:auto;white-space:nowrap}
.nav a{color:var(--ink-2);text-decoration:none;font-family:var(--f-display);font-size:.9rem;font-weight:500}
.nav a:hover{color:var(--ink)}
.lang{display:flex;border:1px solid var(--line);border-radius:3px;overflow:hidden}
.lang button{font:500 .74rem/1 var(--f-mono);letter-spacing:.06em;background:transparent;color:var(--ink-2);border:0;padding:.55rem .6rem;cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.btn{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--f-display);font-weight:700;font-stretch:108%;font-size:1rem;padding:.85rem 1.25rem;border-radius:3px;border:1.5px solid var(--ink);text-decoration:none;cursor:pointer;transition:transform .2s cubic-bezier(.2,.8,.2,1),background .2s,color .2s;line-height:1.1}
.btn svg{width:18px;height:18px;flex:none}
.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{background:var(--accent-2);border-color:var(--accent-2);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.top .btn{padding:.6rem .95rem;font-size:.9rem}
@media (max-width:1240px){.nav{display:none}.top .wrap{gap:var(--s-3)}.lang{margin-left:auto}}
@media (max-width:520px){.top .btn{display:none}}

/* Sheet frame */
.sheet{position:relative;background:var(--sheet);border:1.5px solid var(--ink);margin-block:var(--s-7)}
.sheet::before{content:"";position:absolute;inset:8px;border:1px solid var(--line);pointer-events:none}
.zones{position:absolute;inset:0;pointer-events:none;font-family:var(--f-mono);font-size:.62rem;color:var(--ink-2)}
.zones span{position:absolute}
.sheet-head{display:flex;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;padding:var(--s-5) clamp(20px,4vw,48px) 0;color:var(--ink-2)}
.sheet-body{padding:var(--s-6) clamp(20px,4vw,48px) clamp(28px,4vw,48px)}
.sec-title{font-size:clamp(2rem,4.4vw,3.5rem);font-weight:800;max-width:20ch}
.lede{font-size:1.15rem;color:var(--ink-2);max-width:62ch;margin-top:var(--s-4)}

/* Hero */
.hero{margin-top:var(--s-5)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.hero h1{font-size:clamp(2.6rem,6.6vw,5.6rem);font-weight:900;font-stretch:115%;letter-spacing:-.035em;line-height:.95}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero .lede{font-size:clamp(1.08rem,1.5vw,1.25rem);margin-top:var(--s-5)}
.cta-row{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-6)}
.fig{position:relative;min-width:0}
.fig svg{width:100%;height:auto;display:block;overflow:visible}
.fig .cap{display:flex;flex-wrap:wrap;gap:.25rem 1rem;justify-content:space-between;margin-top:var(--s-2);color:var(--ink-2)}
.dl{stroke:var(--ink);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.dl-thin{stroke:var(--ink-2);fill:none;stroke-width:1;stroke-dasharray:4 4}
.dl-lead{stroke:var(--ink-2);fill:none;stroke-width:.9}
.dl-acc{stroke:var(--accent);fill:none;stroke-width:1.8;stroke-linecap:round}
.num{font-family:var(--f-mono);font-size:13px;fill:var(--ink)}
.hatch{fill:url(#hatch)}
@media (prefers-reduced-motion:no-preference){
  .draw{stroke-dasharray:var(--len,600);stroke-dashoffset:0;animation:draw 1.4s cubic-bezier(.16,1,.3,1) both}
  .draw.d2{animation-delay:.15s}.draw.d3{animation-delay:.3s}.draw.d4{animation-delay:.45s}
  @keyframes draw{from{stroke-dashoffset:var(--len,600)}to{stroke-dashoffset:0}}
}
.titleblock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1.5px solid var(--ink);margin-top:var(--s-6);background:var(--sheet)}
.titleblock div{padding:.6rem .75rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
.titleblock div:nth-child(4n){border-right:0}
.titleblock div:nth-last-child(-n+4){border-bottom:0}
.titleblock .k{display:block;color:var(--ink-2);font-size:.62rem}
.titleblock .v{display:block;font-family:var(--f-display);font-weight:700;font-size:.98rem;margin-top:.2rem;line-height:1.2}
.titleblock .v.acc{color:var(--accent)}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.titleblock{grid-template-columns:repeat(2,minmax(0,1fr))}
  .titleblock div:nth-child(4n){border-right:1px solid var(--line)}.titleblock div:nth-child(2n){border-right:0}
  .titleblock div:nth-last-child(-n+4){border-bottom:1px solid var(--line)}.titleblock div:nth-last-child(-n+2){border-bottom:0}}

/* Claims */
.claims-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,72px);margin-top:var(--s-6)}
.claims{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:c}
.claims li{counter-increment:c;display:grid;grid-template-columns:3.2rem minmax(0,1fr);gap:var(--s-3);padding:var(--s-4) 0;border-top:1px solid var(--line)}
.claims li:last-child{border-bottom:1px solid var(--line)}
.claims li::before{content:counter(c) ".";font-family:var(--f-mono);font-size:.95rem;color:var(--accent);padding-top:.15rem}
.claims b{font-family:var(--f-display);font-stretch:108%;font-weight:700;display:block;font-size:1.08rem;margin-bottom:.15rem}
.claims span{color:var(--ink-2)}
.note{border:1px dashed var(--ink-2);padding:var(--s-5);align-self:start;background:var(--paper)}
.note p+p{margin-top:var(--s-3)}
.stamp{display:inline-block;border:2px solid var(--stamp);color:var(--stamp);padding:.35rem .6rem;transform:rotate(-2.5deg);font-family:var(--f-mono);font-weight:500;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--s-4)}
@media (max-width:900px){.claims-grid{grid-template-columns:1fr}}

/* Route (8 stages) */
.route{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:var(--s-6);border-top:1.5px solid var(--ink);border-left:1px solid var(--line)}
.stage{padding:var(--s-5) var(--s-4) var(--s-6);border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;min-width:0;transition:background .25s}
.stage:hover{background:var(--paper)}
.stage .n{display:flex;justify-content:space-between;align-items:center;color:var(--accent)}
.stage .n svg{width:22px;height:22px;color:var(--ink-2)}
.stage h3{font-size:1.45rem;font-weight:800;margin-top:var(--s-4)}
.stage p{margin-top:var(--s-2);font-size:.98rem}
.stage .guard{margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px dashed var(--line);color:var(--ink-2);font-size:.88rem}
.stage .guard .mono{display:block;font-size:.62rem;margin-bottom:.2rem}
@media (max-width:980px){.route{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.route{grid-template-columns:1fr}}

/* Audience split */
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:var(--s-6);border:1.5px solid var(--ink)}
.two > section{padding:clamp(20px,3vw,40px);min-width:0}
.two > section + section{border-left:1.5px solid var(--ink)}
.two h3{font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:800}
.two .lede{font-size:1.02rem}
.spec{margin-top:var(--s-5);display:grid;gap:0}
.spec div{display:grid;grid-template-columns:9.5rem minmax(0,1fr);gap:var(--s-3);padding:.7rem 0;border-top:1px solid var(--line)}
.spec dt{color:var(--ink-2)}
.spec dd{margin:0}
.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.1rem}
.tags span{font-family:var(--f-display);font-size:.84rem;font-weight:600;border:1px solid var(--line);padding:.25rem .55rem;border-radius:2px;background:var(--paper)}
.warn{margin-top:var(--s-5);padding:var(--s-4);background:color-mix(in srgb,var(--stamp) 12%,var(--sheet));border:1px solid color-mix(in srgb,var(--stamp) 55%,transparent);font-size:.95rem}
.warn b{font-family:var(--f-display)}
.two .btn{margin-top:var(--s-5)}
@media (max-width:900px){.two{grid-template-columns:1fr}.two > section + section{border-left:0;border-top:1.5px solid var(--ink)}.spec div{grid-template-columns:1fr;gap:.1rem}}

/* Routes table */
.tbl{margin-top:var(--s-6);overflow-x:auto;border:1.5px solid var(--ink)}
table{border-collapse:collapse;width:100%;min-width:680px;font-size:.97rem}
th,td{text-align:left;vertical-align:top;padding:.85rem 1rem;border-bottom:1px solid var(--line)}
th{font-family:var(--f-mono);font-weight:500;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);background:var(--paper)}
td:first-child{font-family:var(--f-display);font-weight:800;font-size:1.1rem;white-space:nowrap}
tr:last-child td{border-bottom:0}
.fund{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s-5);align-items:start;margin-top:var(--s-6);padding:var(--s-5);border:1.5px solid var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--sheet))}
.fund svg{width:44px;height:44px;color:var(--accent)}
.fund h3{font-size:1.5rem;font-weight:800}
.fund p{margin-top:var(--s-2);color:var(--ink-2);max-width:68ch}

/* Structure */
.entities{display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);align-items:stretch;margin-top:var(--s-6)}
.entity{border:1.5px solid var(--ink);padding:clamp(20px,3vw,36px);background:var(--sheet);min-width:0}
.entity h3{font-size:1.6rem;font-weight:800;margin-top:var(--s-3)}
.entity ul{margin:var(--s-4) 0 0;padding-left:1.1rem;color:var(--ink-2)}
.entity li+li{margin-top:.35rem}
.link{display:flex;align-items:center;justify-content:center}
.link svg{width:72px;height:40px;color:var(--ink-2)}
.pending{display:inline-block;margin-top:var(--s-5);color:var(--ink-2)}
@media (max-width:860px){.entities{grid-template-columns:1fr}.link svg{transform:rotate(90deg);height:56px}}

/* Beyond */
.beyond{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:center}
.beyond h2{font-size:clamp(2rem,4.6vw,3.6rem);font-weight:900}
.regions{list-style:none;margin:0;padding:0}
.regions li{display:flex;justify-content:space-between;gap:var(--s-4);padding:.9rem 0;border-top:1px solid var(--line);font-family:var(--f-display);font-weight:700;font-size:1.2rem}
.regions li:last-child{border-bottom:1px solid var(--line)}
.regions li .mono{color:var(--ink-2);font-weight:400}
.regions li.now{color:var(--accent)}
.regions li.now .mono{color:var(--accent)}
@media (max-width:860px){.beyond{grid-template-columns:1fr}}

/* Forms */
.tabs{display:flex;gap:0;margin-top:var(--s-6);border-bottom:1.5px solid var(--ink);flex-wrap:wrap}
.tabs button{font-family:var(--f-display);font-weight:700;font-stretch:108%;font-size:1rem;background:transparent;border:1.5px solid transparent;border-bottom:0;padding:.85rem 1.2rem;color:var(--ink-2);cursor:pointer;margin-bottom:-1.5px}
.tabs button[aria-selected="true"]{border-color:var(--ink);background:var(--sheet);color:var(--ink)}
.panel{padding-top:var(--s-6)}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5) var(--s-5)}
.field{display:grid;gap:.4rem;min-width:0}
.field.full{grid-column:1/-1}
label,.lbl{font-family:var(--f-display);font-weight:600;font-size:.95rem}
.hint{font-size:.85rem;color:var(--ink-2)}
input,select,textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--ink-2);border-radius:2px;padding:.7rem .8rem;width:100%;min-width:0}
textarea{min-height:130px;resize:vertical}
input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--ink-2) 85%,transparent)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--focus);outline-offset:0;border-color:var(--focus)}
.field[data-invalid] input,.field[data-invalid] select,.field[data-invalid] textarea{border-color:var(--danger)}
.err{color:var(--danger);font-size:.85rem;min-height:0}
.check{display:flex;gap:.7rem;align-items:flex-start;font-family:var(--f-body);font-weight:400;font-size:.95rem}
.check input{width:20px;height:20px;margin-top:.15rem;flex:none;accent-color:var(--accent)}
.form-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:var(--s-4);align-items:center;justify-content:space-between}
.done{border:1.5px solid var(--accent);padding:var(--s-5);background:color-mix(in srgb,var(--accent) 8%,var(--sheet))}
.done h3{font-size:1.5rem;font-weight:800}
.done p{margin-top:var(--s-2)}
@media (max-width:700px){.form{grid-template-columns:1fr}}

/* FAQ */
.faq{margin-top:var(--s-6);border-top:1.5px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:var(--s-4);padding:1.1rem 0;font-family:var(--f-display);font-weight:700;font-size:1.18rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{width:20px;height:20px;flex:none;transition:transform .25s;margin-top:.2rem}
.faq details[open] summary svg{transform:rotate(45deg)}
.faq details p{padding:0 0 1.2rem;max-width:72ch;color:var(--ink-2)}


/* Photo hero: slow crossfade + drift, soft light veil */
.ph{position:relative;display:flex;flex-direction:column;background:var(--sheet);border-bottom:1px solid var(--line)}
.ph-slides{position:relative;order:0;height:clamp(340px,66vh,680px);overflow:hidden;background:var(--paper-2)}
.ph-slide{position:absolute;inset:-2%;margin:0;opacity:0;transition:opacity 1.8s ease;background:var(--blur) center/cover no-repeat;filter:saturate(.82) brightness(1.06)}
.ph-slide img{width:100%;height:100%;object-fit:cover;display:block;image-rendering:auto}
.ph-slide.is-on{opacity:1}
@media (prefers-reduced-motion:no-preference){.ph-slide.is-on{animation:drift 9s cubic-bezier(.2,.6,.3,1) both}
  .ph-slide:nth-child(even).is-on{animation-name:drift2}}
@keyframes drift{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.12) translate(-1.6%,-1%)}}
@keyframes drift2{from{transform:scale(1.12) translate(-1.2%,0)}to{transform:scale(1.03) translate(.6%,-.8%)}}
.ph-veil{display:none;background:linear-gradient(90deg,color-mix(in srgb,var(--sheet) 94%,transparent) 0%,color-mix(in srgb,var(--sheet) 78%,transparent) 40%,color-mix(in srgb,var(--sheet) 10%,transparent) 78%)}
.ph-inner{order:2;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-areas:"h l" "h c";column-gap:clamp(24px,5vw,72px);row-gap:var(--s-5);align-items:end;padding-block:var(--s-7) var(--s-7)}
.ph-inner h1{grid-area:h}.ph-inner .lede{grid-area:l}.ph-inner .cta-row{grid-area:c;margin-top:0}
@media (max-width:900px){.ph-inner{grid-template-columns:1fr;grid-template-areas:"h" "l" "c"}}
.ph h1{font-size:clamp(2.6rem,6.2vw,5.4rem);font-weight:900;font-stretch:115%;letter-spacing:-.035em;line-height:.95;max-width:12ch}
.ph h1 em{font-style:normal;color:var(--accent)}
.ph .lede{font-size:clamp(1.08rem,1.5vw,1.28rem);color:var(--ink);max-width:40ch;margin:0}
.ph .cta-row{margin-top:var(--s-2)}

.ph-foot{order:1;padding-block:var(--s-3);border-bottom:1px solid var(--line);background:var(--paper)}
.ph-foot .wrap{display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);flex-wrap:wrap}
.ph-cap{display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap;margin:0;padding:.35rem 0;border-radius:2px;color:var(--ink);font-size:.7rem}
.ph-cap .cr{color:var(--ink-2)}
.ph-ctl{display:flex;gap:.35rem;align-items:center;padding:.35rem 0;border-radius:2px}
.ph-ctl button{width:22px;height:28px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;color:var(--ink)}
.ph-ctl .dot{width:16px;height:4px;background:var(--line);border-radius:2px}
.ph-ctl button[aria-current="true"] .dot{background:var(--accent)}
.ph-ctl svg{width:14px;height:14px}
@media (max-width:760px){
  .ph-veil{background:linear-gradient(180deg,color-mix(in srgb,var(--sheet) 20%,transparent) 0%,color-mix(in srgb,var(--sheet) 80%,transparent) 42%,color-mix(in srgb,var(--sheet) 94%,transparent) 100%)}
  .ph-slides{height:clamp(260px,48vh,420px)}
  .ph-inner{padding-block:var(--s-6)}
  .ph-cap .cr{display:none}
}
.overview-h{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:800;max-width:16ch}

/* Prize */
.ladder{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr) 40px minmax(0,1fr);align-items:stretch;margin-top:var(--s-6)}
.rung{border:1.5px solid var(--ink);padding:var(--s-5);background:var(--sheet);min-width:0}
.rung.top{background:var(--accent-soft);border-color:var(--accent)}
.rung b{display:block;font-family:var(--f-display);font-weight:800;font-size:1.35rem;line-height:1.1;margin-top:.35rem}
.rung p{margin-top:var(--s-2);color:var(--ink-2);font-size:.95rem}
.ladder .arr{display:flex;align-items:center;justify-content:center;color:var(--ink-2)}
.ladder .arr svg{width:28px;height:28px}
@media (max-width:860px){.ladder{grid-template-columns:1fr}.ladder .arr svg{transform:rotate(90deg)}}
.cols2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);margin-top:var(--s-7)}
@media (max-width:860px){.cols2{grid-template-columns:1fr}}
.h3s{font-family:var(--f-display);font-weight:800;font-size:1.45rem;line-height:1.1;margin:0 0 var(--s-3)}
.cats{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--ink)}
.cats li{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:var(--s-4);padding:.8rem 0;border-bottom:1px solid var(--line)}
.cats li b{font-family:var(--f-display);font-weight:700}
.cats li span{color:var(--ink-2);font-size:.97rem}
@media (max-width:560px){.cats li{grid-template-columns:1fr;gap:.15rem}}
.score{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.score li{display:grid;grid-template-columns:minmax(0,1fr) 7rem;gap:var(--s-3);align-items:center}
.score li > span:last-child{display:block}
.score .bar{display:block;height:8px;background:var(--paper-2);border:1px solid var(--line);position:relative}
.score .bar i{position:absolute;inset:0 auto 0 0;background:var(--accent);opacity:.75}
.score .w{display:block;font-family:var(--f-mono);font-size:.72rem;color:var(--ink-2);text-align:right;margin-top:-.2rem}
.awards{margin-top:var(--s-6);border:1.5px solid var(--ink);display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.awards > div{padding:var(--s-5);min-width:0}
.awards > div + div{border-left:1px solid var(--line)}
.awards .amt{display:block;font-family:var(--f-display);font-weight:900;font-stretch:112%;font-size:clamp(2rem,3.6vw,2.8rem);letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}
.awards .who{display:block;margin-top:.4rem;font-family:var(--f-display);font-weight:700}
.awards p{margin-top:.35rem;color:var(--ink-2);font-size:.92rem}
@media (max-width:760px){.awards{grid-template-columns:1fr}.awards > div + div{border-left:0;border-top:1px solid var(--line)}}
.plus{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:var(--s-4)}
.plus span{font-family:var(--f-display);font-size:.88rem;font-weight:600;border:1px solid var(--line);background:var(--paper);padding:.3rem .6rem;border-radius:2px}
.fine{margin-top:var(--s-4);font-size:.88rem;color:var(--ink-2);max-width:80ch}
.milestones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:var(--s-6);border-top:1.5px solid var(--ink)}
.milestones div{padding:var(--s-4) var(--s-4) 0 0;min-width:0}
.milestones div::before{content:"";display:block;width:12px;height:12px;border:2px solid var(--accent);border-radius:50%;background:var(--sheet);margin:-1.15rem 0 .8rem}
.milestones div.now::before{background:var(--accent)}
.milestones b{display:block;font-family:var(--f-display);font-weight:800;font-size:1.05rem}
.milestones span{color:var(--ink-2);font-size:.92rem}
@media (max-width:760px){.milestones{grid-template-columns:1fr 1fr;row-gap:var(--s-5)}}

/* Crown the Creators */
.crown{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:0;margin-top:var(--s-6);border:1.5px solid var(--ink)}
.crown > section{padding:clamp(20px,3vw,40px);min-width:0}
.crown > section + section{border-left:1.5px solid var(--ink);background:var(--stamp-soft)}
.crown h3{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:800}
.crown ul{margin:var(--s-4) 0 0;padding-left:1.1rem}
.crown li+li{margin-top:.45rem}
.crown .btn{margin-top:var(--s-5)}
.crown .quiet{margin-top:var(--s-4);color:var(--ink-2);font-size:.95rem}
@media (max-width:900px){.crown{grid-template-columns:1fr}.crown > section + section{border-left:0;border-top:1.5px solid var(--ink)}}
.series{margin-top:var(--s-7)}
.series ol{list-style:none;margin:var(--s-4) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,4vw,56px);border-top:1.5px solid var(--ink)}
.series li{padding:.8rem 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:2rem minmax(0,1fr);gap:var(--s-2)}
.series li svg{width:20px;height:20px;color:var(--accent);margin-top:.15rem}
.series b{font-family:var(--f-display);font-weight:700;display:block}
.series span{color:var(--ink-2);font-size:.95rem}
@media (max-width:760px){.series ol{grid-template-columns:1fr}}

/* Across the continent */
.reach{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:var(--s-6);border-top:1.5px solid var(--ink);border-left:1px solid var(--line)}
.reach > div{padding:var(--s-5) var(--s-4);border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
.reach svg{width:24px;height:24px;color:var(--accent)}
.reach b{display:block;font-family:var(--f-display);font-weight:800;font-size:1.2rem;margin-top:var(--s-3)}
.reach p{margin-top:var(--s-2);color:var(--ink-2);font-size:.95rem}
@media (max-width:900px){.reach{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.reach{grid-template-columns:1fr}}
.policy{margin-top:var(--s-6);padding:var(--s-4) var(--s-5);border:1px dashed var(--ink-2);background:var(--paper);font-size:.95rem}

.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

.ph-art{background:var(--paper);background-image:linear-gradient(color-mix(in srgb,var(--grid) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--grid) 7%,transparent) 1px,transparent 1px);background-size:28px 28px;filter:none}
.ph-art canvas{position:absolute;left:0;right:0;margin:auto;top:5%;width:min(78%,980px);height:90%}
.ph-art .bp-wrap{position:absolute;left:50%;transform:translateX(-50%);top:7%;width:min(56%,640px)}
.ph-art .bp-svg{width:100%;height:auto;overflow:visible}
@media (prefers-reduced-motion:no-preference){.ph-slide.is-on .draw2{stroke-dasharray:var(--len,600);animation:draw 2.6s cubic-bezier(.16,1,.3,1) both}}
@media (max-width:760px){.ph-art canvas{top:3%;width:100%;height:94%}.ph-art .bp-wrap{width:84%;top:6%}}
/* Who we are */
.who{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,4vw,56px);margin-top:var(--s-6);align-items:start}
.who p.body{max-width:62ch}
.do{list-style:none;margin:var(--s-4) 0 0;padding:0;border-top:1.5px solid var(--ink)}
.do li{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:var(--s-4);padding:.75rem 0;border-bottom:1px solid var(--line)}
.do b{font-family:var(--f-display);font-weight:800;font-size:1.1rem;color:var(--accent)}
.do span{color:var(--ink-2)}
@media (max-width:560px){.do li{grid-template-columns:1fr;gap:.1rem}}
.ai-panel{border:1.5px solid var(--ink);background:linear-gradient(180deg,var(--sheet),var(--accent-soft));padding:var(--s-5);position:relative}
.ai-panel canvas{display:block;width:100%;aspect-ratio:4/3;height:auto}
.ai-panel h3{font-family:var(--f-display);font-weight:800;font-size:1.45rem;margin:var(--s-3) 0 var(--s-2)}
.ai-panel p{color:var(--ink-2);font-size:.97rem}
.ai-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:var(--s-3)}
.ai-tags span{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--line);background:var(--sheet);padding:.25rem .5rem}
@media (max-width:900px){.who{grid-template-columns:1fr}}
.films{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-5);margin-top:var(--s-4)}
.film{margin:0;min-width:0}
.film .frame{position:relative;aspect-ratio:16/9;border:1.5px solid var(--ink);background:linear-gradient(135deg,var(--accent-soft),var(--paper-2) 60%,var(--stamp-soft));overflow:hidden;display:grid;place-items:center}
.film .frame video,.film .frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.film .play{width:58px;height:58px;border-radius:50%;background:var(--sheet);border:1.5px solid var(--ink);display:grid;place-items:center}
.film .play svg{width:20px;height:20px;margin-left:3px;color:var(--accent)}
.film .soon{position:absolute;left:.7rem;bottom:.6rem;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.film figcaption{margin-top:.6rem}
.film figcaption b{display:block;font-family:var(--f-display);font-weight:700}
.film figcaption span{color:var(--ink-2);font-size:.9rem}
@media (max-width:900px){.films{grid-template-columns:1fr}}


/* Why invention matters */
.chain{list-style:none;margin:var(--s-6) 0 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));position:relative}
.chain::before{content:"";position:absolute;left:8%;right:8%;top:44px;border-top:2px dashed color-mix(in srgb,var(--accent) 55%,transparent)}
@media (prefers-reduced-motion:no-preference){.chain::after{content:"";position:absolute;top:39px;left:8%;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 18%,transparent);animation:travel 7s cubic-bezier(.45,0,.55,1) infinite}}
@keyframes travel{0%{left:8%}100%{left:calc(92% - 12px)}}
.chain li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.7rem;padding:0 .4rem}
.w-ico{width:88px;height:88px;border-radius:50%;background:var(--sheet);border:1.5px solid var(--ink);display:grid;place-items:center;color:var(--ink);position:relative;z-index:1}
.chain li:last-child .w-ico{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.w-ico svg{width:46px;height:46px}
.chain b{font-family:var(--f-display);font-weight:700;font-size:1rem;line-height:1.2}
.chain-note{margin-top:var(--s-5);max-width:70ch;color:var(--ink-2)}
@media (max-width:860px){.chain{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:var(--s-5)}.chain::before,.chain::after{display:none}}
@media (max-width:460px){.chain{grid-template-columns:repeat(2,minmax(0,1fr))}}
.timeline{list-style:none;margin:var(--s-4) 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1.5px solid var(--ink)}
.timeline li{padding:var(--s-5) var(--s-4) var(--s-4) 0;min-width:0;position:relative}
.timeline li::before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;border:2px solid var(--ink);background:var(--sheet)}
.timeline li.next::before{background:var(--accent);border-color:var(--accent)}
.t-ico{display:block;width:52px;height:52px;color:var(--ink-2);margin-bottom:var(--s-3)}
.timeline li.next .t-ico{color:var(--accent)}
.t-ico svg{width:100%;height:100%}
.timeline .mono{color:var(--accent)}
.timeline b{display:block;font-family:var(--f-display);font-weight:800;font-size:1.12rem;margin-top:.25rem}
.timeline p{margin-top:.35rem;color:var(--ink-2);font-size:.93rem}
@media (max-width:980px){.timeline{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--s-3)}}
@media (max-width:520px){.timeline{grid-template-columns:1fr}}
.pull{margin:var(--s-7) 0 0;padding:var(--s-5) 0 0;border-top:1px solid var(--line);font-family:var(--f-display);font-weight:800;font-stretch:112%;font-size:clamp(1.6rem,3.4vw,2.6rem);line-height:1.1;letter-spacing:-.02em;max-width:22ch;text-wrap:balance}


.sub-h{margin-top:var(--s-6);font-family:var(--f-display);font-weight:800;font-size:1.4rem}
.path-wrap{overflow-x:auto;margin-top:var(--s-4);padding-bottom:var(--s-3);scroll-snap-type:x proximity}
.timeline.path{display:grid;grid-template-columns:repeat(13,236px);width:max-content;border-top:1.5px solid var(--ink)}
.timeline.path li{scroll-snap-align:start;padding-right:var(--s-5)}
.timeline.path li.af::before{background:var(--stamp);border-color:var(--stamp)}
.born{display:inline-block;margin-top:.55rem;font-family:var(--f-mono);font-size:.64rem;letter-spacing:.07em;text-transform:uppercase;color:var(--stamp);border:1px solid color-mix(in srgb,var(--stamp) 55%,transparent);background:var(--stamp-soft);padding:.15rem .4rem}
.timeline.path li.next{background:var(--accent-soft);padding-left:var(--s-4)}
.timeline.path li.next::before{left:var(--s-4)}
.path-hint{color:var(--ink-2);margin-top:.3rem}



.creators{margin-top:var(--s-7);padding:var(--s-6);background:var(--accent-soft);border:1.5px solid var(--accent)}
.cr-lede{font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.6;max-width:70ch;margin-top:var(--s-2)}
.actors{list-style:none;margin:var(--s-5) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-5)}
.actors .t-ico{color:var(--accent);width:44px;height:44px}
.actors b{display:block;font-family:var(--f-display);font-weight:800;font-size:1.1rem}
.actors p{margin-top:.3rem;color:var(--ink-2);font-size:.95rem}
@media (max-width:900px){.actors{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.actors{grid-template-columns:1fr}}


/* Inventions Unleashed */
.unleashed{background:linear-gradient(180deg,var(--sheet),color-mix(in srgb,var(--accent-soft) 70%,var(--sheet)))}
.un-title{font-family:var(--f-display);font-weight:900;font-stretch:118%;font-size:clamp(2.8rem,7vw,6rem);line-height:.92;letter-spacing:-.04em;margin:0}
.un-title em{font-style:normal;color:var(--accent)}
.ideas{list-style:none;margin:var(--s-6) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1.5px solid var(--ink);border-left:1px solid var(--line)}
.ideas li{padding:var(--s-5) var(--s-4) var(--s-6);border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;background:var(--sheet);transition:background .25s}
.ideas li:hover{background:var(--accent-soft)}
.u-ico{display:block;width:46px;height:46px;color:var(--accent)}
.u-ico svg{width:100%;height:100%}
.u-new{display:inline-block;margin-top:var(--s-3);font-size:.64rem;color:var(--stamp);border:1px solid color-mix(in srgb,var(--stamp) 55%,transparent);background:var(--stamp-soft);padding:.12rem .4rem}
.ideas b{display:block;font-family:var(--f-display);font-weight:800;font-size:1.25rem;line-height:1.15;margin-top:.5rem}
.ideas p{margin-top:.45rem;color:var(--ink-2);font-size:.95rem}
@media (max-width:1040px){.ideas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.ideas{grid-template-columns:1fr}}


/* Locomotive call to action */
.drive{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,56px);align-items:center;margin-block:var(--s-7);padding:clamp(28px,4vw,56px);background:var(--accent-soft);border:1.5px solid var(--accent)}
.drive-a{font-family:var(--f-mono);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.drive-q{font-family:var(--f-display);font-weight:900;font-stretch:112%;font-size:clamp(2rem,4.2vw,3.5rem);line-height:1.02;letter-spacing:-.03em;margin:var(--s-3) 0 0;text-wrap:balance}
.drive .cta-row{margin-top:var(--s-6)}
.loco{width:100%;height:auto;color:var(--ink)}
.loco .dl-acc{stroke:var(--accent);stroke-width:2.4}
.loco .ideas-smoke{color:var(--accent)}
@media (prefers-reduced-motion:no-preference){
  .loco .smoke{animation:puff 3.2s ease-in-out infinite;transform-origin:190px 30px}
  .loco .ideas-smoke circle{animation:rise 3.2s ease-out infinite}
  .loco .ideas-smoke circle:nth-child(2){animation-delay:.5s}.loco .ideas-smoke circle:nth-child(3){animation-delay:1s}
}
@keyframes puff{0%,100%{transform:translate(0,0) scale(1);opacity:.9}50%{transform:translate(10px,-6px) scale(1.06);opacity:.6}}
@keyframes rise{0%{transform:translate(0,14px);opacity:0}30%{opacity:1}100%{transform:translate(30px,-10px);opacity:0}}
@media (max-width:860px){.drive{grid-template-columns:1fr}}

.drive-b{margin-top:var(--s-4);font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.6;max-width:56ch}
.welcome-note{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-4);margin-top:var(--s-5);padding:var(--s-4) var(--s-5);border:1px dashed var(--stamp);background:var(--stamp-soft);font-size:1.05rem}
.welcome-note .stamp{margin:0}
/* Footer */
footer{border-top:1.5px solid var(--ink);margin-top:var(--s-8);padding-block:var(--s-7) var(--s-6);background:var(--paper-2)}
.foot{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr));gap:var(--s-6)}
.foot h4{font-family:var(--f-mono);font-weight:500;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin:0 0 var(--s-3)}
.foot p,.foot address{font-style:normal;font-size:.95rem}
.foot .sel{user-select:all}
.legal{margin-top:var(--s-6);padding-top:var(--s-4);border-top:1px solid var(--line);font-size:.82rem;color:var(--ink-2);display:grid;gap:.5rem;max-width:110ch}
@media (max-width:820px){.foot{grid-template-columns:1fr}}
