:root{--graphite:#2C2D2F;--paper:#E6E7E2;--blueprint:#1B3A7A;--walnut:#1B1612;--oak:#C08A54;--chalk:#EDEBE5;--ink:#16171A;--font:'Archivo',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;--shell:min(1240px,90vw);--ease:cubic-bezier(.16,1,.3,1);}:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}*,*::before,*::after{box-sizing:inherit;margin:0;padding:0}html{scroll-padding-top:env(safe-area-inset-top,0px);-webkit-text-size-adjust:100%;background:var(--graphite)}body{background:var(--graphite);color:var(--chalk);font-family:var(--font);font-stretch:100%;-webkit-font-smoothing:antialiased;overflow-x:hidden}img,svg{display:block;max-width:100%}a{color:inherit}:focus-visible{outline:2px solid var(--oak);outline-offset:4px;border-radius:4px}#bar{position:fixed;top:0;left:0;right:0;height:2px;z-index:60;background:var(--oak);transform-origin:0 50%;transform:scaleX(0);will-change:transform}#top{position:fixed;top:0;left:0;right:0;z-index:50;padding:calc(env(safe-area-inset-top,0px) + 22px) 0 0;pointer-events:none}#top .in{width:var(--shell);margin:0 auto;display:flex;justify-content:space-between;align-items:center}#top a{pointer-events:auto;text-decoration:none;font-size:14px;font-weight:600;font-stretch:112%;color:var(--hdr,var(--chalk));transition:color .5s var(--ease)}#top .cta{font-weight:500;font-stretch:100%;border-bottom:1px solid currentColor;padding-bottom:2px}body[data-theme="paper"]{--hdr:var(--ink)}#hero{height:420vh;position:relative}#stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--graphite)}.plate{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform,opacity;backface-visibility:hidden}.plate img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}#pA{z-index:1}#pB{z-index:2;opacity:0}#pC{z-index:3;opacity:0}#mb1{z-index:4;opacity:0}#mb2{z-index:5;opacity:0}#tint{position:absolute;inset:0;z-index:6;background:#0e0f10;opacity:0;pointer-events:none;will-change:opacity}#scrim{position:absolute;inset:0;z-index:7;pointer-events:none;background: linear-gradient(90deg,rgba(14,15,16,.78) 0%,rgba(14,15,16,.5) 30%,rgba(14,15,16,0) 52%),linear-gradient(to bottom,rgba(14,15,16,.45) 0%,transparent 18%,transparent 78%,rgba(14,15,16,.6) 100%)}#copy{position:absolute;z-index:8;inset:0;width:var(--shell);margin:0 auto;display:flex;flex-direction:column;justify-content:center;will-change:transform,opacity}.name{font-size:clamp(44px,7.4vw,118px);font-weight:820;font-stretch:125%;letter-spacing:-.035em;line-height:.88}.name .ln{display:block;overflow:hidden;padding-bottom:.06em}.name .ln>span{display:block;transform:translateY(105%);transition:transform 1.1s var(--ease)}.ready .name .ln>span{transform:none}.ready .name .ln:nth-child(2)>span{transition-delay:.09s}.word{position:relative;height:1.05em;margin-top:.12em;font-size:clamp(34px,4.6vw,72px);font-weight:300;font-stretch:62%;letter-spacing:-.01em;line-height:1;color:var(--oak)}.word span{position:absolute;left:0;top:0;will-change:transform,opacity}.word span+span{opacity:0}.sub{max-width:36ch;margin-top:26px;font-size:clamp(15px,1.25vw,18px);line-height:1.6;font-weight:380;color:rgba(237,235,229,.78)}.row{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border-radius:999px;font-size:14px;font-weight:600;text-decoration:none;background:var(--oak);color:#1b1209;transition:transform .4s var(--ease)}.btn:hover{transform:translateY(-2px)}.btn.ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1px rgba(237,235,229,.35)}.fade{opacity:0;transform:translateY(14px);transition:opacity .9s var(--ease) .45s,transform .9s var(--ease) .45s}.ready .fade{opacity:1;transform:none}#rail{position:absolute;z-index:8;left:0;right:0;bottom:calc(28px + env(safe-area-inset-bottom,0px));width:var(--shell);margin:0 auto;display:flex;gap:18px;align-items:flex-end;justify-content:space-between}#rail ol{list-style:none;display:flex;gap:14px}#rail li{width:clamp(70px,8vw,110px);font-size:12px;font-weight:500;color:rgba(237,235,229,.62)}#rail li i{display:block;height:2px;margin-bottom:9px;background:rgba(237,235,229,.18);overflow:hidden}#rail li b{display:block;height:100%;background:var(--chalk);transform-origin:0 50%;transform:scaleX(0);will-change:transform}#caption{font-size:12px;color:rgba(237,235,229,.55);text-align:right;min-height:1.2em}.ch{position:relative;height:280vh}.pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;align-items:center}.grid{width:var(--shell);margin:0 auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:center}.step{display:flex;gap:12px;align-items:baseline;font-size:14px;font-weight:600;margin-bottom:26px}.step em{font-style:normal;font-stretch:62%;font-weight:300;font-size:44px;line-height:.8;color:var(--oak)}h2{font-size:clamp(32px,3.9vw,60px);font-weight:760;font-stretch:118%;letter-spacing:-.03em;line-height:1.02;max-width:15ch}.lede{margin-top:22px;max-width:44ch;font-size:clamp(15px,1.2vw,17.5px);line-height:1.65;font-weight:380;opacity:.8}#design{background:var(--paper);color:var(--ink)}.screens{position:relative;height:min(62vh,560px)}.scr{position:absolute;left:50%;top:46%;width:min(31%,250px);aspect-ratio:3/4;margin:0;translate:-50% -50%;will-change:transform;}.win{height:100%;border-radius:14px;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.04),0 24px 60px -24px rgba(22,23,26,.35);overflow:hidden;display:flex;flex-direction:column;font-size:11px;color:var(--ink)}.win .tb{height:28px;flex:none;display:flex;gap:5px;align-items:center;padding:0 12px;background:#F1F1EE}.win .tb i{width:7px;height:7px;border-radius:50%;background:#D5D5D0}.win .bd{flex:1;padding:16px;display:flex;flex-direction:column;gap:9px}.ln-a{height:7px;border-radius:4px;background:#E4E4DF}.chip{display:inline-block;padding:4px 8px;border-radius:999px;background:#EEF0F6;color:#2c3e78;font-size:9.5px;font-weight:600}.chip.ok{background:#E8F2EA;color:#24603a}.field{border:1px solid #E4E4DF;border-radius:8px;padding:8px}.field b{display:block;font-size:9px;font-weight:600;opacity:.55;margin-bottom:5px}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:1}.tiles span{border-radius:8px;background:#ECEBE6}.tiles span:nth-child(3n+1){background:#D9DCE6}.tiles span:nth-child(4n+2){background:#E9DFD2}.scr figcaption{position:absolute;left:0;right:0;top:calc(100% + 14px);font-size:13px;line-height:1.45;opacity:0;will-change:opacity}.scr figcaption b{display:block;font-weight:650}#brand{background:var(--paper);color:var(--ink);height:300vh}#brand .pin{flex-direction:column;align-items:stretch;justify-content:center;gap:clamp(22px,4vh,44px)}#brand .head{width:var(--shell);margin:0 auto;display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}#brand .head .lede{margin-top:0;max-width:40ch}.strip{--bh:min(48vh,440px);display:flex;gap:clamp(36px,4vw,64px);padding-left:calc((100vw - var(--shell))/2);width:max-content;will-change:transform}.board{margin:0;display:flex;flex-direction:column;gap:14px}.board .tiles-b{display:grid;grid-template-columns:var(--bh) calc(var(--bh)*.889 - 6px);grid-template-rows:1fr 1fr;gap:12px;height:var(--bh)}.board .tiles-b>div{border-radius:12px;overflow:hidden;background:#d9d9d4}.board .logo{grid-row:1/3}.board img{width:100%;height:100%;object-fit:cover}.board .ph img{width:110%;max-width:none;margin-left:-5%;will-change:transform}.board figcaption{font-size:14px;line-height:1.45;max-width:46ch}.board figcaption b{font-weight:650;margin-right:8px}.board figcaption span{opacity:.6}.strip .end{align-self:center;width:min(30vw,300px);font-size:15px;line-height:1.5;opacity:.7;margin-right:calc((100vw - var(--shell))/2)}#web{background:var(--paper);color:var(--ink);height:320vh}.browser{border-radius:14px;overflow:hidden;background:#0d0d0f;box-shadow:0 1px 0 rgba(0,0,0,.05),0 40px 80px -30px rgba(22,23,26,.45)}.browser .bar{height:38px;display:flex;align-items:center;gap:12px;padding:0 14px;background:#ECECE8;color:#5a5a58;font-size:12px}.browser .bar i{width:9px;height:9px;border-radius:50%;background:#D2D2CD;flex:none}.browser .url{flex:1;max-width:340px;margin:0 auto;height:24px;border-radius:7px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:11.5px;white-space:nowrap;overflow:hidden}.viewport{position:relative;aspect-ratio:16/10;overflow:hidden;background:#0d0d0f}.site{position:absolute;inset:0;opacity:0;will-change:opacity}.site:first-child{opacity:1}.site img{width:100%;display:block}.site .long{will-change:transform}.site .fr{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;will-change:opacity}.fr-stack{display:flex;flex-direction:column}.site .fr:first-child{opacity:1}.tabs{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.tabs li{padding:7px 13px;border-radius:999px;font-size:13px;font-weight:550;box-shadow:inset 0 0 0 1px rgba(22,23,26,.18);transition:background .45s var(--ease),color .45s var(--ease),box-shadow .45s var(--ease)}.tabs li.on{background:var(--ink);color:var(--paper);box-shadow:none}.webnote{margin-top:18px;min-height:3.2em;font-size:14px;line-height:1.55;max-width:42ch;opacity:.75}#tech{background:var(--blueprint);color:var(--chalk)}#tech .pin{background-image:linear-gradient(rgba(226,238,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(226,238,255,.06) 1px,transparent 1px);background-size:48px 48px}.flow svg{width:100%;height:auto;overflow:visible}.flow .track{fill:none;stroke:rgba(226,238,255,.18);stroke-width:2;stroke-dasharray:4 7}.flow .draw{fill:none;stroke:var(--chalk);stroke-width:2.5;stroke-linecap:round}.flow .node circle{fill:var(--blueprint);stroke:rgba(226,238,255,.35);stroke-width:2;transition:fill .5s var(--ease),stroke .5s var(--ease)}.flow .node.on circle{fill:var(--chalk);stroke:var(--chalk)}.flow .node text{font:600 22px var(--font);fill:var(--chalk);text-anchor:middle;dominant-baseline:central;transition:fill .5s var(--ease)}.flow .node.on text{fill:var(--blueprint)}.flow .loop-l{font:500 15px var(--font);fill:rgba(226,238,255,.6);text-anchor:middle}.stages{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}.stages div{font-size:14px;line-height:1.5;opacity:.25;transition:opacity .6s var(--ease)}.stages div.on{opacity:1}.stages b{display:block;font-size:15px;font-weight:650;margin-bottom:4px}.domains{margin-top:34px;font-size:13px}.domains p{opacity:.65;margin-bottom:10px}.domains ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px}.domains li{padding:7px 12px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(226,238,255,.35);opacity:0;transform:translateY(8px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.domains li.on{opacity:1;transform:none}#route{background:var(--blueprint);color:var(--chalk)}#route .pin{background-image:linear-gradient(rgba(226,238,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(226,238,255,.06) 1px,transparent 1px);background-size:48px 48px}.router svg{width:100%;height:auto;overflow:visible}.router .lane{stroke:rgba(226,238,255,.22);stroke-width:2;fill:none;transition:stroke .45s var(--ease),stroke-width .45s var(--ease)}.router .lane.on{stroke:var(--chalk);stroke-width:3.5}.router .m text{font:600 26px var(--font);fill:rgba(226,238,255,.45);transition:fill .45s var(--ease)}.router .m.on text{fill:var(--chalk)}.router .m rect{fill:var(--blueprint);stroke:rgba(226,238,255,.3);stroke-width:2;transition:fill .45s var(--ease),stroke .45s var(--ease)}.router .m.on rect{stroke:var(--chalk);fill:#24479A}.router .hub rect{fill:var(--chalk)}.router .hub text{font:760 30px var(--font);fill:var(--blueprint);text-anchor:middle;dominant-baseline:central}.router .req{fill:var(--oak)}.router .lbl{font:500 22px var(--font);fill:rgba(226,238,255,.6)}.readout{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:8px clamp(24px,4vw,56px);margin-top:26px}.readout dt{font-size:12px;opacity:.6}.readout dd{font-size:clamp(17px,1.6vw,22px);font-weight:650;font-stretch:112%;margin-top:2px}#make{background:var(--walnut);color:var(--chalk)}.joint svg{width:100%;height:auto;max-height:72vh;overflow:visible}.joint .part{will-change:transform}.joint .note{font:500 15px var(--font);fill:rgba(237,235,229,.7)}.joint .lead{stroke:rgba(237,235,229,.4);stroke-width:1.2;fill:none}#contact{background:var(--paper);color:var(--ink);min-height:100vh;display:flex;align-items:center;padding:120px 0}#contact .in{width:var(--shell);margin:0 auto}#contact h2{font-size:clamp(40px,6.4vw,104px);max-width:13ch;font-stretch:125%;font-weight:820}#contact .lede{opacity:.75}#contact .btn.ghost{box-shadow:inset 0 0 0 1px rgba(22,23,26,.3)}#contact footer{margin-top:90px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px;opacity:.6}@media (max-width:860px){#web{height:280vh}.tabs{margin-top:14px}.tabs li{font-size:12px;padding:6px 11px}.webnote{margin-top:10px;font-size:13px}#hero{height:360vh}.ch{height:240vh}.grid{grid-template-columns:1fr;gap:18px;align-content:center}.grid .vis{order:-1}.step{margin-bottom:12px}.step em{font-size:34px}h2{font-size:clamp(28px,7.4vw,40px)}.lede{margin-top:12px;font-size:15px}.screens{height:40vh}.scr{width:min(31%,150px)}.win .bd{padding:10px;gap:6px}.win{font-size:9px}.scr figcaption{font-size:11px}.stages{gap:10px}.stages div{font-size:12px}.stages b{font-size:13px}.domains{margin-top:18px}.readout{margin-top:14px}.readout dd{font-size:15px}.joint svg{max-height:40vh}.strip{--bh:min(30vh,250px)}.strip .end{width:60vw}.board figcaption{font-size:12.5px;max-width:34ch}#brand .head{gap:10px}}@media (max-aspect-ratio:4/5){#scrim{background:linear-gradient(to bottom,rgba(14,15,16,.35) 0%,transparent 16%,transparent 44%,rgba(14,15,16,.82) 66%,rgba(14,15,16,.96) 100%)}#copy{justify-content:flex-end;padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.sub{margin-top:16px}.row{margin-top:20px}.row .btn{flex:1}#rail li{width:62px}#caption{display:none}}@media (prefers-reduced-motion:reduce){.name .ln>span,.fade{transform:none!important;opacity:1!important;transition:none!important}}#web{height:560vh}#web .site:first-child{opacity:1}#web .site .fr:first-child{opacity:1}#web .tabs li{cursor:pointer}.webnote b{display:block;font-size:12px;font-weight:600;letter-spacing:.02em;opacity:.6;margin-bottom:4px}.webnote span{display:block}.webnote a{display:inline-block;margin-top:10px;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}.webnote{min-height:8.6em;opacity:.85}@media (max-width:860px){#web{height:480vh}.webnote{min-height:0}.webnote span{display:none}}#web .site .long{display:flex;flex-direction:column}#web .site .long img{width:100%;height:auto}
/* ---- mobile breathing room (Oct 2026) ---- */
@media (max-width:860px){
  /* header gets a soft backing in the current section's colour so nothing scrolls under it */
  #top{padding-bottom:16px;transition:background .5s var(--ease)}
  #top::before{content:"";position:absolute;inset:0 0 -18px 0;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,var(--hdrbg,transparent) 0%,var(--hdrbg,transparent) 70%,transparent 100%);transition:opacity .5s var(--ease)}
  body[data-theme="paper"]{--hdrbg:var(--paper)}
  body[data-theme="blueprint"]{--hdrbg:var(--blueprint)}
  body[data-theme="walnut"]{--hdrbg:var(--walnut)}
  /* shared rhythm inside pinned chapters: clear the header, more air between blocks */
  .pin{padding-top:calc(env(safe-area-inset-top,0px) + 64px);padding-bottom:24px;box-sizing:border-box}
  .grid{gap:28px}
  .step{margin-bottom:16px}
  .lede{margin-top:16px;line-height:1.6}
  /* product design: room for the card captions so they never meet the heading */
  .screens{height:min(52vh,440px)}
  .scr{top:36%}
  .scr figcaption{top:calc(100% + 12px);font-size:11.5px;line-height:1.45}
  .scr figcaption b{margin-bottom:2px}
  .scr figcaption a{display:inline-block;margin-top:6px}
  /* tech + route: stats and labels get even columns and real gaps */
  .stages{gap:14px;margin-top:18px}
  .stages div{line-height:1.45}
  .domains{margin-top:24px}
  .domains ul{gap:10px}
  .readout{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr) minmax(0,.9fr);gap:12px 16px;margin-top:20px}
  .readout dt{line-height:1.35}
  .readout dd{font-size:14.5px;line-height:1.25;white-space:nowrap}
  /* websites */
  .tabs{margin-top:20px;gap:10px}
  .webnote{margin-top:16px}
  /* brand strip */
  #brand .pin{gap:28px}
  .board{gap:12px}
  .board figcaption{line-height:1.5}
  /* contact */
  #contact{padding:110px 0 64px}
  #contact .row{margin-top:28px}
  #contact footer{margin-top:72px;gap:12px 20px}
}
@media (max-width:860px) and (max-aspect-ratio:4/5){
  #copy{padding-bottom:calc(108px + env(safe-area-inset-bottom,0px))}
  .sub{margin-top:20px}
  .row{margin-top:26px}
}

/* ---- brand strip: prev / next + swipe (Oct 2026) ---- */
#strip{touch-action:pan-y}
.strip-nav{width:var(--shell);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.sn-count{display:flex;align-items:baseline;gap:4px;font-size:13px;font-weight:550;font-variant-numeric:tabular-nums;color:rgba(22,23,26,.55)}
.sn-count b{font-weight:650;color:var(--ink)}
.sn-name{margin-left:14px;color:var(--ink);font-weight:600;font-stretch:112%}
.sn-btns{display:flex;gap:10px}
.sn-btn{width:48px;height:48px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(22,23,26,.22);transition:background .35s var(--ease),color .35s var(--ease),box-shadow .35s var(--ease),opacity .35s var(--ease),transform .35s var(--ease)}
.sn-btn:hover:not(:disabled){background:var(--ink);color:var(--paper);box-shadow:none}
.sn-btn:active:not(:disabled){transform:scale(.94)}
#snNext:not(:disabled){background:var(--ink);color:var(--paper);box-shadow:none}
#snNext:hover:not(:disabled){background:var(--oak);color:#1b1209}
.sn-btn:disabled{opacity:.3;cursor:default}
@media (max-width:860px){.sn-name{margin-left:10px;font-size:13px}.sn-btn{width:46px;height:46px}}
/* header backing + brand section fit on desktop too */
#top::before{content:"";position:absolute;inset:0 0 -18px 0;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,var(--hdrbg,transparent) 0%,var(--hdrbg,transparent) 70%,transparent 100%)}
#top{padding-bottom:16px}
body[data-theme="paper"]{--hdrbg:var(--paper)}
body[data-theme="blueprint"]{--hdrbg:var(--blueprint)}
body[data-theme="walnut"]{--hdrbg:var(--walnut)}
@media (min-width:861px){
  #brand .pin{padding-top:calc(env(safe-area-inset-top,0px) + 76px);padding-bottom:28px;gap:clamp(18px,3.2vh,36px)}
  #brand .strip{--bh:min(42vh,440px)}
}
@media (min-width:861px) and (max-height:820px){
  #brand .strip{--bh:min(35vh,400px)}
  #brand .pin{gap:16px;padding-top:calc(env(safe-area-inset-top,0px) + 70px);padding-bottom:20px}
  #brand h2{font-size:clamp(30px,3.4vw,52px)}
}
/* ---- hero: live 3D chair (Oct 2026) ---- */
#stage .bg{position:absolute;inset:0;z-index:0;pointer-events:none}
#bgA{background:radial-gradient(120% 90% at 66% 45%,#3a3b3d 0%,#2a2b2d 55%,#1d1e20 100%)}
#bgA::after{content:"";position:absolute;inset:0;opacity:.18;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
#bgB{opacity:0;background-color:var(--blueprint);background-image:linear-gradient(rgba(226,238,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(226,238,255,.09) 1px,transparent 1px),linear-gradient(rgba(226,238,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(226,238,255,.04) 1px,transparent 1px);background-size:96px 96px,96px 96px,24px 24px,24px 24px;background-position:center}
#bgC{opacity:0;background:radial-gradient(90% 70% at 66% 42%,#3b3027 0%,#251d17 45%,#15110e 100%)}
#chairGL{position:absolute;inset:0;width:100%;height:100%;z-index:3;opacity:0;transition:opacity 1.2s var(--ease);touch-action:pan-y;cursor:grab}
#chairGL:active{cursor:grabbing}
#stage.gl-ready #chairGL{opacity:1}
#chairStill{position:absolute;z-index:2;right:8%;top:50%;height:min(78vh,720px);width:auto;translate:0 -50%;display:none}
.no3d #chairStill{display:block}
#dims{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0}
#dims span{position:absolute;left:0;top:0;font:600 12px/1 var(--font);font-stretch:112%;letter-spacing:.04em;color:#D6E4FF;background:var(--blueprint);padding:3px 6px;border-radius:4px;font-variant-numeric:tabular-nums}
#dims span::after{content:" mm";font-weight:400;opacity:.7}
#dragHint{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-size:12px;color:rgba(237,235,229,.7);opacity:0;transform:translateY(4px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
#dragHint.on{opacity:1;transform:none}
#dragHint.used{opacity:0!important}
#rail>div,#rail>p{text-align:right}
#rail{align-items:flex-end}
#rail .rt{display:flex;flex-direction:column;align-items:flex-end}
#scrim{z-index:5}
#tint{z-index:5}
#copy,#rail{z-index:8}
#copy{pointer-events:none}
#copy a{pointer-events:auto}
@media (max-aspect-ratio:4/5){
  #chairStill{right:50%;translate:50% 0;top:8%;height:52vh}
  #dragHint{display:none}
}
@media (prefers-reduced-motion:reduce){#chairGL{transition:none}}
/* ---- ch3: Sashiru in 3D (Oct 2026) ---- */
#makeStage{position:relative;width:100%;height:min(74vh,700px);touch-action:pan-y;cursor:grab}
#makeStage:active{cursor:grabbing}
#makeGL{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1s var(--ease)}
#makeStage.gl-ready #makeGL{opacity:1}
.mk-still{position:absolute;inset:6% 12%;width:76%;height:88%;object-fit:contain;display:none}
#makeStage.no3d .mk-still{display:block}
#makeNotes{position:absolute;inset:0;pointer-events:none;opacity:0}
#makeNotes span{position:absolute;left:0;top:0;display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:12.5px;font-weight:600;color:var(--chalk);will-change:transform}
#makeNotes span i{width:9px;height:9px;border-radius:50%;background:var(--oak);box-shadow:0 0 0 5px rgba(192,138,84,.22);flex:none;translate:-50% 0}
#makeNotes span em{font-style:italic;font-weight:400;opacity:.65}
#makeNotes span.flip{flex-direction:row-reverse}
#makeNotes span.flip i{translate:50% 0}
#makeNotes span.flip{translate:-100% 0}
.mk-stats{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:8px clamp(20px,3vw,40px);margin-top:30px}
.mk-stats dt{font-size:12px;opacity:.6}
.mk-stats dd{margin-top:3px;font-size:clamp(17px,1.6vw,22px);font-weight:650;font-stretch:112%;font-variant-numeric:tabular-nums}
.mk-note{margin-top:22px;font-size:13px;opacity:.6}
@media (max-width:860px){
  #makeStage{height:40vh}
  #make .lede{font-size:14px;line-height:1.55}
  #make h2{max-width:none}
  .mk-note{display:none}
  .mk-stats{grid-template-columns:repeat(2,auto);gap:12px 28px;margin-top:20px}
  .mk-stats dd{font-size:16px}
  .mk-note{margin-top:14px;font-size:12px}
  #makeNotes span{font-size:11px}
}
#makeNotes span b{font-weight:600;background:rgba(20,16,13,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:5px 10px;border-radius:999px;display:inline-flex;gap:6px;align-items:baseline}
@media (max-width:860px){#makeNotes span[data-a="ply"]{display:none}}
/* ch3 on phones: fit the screen, then leave dark breathing room before the contact section */
#make{padding-bottom:56px}
@media (max-width:860px){
  #make{padding-bottom:88px}
  #make .pin{padding-top:calc(env(safe-area-inset-top,0px) + 72px);padding-bottom:20px}
  #make .grid{gap:14px}
  #makeStage{height:clamp(170px,30svh,290px)}
  #make .step{margin-bottom:8px}
  #make h2{font-size:clamp(24px,6.6vw,34px)}
  #make .lede{margin-top:10px;font-size:13.5px;line-height:1.55}
  .mk-stats{grid-template-columns:repeat(4,auto);justify-content:space-between;gap:6px 12px;margin-top:16px}
  .mk-stats dt{font-size:11px;line-height:1.25;max-width:9ch}
  .mk-stats dd{font-size:15px;margin-top:4px}
}
@media (max-width:860px) and (max-height:620px){
  #makeStage{height:24svh}
  #make .lede{font-size:13px;line-height:1.5}
}
@media (max-width:860px){.mk-stats div{display:flex;flex-direction:column;justify-content:space-between}.mk-stats dt{min-height:2.5em}}
