@font-face{font-family:'Epetri AIRY';src:url(data:font/otf;base64,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Ijo3LjA3MDcwNzA3MDcwNzA3LCJzcGFjaW5nIjp7InVwcGVyY2FzZSI6eyJtb2RlIjoibW9ub3NwYWNlIiwiYmVhcmluZyI6NTAsIm1vbm93aWR0aCI6ODQzfSwibG93ZXJjYXNlIjp7Im1vZGUiOiJtb25vc3BhY2UiLCJiZWFyaW5nIjo1MCwibW9ub3dpZHRoIjo4NDN9LCJkaWdpdHMiOnsibW9kZSI6Im1vbm9zcGFjZSIsImJlYXJpbmciOjg2LCJtb25vd2lkdGgiOjg0M30sInB1bmN0dWF0aW9uIjp7Im1vZGUiOiJkZWZhdWx0IiwiYmVhcmluZyI6MTQ2fSwib3RoZXJzIjp7Im1vZGUiOiJtb25vc3BhY2UiLCJiZWFyaW5nIjo1MCwibW9ub3dpZHRoIjo4NDN9LCJleGNlcHRpb25zIjp7fX0sImFwcGxpY2F0aW9uIjoiSUxMVVNUUkFUT1IiLCJidWlsZFJhbmRvbSI6IjU1Yzg5Iiwia2VybmluZ0dyb3VwcyI6eyJsZWZ0Ijp7fSwicmlnaHQiOnt9fSwibWlzc2luZ0Nhc2VTdWJzdGl0dXRpb24iOjB9AAAA) format('opentype');font-weight:700;font-display:swap}
/* ===== tokens — resolved from his exported config, nothing guessed =====
   accent #1873D3 is his printed business card. --critical stays ORANGE: the export
   overwrote it with the accent, but critical means errors and safety, and a semantic
   colour that equals the brand colour carries no information. Ported sampler CSS has
   its decorative var(--critical) rewritten to var(--brand) at build time.          */
:root{
  --ink:#010101; --surface:#0a0a0b; --surface-2:#131315; --surface-3:#1b1b1f;
  --line:#26262a; --line-soft:#1a1a1e;
  --text:#f2f2f0; --muted:#8a8a90; --faint:#5a5a61;
  --brand:#1873d3; --brand-lo:rgba(24,115,211,.14); --brand-hi:#3d92ea;
  --critical:#ff5c1a; --warning:#ffc400; --info:#2e9bff; --good:#2fbf6b;
  --accent:#a06bff; --avio:#e8c400;
  --ease:cubic-bezier(.215,.62,.34,1);
  --d-xs:.2s; --d-s:.25s; --d-m:.3s; --d-l:.5s;
  --display:'Chakra Petch',system-ui,sans-serif;
  --body:'Inter',system-ui,-apple-system,sans-serif;
  --mono:'JetBrains Mono','SF Mono',Consolas,monospace;
  --plex:'IBM Plex Mono','JetBrains Mono',monospace;
  --gut:24px; --pad:clamp(20px,4vw,56px); --cut:clamp(28px,5vw,64px);
  --rev-dur:1;
  --panel:rgba(3,3,4,.94); --img-fade:19,19,21; --stage-a:#0e141c; --stage-b:#010101;
  --pavement:#17171a; --ghost:rgba(255,255,255,.030); --ghost2:rgba(255,255,255,.038);
  --maye:var(--text); --tech:var(--brand);
  --scrim:rgba(1,1,1,.72); --shadow:0 24px 60px rgba(0,0,0,.55);
  --title:var(--brand);
  --logo:url(data:image/png;base64,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);
}
*{box-sizing:border-box}
html{scrollbar-width:none}   /* no smooth-scroll: it fights the pinned sections */
html::-webkit-scrollbar{display:none}
/* below 900px the 104px rail would cover a quarter of the screen, so hide it and
   hand the native scrollbar back rather than leaving nothing to scroll with */
@media(max-width:900px){
  .rail{display:none}
  html{scrollbar-width:auto}
  html::-webkit-scrollbar{display:initial;width:10px}
  html::-webkit-scrollbar-thumb{background:var(--surface-3)}
}
body{margin:0;background:var(--ink);color:var(--text);font-family:var(--body);font-size:15px;
  line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{margin:0;text-wrap:balance;font-family:var(--display);font-weight:700;letter-spacing:-.02em}
p{margin:0}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
img{max-width:100%;display:block}
.ms{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;line-height:1;
  display:inline-block;white-space:nowrap;font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24}
.wrap{max-width:1240px;margin:0 auto;padding:0 var(--pad)}
.mono{font-family:var(--mono)}
.eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}
.num{font-variant-numeric:tabular-nums}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px}

/* ---- nav ---- */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;
  justify-content:space-between;gap:18px;padding:0 var(--pad);height:64px;
  background:rgba(1,1,1,.72);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-word{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:-.02em}
.nav-word .a{color:var(--maye)}.nav-word .b{color:var(--tech)}
.nav-links{display:flex;gap:4px;align-items:center}
.nav-links a{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);padding:8px 11px;transition:color var(--d-m) var(--ease)}
.nav-links a:hover,.nav-links a.on{color:var(--text)}
.nav-cta{border:1px solid var(--line);padding:8px 13px !important;color:var(--text) !important}
.nav-cta:hover{border-color:var(--brand);background:var(--brand-lo)}
@media(max-width:860px){.nav-links a:not(.nav-cta){display:none}}
body{padding-top:64px}

/* ---- hero ---- */
.hero{position:relative;padding:clamp(48px,9vh,104px) 0 clamp(40px,7vh,72px);overflow:hidden}
.hero-word{font-family:var(--display);font-weight:700;font-size:clamp(56px,13.5vw,166px);
  line-height:.82;letter-spacing:-.045em}
.hero-word .a{color:var(--maye)}.hero-word .b{color:var(--tech)}
.hero-sub{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:flex-end;
  margin-top:26px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.hero-sub h1{font-size:clamp(19px,2.4vw,27px);line-height:1.2;max-width:20ch;font-weight:600}
.hero-sub p{color:var(--muted);max-width:48ch;font-size:15px}
.hero-loc{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}

/* credential strip — spec-plate rhythm, his own insight turned on himself */
.creds{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);margin-top:var(--gut)}
.cred{background:var(--surface);padding:16px 18px}
.cred .k{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--faint);display:block;margin-bottom:7px}
.cred .v{font-family:var(--display);font-weight:600;font-size:16px;line-height:1.25}
.cred .s{font-family:var(--mono);font-size:10.5px;color:var(--muted);margin-top:4px;display:block}

/* ---- section heads ---- */
section{padding:clamp(66px,9vh,116px) 0 0}
.shead{display:flex;align-items:baseline;gap:16px;margin-bottom:12px;flex-wrap:wrap}
.snum{font-family:var(--mono);font-size:12px;color:var(--brand);letter-spacing:.12em}
.stitle{font-size:clamp(28px,5vw,54px);line-height:.98}
.sdesc{color:var(--muted);max-width:72ch;margin-bottom:28px}
.sdesc b{color:var(--text);font-weight:600}

/* ---- work cards ---- */
.work{display:grid;gap:var(--gut)}
.wcard{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:0;
  border:1px solid var(--line);background:var(--surface);overflow:hidden;
  transition:border-color var(--d-m) var(--ease),transform var(--d-m) var(--ease)}
.wcard:hover{border-color:var(--brand)}
@media(max-width:900px){.wcard{grid-template-columns:1fr}}
.wcard-img{position:relative;overflow:hidden;aspect-ratio:16/10;background:var(--surface-2)}
@media(max-width:900px){.wcard-img{aspect-ratio:16/9}}
.wcard-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);
  transition:filter var(--d-l) var(--ease),transform var(--d-l) var(--ease)}
.wcard:hover .wcard-img img{filter:grayscale(0);transform:scale(1.03)}
.wcard-body{padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:14px;justify-content:center}
.wcard-body h3{font-size:clamp(23px,2.7vw,34px);line-height:1.05}
.wcard-body p{color:var(--muted);font-size:14.5px}
.wcard-meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:2px}
.wcard-meta div{font-family:var(--mono);font-size:11px;color:var(--muted)}
.wcard-meta b{display:block;color:var(--brand);font-size:19px;font-weight:500;
  font-family:var(--display);letter-spacing:-.01em}
.wcard-go{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--text);margin-top:6px}
.wcard-go .ms{font-size:16px;color:var(--brand);transition:transform var(--d-m) var(--ease)}
.wcard:hover .wcard-go .ms{transform:translateX(5px)}
.wtag{position:absolute;top:0;left:0;z-index:2;font-family:var(--mono);font-size:9.5px;
  letter-spacing:.16em;text-transform:uppercase;background:var(--ink);color:var(--brand);
  padding:7px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}

/* ---- secondary grid ---- */
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line)}
.gcell{background:var(--surface);padding:24px 22px;display:flex;flex-direction:column;gap:9px;
  transition:background var(--d-m) var(--ease)}
.gcell:hover{background:var(--surface-2)}
.gcell .ms{font-size:22px;color:var(--brand)}
.gcell h4{font-size:17px}
.gcell p{color:var(--muted);font-size:13.5px}
.gcell .yr{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--faint)}

/* ---- awards ---- */
.awards{border:1px solid var(--line);background:var(--surface)}
.award{display:grid;grid-template-columns:112px 1fr auto;gap:20px;align-items:baseline;
  padding:18px var(--gut);border-bottom:1px solid var(--line)}
.award:last-child{border-bottom:0}
.award .yr{font-family:var(--mono);font-size:11px;color:var(--brand);letter-spacing:.08em}
.award h4{font-size:16px;font-family:var(--body);font-weight:600}
.award p{color:var(--muted);font-size:13.5px;margin-top:3px}
.award .scope{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--faint);white-space:nowrap}
@media(max-width:760px){.award{grid-template-columns:1fr;gap:5px}.award .scope{display:none}}
.award a{color:var(--brand);border-bottom:1px solid transparent;transition:border-color var(--d-m) var(--ease)}
.award a:hover{border-color:var(--brand)}

/* ---- skills, as a data plate ---- */
.skills{border:1px solid var(--line);background:var(--surface)}
.skrow{display:grid;grid-template-columns:180px 1fr;gap:0;border-bottom:1px solid var(--line)}
.skrow:last-child{border-bottom:0}
.skrow>.rh{padding:16px var(--gut);border-right:1px solid var(--line);background:var(--surface-2)}
.skrow>.rh b{font-family:var(--display);font-size:14px;font-weight:600;display:block}
.skrow>.rh small{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--faint);display:block;margin-top:4px}
.skitems{padding:16px var(--gut);display:flex;flex-wrap:wrap;gap:7px}
.skitems span{font-family:var(--plex);font-size:11.5px;color:var(--muted);
  border:1px solid var(--line);padding:5px 10px}
.skitems span.hi{color:var(--text);border-color:var(--faint)}
@media(max-width:760px){.skrow{grid-template-columns:1fr}.skrow>.rh{border-right:0;border-bottom:1px solid var(--line)}}

/* ---- quote ---- */
.quote{border-left:3px solid var(--brand);padding:6px 0 6px clamp(20px,3vw,38px);max-width:76ch}
.quote p{font-family:var(--display);font-weight:500;font-size:clamp(19px,2.5vw,28px);line-height:1.34;
  letter-spacing:-.015em}
.quote footer{margin-top:16px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--muted)}
.quote footer b{color:var(--text);font-weight:500}

/* ---- vision ---- */
.vision{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut)}
@media(max-width:900px){.vision{grid-template-columns:1fr}}
.vision p{color:var(--muted);font-size:15.5px}
.vision p+p{margin-top:16px}
.vision strong{color:var(--text);font-weight:600}
.aims{border:1px solid var(--line);background:var(--surface);padding:var(--gut)}
.aims li{list-style:none;display:flex;gap:12px;padding:9px 0;border-bottom:1px solid var(--line-soft);
  font-size:14px;color:var(--muted)}
.aims li:last-child{border-bottom:0}
.aims ul{margin:0;padding:0}
.aims li::before{content:'+';color:var(--brand);font-family:var(--mono);flex:none}

/* ---- contact ---- */
.contact{border:1px solid var(--line);background:var(--surface);display:grid;
  grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}   /* 6 cells, exactly 3x2 */
@media(max-width:900px){.contact{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.contact{grid-template-columns:1fr}}
.cc{background:var(--surface);padding:22px;display:flex;flex-direction:column;gap:6px;
  transition:background var(--d-m) var(--ease)}
a.cc:hover{background:var(--surface-2)}
.cc .k{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}
.cc .v{font-family:var(--display);font-size:17px;font-weight:600;word-break:break-word}
.cc .ms{font-size:19px;color:var(--brand)}
footer.foot{margin-top:clamp(60px,9vh,110px);border-top:1px solid var(--line);padding:26px 0 46px;
  display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}


/* ---- logo mark: PNG used as a mask so it takes the brand colour ---- */
.nav-mark{display:flex;align-items:center;height:100%}
.nav-mark .mark{width:34px;height:34px;background:var(--text);
  -webkit-mask:var(--logo) center/contain no-repeat;mask:var(--logo) center/contain no-repeat;
  transition:background var(--d-m) var(--ease)}
.nav-mark:hover .mark{background:var(--brand)}
.seq-mark{width:74px;height:74px;background:var(--brand);margin-bottom:6px;
  -webkit-mask:var(--logo) center/contain no-repeat;mask:var(--logo) center/contain no-repeat}
.foot-mark{width:26px;height:26px;background:var(--faint);flex:none;
  -webkit-mask:var(--logo) center/contain no-repeat;mask:var(--logo) center/contain no-repeat}

/* ---- hero ---- */
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,60px);align-items:center}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:28px}}
.hero-name{font-size:clamp(52px,10vw,124px);line-height:.86;letter-spacing:-.045em;margin:10px 0 20px}
.hero-lede{color:var(--muted);font-size:clamp(15px,1.7vw,18px);max-width:52ch}
.hero-act{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.btn-p,.btn-s{display:inline-flex;align-items:center;gap:9px;padding:13px 20px;font-family:var(--mono);
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--brand);
  transition:background var(--d-m) var(--ease),color var(--d-m) var(--ease)}
.btn-p{background:var(--brand);color:#fff}
.btn-p:hover{background:var(--brand-hi);border-color:var(--brand-hi)}
.btn-s{border-color:var(--line);color:var(--muted)}
.btn-s:hover{color:var(--text);border-color:var(--faint)}
.hero-photo{position:relative;margin:0;border:1px solid var(--line);overflow:hidden}
.hero-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 28%}
@media(max-width:900px){.hero-photo img{aspect-ratio:16/10}}

/* credential strip: 6 cells, exactly 3x2 */
.creds{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:clamp(28px,5vh,52px)}
@media(max-width:820px){.creds{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.creds{grid-template-columns:1fr}}

/* ---- plain-language gloss under each project title ---- */
.gloss{color:var(--text) !important;font-size:15.5px;font-weight:500;
  border-left:2px solid var(--brand);padding-left:13px}

/* ---- photo tiles for "Also built" ---- */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line)}
@media(max-width:1080px){.tiles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.tiles{grid-template-columns:1fr}}
.tile{margin:0;background:var(--surface);display:flex;flex-direction:column}
.tile img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(1) contrast(1.04);
  transition:filter var(--d-l) var(--ease)}
.tile:hover img{filter:grayscale(0)}
.tile figcaption{padding:16px 18px 20px;display:flex;flex-direction:column;gap:7px;flex:1}
.tile .yr{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--brand)}
.tile h4{font-size:16.5px}
.tile p{color:var(--muted);font-size:13.5px}

/* ---- the award lead ---- */
.aw-lead{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px);align-items:center;
  margin-bottom:var(--gut);border:1px solid var(--line);background:var(--surface);padding:0}
@media(max-width:900px){.aw-lead{grid-template-columns:1fr}}
.aw-lead figure{margin:0;overflow:hidden}
.aw-lead img{width:100%;aspect-ratio:4/3;object-fit:cover}
.aw-lead>div{padding:clamp(20px,3vw,38px)}
.aw-lead h3{font-size:clamp(22px,2.8vw,32px);margin-bottom:10px}
.aw-lead p{color:var(--muted);font-size:14.5px}

/* link out of the skills plate to the design page */
.skmore{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--brand);padding:5px 0 5px 4px}
.skmore .ms{font-size:15px;transition:transform var(--d-m) var(--ease)}
.skmore:hover .ms{transform:translateX(4px)}

.foot{align-items:center}


/* ---- graphic design page ---- */
.dz-head{padding-top:clamp(30px,5vh,56px)}
.dz-list{display:flex;flex-direction:column;gap:1px;background:var(--line);
  border:1px solid var(--line)}
.dz{background:var(--surface);display:grid;grid-template-columns:150px 1fr;
  gap:0;align-items:start}
@media(max-width:820px){.dz{grid-template-columns:1fr}}
.dz-meta{padding:24px 20px;border-right:1px solid var(--line);display:flex;
  flex-direction:column;gap:6px;position:sticky;top:88px}
@media(max-width:820px){.dz-meta{position:static;border-right:0;border-bottom:1px solid var(--line);
  flex-direction:row;gap:14px;align-items:baseline;padding:14px 20px}}
.dz-when{font-family:var(--display);font-weight:600;font-size:15px;color:var(--text)}
.dz-kind{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brand)}
.dz-body{padding:24px clamp(20px,3vw,34px) 6px}
.dz-body h3{font-size:clamp(19px,2.3vw,26px);margin-bottom:8px}
.dz-body p{color:var(--muted);font-size:14.5px;max-width:62ch}
.dz-shots{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:14px;
  padding:16px clamp(20px,3vw,34px) 28px}
.dz-shots.one{grid-template-columns:minmax(0,340px)}
@media(max-width:820px){.dz-shots{grid-column:1;grid-template-columns:1fr}}
.dz-shots figure{margin:0;border:1px solid var(--line);background:var(--ink);overflow:hidden}
.dz-shots img{width:100%;display:block;transition:transform var(--d-l) var(--ease)}
.dz-shots figure:hover img{transform:scale(1.02)}
.dz-note{display:flex;gap:12px;align-items:flex-start;border-left:3px solid var(--warning);
  background:rgba(255,196,0,.06);padding:16px 18px;color:var(--muted);font-size:13.5px;max-width:78ch}
.dz-note .ms{color:var(--warning);font-size:19px;flex:none}


/* ---- carousel: the panel a picked card opens into ---- */
.caro-stage{cursor:pointer}
.caro-stage:active{cursor:grabbing}
.caro-panel{position:absolute;inset:0;z-index:8;display:flex;align-items:center;
  justify-content:center;padding:clamp(16px,4vh,48px) var(--pad);
  background:rgba(1,1,1,.74);backdrop-filter:blur(7px);
  opacity:0;transition:opacity var(--d-m) var(--ease)}
.caro-panel.on{opacity:1}
.cp-inner{position:relative;display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);
  gap:0;max-width:820px;width:100%;max-height:100%;border:1px solid var(--line);
  background:var(--surface);box-shadow:var(--shadow);
  transform:translateY(14px) scale(.985);transition:transform var(--d-l) var(--ease)}
.caro-panel.on .cp-inner{transform:none}
@media(max-width:760px){.cp-inner{grid-template-columns:1fr}}
.cp-img{margin:0;overflow:hidden;background:var(--surface-2)}
.cp-img img{width:100%;height:100%;object-fit:cover;min-height:200px}
@media(max-width:760px){.cp-img img{max-height:180px}}
.cp-body{padding:clamp(20px,3vw,32px);display:flex;flex-direction:column;gap:11px;
  justify-content:center;min-width:0}
.cp-meta{display:flex;gap:12px;align-items:baseline;font-family:var(--mono);font-size:10px;
  letter-spacing:.16em;text-transform:uppercase}
.cp-meta b{color:var(--brand);font-weight:500}
.cp-meta span{color:var(--faint)}
.cp-body h3{font-size:clamp(20px,2.6vw,29px);line-height:1.06}
.cp-body p{color:var(--muted);font-size:14.5px}
.cp-go{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-top:5px;
  padding:11px 17px;border:1px solid var(--brand);color:#fff;background:var(--brand);
  font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  transition:background var(--d-m) var(--ease)}
.cp-go:hover{background:var(--brand-hi);border-color:var(--brand-hi)}
.cp-x{position:absolute;top:0;right:0;z-index:2;width:40px;height:40px;display:flex;
  align-items:center;justify-content:center;color:var(--muted);background:var(--surface);
  border-left:1px solid var(--line);border-bottom:1px solid var(--line)}
.cp-x:hover{color:var(--text)}

/* ---- routing ---- */
.route{display:none}
.route.on{display:block}

/* ---- case study ---- */
.cs-hero{position:relative;height:clamp(340px,58vh,600px);overflow:hidden;border-bottom:1px solid var(--line)}
.cs-hero img{width:100%;height:100%;object-fit:cover}
.cs-hero::after{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(1,1,1,.5) 0%,rgba(1,1,1,.15) 40%,rgba(1,1,1,.94) 100%)}
.cs-hero-txt{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 var(--pad) clamp(24px,4vh,44px)}
.cs-hero-txt .inner{max-width:1240px;margin:0 auto}
.cs-hero h1{font-size:clamp(32px,6.4vw,74px);line-height:.96}
.cs-hero .lede{color:var(--text);opacity:.82;max-width:56ch;margin-top:12px;font-size:16px}
.back{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.back:hover{color:var(--text)}
.back .ms{font-size:15px}
.cs-body{display:grid;grid-template-columns:1fr 320px;gap:clamp(28px,4vw,64px);align-items:start}
@media(max-width:1000px){.cs-body{grid-template-columns:1fr}}
.cs-block{margin-bottom:clamp(30px,4vh,52px)}
.cs-block h2{font-size:clamp(20px,2.6vw,28px);margin-bottom:12px}
.cs-block h2::before{content:'';display:inline-block;width:22px;height:2px;background:var(--brand);
  vertical-align:middle;margin-right:12px;margin-bottom:5px}
.cs-block p{color:var(--muted);font-size:15.5px}
.cs-block p+p{margin-top:14px}
.cs-block strong{color:var(--text);font-weight:600}
.cs-list{margin:14px 0 0;padding:0}
.cs-list li{list-style:none;display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--line-soft);
  color:var(--muted);font-size:14.5px}
.cs-list li:last-child{border-bottom:0}
.cs-list li::before{content:'+';color:var(--brand);font-family:var(--mono);flex:none}
.cs-list b{color:var(--text);font-weight:600}
.results{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);margin-top:18px}
.results.n6{grid-template-columns:repeat(3,1fr)}   /* 6 tiles: 3x2, no dead cell */
.results.n3{grid-template-columns:repeat(3,1fr)}
@media(max-width:820px){.results,.results.n6,.results.n3{grid-template-columns:repeat(2,1fr)}}
.res{background:var(--surface);padding:18px}
.res b{display:block;font-family:var(--display);font-size:clamp(23px,3vw,32px);font-weight:700;
  color:var(--brand);letter-spacing:-.02em;line-height:1}
.res span{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--faint);margin-top:8px}
.res small{display:block;color:var(--muted);font-size:12px;margin-top:5px}
.cs-side{position:sticky;top:88px;border:1px solid var(--line);background:var(--surface)}
@media(max-width:1000px){.cs-side{position:static}}
.cs-side .h{padding:12px 18px;border-bottom:1px solid var(--line);background:var(--surface-2);
  font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.cs-side dl{margin:0;padding:6px 18px 16px}
.cs-side dt{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--faint);margin-top:14px}
.cs-side dd{margin:4px 0 0;font-size:14px;font-family:var(--display);font-weight:500}
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line)}
.gal figure{margin:0;background:var(--surface)}
.gal img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(1) contrast(1.04);
  transition:filter var(--d-l) var(--ease)}
.gal figure:hover img{filter:grayscale(0)}
.gal figcaption{padding:11px 15px;font-family:var(--mono);font-size:10.5px;color:var(--muted);
  border-top:1px solid var(--line);min-height:52px}
.gal figure.wide{grid-column:span 2}
.gal figure.wide img{aspect-ratio:8/3}
@media(max-width:700px){.gal figure.wide{grid-column:span 1}}

/* ---- intro overlay: the sampler's .seq is an inline demo box; here it is the preloader ---- */
.seq{position:fixed !important;inset:0 !important;z-index:200;margin:0 !important;width:auto !important;
  height:auto !important;border:0 !important;border-radius:0 !important;background:var(--ink) !important;
  box-shadow:none !important;animation:none !important;transform:none !important}
.seq.fading{opacity:0;pointer-events:none;transition:opacity .46s var(--ease)}
.seq.gone{display:none}
body.intro-run{overflow:hidden}
.seq .seq-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:14px;text-align:center}
.seq .seq-logo{font-family:var(--display);font-weight:700;font-size:clamp(46px,11vw,140px);
  letter-spacing:-.045em;line-height:.9;color:var(--title)}
.seq .seq-content p{font-family:var(--mono);font-size:clamp(9px,1.3vw,12px);letter-spacing:.3em;
  text-transform:uppercase;color:var(--muted)}
.skip{position:fixed;bottom:22px;right:22px;z-index:210;font-family:var(--mono);font-size:10px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--faint);border:1px solid var(--line);
  padding:8px 13px;background:rgba(1,1,1,.6)}
.skip:hover{color:var(--text);border-color:var(--faint)}
.seq.gone~.skip{display:none}

/* ---- fiducial + diagonal-cut motifs (his picks), used sparingly ---- */
.fid{position:absolute;width:15px;height:15px;opacity:.5;pointer-events:none}
.fid::before,.fid::after{content:'';position:absolute;background:var(--brand)}
.fid::before{left:0;top:0;width:100%;height:1px}
.fid::after{left:0;top:0;width:1px;height:100%}
.fid.tr{right:0;top:0;transform:scaleX(-1)}
.fid.bl{left:0;bottom:0;transform:scaleY(-1)}
.fid.br{right:0;bottom:0;transform:scale(-1)}
.cut{clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%)}

/* ---- scroll reveal (default: restrained rise; he left the style unset) ---- */
.rv{opacity:0;transform:translateY(18px);
  transition:opacity calc(var(--d-l)*var(--rev-dur)) var(--ease),transform calc(var(--d-l)*var(--rev-dur)) var(--ease)}
.rv.in{opacity:1;transform:none}
body.reduced .rv{opacity:1;transform:none;transition:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* ===== controls =====
   Lifted from the sampler's base CSS by extract_controls.py. .btn and friends were
   never part of a marked block, so extract_parts.py could not see them. */
.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface-2);padding:8px 14px;font-family:var(--mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);position:relative;transition:color var(--d-m) var(--ease),border-color var(--d-m) var(--ease),background var(--d-m) var(--ease)}
.btn:hover{color:var(--text);border-color:var(--faint);background:var(--surface-3)}
.btn .ms{font-size:15px}
.btn.on{color:var(--ink);background:var(--text);border-color:var(--text)}
.btn.sm{padding:5px 9px;font-size:10px}
.btn.busy{opacity:.45;pointer-events:none}
.btn:focus-visible{outline:2px solid var(--info);outline-offset:2px}
.btnrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;align-items:center}
.ctl-k{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-right:4px}
.hint{margin-top:16px;font-size:13px;color:var(--faint);display:flex;gap:9px;align-items:center}
.hint .ms{font-size:17px}

/* ===== RAIL ===== */
.rail{position:fixed;right:0;top:0;bottom:0;width:104px;z-index:60;display:flex;align-items:center;justify-content:center;pointer-events:none}
.rail-inner{position:relative;width:100%;height:76vh;pointer-events:auto}
.rail-col{position:absolute;top:0;bottom:0;width:26px}
.rail-col.bar{right:30px}.rail-col.tk{right:58px}
body[data-split="0"] .rail-col.bar,body[data-split="0"] .rail-col.tk{right:38px}
.rail-track{position:absolute;left:50%;top:0;bottom:0;width:1px;transform:translateX(-50%);background:var(--line)}
body[data-track="dashed"] .rail-track{background:none;background-image:repeating-linear-gradient(to bottom,var(--line) 0 6px,transparent 6px 12px)}
body[data-track="double"] .rail-track{width:5px;background:none;border-left:1px solid var(--line);border-right:1px solid var(--line)}
body[data-track="ticked"] .rail-track{background:none;background-image:repeating-linear-gradient(to bottom,var(--line) 0 1px,transparent 1px 22px)}
.rail-cap{position:absolute;left:50%;transform:translateX(-50%);color:var(--faint);font-size:15px;display:none}
body[data-track="arrows"] .rail-cap{display:block}
body[data-track="arrows"] .rail-track{background:var(--line-soft)}
.rail-cap.t{top:-19px}.rail-cap.b{bottom:-19px}
.rail-thumb{position:absolute;left:50%;transform:translateX(-50%);background:var(--brand);cursor:grab;pointer-events:auto;touch-action:none;transition:height var(--d-m) var(--ease),width var(--d-m) var(--ease),border-radius var(--d-m) var(--ease),background var(--d-m) var(--ease),border-color var(--d-m) var(--ease),box-shadow var(--d-m) var(--ease)}
.rail-thumb:active{cursor:grabbing}.rail-thumb.drag{transition:none}
body[data-thumb="bar"] .rail-thumb{width:3px;border-radius:0;border:0 solid var(--brand);background:var(--brand)}
body[data-thumb="box"] .rail-thumb{width:13px;border-radius:0;background:transparent;border:1.5px solid var(--brand)}
body[data-thumb="circle"] .rail-thumb{width:13px;border-radius:99px;background:var(--brand);border:0 solid var(--brand)}
body[data-thumb="bracket"] .rail-thumb{width:15px;background:transparent;border:1.5px solid var(--brand);border-left-color:transparent;border-right-color:transparent;border-radius:0}
body[data-thumb="glow"] .rail-thumb{width:5px;border-radius:99px;background:var(--brand);box-shadow:0 0 12px 2px rgba(255,92,26,.55);border:0 solid var(--brand)}
.rail-tick{position:absolute;left:50%;transform:translate(-50%,-50%);cursor:pointer;pointer-events:auto;display:flex;align-items:center;justify-content:center;height:16px;width:24px}
.rail-tick .dot{width:7px;height:7px;background:var(--faint);transition:all var(--d-m) var(--ease)}
.rail-tick:hover .dot,.rail-tick.act .dot{background:var(--text);transform:scale(1.3)}
.rail-tick .lbl{position:absolute;right:26px;font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--text);white-space:nowrap;opacity:0;transform:translateX(6px);transition:all var(--d-m) var(--ease);background:var(--ink);padding:3px 7px;border:1px solid var(--line)}
.rail-tick:hover .lbl{opacity:1;transform:translateX(0)}
body[data-rail="b"] .rail-tick .dot{width:11px;height:1px}
body[data-rail="c"] .rail-tick[data-kind="info"] .dot,body[data-rail="f"] .rail-tick[data-kind="info"] .dot{background:var(--warning)}
body[data-rail="c"] .rail-tick[data-kind="app"] .dot,body[data-rail="f"] .rail-tick[data-kind="app"] .dot{background:var(--info)}
body[data-rail="c"] .rail-tick[data-kind="key"] .dot,body[data-rail="f"] .rail-tick[data-kind="key"] .dot{background:var(--brand)}
body[data-rail="c"] .rail-tick[data-kind="acc"] .dot,body[data-rail="f"] .rail-tick[data-kind="acc"] .dot{background:var(--accent)}
body[data-rail="d"] .rail-tick[data-kind="key"] .dot,body[data-rail="f"] .rail-tick[data-kind="key"] .dot{border-radius:50%}
body[data-rail="d"] .rail-tick[data-kind="app"] .dot,body[data-rail="f"] .rail-tick[data-kind="app"] .dot{transform:rotate(45deg)}
body[data-rail="d"] .rail-tick[data-kind="info"] .dot,body[data-rail="f"] .rail-tick[data-kind="info"] .dot{width:12px;height:2px}
body[data-rail="d"] .rail-tick[data-kind="acc"] .dot,body[data-rail="f"] .rail-tick[data-kind="acc"] .dot{clip-path:polygon(50% 0,100% 100%,0 100%)}
body[data-rail="d"] .rail-tick[data-kind="app"]:hover .dot,body[data-rail="f"] .rail-tick[data-kind="app"]:hover .dot{transform:rotate(45deg) scale(1.3)}
body[data-rail="e"] .rail-tick .dot{display:none}
body[data-rail="e"] .rail-tick::after{content:attr(data-n);font-family:var(--mono);font-size:9px;color:var(--faint);transition:color var(--d-m) var(--ease)}
body[data-rail="e"] .rail-tick.act::after,body[data-rail="e"] .rail-tick:hover::after{color:var(--brand)}
@media(max-width:1000px){.rail{display:none}}

/* ===== 01 MOTIF ===== */
.mo{position:relative}
.mo-box{background:var(--surface-2);padding:36px 30px;min-height:230px;display:flex;flex-direction:column;justify-content:flex-end}
.mo-box h4{font-size:26px;margin-bottom:8px}
.mo-box p{font-size:13.5px;color:var(--muted);max-width:42ch}
.mo-use{position:absolute;top:12px;right:12px;z-index:6}
.mo-box .vv{position:absolute;top:16px;left:30px;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--faint);z-index:3}
.mo-a{border:1px solid var(--line)}
.mo-a::before,.mo-a::after{content:'';position:absolute;width:26px;height:26px;border:2px solid var(--brand);pointer-events:none;z-index:2}
.mo-a::before{top:-1px;left:-1px;border-right:none;border-bottom:none}
.mo-a::after{bottom:-1px;right:-1px;border-left:none;border-top:none}
.mo-a>.pin1{position:absolute;top:16px;right:16px;width:9px;height:9px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px rgba(255,92,26,.16)}
.mo-b{clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%)}
.mo-b::after{content:'';position:absolute;right:-2px;bottom:-2px;width:calc(var(--cut)*1.42);height:2px;background:var(--brand);transform-origin:right center;transform:rotate(-45deg) translateY(1px);pointer-events:none}
.mo-c{border:1px solid var(--line);padding-left:40px;padding-right:40px}
.mo-c::before,.mo-c::after{content:'';position:absolute;top:0;bottom:0;width:28px;pointer-events:none;background:var(--ink);background-image:repeating-linear-gradient(to bottom,transparent 0 10px,var(--surface-3) 10px 26px);border-left:1px solid var(--line);border-right:1px solid var(--line)}
.mo-c::before{left:0}.mo-c::after{right:0}
.mo-d{border:1px solid var(--line);padding-top:60px}
.mo-d::before{content:'';position:absolute;left:0;right:0;top:26px;height:16px;pointer-events:none;background-image:repeating-linear-gradient(to right,var(--faint) 0 1px,transparent 1px 12px),repeating-linear-gradient(to right,var(--text) 0 1px,transparent 1px 60px);background-size:100% 7px,100% 14px;background-position:left bottom,left bottom;background-repeat:repeat-x}
.mo-d::after{content:'';position:absolute;left:0;right:0;top:42px;height:1px;background:var(--line);pointer-events:none}
.mo-d>.dim{position:absolute;top:6px;right:16px;font-family:var(--mono);font-size:10px;color:var(--warning);letter-spacing:.14em;z-index:3}
.mo-e{border:1px dashed color-mix(in srgb,#6f8c7d 70%,var(--text))}
.mo-e::before{content:'';position:absolute;inset:11px;border:1px solid rgba(159,179,168,.26);pointer-events:none}
.mo-e>.desig{position:absolute;top:-9px;left:24px;background:var(--ink);padding:0 8px;font-family:var(--mono);font-size:11px;color:#9fb3a8;letter-spacing:.16em;z-index:3}
.mo-e>.polar{position:absolute;bottom:14px;right:16px;font-family:var(--mono);font-size:10px;color:#9fb3a8;letter-spacing:.12em}
.mo-e>.polar::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#9fb3a8;margin-right:7px;vertical-align:middle}
.mo-f{border:1px solid #1f4a32;background:linear-gradient(150deg,#0d2417,#08150e)}
.mo-f::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.85;background-image:linear-gradient(90deg,transparent 0 26px,#2f7d55 26px 28px,transparent 28px),linear-gradient(0deg,transparent 0 34px,#2f7d55 34px 36px,transparent 36px),repeating-linear-gradient(90deg,transparent 0 60px,rgba(47,125,85,.35) 60px 61px,transparent 61px 120px)}
.mo-f::after{content:'';position:absolute;right:26px;top:26px;width:11px;height:11px;background:#c8a44a;box-shadow:20px 0 0 #c8a44a,40px 0 0 #c8a44a,0 20px 0 #c8a44a;border-radius:1px;pointer-events:none}
.mo-f .rdes{position:absolute;right:26px;bottom:16px;left:auto;top:auto;font-family:var(--mono);font-size:10px;color:#9fb3a8;letter-spacing:.14em;z-index:3}
.mo-f h4,.mo-f p,.mo-f .vv,.mo-f .rdes{position:relative;z-index:2}
.mo-f h4{color:#eef4ef}.mo-f p{color:#9fb3a8}.mo-f .vv{color:#6f8c7d}
.mo-e h4{color:var(--text)}.mo-e p{color:var(--muted)}
/* G: FAA runway holding position, drawn as a pilot sees it approaching from
   the left. Two SOLID lines (hold side) then two DASHED (crossable side). */
.mo-g{border:1px solid var(--line);padding-left:74px}
.mo-g::before{content:'';position:absolute;left:22px;top:0;bottom:0;width:8px;pointer-events:none;
  background:linear-gradient(90deg,var(--avio) 0 3px,transparent 3px 5px,var(--avio) 5px 8px)}
.mo-g::after{content:'';position:absolute;left:34px;top:0;bottom:0;width:8px;pointer-events:none;
  background-image:repeating-linear-gradient(to bottom,var(--avio) 0 13px,transparent 13px 24px),repeating-linear-gradient(to bottom,var(--avio) 0 13px,transparent 13px 24px);
  background-size:3px 100%,3px 100%;background-position:0 0,5px 6px;background-repeat:repeat-y,repeat-y}
.mo-g .hold{position:absolute;left:74px;top:38px;font-family:var(--mono);font-size:9.5px;color:var(--avio);letter-spacing:.16em;z-index:3}
.mo-g .hold b{font-weight:400;color:var(--faint)}
.mo-g>.vv{left:74px}

/* ===== 01G aviation family ===== */
.avi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
@media(max-width:900px){.avi-grid{grid-template-columns:1fr}}
.avi{background:var(--surface);padding:0}
.avi-art{height:120px;background:var(--pavement);position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.avi-k{padding:14px 16px 16px}
.avi-k b{display:block;font-family:var(--display);font-size:15px;margin-bottom:3px}
.avi-k small{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--faint);margin-bottom:8px}
.avi-k p{font-size:12.5px;color:var(--muted)}.avi-k em{font-style:normal;color:var(--text)}
/* holding position: pilot approaches from the left; 2 solid then 2 dashed */
.avi-hold{position:absolute;left:50%;top:0;bottom:0;width:30px;transform:translateX(-50%);
  background:linear-gradient(90deg,var(--avio) 0 4px,transparent 4px 9px,var(--avio) 9px 13px,transparent 13px 18px),
  repeating-linear-gradient(to bottom,var(--avio) 0 12px,transparent 12px 22px),repeating-linear-gradient(to bottom,var(--avio) 0 12px,transparent 12px 22px);
  background-size:13px 100%,4px 100%,4px 100%;background-position:0 0,18px 5px,25px 5px;background-repeat:no-repeat,repeat-y,repeat-y}
.avi-ils{position:absolute;left:50%;top:0;bottom:0;width:26px;transform:translateX(-50%);
  background:linear-gradient(90deg,var(--avio) 0 4px,transparent 4px 22px,var(--avio) 22px 26px),repeating-linear-gradient(to bottom,var(--avio) 0 4px,transparent 4px 20px);
  background-size:100% 100%,18px 100%;background-position:0 0,4px 8px;background-repeat:no-repeat,repeat-y}
.avi-cl{position:absolute;left:0;right:0;top:50%;height:5px;background:var(--avio);transform:translateY(-50%);box-shadow:0 0 0 2px #000}
.avi-ecl{position:absolute;left:0;right:0;top:50%;height:5px;background:var(--avio);transform:translateY(-50%)}
.avi-ecl::before,.avi-ecl::after{content:'';position:absolute;left:0;right:0;height:4px;background:repeating-linear-gradient(90deg,var(--avio) 0 18px,transparent 18px 30px)}
.avi-ecl::before{top:-13px}.avi-ecl::after{bottom:-13px}
.avi-edge-c{position:absolute;left:0;right:0;top:36%;height:11px;background:linear-gradient(to bottom,var(--avio) 0 4px,transparent 4px 7px,var(--avio) 7px 11px)}
.avi-edge-d{position:absolute;left:0;right:0;top:64%;height:11px;background:linear-gradient(to bottom,var(--avio) 0 4px,transparent 4px 7px,var(--avio) 7px 11px);-webkit-mask:repeating-linear-gradient(90deg,#000 0 30px,transparent 30px 80px);mask:repeating-linear-gradient(90deg,#000 0 30px,transparent 30px 80px)}
.avi-thr{position:absolute;left:14px;right:14px;top:22px;bottom:22px;background:repeating-linear-gradient(90deg,#f2f2f0 0 9px,transparent 9px 22px)}
.avi-tdz{position:absolute;inset:18px 14px;background:
  linear-gradient(90deg,#f2f2f0 0 6px,transparent 6px 10px,#f2f2f0 10px 16px,transparent 16px 20px,#f2f2f0 20px 26px,transparent 26px),
  linear-gradient(90deg,#f2f2f0 0 6px,transparent 6px 10px,#f2f2f0 10px 16px,transparent 16px),
  linear-gradient(90deg,#f2f2f0 0 6px,transparent 6px);
  background-size:26px 100%,16px 100%,6px 100%;background-position:0 0,50% 0,100% 0;background-repeat:no-repeat}
.avi-chev{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='120' viewBox='0 0 72 120'%3E%3Cpath d='M8 4 L52 60 L8 116' fill='none' stroke='%23e8c400' stroke-width='14' stroke-linejoin='miter'/%3E%3C/svg%3E");background-size:72px 120px;background-repeat:repeat-x;background-position:0 center}
.avi-geo{position:absolute;left:50%;top:50%;width:54px;height:54px;border-radius:50%;transform:translate(-50%,-50%);background:#ff5fa8;box-shadow:0 0 0 9px #f2f2f0,0 0 0 15px #000}

/* ===== 01H airport signs ===== */
.sign-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
@media(max-width:900px){.sign-grid{grid-template-columns:1fr}}
.sg{background:var(--surface);padding:18px 16px 16px}
.sg b{display:block;font-family:var(--display);font-size:15px;margin:14px 0 3px}
.sg small{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--faint);margin-bottom:8px}
.sg p{font-size:12.5px;color:var(--muted)}.sg em{font-style:normal;color:var(--text)}
.sign{height:78px;display:flex;align-items:center;justify-content:center;font-family:'Archivo','Chakra Petch',sans-serif;font-weight:800;font-size:40px;letter-spacing:.02em;border-radius:3px;position:relative}
.sign .ms{font-size:34px;margin-left:8px}
.s-man{background:#c1272d;color:#fff}
.s-loc{background:#111;color:#f2c400;box-shadow:inset 0 0 0 4px #f2c400}
.s-dir{background:#f2c400;color:#111}
.s-info{font-size:30px}
.s-dist{background:#111;color:#fff;font-size:48px}
.s-noentry i{width:44px;height:44px;border-radius:50%;background:#fff;position:relative;display:block}
.s-noentry i::after{content:'';position:absolute;left:8px;right:8px;top:18px;height:8px;background:#c1272d}
.s-bnd{background:#f2c400}
.s-bnd-art{position:absolute;left:50%;top:10px;bottom:10px;width:30px;transform:translateX(-50%);
  background:linear-gradient(90deg,#111 0 4px,transparent 4px 9px,#111 9px 13px,transparent 13px 18px),repeating-linear-gradient(to bottom,#111 0 8px,transparent 8px 14px),repeating-linear-gradient(to bottom,#111 0 8px,transparent 8px 14px);
  background-size:13px 100%,4px 100%,4px 100%;background-position:0 0,18px 3px,25px 3px;background-repeat:no-repeat,repeat-y,repeat-y}

/* ===== 03 lateral ===== */
.hs-outer{position:relative;height:520vh}
.hs-sticky{position:sticky;top:0;height:100vh;overflow:hidden;background:var(--surface);display:flex;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hs-track{display:flex;gap:var(--gut);padding:0 var(--pad);will-change:transform}
.hs-panel{flex:none;width:min(78vw,520px);border:1px solid var(--line);background:var(--surface-2);min-height:420px;display:flex;flex-direction:column;position:relative;overflow:hidden;clip-path:polygon(0 0,100% 0,100% calc(100% - 40px),calc(100% - 40px) 100%,0 100%)}
.hs-img{height:180px;background-size:cover;background-position:center;position:relative;flex:none;border-bottom:1px solid var(--line)}
.hs-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(var(--img-fade),.95),rgba(var(--img-fade),.15))}
.hs-body{padding:26px 28px 44px;display:flex;flex-direction:column;justify-content:flex-end;flex:1}
.hs-panel .n{position:absolute;top:14px;right:24px;font-family:var(--mono);font-size:40px;color:rgba(255,255,255,.13);line-height:1;z-index:2}
.hs-panel .eyebrow{margin-bottom:9px;color:var(--brand)}
.hs-panel h3{font-size:clamp(22px,3vw,32px);line-height:1.02;margin-bottom:10px}
.hs-panel p{color:var(--muted);font-size:13.5px;max-width:42ch}
.conds{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);padding:5px 10px;font-family:var(--mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.pill .ms{font-size:14px}
.pill.warn{color:var(--warning);border-color:rgba(255,196,0,.32)}
.hs-bar{position:absolute;left:var(--pad);right:var(--pad);bottom:26px;height:2px;background:var(--line)}
.hs-bar i{position:absolute;left:0;top:0;height:100%;width:0;background:var(--brand);display:block}
.hs-hud{position:absolute;top:24px;left:var(--pad);font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--faint);text-transform:uppercase;display:flex;gap:16px}
.hs-ramp{color:var(--warning);opacity:0;transition:opacity var(--d-m) var(--ease)}
.hs-outer.ramping .hs-ramp{opacity:1}

/* ===== 04 INTRO: loader -> exit -> entrance ===== */
.seq{position:relative;overflow:hidden;height:440px;border:1px solid var(--line);background:#000}
.seq-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center;z-index:2;transform-origin:center center}
.seq-logo{font-family:var(--display);font-weight:700;font-size:clamp(30px,5.4vw,58px);letter-spacing:-.03em;position:relative}
.seq-content p{color:var(--muted);font-size:13px;letter-spacing:.06em}
.seq .seq-content.hid{opacity:0 !important;transform:scale(1,.004);animation:none !important}
.seq .seq-content.pon{animation:crtOn .62s var(--ease) forwards !important}
@keyframes crtOn{0%{transform:scale(0,0);opacity:0;filter:brightness(5)}36%{transform:scale(1,.004);opacity:1;filter:brightness(3.4)}70%{transform:scale(1,1);filter:brightness(1.7)}100%{transform:scale(1,1);opacity:1;filter:brightness(1)}}
.pdot{position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;background:#fff;transform:translate(-50%,-50%) scale(0);z-index:14;box-shadow:0 0 18px 6px rgba(255,255,255,.8);pointer-events:none}
.pdot.on{animation:dotOn .62s var(--ease) forwards}
.pdot.off{animation:dotOff .55s var(--ease) forwards}
@keyframes dotOn{0%{transform:translate(-50%,-50%) scale(1);opacity:1}30%{opacity:1}44%{opacity:0}100%{opacity:0}}
@keyframes dotOff{0%,55%{opacity:0;transform:translate(-50%,-50%) scale(0)}72%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(.2)}}
/* real CRT: a WebGL pass with libretro's warp + shadow-mask formulas */
#crtCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:9;display:none;pointer-events:none}
.seq.tube #crtCanvas{display:block}
.seq.tube .seq-content{opacity:0}
.crt-ctl{display:grid;grid-template-columns:repeat(auto-fit,minmax(216px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-top:none}
.crt-ctl .cc{background:var(--surface-2);padding:12px 15px}
.crt-ctl label{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}
.crt-ctl label b{color:var(--text);font-weight:400;font-variant-numeric:tabular-nums}
.crt-ctl input[type=range]{width:100%}
.seq.float .seq-content{animation:floatY 6s ease-in-out infinite}
@keyframes floatY{0%,100%{transform:translateY(-6px)}50%{transform:translateY(6px)}}
/* COVER */
.cover{position:absolute;inset:0;background:#000;z-index:12;transform-origin:center center;display:none}
.cover.show{display:block}
.cover.exit-wipe{animation:wipeUp .5s var(--ease) forwards}
@keyframes wipeUp{to{transform:translateY(-101%)}}
.cover.exit-crt{animation:crtOff .55s var(--ease) forwards}
@keyframes crtOff{0%{transform:scale(1,1);filter:brightness(1)}42%{transform:scale(1.012,.006);filter:brightness(3.6)}72%{transform:scale(.22,.004);opacity:1}100%{transform:scale(0,.002);opacity:0}}
.split{position:absolute;inset:0;z-index:12;display:none}
.split.show{display:block}
.split .half{position:absolute;left:0;right:0;height:50%;background:#000}
.split .half.t{top:0}.split .half.b{bottom:0}
.split .hrule{position:absolute;left:50%;top:50%;height:2px;width:0;background:var(--brand);transform:translate(-50%,-50%);z-index:13}
.split.run .hrule{animation:draw .5s var(--ease) forwards,fadeo .2s var(--ease) forwards .5s}
.split.run .half.t{animation:up .5s var(--ease) forwards .5s}
.split.run .half.b{animation:down .5s var(--ease) forwards .5s}
@keyframes draw{to{width:76%}}
@keyframes fadeo{to{opacity:0}}
@keyframes up{to{transform:translateY(-100%)}}
@keyframes down{to{transform:translateY(100%)}}
/* loaders live inside cover */
.ld{position:absolute;inset:0;display:none;align-items:center;justify-content:center}
.ld.show{display:flex}
/* A odometer */
.ld-odo .odo{font-family:var(--mono);font-size:76px;font-weight:700;letter-spacing:-.04em}
.ld-odo .odo small{font-size:19px;color:var(--faint);margin-left:6px}
/* D terminal — emotion's real geometry: one band, three columns */
.ld-term{font-family:var(--plex);font-weight:500;text-transform:uppercase;font-size:11px;letter-spacing:.02em;color:var(--text);padding:0 5.5%;display:none;align-items:center;justify-content:space-between;gap:24px}
.ld-term.show{display:flex}
.tk-col{flex:1 1 0;min-width:0}
.tk-left{flex:0 0 30%}.tk-mid{text-align:center}.tk-right{flex:0 0 30%;text-align:right}
.tk-wrap{--count:6;height:calc(1.9em * var(--count));overflow:hidden}
.tk-list{display:flex;flex-direction:column;gap:.9em;will-change:transform}
.tk-item{position:relative;text-align:left;line-height:1em;padding:.1em .3em;color:var(--text);white-space:nowrap;width:max-content;transition:color .12s linear}
.tk-item::before{content:'';position:absolute;inset:-.15em -.1em;background:var(--text);opacity:0;z-index:-1}
.tk-item.act{color:#000}.tk-item.act::before{opacity:1}
.tk-prog{font-size:12px;letter-spacing:.14em}
.tk-text{display:inline-block;max-width:34ch;position:relative;padding-right:1.2ch;font-size:10.5px;line-height:1.5;text-align:right}
.tk-text::after{content:'';position:absolute;right:0;bottom:.2em;width:1ch;height:1em;background:currentColor;animation:blink .3s infinite}
@keyframes blink{0%{opacity:0}50%{opacity:1}}
.tk-gate{position:absolute;inset:0;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;opacity:0;pointer-events:none;transition:opacity var(--d-m) var(--ease);z-index:3}
.tk-gate.show{opacity:1;pointer-events:auto}
.tk-gate p{max-width:40ch;color:var(--muted);font-size:10.5px;margin-top:10px}
.tk-done{font-family:var(--display);font-weight:700;font-size:clamp(30px,5vw,54px);letter-spacing:.14em;color:var(--brand)}
/* E dot-matrix (canvas) */
.ld-rough{display:none;align-items:stretch}.ld-rough.show{display:flex;left:0;right:0;top:0;bottom:0;width:100%;height:100%}
#dotCanvas{width:100%;height:100%;display:block}
/* F liquid (canvas) */
.ld-liquid{display:none}.ld-liquid.show{display:block;left:0;right:0;top:0;bottom:0;width:100%;height:100%}
#lqCanvas{width:100%;height:100%;display:block}
.lq-count{position:absolute;font-family:var(--body);font-size:13px;color:var(--text);white-space:nowrap;letter-spacing:.01em}
.lq-count b{font-weight:600;font-variant-numeric:tabular-nums}
/* Babu companion (ZZZ Bangboo) */
.babu{position:absolute;right:22px;bottom:16px;display:none;align-items:flex-end;gap:12px;z-index:5;pointer-events:none}
.babu.show{display:flex}
.babu-txt{text-align:right;line-height:1;padding-bottom:6px}
.babu-txt b{display:block;font-family:var(--display);font-weight:700;font-style:italic;font-size:22px;letter-spacing:-.02em;color:var(--text)}
.babu-txt small{display:block;font-family:var(--mono);font-size:8.5px;letter-spacing:.36em;color:var(--muted);margin-top:4px}
.babu-body{width:64px;height:52px;border-radius:38% / 42%;background:#1b2124;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:background .25s var(--ease);transform-origin:50% 100%}
.babu-face{width:78%;height:auto;display:block;transition:filter .25s var(--ease)}
.babu.anim-pop .babu-body{animation:babuPop .32s var(--ease)}
@keyframes babuPop{0%{transform:scale(1,1)}35%{transform:scale(1.18,.78) rotate(-4deg)}65%{transform:scale(.9,1.14) rotate(3deg)}100%{transform:scale(1,1)}}
.babu.anim-slide .babu-face{animation:babuSlide .36s var(--ease)}
@keyframes babuSlide{0%{transform:translateX(0)}45%{transform:translateX(-140%)}55%{transform:translateX(140%)}100%{transform:translateX(0)}}
.babu.anim-flip .babu-body{animation:babuFlip .34s var(--ease)}
@keyframes babuFlip{0%{transform:rotateY(0)}50%{transform:rotateY(90deg)}100%{transform:rotateY(0)}}
.babu.anim-bounce .babu-body{animation:babuBounce .34s var(--ease)}
@keyframes babuBounce{0%{transform:translateY(0)}40%{transform:translateY(-16px) scale(1.04)}70%{transform:translateY(0) scale(.94,1.06)}100%{transform:translateY(0)}}
.babu.light .babu-txt b{color:#1a1a1a}.babu.light .babu-txt small{color:#6a6a6a}
.babu[data-mood="happy"] .babu-txt b{color:var(--brand)}.babu[data-mood="surprised"] .babu-txt b{color:var(--info)}.babu[data-mood="sad"] .babu-txt b{color:var(--accent)}
/* CRT bezel */
.seq.bezel #crtCanvas{border-radius:18px / 26px}
.crt-bezel{position:absolute;inset:0;z-index:10;pointer-events:none;display:none;border-radius:18px / 26px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.05),inset 0 0 40px 8px rgba(0,0,0,.85),0 0 0 14px #050506,0 0 0 15px #1e1e22;
  background:linear-gradient(160deg,rgba(255,255,255,.07),transparent 38%,transparent 70%,rgba(255,255,255,.03))}
.seq.tube.bezel .crt-bezel{display:block}
/* chain UI */
.chain{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-top:none}
.slot{background:var(--surface-2);padding:14px 16px}
.slot .sk2{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-bottom:9px;display:flex;justify-content:space-between}
.slot .sk2 b{color:var(--brand);font-weight:400}
.slot .opts{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:860px){.chain{grid-template-columns:1fr}}

/* ===== 05 type ===== */
.typeset{padding:44px var(--gut)}
.type-h{font-size:clamp(34px,8vw,92px);line-height:.93;font-weight:700;letter-spacing:-.035em;margin-bottom:18px;transition:color var(--d-m) var(--ease)}
.type-sub{font-size:clamp(14px,1.8vw,19px);color:var(--muted);max-width:52ch}
.type-meta{display:flex;gap:26px;flex-wrap:wrap;margin-top:26px;padding-top:20px;border-top:1px solid var(--line-soft)}
.type-meta div{font-family:var(--mono);font-size:12px;color:var(--faint)}
.f-chakra{font-family:'Chakra Petch',sans-serif}.f-saira{font-family:'Saira',sans-serif}.f-archivo{font-family:'Archivo',sans-serif}
.f-oxanium{font-family:'Oxanium',sans-serif}.f-rajdhani{font-family:'Rajdhani',sans-serif}.f-grotesk{font-family:'Space Grotesk',sans-serif}

/* ===== 06 cards ===== */
.card{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--surface-2);aspect-ratio:4/3;display:block;transition:border-color var(--d-m) var(--ease),background var(--d-m) var(--ease)}
.card-art{position:absolute;inset:0;background:linear-gradient(145deg,#1d1f26,#0c0d10 55%,#141519);background-size:cover;background-position:center;transition:transform var(--d-l) var(--ease),filter var(--d-l) var(--ease)}
.card-art::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(var(--img-fade),.90),rgba(var(--img-fade),.10) 55%,rgba(var(--img-fade),.42))}
.card-grid{position:absolute;inset:0;opacity:.4;background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:34px 34px;transition:opacity var(--d-m) var(--ease)}
body.imgon .card-grid{opacity:.15}
.card-lab{position:absolute;left:18px;bottom:16px;z-index:2;font-family:var(--display);font-weight:700;font-size:19px;transition:transform var(--d-m) var(--ease),color var(--d-m) var(--ease)}
.card-arrow{position:absolute;right:15px;top:14px;z-index:2;color:var(--muted);transition:transform var(--d-m) var(--ease),color var(--d-m) var(--ease)}
.card-arrow .ms{font-size:21px}
.card-use{position:absolute;right:12px;bottom:12px;z-index:6}
.card-key{position:absolute;left:18px;top:14px;z-index:2;font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--muted)}
.card-a:hover .card-art{transform:scale(1.07)}.card-a:hover .card-lab{transform:translateY(-5px)}.card-a:hover .card-arrow{transform:translate(4px,-4px);color:var(--text)}
.card-b:hover{border-color:var(--brand)}.card-b:hover .card-lab{color:var(--brand)}.card-b:hover .card-arrow{transform:translate(4px,-4px);color:var(--brand)}
.card-c:hover .card-arrow{transform:translate(4px,-4px)}
body[data-cmode="grey"] .card-c .card-art{filter:grayscale(1) contrast(1.1)}
body[data-cmode="grey"] .card-c:hover .card-art{filter:grayscale(0) contrast(1)}
body[data-cmode="invert"] .card-c:hover .card-art{filter:invert(1) hue-rotate(180deg)}
body[data-cmode="duo"] .card-c .card-art{filter:grayscale(1) sepia(1) hue-rotate(340deg) saturate(3.4) contrast(1.05)}
body[data-cmode="duo"] .card-c:hover .card-art{filter:none}
body[data-cmode="knock"] .card-c .card-art,body[data-cmode="knock"] .card-c .card-grid{transition:opacity var(--d-m) var(--ease)}
body[data-cmode="knock"] .card-c:hover{background:var(--text);border-color:var(--text)}
body[data-cmode="knock"] .card-c:hover .card-art,body[data-cmode="knock"] .card-c:hover .card-grid{opacity:0}
body[data-cmode="knock"] .card-c:hover .card-lab,body[data-cmode="knock"] .card-c:hover .card-arrow{color:var(--ink)}
.card-d:hover .card-art{filter:brightness(1.3) saturate(1.15)}.card-d:hover .card-arrow{transform:translate(4px,-4px);color:var(--text)}

/* ===== 07 reveals ===== */
.rvcard{position:relative}
.rv-replay{position:absolute;top:9px;right:12px;z-index:4}
.rev-body{padding:26px 20px;min-height:190px}
.rev-eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--brand);margin-bottom:10px}
.rev-h{font-size:21px;margin-bottom:9px;line-height:1.15}
.rev-p{color:var(--muted);font-size:13px}
.rv .m{overflow:hidden}
.rv.go .m>*,.rv.go .rev-body>*{animation-duration:calc(.5s * var(--rev-dur));animation-timing-function:var(--ease);animation-fill-mode:both}
.rev-a.go .m>*{animation-name:riseIn}
.rev-a.go .m:nth-child(2)>*{animation-delay:calc(.06s*var(--rev-dur))}
.rev-a.go .m:nth-child(3)>*{animation-delay:calc(.12s*var(--rev-dur))}
@keyframes riseIn{from{transform:translateY(105%)}to{transform:translateY(0)}}
.rev-b.go .rev-body>*{animation-name:fadeUp}.rev-c.go .rev-body>*{animation-name:clipIn}.rev-d.go .rev-body>*{animation-name:blurIn}
.rev-e.go .rev-body>*{animation-name:diagIn}.rev-g.go .rev-body>*{animation-name:pushIn}.rev-h2.go .rev-body>*{animation-name:flipIn;transform-origin:top center}
.rv.go .rev-body>*:nth-child(2){animation-delay:calc(.08s*var(--rev-dur))}
.rv.go .rev-body>*:nth-child(3){animation-delay:calc(.16s*var(--rev-dur))}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes clipIn{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes blurIn{from{opacity:0;filter:blur(9px);transform:scale(1.04)}to{opacity:1;filter:blur(0);transform:scale(1)}}
@keyframes diagIn{from{clip-path:polygon(0 0,0 0,-45% 100%,0 100%)}to{clip-path:polygon(0 0,145% 0,100% 100%,0 100%)}}
@keyframes pushIn{from{opacity:0;transform:translateX(-26px) skewX(-7deg)}to{opacity:1;transform:translateX(0) skewX(0)}}
@keyframes flipIn{from{opacity:0;transform:perspective(700px) rotateX(-72deg)}to{opacity:1;transform:perspective(700px) rotateX(0)}}
.ltr{display:inline-block;white-space:pre}
.rev-f.go .ltr{animation:letterIn calc(.42s*var(--rev-dur)) var(--ease) both}
@keyframes letterIn{from{opacity:0;transform:translateY(70%) rotate(7deg)}to{opacity:1;transform:translateY(0) rotate(0)}}

/* ===== 09 SPEC PLATE — nameplate + Apple hierarchy ===== */
.plate{border:1px solid var(--line);background:var(--surface);position:relative}
.plate-bar{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:30px 28px 24px;background:var(--surface-2);border-bottom:2px solid var(--brand);position:relative}
.plate-bar .fam{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}
.plate-bar .model{font-family:var(--display);font-weight:700;font-size:clamp(30px,5.4vw,56px);line-height:.9;letter-spacing:-.035em;color:var(--text);display:flex;align-items:baseline;gap:14px}
.plate-bar .model .rev{font-size:11px;font-weight:500;font-family:var(--mono);letter-spacing:.16em;color:var(--brand);border:1px solid var(--brand);padding:4px 9px;align-self:center}
.plate-ids{display:grid;grid-template-columns:auto auto;gap:7px 20px;font-family:var(--mono);font-size:11.5px;text-align:right;align-items:baseline}
.plate-ids .k{color:var(--faint);letter-spacing:.14em;text-transform:uppercase;font-size:9px}
.plate-ids .v{font-variant-numeric:tabular-nums;color:var(--text)}
.prow{display:grid;grid-template-columns:170px 1fr;border-top:1px solid var(--line)}
.prow:first-of-type{border-top:none}
.prow .rh{padding:20px 28px;font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--text);border-right:1px solid var(--line);background:var(--surface-2)}
.prow .rh small{display:block;font-family:var(--mono);font-weight:400;font-size:9.5px;letter-spacing:.14em;color:var(--faint);margin-top:6px;text-transform:none}
.prow .cols{display:grid;grid-template-columns:repeat(3,1fr)}
.prow .col{padding:18px 24px;border-right:1px solid var(--line-soft)}
.prow .col:last-child{border-right:none}
.prow .sh{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-bottom:6px}
.prow .cp{font-family:var(--mono);font-size:13.5px;font-variant-numeric:tabular-nums;color:var(--text);line-height:1.35}
.prow .cp em{font-style:normal;color:var(--muted)}
.prow .cp.warn{color:var(--warning)}
.hold-bar{height:14px;background:linear-gradient(to bottom,transparent 0 2px,var(--avio) 2px 4px,transparent 4px 6px,var(--avio) 6px 8px,transparent 8px),repeating-linear-gradient(to right,var(--avio) 0 14px,transparent 14px 26px);background-size:100% 100%,100% 6px;background-position:0 0,0 100%;background-repeat:no-repeat,repeat-x;border-top:1px solid var(--line)}
.plate-foot{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 28px;border-top:1px solid var(--line);flex-wrap:wrap}
.marks{display:flex;gap:12px;align-items:center}
.mark{width:40px;height:26px;border:1.5px solid var(--faint);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--faint)}
.mark.solid{background:var(--faint);color:var(--ink)}
.qr{display:grid;grid-template-columns:repeat(9,4px);gap:1px}
.qr i{width:4px;height:4px;background:var(--faint);display:block}
.qr i.o{background:transparent}
.plate-made{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
@media(max-width:860px){.prow{grid-template-columns:1fr}.prow .rh{border-right:none;border-bottom:1px solid var(--line)}.prow .cols{grid-template-columns:1fr}.prow .col{border-right:none;border-bottom:1px solid var(--line-soft)}}

/* ===== 14 popups ===== */
.pp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gut)}
@media(max-width:900px){.pp-grid{grid-template-columns:1fr}}
.pp{border:1px solid var(--line);background:var(--surface);position:relative;overflow:hidden}
.pp-stage{height:210px;position:relative;background:var(--surface-3);overflow:hidden;
  background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:26px 26px}
.pp-cap{padding:14px 16px;border-top:1px solid var(--line)}
.pp-cap b{display:block;font-family:var(--display);font-size:15px;margin-bottom:3px}
.pp-cap small{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--faint);margin-bottom:7px}
.pp-cap p{font-size:12.5px;color:var(--muted)}
.pp-scrim{position:absolute;inset:0;background:var(--scrim)}
.win{position:absolute;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.win-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.win-t{font-family:var(--display);font-weight:700;font-size:13px}
.win-x{color:var(--faint);font-size:15px}
.win-b{padding:14px;font-size:11.5px;color:var(--muted);line-height:1.5}
.win-f{display:flex;gap:8px;justify-content:flex-end;padding:10px 14px;border-top:1px solid var(--line)}
.mini{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:6px 11px;border:1px solid var(--line);color:var(--muted)}
.mini.pri{background:var(--brand);border-color:var(--brand);color:#fff}
.mini.dang{background:#c1272d;border-color:#c1272d;color:#fff}
/* A dialog */
.pp-a .win{left:50%;top:50%;transform:translate(-50%,-50%);width:74%}
/* B fiducial dialog */
.pp-b .win{left:50%;top:50%;transform:translate(-50%,-50%);width:74%;border:1px solid var(--line)}
.pp-b .win::before,.pp-b .win::after{content:'';position:absolute;width:18px;height:18px;border:2px solid var(--brand)}
.pp-b .win::before{top:-1px;left:-1px;border-right:none;border-bottom:none}
.pp-b .win::after{bottom:-1px;right:-1px;border-left:none;border-top:none}
/* C drawer */
.pp-c .win{right:0;top:0;bottom:0;width:62%;border-right:none;border-top:none;border-bottom:none}
/* D bottom sheet */
.pp-d .win{left:0;right:0;bottom:0;border-bottom:none;border-left:none;border-right:none}
.pp-d .grab{width:38px;height:3px;background:var(--faint);border-radius:2px;margin:9px auto 0}
/* E toast */
.pp-e .win{right:14px;bottom:14px;width:64%;border-left:3px solid var(--good)}
.pp-e .win-b{display:flex;gap:10px;align-items:flex-start;padding:12px 14px}
.pp-e .ms{color:var(--good);font-size:18px}
/* F hold-short confirm */
.pp-f .win{left:50%;top:50%;transform:translate(-50%,-50%);width:74%;border-top:none}
.pp-f .hold{height:12px;background:linear-gradient(to bottom,var(--avio) 0 3px,transparent 3px 5px,var(--avio) 5px 8px),repeating-linear-gradient(to right,var(--avio) 0 12px,transparent 12px 22px);
  background-size:100% 100%,100% 4px;background-position:0 0,0 100%;background-repeat:no-repeat,repeat-x}
/* G popover */
.pp-g .win{left:16%;top:36%;width:56%}
.pp-g .win::after{content:'';position:absolute;left:26px;top:-7px;width:12px;height:12px;background:var(--surface-2);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}
.pp-g .anchor{position:absolute;left:14%;top:22%;padding:6px 12px;border:1px solid var(--brand);color:var(--brand);font-family:var(--mono);font-size:10px;letter-spacing:.1em}
/* H command palette */
.pp-h .win{left:50%;top:22%;transform:translateX(-50%);width:82%}
.pp-h .cmd-in{padding:12px 14px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:12px;color:var(--muted);display:flex;gap:8px;align-items:center}
.pp-h .cmd-in i{width:1ch;height:1em;background:var(--brand);display:inline-block;animation:blink .35s infinite}
.pp-h .cmd{padding:8px 14px;font-size:11.5px;color:var(--muted);display:flex;justify-content:space-between;gap:10px}
.pp-h .cmd.sel{background:var(--surface-3);color:var(--text)}
.pp-h .cmd kbd{font-family:var(--mono);font-size:9px;border:1px solid var(--line);padding:1px 5px;color:var(--faint)}
/* I inline banner */
.pp-i .win{left:12px;right:12px;top:16px;border-left:3px solid var(--warning);box-shadow:none}
.pp-i .win-b{display:flex;gap:10px;align-items:flex-start}
.pp-i .ms{color:var(--warning);font-size:18px}
/* J spec-plate modal */
.pp-j .win{left:50%;top:50%;transform:translate(-50%,-50%);width:80%;border-top:2px solid var(--brand)}
.pp-j .rows{display:grid;grid-template-columns:1fr 1fr}
.pp-j .r{padding:8px 12px;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.pp-j .r span{display:block;font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.pp-j .r b{font-family:var(--mono);font-size:11px;font-weight:400;color:var(--text)}

/* ===== 09B epetri ===== */
.ep-code{font-family:'Epetri AIRY','JetBrains Mono',monospace;font-weight:700;font-size:40px;line-height:1;letter-spacing:.04em;color:var(--text)}
.ep-band{overflow:hidden;white-space:nowrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;font-family:'Epetri AIRY',monospace;font-weight:700;font-size:34px;color:var(--muted);display:flex}
.ep-band span{display:inline-block;padding-right:1em;animation:epRun 26s linear infinite}
@keyframes epRun{to{transform:translateX(-100%)}}
.ep-hero{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--surface);padding:clamp(40px,7vw,80px) var(--gut);margin-top:18px}
.ep-ghost{position:absolute;left:-2%;top:50%;transform:translateY(-50%);font-family:'Epetri AIRY',monospace;font-weight:700;font-size:clamp(90px,17vw,220px);line-height:1;color:var(--surface-3);white-space:nowrap;pointer-events:none;letter-spacing:.02em}
.ep-fore{position:relative;z-index:2;max-width:46ch}
.ep-fore h3{font-size:clamp(34px,6vw,64px);line-height:.95;margin:8px 0 10px}
.ep-fore p{color:var(--muted);font-size:14px}

/* ===== 10 asym ===== */
.asym{position:relative;padding:clamp(64px,10vw,130px) 0;overflow:hidden;background:linear-gradient(120deg,var(--surface),var(--ink) 62%)}
.asym-inner{max-width:1240px;margin:0 auto;padding:0 var(--pad);position:relative}
.asym-slab{position:absolute;left:calc(var(--pad)*-1);top:-34px;background:var(--brand);color:var(--ink);font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.1em;padding:11px 42px 11px 24px;clip-path:polygon(0 0,100% 0,calc(100% - 20px) 100%,0 100%);z-index:3}
.asym-ghost{position:absolute;right:-4vw;top:-14%;font-family:var(--display);font-weight:700;font-size:clamp(90px,20vw,260px);line-height:.8;color:var(--ghost);z-index:0;letter-spacing:-.06em;pointer-events:none;white-space:nowrap}
.asym-body{position:relative;z-index:2;max-width:56ch}
.asym-body h3{font-size:clamp(30px,5.4vw,58px);margin-bottom:14px;line-height:.98}.asym-body p{color:var(--muted);font-size:15px}
.asym-chip{position:absolute;right:var(--pad);bottom:-22px;background:var(--surface-3);border:1px solid var(--line);padding:11px 18px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--muted);z-index:3}
.reel{height:44px;background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.reel::after{content:'';position:absolute;top:0;bottom:0;left:0;width:200%;background-image:repeating-linear-gradient(to right,transparent 0 16px,var(--ink) 16px 40px);animation:reelrun 3.4s linear infinite}
@keyframes reelrun{to{transform:translateX(-40px)}}

/* ===== 10b more asymmetry ===== */
.asym-more{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:40px}
@media(max-width:900px){.asym-more{grid-template-columns:1fr}}
.am{position:relative;min-height:250px;border:1px solid var(--line);background:var(--surface);overflow:visible}
.am-3{overflow:hidden}
.asym-more{margin-bottom:34px}
.am-use{position:absolute;top:10px;right:10px;z-index:8}
.am h4{font-size:22px;margin-bottom:8px}.am p{font-size:13px;color:var(--muted);max-width:36ch}
.am-1 .am-frame{position:absolute;inset:18px;border:1px solid var(--line)}
.am-1 .am-card{position:absolute;left:-14px;top:34px;width:62%;background:var(--surface-3);border:1px solid var(--line);padding:22px 22px 24px;transform:rotate(-3deg);box-shadow:0 22px 44px rgba(0,0,0,.5);z-index:2}
.am-2 .am-rail{position:absolute;left:14px;top:18px;bottom:18px;writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--mono);font-size:9.5px;letter-spacing:.3em;color:var(--faint)}
.am-2 .am-tab{position:absolute;right:-14px;top:38px;background:var(--text);color:var(--ink);padding:14px 8px;display:flex;flex-direction:column;align-items:center;gap:8px;font-family:var(--display);font-weight:700;font-size:15px;z-index:2}
.am-2 .am-tab i{width:14px;height:1px;background:var(--brand);display:block}.am-2 .am-tab span{color:var(--faint);font-size:12px}
.am-2 .am-body{padding:44px 60px 30px 60px}
.am-3 .am-ghost{position:absolute;left:-10px;top:-38px;font-family:var(--display);font-weight:700;font-size:190px;line-height:1;color:var(--ghost2);letter-spacing:-.08em;pointer-events:none}
.am-3 .am-strip{position:absolute;right:-30px;bottom:-30px;width:190px;height:40px;transform:rotate(-38deg);transform-origin:right bottom;background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background-image:repeating-linear-gradient(90deg,transparent 0 14px,var(--ink) 14px 34px)}
.am-3 .am-body{padding:52px 30px 30px;position:relative;z-index:2}
.am-4 .am-stack{position:absolute;border:1px solid var(--line);background:var(--surface-2)}
.am-4 .am-stack.a{left:18px;top:26px;right:60px;bottom:40px;opacity:.5}
.am-4 .am-stack.b{left:38px;top:44px;right:40px;bottom:22px;opacity:.75}
.am-4 .am-stack.c{left:58px;top:62px;right:-16px;bottom:-14px;background:var(--surface-3);padding:22px 26px;z-index:2}
.am-4 .am-slab{position:absolute;left:-10px;bottom:24px;background:var(--brand);color:var(--ink);font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.1em;padding:8px 22px 8px 16px;clip-path:polygon(0 0,100% 0,calc(100% - 12px) 100%,0 100%);z-index:3}

/* ===== 11 bumpers ===== */
.bmp{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:15px 30px;font-family:var(--display);font-weight:600;font-size:15px;color:var(--text);background:var(--surface-2);cursor:pointer;transition:color var(--d-m) var(--ease),background var(--d-m) var(--ease)}
.bmp:hover{background:var(--surface-3)}
.bmp-1{border:1px solid var(--line)}.bmp-1:hover{border-color:var(--brand);color:var(--brand)}
.bmp-2,.bmp-7{border:1px solid var(--line)}
.bmp-2::before,.bmp-2::after{content:'';position:absolute;width:15px;height:15px;border:2px solid var(--brand);opacity:0;transition:all var(--d-m) var(--ease)}
.bmp-2::before{top:-6px;left:-6px;border-right:none;border-bottom:none;transform:translate(5px,5px)}
.bmp-2::after{bottom:-6px;right:-6px;border-left:none;border-top:none;transform:translate(-5px,-5px)}
.bmp-2:hover::before,.bmp-2:hover::after{opacity:1;transform:translate(0,0)}.bmp-2:hover{color:var(--brand)}
.bmp-3{clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);background:var(--surface-3)}.bmp-3:hover{background:var(--brand);color:var(--ink)}
.bmp-4{border-left:3px solid var(--brand);border-right:3px solid var(--brand)}.bmp-4:hover{background:var(--brand);color:var(--ink)}
.bmp-5{background:none;padding-left:0;padding-right:0}
.bmp-5::after{content:'';position:absolute;left:0;bottom:8px;height:2px;width:100%;background:var(--faint);transform:scaleX(.26);transform-origin:left;transition:transform var(--d-m) var(--ease),background var(--d-m) var(--ease)}
.bmp-5:hover::after{transform:scaleX(1);background:var(--brand)}
.bmp-6{border:1px solid var(--line);overflow:hidden}.bmp-6 span{position:relative;z-index:2;transition:color var(--d-m) var(--ease)}
.bmp-6::before{content:'';position:absolute;inset:0;background:var(--text);transform:translateY(101%);transition:transform var(--d-m) var(--ease)}
.bmp-6:hover::before{transform:translateY(0)}.bmp-6:hover span{color:var(--ink)}
.bmp-7 i{position:absolute;width:13px;height:13px;border:2px solid var(--brand);opacity:0;transition:all var(--d-m) var(--ease)}
.bmp-7 i:nth-child(1){top:-6px;left:-6px;border-right:none;border-bottom:none;transform:translate(5px,5px)}
.bmp-7 i:nth-child(2){top:-6px;right:-6px;border-left:none;border-bottom:none;transform:translate(-5px,5px)}
.bmp-7 i:nth-child(3){bottom:-6px;left:-6px;border-right:none;border-top:none;transform:translate(5px,-5px)}
.bmp-7 i:nth-child(4){bottom:-6px;right:-6px;border-left:none;border-top:none;transform:translate(-5px,-5px)}
.bmp-7:hover i{opacity:1;transform:translate(0,0)}.bmp-7:hover{color:var(--brand)}
.bmp-8{border:none;background:var(--surface-2);padding-left:38px}
.bmp-8::before{content:'';position:absolute;left:8px;top:6px;bottom:6px;width:16px;background:linear-gradient(90deg,var(--avio) 0 2px,transparent 2px 5px,var(--avio) 5px 7px,transparent 7px 10px),repeating-linear-gradient(to bottom,var(--avio) 0 5px,transparent 5px 10px);background-size:100% 100%,7px 100%;background-position:0 0,10px 0;background-repeat:no-repeat,repeat-y}
.bmp-8:hover{background:var(--surface-3);color:var(--avio)}
.bmp-9{border:1px solid var(--line)}
.bmp-9::before,.bmp-9::after{content:'';position:absolute;height:2px;width:20px;background:var(--brand);transition:width var(--d-m) var(--ease)}
.bmp-9::before{top:-1px;left:14px}.bmp-9::after{bottom:-1px;right:14px}.bmp-9:hover::before,.bmp-9:hover::after{width:44px}
.bmp-10{border:1px solid var(--line);outline:1px solid var(--line);outline-offset:4px;transition:outline-offset var(--d-m) var(--ease),outline-color var(--d-m) var(--ease),color var(--d-m) var(--ease)}
.bmp-10:hover{outline-offset:7px;outline-color:var(--brand);color:var(--brand)}
.bmprow{display:flex;gap:26px;flex-wrap:wrap;padding:44px 30px}
.bmpcell{display:flex;flex-direction:column;gap:11px;align-items:center}
.bmpcell small{font-family:var(--mono);font-size:10px;color:var(--faint);letter-spacing:.14em}

/* ===== 15 carousel ===== */
.caro-outer{position:relative;height:484vh}   /* 84vh sticky + 4 pages = their pages:4 */
.caro-sticky{position:sticky;top:0;height:84vh;min-height:520px;display:flex;flex-direction:column;overflow:hidden;
  background:radial-gradient(circle at 50% 42%,var(--stage-a),var(--stage-b) 72%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.caro-stage{flex:1;min-height:0;position:relative;cursor:grab;touch-action:none}
.caro-stage:active{cursor:grabbing}
.caro-stage canvas{display:block;width:100%;height:100%}
.caro-hud{display:flex;justify-content:space-between;padding:20px var(--pad) 0;font-family:var(--mono);font-size:10px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--faint);pointer-events:none}
.caro-hud b{color:var(--brand);font-weight:400}
.caro-foot{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:0 var(--pad) 24px}
.caro-cap{padding:0 var(--pad) 14px;font-size:13px;line-height:1.5;color:var(--faint);max-width:62ch;
  min-height:42px;flex:none;transition:color var(--d-m) var(--ease)}
.caro-cap.on{color:var(--text)}
.caro-cap b{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--brand);font-weight:500}
.caro-cap i{font-style:normal;color:var(--text);font-weight:600}

/* ===== 12 board ===== */
.b3-wrap{position:relative}
.b3-stage{height:470px;border:1px solid var(--line);background:radial-gradient(circle at 50% 42%,var(--stage-a),var(--stage-b) 70%);display:flex;align-items:center;justify-content:center;perspective:1200px;cursor:grab;position:relative;overflow:hidden;transition:height var(--d-l) var(--ease)}
.b3-stage:active{cursor:grabbing}
.b3-wrap.fs{position:fixed;inset:0;z-index:200;background:var(--ink)}
.b3-wrap.fs .b3-stage{height:100%;border:none}
.b3-shift{position:relative;transition:transform var(--d-l) var(--ease);transform-style:preserve-3d}
.b3-wrap.fs .b3-shift{transform:translateX(-19vw) scale(1.42)}
.b3{position:absolute;inset:0}
.b3 canvas{display:block;width:100%;height:100%}
.b3-load{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);z-index:5}
.b3-hud{position:absolute;top:18px;left:22px;font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--faint);text-transform:uppercase;z-index:20}
.b3-hud b{color:var(--brand);font-weight:400}
.b3-edithint{display:none;margin-left:16px;color:var(--warning)}
.b3-wrap.editing .b3-edithint{display:inline}
.b3-wrap.editing .b3-stage{cursor:crosshair}
.pin-layer{position:absolute;inset:0;pointer-events:none;z-index:12}
.pin-layer .b3-hot{pointer-events:auto}
.b3-head{margin-bottom:18px}.b3-head h4{font-size:30px;line-height:1;margin:6px 0 6px}.b3-head .sub{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--muted)}
.b3-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:10px 0 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:8px}
.b3-list .b3-item .row{gap:12px}
.b3-item .ttl{font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:0;text-transform:none;color:var(--text)}
.b3-item .sub{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;color:var(--faint);text-transform:uppercase;white-space:nowrap}
.b3-item.open .row .ttl{color:var(--brand)}
.b3-item .bd p{padding:8px 0 6px 32px}
.pin-btns{display:flex;gap:6px;flex-wrap:wrap;padding:4px 0 6px 32px}
.pin-edit{padding:6px 0 0 32px;display:grid;gap:6px}
.pin-edit input,.pin-edit textarea{width:100%;background:var(--surface-2);border:1px solid var(--line);color:var(--text);font:inherit;font-size:12.5px;padding:6px 8px}
.pin-edit textarea{font-family:var(--body);resize:vertical}
.pin-export{display:none;width:100%;margin-top:14px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font-family:var(--mono);font-size:10.5px;padding:8px}
.pin-export.show{display:block}
/* hotspots are HTML, positioned each frame by projecting the 3D anchor
   through the camera - so they stick to the hardware and stay readable */
.b3-hot{position:absolute;left:0;top:0;width:28px;height:28px;padding:0;margin:-14px 0 0 -14px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;cursor:pointer;opacity:0;pointer-events:none;z-index:12;transition:opacity var(--d-m) var(--ease),background var(--d-m) var(--ease),color var(--d-m) var(--ease)}
.b3-hot{opacity:.85;pointer-events:auto;transform:scale(.78)}
.b3-wrap.fs .b3-hot{opacity:1;transform:scale(1)}
.b3-hot.behind{opacity:.16}
body[data-hot="ring"] .b3-hot{border:1.5px solid var(--brand);border-radius:50%;background:rgba(255,92,26,.14);color:var(--brand)}
body[data-hot="ring"] .b3-hot::before{content:'';position:absolute;inset:-8px;border-radius:50%;border:1px solid rgba(255,92,26,.34);animation:ping 2.4s var(--ease) infinite}
body[data-hot="dot"] .b3-hot{border:none;border-radius:50%;background:#fff;color:transparent;width:13px;height:13px;box-shadow:0 0 0 4px rgba(255,255,255,.16)}
body[data-hot="dot"] .b3-hot::before{content:'';position:absolute;inset:-7px;border-radius:50%;border:1px solid rgba(255,255,255,.5);animation:ping 2.2s var(--ease) infinite}
body[data-hot="cross"] .b3-hot{border:none;background:none;color:var(--brand);font-size:19px}
body[data-hot="cross"] .b3-hot::after{content:'+';font-family:var(--mono);font-weight:700}
body[data-hot="sq"] .b3-hot{border:1.5px solid var(--warning);background:rgba(255,196,0,.1);color:var(--warning);border-radius:0}
body[data-hot="sq"] .b3-hot::before{content:'';position:absolute;inset:-8px;border:1px solid rgba(255,196,0,.3);animation:ping 2.6s var(--ease) infinite}
@keyframes ping{0%{transform:scale(.75);opacity:.9}100%{transform:scale(1.55);opacity:0}}
.b3-hot.sel{background:var(--brand);color:var(--ink)}
body[data-hot="dot"] .b3-hot.sel{background:var(--brand);box-shadow:0 0 0 5px rgba(255,92,26,.3)}
.b3-panel{position:absolute;right:0;top:0;bottom:0;width:min(420px,40vw);background:var(--panel);border-left:1px solid var(--line);padding:clamp(26px,4vh,54px) 30px;transform:translateX(101%);transition:transform var(--d-l) var(--ease);z-index:30;display:flex;flex-direction:column;overflow-y:auto}
.b3-wrap.fs .b3-panel{transform:translateX(0)}
.b3-panel h4{font-size:26px;margin-bottom:4px}.b3-panel .sub{color:var(--muted);font-size:12.5px;margin-bottom:22px}
.b3-item{border-top:1px solid var(--line);padding:14px 0;cursor:pointer}.b3-item:last-of-type{border-bottom:1px solid var(--line)}
.b3-item .row{display:flex;gap:14px;align-items:center}
.b3-item .num{font-family:var(--mono);font-size:11px;color:var(--faint);width:20px;flex:none}
.b3-item .ttl{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex:1;transition:color var(--d-m) var(--ease)}
.b3-item .pm{font-family:var(--mono);color:var(--faint);font-size:15px}
.b3-item.open .ttl,.b3-item:hover .ttl{color:var(--text)}
.b3-item .bd{max-height:0;overflow:hidden;transition:max-height var(--d-l) var(--ease)}.b3-item.open .bd{max-height:200px}
.b3-item .bd p{padding:10px 0 4px 34px;font-size:13px;color:var(--muted)}
.b3-spec{margin-top:24px;display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.b3-spec div{background:#040405;padding:10px 14px;display:flex;justify-content:space-between;gap:10px}
.b3-spec .k{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.b3-spec .v{font-family:var(--mono);font-size:11.5px}
.b3-iv{position:absolute;bottom:18px;right:20px;z-index:25}
.b3-close{position:absolute;top:18px;right:20px;z-index:40;width:38px;height:38px;border:1px solid var(--line);display:none;align-items:center;justify-content:center;color:var(--muted);background:var(--surface-2)}
.b3-wrap.fs .b3-close{display:flex}.b3-wrap.fs .b3-iv{display:none}

/* ===== rev C: timeline, contact, bumpers, page chrome ===== */

/* ---- hero: fade + rise in, and a scrim so it sits in the page rather than on it ---- */
.hero-photo{position:relative;margin:0;border:1px solid var(--line);overflow:hidden;
  opacity:0;transform:translateY(22px) scale(1.02);
  animation:heroIn 1.1s var(--ease) .15s forwards}
.hero-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 28%;
  filter:grayscale(.55) contrast(1.05);transition:filter var(--d-l) var(--ease)}
.hero-photo:hover img{filter:grayscale(0) contrast(1)}
.hero-scrim{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(200deg,rgba(1,1,1,0) 42%,rgba(1,1,1,.55) 100%),
             linear-gradient(0deg,var(--brand-lo),transparent 55%)}
@keyframes heroIn{to{opacity:1;transform:none}}
body.reduced .hero-photo{opacity:1;transform:none;animation:none}
@media(prefers-reduced-motion:reduce){.hero-photo{opacity:1;transform:none;animation:none}}
@media(max-width:900px){.hero-photo img{aspect-ratio:16/10}}

/* ---- timeline ---- */
.tl{position:relative;display:flex;justify-content:space-between;align-items:center;
  padding:38px 6px 34px;margin-top:6px}
.tl-line{position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line)}
.tl-pt{position:relative;width:13px;height:13px;flex:none;border:1px solid var(--faint);
  background:var(--ink);cursor:pointer;transition:border-color var(--d-m) var(--ease),
  background var(--d-m) var(--ease),transform var(--d-m) var(--ease)}
.tl-pt::after{content:attr(data-year);position:absolute;top:22px;left:50%;
  transform:translateX(-50%);font-family:var(--mono);font-size:10px;letter-spacing:.14em;
  color:var(--faint);white-space:nowrap;transition:color var(--d-m) var(--ease)}
.tl-pt:hover,.tl-pt:focus-visible{border-color:var(--brand);background:var(--brand);
  transform:scale(1.25);outline:none}
.tl-pt:hover::after,.tl-pt:focus-visible::after{color:var(--text)}
/* the present: a slow sonar ping in the brand colour */
.tl-pt.now{border-color:var(--brand);background:var(--brand);width:15px;height:15px}
.tl-pt.now::after{color:var(--brand)}
.tl-ping{position:absolute;inset:-2px;border:1px solid var(--brand);pointer-events:none;
  animation:ping 2.6s var(--ease) infinite}
.tl-ping::before{content:'';position:absolute;inset:0;border:1px solid var(--brand);
  animation:ping 2.6s var(--ease) 1.3s infinite}
@keyframes ping{0%{transform:scale(1);opacity:.85}70%{transform:scale(3.4);opacity:0}100%{opacity:0}}
body.reduced .tl-ping,body.reduced .tl-ping::before{animation:none;opacity:.35}
@media(prefers-reduced-motion:reduce){.tl-ping,.tl-ping::before{animation:none;opacity:.35}}
.tl-tip{position:absolute;bottom:calc(100% - 12px);z-index:5;width:min(300px,74vw);
  border:1px solid var(--line);background:var(--panel);backdrop-filter:blur(10px);
  padding:14px 16px;box-shadow:var(--shadow);pointer-events:none;
  opacity:0;transform:translateY(6px);transition:opacity var(--d-m) var(--ease),transform var(--d-m) var(--ease)}
.tl-tip.on{opacity:1;transform:none}
.tl-tip b{display:block;font-family:var(--display);font-size:15px;margin-bottom:5px}
.tl-tip i{font-style:normal;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--brand);display:block;margin-bottom:7px}
.tl-tip p{color:var(--muted);font-size:13px;line-height:1.5}
@media(max-width:700px){
  .tl{flex-direction:column;align-items:flex-start;gap:26px;padding-left:20px}
  .tl-line{left:6px;right:auto;top:0;bottom:0;width:1px;height:auto}
  .tl-pt::after{top:50%;left:24px;transform:translateY(-50%)}
  .tl-tip{position:static;width:auto;margin-top:10px;opacity:1;transform:none}
}

/* ---- bumpers (his picks: 7 four-corner, 6 fill) ---- */
.bump-corner{position:relative}
.bump-corner::before,.bump-corner::after{content:'';position:absolute;width:9px;height:9px;
  border:1px solid currentColor;opacity:.85;transition:all var(--d-m) var(--ease)}
.bump-corner::before{top:-4px;left:-4px;border-right:0;border-bottom:0}
.bump-corner::after{bottom:-4px;right:-4px;border-left:0;border-top:0}
.bump-corner:hover::before{top:-7px;left:-7px;width:13px;height:13px}
.bump-corner:hover::after{bottom:-7px;right:-7px;width:13px;height:13px}
.bump-fill{position:relative;overflow:hidden;z-index:0}
.bump-fill::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--brand-hi);
  transform:translateY(101%);transition:transform var(--d-m) var(--ease)}
.bump-fill:hover::before{transform:none}

/* ---- contact: a block, not a sparse grid ---- */
.ct{display:grid;grid-template-columns:1.35fr .65fr;gap:0;border:1px solid var(--line);
  background:var(--surface)}
@media(max-width:820px){.ct{grid-template-columns:1fr}}
.ct-main{padding:clamp(22px,3vw,34px)}
.ct-main>p{color:var(--muted);margin-bottom:18px;font-size:15px}
.ct-rows{display:flex;flex-direction:column}
.ct-row{display:grid;grid-template-columns:26px 1fr auto;gap:12px;align-items:center;
  padding:13px 0;border-top:1px solid var(--line-soft);transition:color var(--d-m) var(--ease)}
.ct-row:first-child{border-top:0}
.ct-row .ms{font-size:18px;color:var(--brand)}
.ct-row b{font-family:var(--display);font-size:16px;font-weight:600;word-break:break-word}
.ct-row i{font-style:normal;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--faint)}
.ct-row:hover{color:var(--brand-hi)}
.ct-row:hover i{color:var(--muted)}
.ct-side{padding:clamp(22px,3vw,34px);border-left:1px solid var(--line);background:var(--surface-2);
  display:flex;flex-direction:column;gap:16px;align-items:flex-start;justify-content:center}
@media(max-width:820px){.ct-side{border-left:0;border-top:1px solid var(--line)}}
.ct-loc{display:flex;gap:9px;align-items:center;font-family:var(--mono);font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ct-loc .ms{font-size:16px;color:var(--brand)}
.ct-note{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--faint);line-height:1.7}

/* ---- page chrome for the sub-pages ---- */
.pg-head{padding-top:clamp(26px,4vh,48px)}
.ab-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(22px,3.5vw,48px);align-items:start}
@media(max-width:900px){.ab-grid{grid-template-columns:1fr}}
.ab-photo{margin:0;border:1px solid var(--line);background:var(--surface)}
.ab-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.ab-photo figcaption{padding:11px 14px;font-family:var(--mono);font-size:10.5px;
  color:var(--muted);border-top:1px solid var(--line)}
.ab-grid p{color:var(--muted);font-size:15.5px}
.ab-grid p+p{margin-top:15px}
.ab-grid strong{color:var(--text);font-weight:600}
.tiles.two{grid-template-columns:repeat(2,1fr)}
@media(max-width:620px){.tiles.two{grid-template-columns:1fr}}

/* ---- jobs / education ---- */
.jobs{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line)}
.job{background:var(--surface);display:grid;grid-template-columns:170px 1fr;gap:0}
@media(max-width:760px){.job{grid-template-columns:1fr}}
.job-when{padding:24px 20px;border-right:1px solid var(--line)}
@media(max-width:760px){.job-when{border-right:0;border-bottom:1px solid var(--line);
  display:flex;gap:12px;align-items:baseline;padding:14px 20px}}
.job-when b{display:block;font-family:var(--display);font-size:15px}
.job-when span{font-family:var(--mono);font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--faint);display:block;margin-top:4px}
.job-main{padding:24px clamp(20px,3vw,32px)}
.job-top{display:flex;gap:16px;align-items:center;margin-bottom:12px}
.job-logo{height:34px;width:auto;max-width:150px;object-fit:contain;background:#fff;
  padding:5px 8px;flex:none}
.job-mark{font-size:26px;color:var(--brand);flex:none;width:44px;text-align:center}
.job-main h3{font-size:clamp(18px,2.2vw,23px)}
.job-role{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--brand);margin-top:4px}
.job-main p{color:var(--muted);font-size:14.5px}
.job-shot{margin:16px 0 0;border:1px solid var(--line)}
.job-shot img{width:100%;aspect-ratio:16/9;object-fit:cover;filter:grayscale(1);
  transition:filter var(--d-l) var(--ease)}
.job-shot:hover img{filter:grayscale(0)}
.job-shot figcaption{padding:9px 13px;font-family:var(--mono);font-size:10px;color:var(--muted);
  border-top:1px solid var(--line)}

/* the sampler hard-codes an ORANGE glow on the thumb; make it the brand colour */
body[data-thumb="glow"] .rail-thumb{box-shadow:0 0 12px 2px rgba(24,115,211,.55)}
.rail-thumb{background:var(--brand)}
.rail-tick.act .dot{background:var(--brand)}

/* ---- the board: hide the sampler's authoring tools on the site ---- */
.b3-hidden{display:none !important}
.b3-wrap{margin:var(--gut) 0 0}



/* ===== rev E: carousel large and left, caption panel right ===== */
.caro-outer{height:520vh}
.caro-sticky{height:100vh;min-height:600px;display:grid;
  grid-template-columns:minmax(0,1fr) clamp(280px,26vw,400px);
  grid-template-rows:auto minmax(0,1fr);
  column-gap:clamp(16px,3vw,44px)}
.caro-hud{grid-column:1 / -1}
.caro-stage{grid-column:1;grid-row:2;min-height:0;margin-left:calc(-1 * var(--pad))}
.caro-side{grid-column:2;grid-row:2;display:flex;flex-direction:column;justify-content:center;
  padding:0 var(--pad) 0 0}
.caro-cap{height:auto;max-height:none;min-height:132px;padding:0;max-width:none;
  -webkit-line-clamp:unset;display:block;overflow:visible;
  font-size:15px;line-height:1.6;border-left:2px solid var(--line);padding-left:18px;
  transition:color var(--d-m) var(--ease),border-color var(--d-m) var(--ease)}
.caro-cap.on{border-left-color:var(--brand)}
.caro-cap b{display:block;margin-bottom:6px}
.caro-cap i{display:block;font-size:19px;line-height:1.15;margin-bottom:8px;
  font-family:var(--display);letter-spacing:-.015em}
@media(max-width:900px){
  .caro-sticky{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto}
  .caro-stage{grid-column:1;margin-left:0}
  .caro-side{grid-column:1;grid-row:3;padding:0 var(--pad) 18px}
  .caro-cap{min-height:96px}
}


/* ===== rev E ===== */

/* 5: the hero photo is his face, not a mood board */
.hero-photo img{filter:none}
.hero-photo:hover img{filter:none}
.hero-scrim{background:linear-gradient(200deg,rgba(1,1,1,0) 55%,rgba(1,1,1,.35) 100%)}

/* 2: the back link and tag were sitting on the photo with nothing behind them */
.cs-hero-txt .back,.cs-hero-txt .eyebrow{position:relative;display:inline-flex;align-items:center;
  gap:7px;padding:5px 11px;background:rgba(1,1,1,.72);backdrop-filter:blur(6px);
  border:1px solid var(--line);color:var(--text)}
.cs-hero-txt .eyebrow{color:var(--brand);border-color:rgba(24,115,211,.5)}
.cs-hero-txt .back:hover{border-color:var(--faint)}
.cs-hero::after{background:linear-gradient(180deg,rgba(1,1,1,.72) 0%,rgba(1,1,1,.30) 42%,rgba(1,1,1,.96) 100%)}

/* 9: no photo in the symmetric card */
.ccard[data-layout="sym"] .ccard-body{grid-template-columns:1fr}
.ccard[data-layout="sym"] .ccard-photo{display:none}

/* 10: the timeline should read as a feature, not a hairline */
#timeline{padding-bottom:8px}
.tl{padding:54px 6px 48px;background:
  radial-gradient(120% 140% at 50% 50%,rgba(24,115,211,.07),transparent 70%)}
.tl-line{height:2px;background:linear-gradient(90deg,var(--line),var(--brand) 88%,var(--brand))}
.tl-pt{width:17px;height:17px;border-width:2px;background:var(--ink)}
.tl-pt::after{top:28px;font-size:11px;color:var(--muted)}
.tl-pt.now{width:21px;height:21px;box-shadow:0 0 16px 3px rgba(24,115,211,.55)}
.tl-pt.now::after{font-weight:700;letter-spacing:.2em}
.tl-hint{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-top:2px}
.tl-hint .ms{font-size:15px;color:var(--brand)}

/* 12: recommendation letters */
.recs{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut)}
@media(max-width:900px){.recs{grid-template-columns:1fr}}
.rec{border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column}
.rec-quote{padding:clamp(20px,3vw,30px);flex:1;display:flex;flex-direction:column;gap:14px}
.rec-quote p{font-family:var(--display);font-weight:500;font-size:clamp(16px,1.9vw,20px);
  line-height:1.4;letter-spacing:-.01em}
.rec-by{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--muted);
  margin-top:auto;padding-top:12px;border-top:1px solid var(--line-soft)}
.rec-by b{display:block;color:var(--text);font-size:12px;letter-spacing:.06em;margin-bottom:3px}
.rec-shot{margin:0;border-top:1px solid var(--line);position:relative;overflow:hidden;
  background:#fff;max-height:230px}
.rec-shot img{width:100%;display:block;transition:transform var(--d-l) var(--ease)}
.rec:hover .rec-shot img{transform:translateY(-6%)}
.rec-open{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:7px;
  padding:8px 13px;background:var(--ink);color:var(--text);border:1px solid var(--line);
  font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.rec-open:hover{border-color:var(--brand);color:var(--brand)}

/* ===== rev D ===== */

/* ---- carousel: the caption is a fixed three-line box, so the ring never moves when the
   text wraps; and the stage gets the full sticky height ---- */
.caro-sticky{height:92vh;min-height:560px}
.caro-cap{height:calc(3 * 1.5 * 13px + 24px);min-height:0;padding:6px var(--pad) 10px;
  overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
  max-width:70ch;flex:none}
.caro-stage{min-height:0}

/* ---- timeline: stay clear of the 104px fixed rail on the right ---- */
.tl{margin-right:clamp(48px,7vw,120px);padding-right:14px}
@media(max-width:900px){.tl{margin-right:0}}

/* ---- project titles: the document's names, with the acronym set smaller ---- */
.wcard-body h3 small{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;
  color:var(--brand);font-weight:500;margin-top:5px}

/* ---- modals ---- */
.modal{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;
  padding:clamp(14px,3vh,40px) var(--pad)}
.modal[hidden]{display:none}
.modal-scrim{position:absolute;inset:0;background:rgba(1,1,1,.78);backdrop-filter:blur(8px)}
.modal-x{position:absolute;top:0;right:0;z-index:3;width:42px;height:42px;display:flex;
  align-items:center;justify-content:center;color:var(--muted);background:var(--surface);
  border-left:1px solid var(--line);border-bottom:1px solid var(--line);font-size:20px}
.modal-x:hover{color:var(--text)}
.modal.in .ccard,.modal.in .rview{opacity:1;transform:none}

/* ---- the contact card ---- */
.ccard{position:relative;z-index:2;width:min(860px,100%);max-height:100%;overflow:auto;
  border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);
  opacity:0;transform:translateY(16px) scale(.985);
  transition:opacity var(--d-m) var(--ease),transform var(--d-l) var(--ease)}
.ccard-toggle{display:flex;gap:6px;align-items:center;padding:10px 14px;
  border-bottom:1px solid var(--line);background:var(--surface-2);padding-right:56px}
.ccard-body{display:grid;grid-template-columns:300px 1fr;gap:0}
@media(max-width:720px){.ccard-body{grid-template-columns:1fr}}
.ccard-photo{position:relative;margin:0;overflow:hidden;background:var(--surface-2)}
.ccard-photo img{width:100%;height:100%;min-height:260px;object-fit:cover;object-position:center 30%;
  filter:grayscale(.4)}
.ccard-tab{display:none}
.ccard-main{padding:clamp(20px,3vw,32px);display:flex;flex-direction:column;gap:12px;min-width:0}
.ccard-main h3{font-size:clamp(24px,3vw,34px);line-height:1}
.ccard-lede{color:var(--muted);font-size:14.5px}
.ccard-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;
  flex-wrap:wrap;margin-top:6px;padding-top:14px;border-top:1px solid var(--line)}
.ccard .ct-loc{font-size:10.5px}

/* asymmetric variant: his picks were "vertical rail + tab", "ghost mark + film", "offset
   stack". This is the rail + tab and the offset stack together. */
.ccard[data-layout="asym"] .ccard-body{grid-template-columns:1fr;position:relative;
  padding-left:38px;border-left:0}
.ccard[data-layout="asym"] .ccard-body::before{content:'';position:absolute;left:0;top:0;bottom:0;
  width:38px;background:var(--brand);
  -webkit-mask:linear-gradient(#000,#000) 0 0/6px 100% no-repeat;mask:linear-gradient(#000,#000) 0 0/6px 100% no-repeat}
.ccard[data-layout="asym"] .ccard-photo{width:min(320px,58%);margin:28px 0 -60px clamp(14px,3vw,34px);
  border:1px solid var(--line);transform:rotate(-1.5deg);z-index:2}
.ccard[data-layout="asym"] .ccard-photo img{min-height:0;aspect-ratio:4/3;filter:grayscale(.2)}
.ccard[data-layout="asym"] .ccard-tab{display:block;position:absolute;left:-38px;top:0;
  writing-mode:vertical-rl;transform:rotate(180deg);padding:12px 8px;
  font-family:var(--mono);font-size:10px;letter-spacing:.3em;color:#fff;background:var(--brand)}
.ccard[data-layout="asym"] .ccard-main{margin:0 0 0 auto;width:min(560px,100%);
  background:var(--surface-2);border:1px solid var(--line);padding-top:80px}
.ccard[data-layout="asym"] .ccard-main h3{font-size:clamp(30px,4vw,44px);letter-spacing:-.03em}
.ccard[data-layout="asym"] .ccard-main .eyebrow{color:var(--brand)}

/* ---- resume viewer ---- */
.rview{position:relative;z-index:2;width:min(980px,100%);height:min(92vh,1000px);display:flex;
  flex-direction:column;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);
  opacity:0;transform:translateY(16px);transition:opacity var(--d-m) var(--ease),transform var(--d-l) var(--ease)}
.rview-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;
  border-bottom:1px solid var(--line);background:var(--surface-2);padding-right:0}
.rview-acts{display:flex;align-items:center;gap:10px}
.rview-acts .modal-x{position:static;border:0;border-left:1px solid var(--line);background:none}
.rview-frame{flex:1;width:100%;border:0;background:#fff}

/* ---- design page: the film, and the logo pair ---- */
.dz-video{grid-column:2;margin:0 clamp(20px,3vw,34px) 4px;border:1px solid var(--line);background:#000}
@media(max-width:820px){.dz-video{grid-column:1}}
.dz-video video{width:100%;display:block;aspect-ratio:16/9;background:#000}
.dz-video figcaption{padding:9px 13px;font-family:var(--mono);font-size:10px;color:var(--muted);
  border-top:1px solid var(--line)}
.dz-shots.four{grid-template-columns:repeat(2,1fr)}
.dz-shots figure.logo{background:var(--surface-2);display:flex;align-items:center;justify-content:center;
  padding:26px}
.dz-shots figure.logo img{max-height:220px;width:auto;max-width:100%}

/* ---- case study: award hero + embedded pdf ---- */
.cs-award{display:flex;width:fit-content;margin-top:10px;align-items:center;gap:14px;margin-bottom:16px;padding:10px 16px 10px 12px;
  border:1px solid rgba(255,196,0,.55);background:rgba(255,196,0,.09);backdrop-filter:blur(6px);
  transition:background var(--d-m) var(--ease),border-color var(--d-m) var(--ease)}
.cs-award:hover{background:rgba(255,196,0,.16);border-color:var(--warning)}
.cs-award-mark{font-size:28px;color:var(--warning)}
.cs-award-txt{display:flex;flex-direction:column;gap:2px}
.cs-award-txt b{font-family:var(--display);font-size:16px}
.cs-award-txt small{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--warning)}
.cs-award-go{font-size:16px;color:var(--warning);margin-left:6px}
.cs-pdf{position:relative;border:1px solid var(--line);background:#fff}
.cs-pdf iframe{width:100%;height:min(80vh,900px);border:0;display:block}
.cs-pdf-dl{position:absolute;right:14px;bottom:14px}


/* ===== rev E, part 2: this has to sit last, after the rev D block ===== */
.caro-sticky{height:100vh;min-height:620px}
/* the caption is a panel in its own column now, so it needs neither the reserved three-line
   box nor the page gutter the old full-width caption used */
.caro-cap{height:auto;max-height:none;padding:0 0 0 18px;max-width:36ch;
  /* reserve the tallest caption so the kicker and title hold their place card to card */
  min-height:172px;
  border-left:2px solid var(--line);font-size:14px;line-height:1.5;color:var(--muted)}
.caro-cap.on{border-left-color:var(--brand);color:var(--text)}
.caro-cap b{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--brand);margin:0 0 10px}
.caro-cap i{display:block;font-family:var(--display);font-style:normal;font-weight:600;
  font-size:clamp(20px,2.1vw,27px);line-height:1.1;letter-spacing:-.015em;
  color:var(--text);margin:0 0 10px}
.caro-side{align-self:center}
.caro-stage{width:100%}
@media(max-width:900px){
  .caro-cap{max-width:none;padding-left:14px}
  .caro-sticky{height:94vh}
}

/* fullscreen is position:fixed inset:0, so the flow margin just shrinks it */
.b3-wrap.fs{margin:0}

/* Fullscreen scaled the canvas element up by 1.42, which crops the board at every edge and
   softens the render. Shift it left to leave room for the callout panel, but let the 3D
   camera decide how big the board is. */
.b3-wrap.fs .b3-shift{transform:translateX(-13vw) scale(1)}


/* ===== rev F ===== */

/* 1: skip intro sits top right now */
.skip{top:20px;right:22px;bottom:auto}

/* 3: the caption column was running under the fixed 104px scroll rail */
.caro-sticky{padding-right:104px}
@media(max-width:900px){.caro-sticky{padding-right:0}}


/* item 4: four recommendations. The one letter that can be reproduced leads as a wide
   feature with its scan; the three that carry someone's contact details are quotes only. */
.rec.feature{display:grid;grid-template-columns:1fr minmax(240px,32%);margin-bottom:var(--gut)}
.rec.feature .rec-shot{border-top:none;border-left:1px solid var(--line);max-height:none}
.rec.feature .rec-shot img{height:100%;object-fit:cover;object-position:top center}
.recs{grid-template-columns:repeat(3,1fr);align-items:start}
@media(max-width:1100px){.recs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){
  .rec.feature{grid-template-columns:1fr}
  .rec.feature .rec-shot{border-left:none;border-top:1px solid var(--line);max-height:260px}
  .rec.feature .rec-shot img{height:auto}
  .recs{grid-template-columns:1fr}
}
.rec-quote p{font-size:clamp(14.5px,1.5vw,17px)}
.rec.feature .rec-quote p{font-size:clamp(16px,1.9vw,20px)}


/* ===== item 9: Work & study as spec plates ===== */
.jp{margin-bottom:var(--gut)}
.jp:last-of-type{margin-bottom:0}
/* the sampler plate expects .cols in every row; narrative rows get their own cell */
.prow .pbody{padding:22px 26px;display:flex;flex-direction:column;gap:14px}
.prow .pbody p{color:var(--muted);font-size:15px;line-height:1.65;max-width:78ch}
.prow .pbody p:first-child{color:var(--text)}
.plate-bar .model{align-items:center;flex-wrap:wrap}
.plate-foot .conds{margin:0}
.plate-logo{height:26px;width:auto;background:#fff;padding:4px 7px;flex:none}
@media(max-width:860px){
  .plate-bar{flex-direction:column;align-items:flex-start;gap:16px}
  .plate-ids{text-align:left}
}

/* education: lighter than a full plate, same vocabulary */
.edu{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gut);align-items:start}
@media(max-width:1000px){.edu{grid-template-columns:1fr}}
.ed{border:1px solid var(--line);background:var(--surface);padding:22px 22px 24px;
  display:flex;flex-direction:column;gap:14px}
.ed-bar{display:flex;align-items:center;gap:14px;position:relative}
.ed-bar h3{font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:-.01em;
  line-height:1.15;margin:0}
.ed-role{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--faint);margin-top:5px}
.ed-logo{height:34px;width:34px;object-fit:contain;background:#fff;padding:3px;flex:none}
.ed-mark{font-size:30px;color:var(--brand);flex:none}
.ed-now{margin-left:auto;align-self:flex-start;font-family:var(--mono);font-size:9px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--brand);
  border:1px solid var(--brand);padding:3px 7px}
.ed-ids{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-family:var(--mono);
  font-size:11px;padding:12px 0;border-top:1px solid var(--line-soft);
  border-bottom:1px solid var(--line-soft)}
.ed-ids .k{color:var(--faint);letter-spacing:.14em;text-transform:uppercase;font-size:9px;
  align-self:baseline}
.ed-ids .v{font-variant-numeric:tabular-nums;color:var(--text)}
.ed p{color:var(--muted);font-size:14px;line-height:1.6;margin:0}

.plate-logo{height:34px;padding:5px 9px}

/* .hint is a flex row of icon + text; keep the text as one item so it cannot column-break */
.hint{align-items:flex-start}
.hint > span:not(.ms){display:block}
.hint .ms{flex:none;margin-top:1px}


/* ===== rev G ===== */

/* 3: page change */
#routes{transition:opacity .15s var(--ease),transform .15s var(--ease)}
#routes.pg-out{opacity:0;transform:translateY(6px)}
#routes.pg-in{opacity:0;transform:translateY(-8px);transition:none}
@media(prefers-reduced-motion:reduce){#routes{transition:none}}

/* 9: nav dropdowns */
.nav-drop{position:relative;display:flex;align-items:center}
.nav-top{display:inline-flex;align-items:center;gap:3px;background:none;border:none;cursor:pointer;
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);padding:0;transition:color var(--d-m) var(--ease)}
.nav-top .ms{font-size:15px;transition:transform var(--d-m) var(--ease)}
.nav-top:hover,.nav-drop.open .nav-top,.nav-drop.here .nav-top{color:var(--text)}
.nav-drop.open .nav-top .ms{transform:rotate(180deg)}
.nav-drop.here .nav-top{color:var(--brand)}
.nav-menu{position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%,-6px);
  min-width:190px;background:var(--surface);border:1px solid var(--line);
  display:flex;flex-direction:column;padding:6px;z-index:80;
  opacity:0;visibility:hidden;transition:opacity var(--d-m) var(--ease),transform var(--d-m) var(--ease),visibility var(--d-m)}
.nav-drop.open .nav-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav-menu a{padding:9px 12px;white-space:nowrap;border-left:2px solid transparent}
.nav-menu a:hover{background:var(--surface-2);color:var(--text)}
.nav-menu a.on{color:var(--brand);border-left-color:var(--brand)}

/* 1: the board is a plain object now, so its callouts show without a fullscreen mode */
.b3-hot{opacity:.92;transform:scale(1)}
.b3-tip{position:absolute;z-index:20;pointer-events:none;transform:translate(-50%,-100%);
  background:var(--ink);border:1px solid var(--line);border-bottom:2px solid var(--brand);
  padding:7px 11px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--text);white-space:nowrap;
  opacity:0;transition:opacity var(--d-m) var(--ease)}
.b3-tip.on{opacity:1}

/* flying page */
.fly-lead{display:grid;grid-template-columns:minmax(220px,26%) 1fr;gap:var(--gut);
  align-items:start;margin-bottom:var(--gut)}
@media(max-width:900px){.fly-lead{grid-template-columns:1fr}}
.fly-ids{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-family:var(--mono);
  font-size:11.5px;border:1px solid var(--line);background:var(--surface);padding:18px}
.fly-ids .k{color:var(--faint);letter-spacing:.14em;text-transform:uppercase;font-size:9px;align-self:baseline}
.fly-ids .v{font-variant-numeric:tabular-nums;color:var(--text)}
.fly-copy{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.fly-copy p{color:var(--muted);font-size:16px;line-height:1.7;max-width:70ch;margin:0}

/* 8: Schumacher leads now, and his letter cannot be reproduced (it carries his email and
   mobile), so the feature is quote-only and takes the full plate width. */
.rec.feature{grid-template-columns:1fr}
.rec.feature .rec-quote{padding:clamp(24px,3.4vw,38px)}
.rec-lead{font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--brand);margin-bottom:4px}

/* The inline board is the only view now. A full-bleed stage is 2.9:1 while the board reads
   about 1.4:1, so fitting it vertically left enormous side margins. Constrain the box. */
.b3-wrap{max-width:1240px;margin-left:auto;margin-right:auto;padding:0 var(--pad)}
.b3-stage{height:620px}
@media(max-width:900px){.b3-stage{height:420px}}

/* ===== item 7: vertical / mobile ===== */
/* The timeline was a horizontal rail that merely stacked on a phone: the rule became a
   vertical hairline, the years sat under the dots, and hover tooltips do not exist on touch.
   Below 760px each point turns into a row (dot drawn as ::before, copy beside it) and the
   note is always visible. The copy is built by JS from the same data- attributes the desktop
   tooltip reads, so there is one source of truth for it. */
.tl-body{display:none}
@media(max-width:760px){
  .tl{flex-direction:column;align-items:stretch;gap:0;padding:10px 0 4px;background:none;
    margin-right:0}
  .tl-line{left:7px;right:auto;top:8px;bottom:8px;width:1px;height:auto;
    background:linear-gradient(180deg,var(--line),var(--brand) 88%,var(--brand))}
  /* the point stops being the dot and becomes the row; ::before is the dot */
  .tl-pt{width:auto;height:auto;border:none;background:none;box-shadow:none;
    display:grid;grid-template-columns:15px 1fr;gap:0 15px;align-items:start;
    padding:0 0 24px;position:relative}
  .tl-pt:last-of-type{padding-bottom:0}
  .tl-pt::before{content:'';width:13px;height:13px;border:2px solid var(--faint);
    background:var(--ink);margin-top:3px;z-index:2}
  /* .tl-pt.now sets width/height at (0,2,0) in the desktop block, so a plain .tl-pt rule
     here loses to it whatever the source order: the Now row stayed 21px wide and its copy
     overflowed into the next section. Match the specificity. */
  .tl-pt.now{width:auto;height:auto;border:none;background:none;box-shadow:none}
  .tl-pt.now::before{border-color:var(--brand);background:var(--brand);
    box-shadow:0 0 14px 3px rgba(24,115,211,.5)}
  .tl-pt::after{content:none}
  .tl-body{display:block}
  .tl-body .yr{font-family:var(--mono);font-size:10px;letter-spacing:.2em;
    text-transform:uppercase;color:var(--brand);display:block;margin-bottom:5px}
  .tl-body h4{font-family:var(--display);font-weight:700;font-size:16px;line-height:1.2;
    margin:0 0 6px}
  .tl-body p{color:var(--muted);font-size:13.5px;line-height:1.55;margin:0}
  .tl-tip{display:none}
  .tl-hint{display:none}
  .tl-ping{display:none}
}

/* the carousel needs the caption under the ring, and room for both */
@media(max-width:900px){
  .caro-outer{height:420vh}
  .caro-sticky{height:100vh;min-height:0;grid-template-rows:auto minmax(0,1fr) auto;
    padding-right:0;row-gap:10px}
  /* the ring is width-bound on a portrait stage, so a tall box just adds dead space above
     and below it: keep the stage roughly square and centre it in the row */
  .caro-stage{grid-row:2;margin-left:0;aspect-ratio:1/1;max-height:52vh;align-self:center}
  .caro-side{grid-row:3;padding:0 var(--pad) 20px;align-self:end}
  .caro-cap{min-height:104px;max-width:none;padding-left:14px}
  .caro-cap i{font-size:20px}
  .caro-hud{padding:0 var(--pad)}
}

/* the rail is a fixed 104px column: on a phone that is a quarter of the screen */
@media(max-width:760px){
  .rail{display:none}
}


/* ===== rev H: navigation ===== */

/* The menu sat 14px below its button and that gap is outside .nav-drop, so moving the pointer
   toward the menu left the element and shut it. Bridge the gap so the hover area is
   continuous, and open on hover as well as click. */
/* The arrow used to rotate only on .open, which the click handler sets, while the menu
   itself also opens on hover and focus. So hovering opened the menu with the arrow still
   pointing down, and a click then flipped it for no visible reason. Both now answer to the
   same three conditions, so the arrow can never disagree with the menu. */
.nav-drop:hover .nav-top .ms,.nav-drop:focus-within .nav-top .ms{transform:rotate(180deg)}
.nav-drop:hover .nav-top,.nav-drop:focus-within .nav-top{color:var(--text)}
.nav-menu{top:100%;padding-top:8px;margin-top:8px}
.nav-drop::before{content:'';position:absolute;left:-10px;right:-10px;top:100%;height:18px}
.nav-drop:hover .nav-menu,.nav-drop:focus-within .nav-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav-menu{padding:6px}
.nav-menu a{min-height:40px;display:flex;align-items:center}

/* ---- burger, hidden until the bar stops fitting ---- */
.nav-burger{display:none;background:none;border:1px solid var(--line);cursor:pointer;
  width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;
  padding:0;margin-left:auto}
.nav-burger span{display:block;width:18px;height:2px;background:var(--text);
  transition:transform var(--d-m) var(--ease),opacity var(--d-m) var(--ease)}
.nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.nav-scrim{position:fixed;inset:0;z-index:190;background:rgba(1,1,1,.62);
  backdrop-filter:blur(2px);opacity:0;transition:opacity var(--d-m) var(--ease)}
.nav-scrim.on{opacity:1}

.nav-drawer{position:fixed;top:0;right:0;bottom:0;z-index:200;width:min(84vw,340px);
  background:var(--surface);border-left:1px solid var(--line);
  display:flex;flex-direction:column;
  padding:0 0 max(20px,env(safe-area-inset-bottom));
  transform:translateX(100%);transition:transform var(--d-l) var(--ease);
  overflow-y:auto;-webkit-overflow-scrolling:touch}
.nav-drawer.on{transform:none}
.nd-top{display:flex;align-items:center;justify-content:space-between;
  padding:max(16px,env(safe-area-inset-top)) 18px 16px;border-bottom:1px solid var(--line)}
.nd-mark{width:34px;height:34px;background:var(--text);
  -webkit-mask:var(--logo) center/contain no-repeat;mask:var(--logo) center/contain no-repeat}
.nd-x{width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  background:none;border:1px solid var(--line);color:var(--text);cursor:pointer}
.nd-links{display:flex;flex-direction:column;padding:10px 0;flex:1}
.nd-links a{display:flex;align-items:center;min-height:48px;padding:0 20px;
  font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.01em;
  color:var(--muted);border-left:3px solid transparent}
.nd-links a:hover,.nd-links a:focus-visible{color:var(--text);background:var(--surface-2)}
.nd-links a.on{color:var(--brand);border-left-color:var(--brand)}
.nd-group{padding:18px 20px 6px;font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--faint)}
.nd-cta{margin:8px 20px 0;justify-content:center}

@media(max-width:900px){
  .nav-links{display:none}
  .nav-burger{display:flex}
}
/* the drawer is a phone/tablet affordance; never show it on a wide screen */
@media(min-width:901px){
  .nav-burger,.nav-drawer,.nav-scrim{display:none !important}
}
body.nav-open{overflow:hidden}

/* Set by an inline <head> script on the deployed pages when this visit has already
   seen the intro. It has to be CSS rather than JS so the black overlay is never
   painted for a frame on the way to being removed. */
html.no-intro .seq,html.no-intro .skip{display:none !important}
