@font-face{font-family:Nippo;src:url(/fonts/Nippo-Variable.woff2) format("woff2-variations");font-weight:200 700;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(/fonts/Switzer-Variable.woff2) format("woff2-variations");font-weight:300 700;font-display:swap;font-style:normal}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-400.woff2) format("woff2");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-500.woff2) format("woff2");font-weight:500;font-display:swap;font-style:normal}@font-face{font-family:Switzer Fallback;src:local("Arial");size-adjust:99%;ascent-override:96%;descent-override:24%;line-gap-override:0%}:root{--bg: #F7F5F0;--bg-raised: #FDFCFA;--text: #14161A;--text-soft: #4A4F57;--rule: #D8D5CC;--panel: #0D0F12;--panel-raised: #15181D;--panel-text: #E8EAED;--panel-dim: #9AA1AA;--panel-grid: rgba(232, 234, 237, .05);--panel-edge: transparent;--signal: #FF4D00;--signal-text: #C93E00;--signal-quiet: rgba(255, 77, 0, .1);--signal-fill: #C93E00;--signal-fill-ink: #FFFFFF;--panel-grid-hover: rgba(232, 234, 237, .1);--knob-face-1: #FFFFFF;--knob-face-2: #ECE8E1;--knob-face-3: #D7D3C9;--knob-edge: #B6B2A8;--fig-stroke: color-mix(in srgb, var(--text) 44%, var(--bg));--fig-stroke-strong: color-mix(in srgb, var(--text) 60%, var(--bg));--font-display: "Nippo", "Switzer Fallback", system-ui, sans-serif;--font-sans: "Switzer", "Switzer Fallback", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--fs-mono: .75rem;--fs-14: .875rem;--fs-15: .9375rem;--fs-17: 1.0625rem;--fs-22: clamp(1.125rem, 1.02rem + .52vw, 1.375rem);--fs-32: clamp(1.5rem, 1.16rem + 1.7vw, 2rem);--fs-48: clamp(2rem, 1.3rem + 3.5vw, 3rem);--fs-76: clamp(2.75rem, 1.15rem + 6.9vw, 4.75rem);--chamfer-sm: 10px;--chamfer-lg: 24px;--maxw: 1320px;--gutter: clamp(1.25rem, 4vw, 3.5rem);--section-y: clamp(5rem, 7.5vw, 8rem);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .15s;--dur-wipe: .24s;--dur-reveal: .3s;--z-grid: 1;--z-content: 2;--z-dro: 60;--z-header: 100;--z-menu: 200;--z-crosshair: 300;color-scheme:light}:root[data-theme=night]{--bg: #0C0E11;--bg-raised: #13161B;--text: #E8EAED;--text-soft: #9AA1AA;--rule: #262B33;--panel: #15181D;--panel-raised: #1C2027;--panel-grid: rgba(232, 234, 237, .07);--panel-grid-hover: rgba(232, 234, 237, .13);--panel-edge: rgba(255, 255, 255, .1);--signal-text: var(--signal);--knob-face-1: #2B313A;--knob-face-2: #1A1E24;--knob-face-3: #1A1E24;--knob-edge: rgba(255, 255, 255, .2);--fig-stroke: color-mix(in srgb, var(--text) 42%, var(--bg));--fig-stroke-strong: color-mix(in srgb, var(--text) 58%, var(--bg));color-scheme:dark}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:6rem}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-17);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;transition:background-color .48s var(--ease-in-out),color .48s var(--ease-in-out)}img,svg{display:block;max-width:100%}img{height:auto}picture{display:contents;clip-path:inherit}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}ul{list-style:none;padding:0}h1,h2,h3,h4{font-weight:500;line-height:1.05}::selection{background:var(--signal-fill);color:var(--signal-fill-ink);text-shadow:none}:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-radius:1px}html.js .reveal{opacity:0;transform:translateY(14px)}html.js .reveal.is-in{opacity:1;transform:none;transition:opacity var(--dur-reveal) var(--ease-out),transform var(--dur-reveal) var(--ease-out)}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}.mono{font-family:var(--font-mono);font-size:var(--fs-mono);font-weight:400;letter-spacing:.06em;text-transform:uppercase;font-variant-numeric:tabular-nums}.mono--dim{color:var(--text-soft)}.ch-tr{--c: var(--chamfer-sm);clip-path:polygon(0 0,calc(100% - var(--c)) 0,100% var(--c),100% 100%,0 100%)}.ch-tr-lg{--c: var(--chamfer-lg)}.ch-trbl{--c: var(--chamfer-sm);clip-path:polygon(0 0,calc(100% - var(--c)) 0,100% var(--c),100% 100%,var(--c) 100%,0 calc(100% - var(--c)))}.ch-trbl-lg{--c: var(--chamfer-lg)}.plate{position:relative;isolation:isolate;background:var(--plate-edge, var(--rule))}.plate:before{content:"";position:absolute;inset:var(--edge-w, 1px);background:var(--plate-fill, var(--bg-raised));clip-path:inherit;z-index:-1}.plate>*{position:relative}.btn{position:relative;isolation:isolate;--btn-fill: var(--text);--btn-ink: var(--bg);display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-mono);font-size:var(--fs-14);font-weight:500;letter-spacing:.04em;text-transform:uppercase;padding:.85rem 1.4rem;border:1px solid var(--text);color:var(--text);background:transparent;white-space:nowrap;transition:color var(--dur-wipe) var(--ease-out),border-color var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.btn:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--btn-fill);clip-path:inset(0 100% 0 0);transition:clip-path var(--dur-wipe) var(--ease-out)}.btn .arrow{color:var(--signal);transition:transform var(--dur-micro) var(--ease-out),color var(--dur-wipe) var(--ease-out)}.btn:hover{color:var(--btn-ink)}.btn:hover:before{clip-path:inset(0 0 0 0)}.btn:hover .arrow{color:var(--btn-ink);transform:translate(4px)}.btn:active{transform:scale(.98)}.btn--primary{border-color:var(--signal-fill);background:var(--signal-fill);color:var(--signal-fill-ink);--btn-fill: var(--text);--btn-ink: var(--bg)}.btn--primary .arrow{color:var(--signal-fill-ink)}.btn--primary:hover{border-color:var(--text)}.btn--sm{padding:.7rem .95rem;font-size:var(--fs-14)}.btn--onpanel{border-color:#ffffff4d;color:var(--panel-text);--btn-fill: var(--signal-fill);--btn-ink: var(--signal-fill-ink)}.btn--onpanel:hover{border-color:var(--signal-fill)}.drafting-grid{position:fixed;inset:0;z-index:var(--z-grid);pointer-events:none;display:none}.drafting-grid__inner{width:100%;max-width:var(--maxw);height:100%;margin-inline:auto;padding-inline:var(--gutter);background-image:linear-gradient(90deg,var(--rule) 1px,transparent 1px),linear-gradient(90deg,var(--rule) 1px,transparent 1px),linear-gradient(90deg,var(--rule) 1px,transparent 1px),linear-gradient(90deg,var(--rule) 1px,transparent 1px),linear-gradient(90deg,var(--rule) 1px,transparent 1px);background-repeat:no-repeat;background-position:var(--gutter) 0,calc(25% + var(--gutter) * .5) 0,50% 0,calc(75% - var(--gutter) * .5) 0,calc(100% - var(--gutter)) 0;background-size:1px 100%;opacity:.5}@media(min-width:1024px){.drafting-grid{display:block}}main,.site-footer{position:relative;z-index:var(--z-content)}.crosshair{position:fixed;left:0;top:0;z-index:var(--z-crosshair);pointer-events:none;display:none;opacity:0;transition:opacity var(--dur-micro) var(--ease-out)}.crosshair[data-active=true]{opacity:1}@media(min-width:1024px)and (hover:hover)and (pointer:fine){.crosshair{display:block}html.js,html.js *{cursor:none}}.crosshair__tick{position:absolute;background:var(--rule);transition:transform var(--dur-micro) var(--ease-out),background var(--dur-micro) var(--ease-out)}.crosshair__tick--n{left:-.5px;top:-18px;width:1px;height:11px}.crosshair__tick--s{left:-.5px;top:7px;width:1px;height:11px}.crosshair__tick--w{top:-.5px;left:-18px;height:1px;width:11px}.crosshair__tick--e{top:-.5px;left:7px;height:1px;width:11px}.crosshair__frame{position:absolute;top:0;left:0;animation:crosshair-spin 2.5s linear infinite}.crosshair[data-lock=true] .crosshair__frame{animation:none}@keyframes crosshair-spin{to{transform:rotate(360deg)}}.crosshair__corner{position:absolute;top:0;left:0;width:9px;height:9px;border:1.5px solid var(--signal);transition:transform .26s cubic-bezier(.34,1.56,.64,1),width .26s var(--ease-out),height .26s var(--ease-out),border-width .26s var(--ease-out);will-change:transform}.crosshair[data-lock=true] .crosshair__corner{width:13px;height:13px;border-width:2px;animation:lock-hit .36s var(--ease-out)}@keyframes lock-hit{0%,50%,to{opacity:1}25%,75%{opacity:.2}}.crosshair[data-settled=true] .crosshair__corner{transition:none}.crosshair__corner--tl{border-right:none;border-bottom:none;transform:translate(-11px,-11px)}.crosshair__corner--tr{border-left:none;border-bottom:none;transform:translate(2px,-11px)}.crosshair__corner--br{border-left:none;border-top:none;transform:translate(2px,2px)}.crosshair__corner--bl{border-right:none;border-top:none;transform:translate(-11px,2px)}.crosshair[data-target=true] .crosshair__tick{background:var(--signal)}.crosshair[data-target=true] .crosshair__tick--n{transform:translateY(4px)}.crosshair[data-target=true] .crosshair__tick--s{transform:translateY(-4px)}.crosshair[data-target=true] .crosshair__tick--w{transform:translate(4px)}.crosshair[data-target=true] .crosshair__tick--e{transform:translate(-4px)}.site-header{position:sticky;top:0;z-index:var(--z-header);background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color var(--dur-micro) var(--ease-out)}.site-header[data-scrolled=true]{border-bottom-color:var(--rule)}.site-header__bar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:4.5rem}.wordmark{font-family:var(--font-mono);font-size:var(--fs-mono);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text);white-space:nowrap}.wordmark b{color:var(--signal-text);font-weight:500}.nav{display:flex;align-items:center;gap:clamp(1rem,2vw,2rem)}.nav>.shift{border-left:1px solid var(--rule);padding-left:clamp(1rem,2vw,2rem)}.nav__links{display:flex;gap:clamp(1rem,2vw,1.75rem)}.nav__links a{position:relative;font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft);padding-block:.8rem;transition:color var(--dur-micro) var(--ease-out)}.nav__links a:after{content:"";position:absolute;left:0;bottom:.55rem;width:100%;height:1px;background:var(--signal);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-micro) var(--ease-out)}.nav__links a:hover,.nav__links a[aria-current=true]{color:var(--text)}.nav__links a:hover:after,.nav__links a[aria-current=true]:after{transform:scaleX(1)}.menu-toggle{display:none;width:2.75rem;height:2.75rem;position:fixed;top:.875rem;right:calc(var(--gutter) - .375rem);z-index:calc(var(--z-menu) + 1)}.menu-toggle span{position:absolute;left:10px;right:10px;height:1.5px;background:var(--text);transition:transform .25s var(--ease-out),opacity .15s var(--ease-out)}.menu-toggle span:nth-child(1){top:17px}.menu-toggle span:nth-child(2){bottom:17px}[data-menu-open] .menu-toggle span:nth-child(1){transform:translateY(4px) rotate(45deg)}[data-menu-open] .menu-toggle span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}.mobile-menu{position:fixed;inset:0;z-index:var(--z-menu);background:var(--bg);display:flex;flex-direction:column;justify-content:center;gap:.5rem;padding:var(--gutter);transform:translateY(-100%);visibility:hidden;transition:transform .36s var(--ease-in-out),visibility .36s}[data-menu-open] .mobile-menu{transform:translateY(0);visibility:visible}.mobile-menu>a:not(.btn){font-family:var(--font-display);font-size:var(--fs-48);letter-spacing:-.02em;text-transform:uppercase;color:var(--text);opacity:0;transform:translateY(12px)}[data-menu-open] .mobile-menu>a:not(.btn){animation:menu-in .34s var(--ease-out) forwards}.mobile-menu>a:nth-child(2){animation-delay:60ms}.mobile-menu>a:nth-child(3){animation-delay:.11s}.mobile-menu>a:nth-child(4){animation-delay:.16s}.mobile-menu>a:nth-child(5){animation-delay:.21s}.mobile-menu>a:nth-child(6){animation-delay:.26s}.mobile-menu__top{position:absolute;top:var(--gutter);left:var(--gutter)}.mobile-menu__talk{position:absolute;left:var(--gutter);right:var(--gutter);bottom:var(--gutter);margin:0;justify-content:center}@keyframes menu-in{to{opacity:1;transform:none}}.shift{display:inline-flex;align-items:center;gap:.4rem;border-radius:2px;padding-block:.3rem;margin-block:-.3rem}.shift__mark{font-family:var(--font-mono);font-size:var(--fs-mono);font-weight:500;line-height:1;color:var(--text-soft);transition:color var(--dur-micro) var(--ease-out)}:root:not([data-theme=night]) .shift__mark--d{color:var(--signal)}:root[data-theme=night] .shift__mark--n{color:var(--signal)}.shift__knob{--deg: -52deg;position:relative;width:38px;height:38px;border-radius:50%;background:radial-gradient(circle at 50% 34%,var(--knob-face-1),var(--knob-face-2) 58%,var(--knob-face-3) 100%);border:1.5px solid var(--knob-edge);box-shadow:inset 0 1px 1.5px #ffffffe6,inset 0 -2px 4px #0000001a,0 1px 2px #00000024;transition:box-shadow var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out)}:root[data-theme=night] .shift__knob{--deg: 52deg;background:radial-gradient(circle at 50% 34%,var(--knob-face-1),var(--knob-face-2) 72%);border-color:var(--knob-edge);box-shadow:inset 0 1px 1.5px #ffffff24,0 1px 3px #00000080}.shift:hover .shift__knob{border-color:var(--text-soft)}.shift:active .shift__knob{transform:scale(.96)}.shift__ind{position:absolute;top:5px;left:50%;width:2.5px;height:13px;border-radius:2px;background:var(--signal);transform:translate(-50%) rotate(var(--deg));transform-origin:50% 100%;transition:transform .18s var(--ease-out)}.shift__label{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--text);white-space:nowrap;margin-left:.25rem;display:inline-block;min-width:5.375rem;text-align:left}:root[data-theme=night] .shift__ind{--deg: 52deg}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-new(root){z-index:1}::view-transition-old(root){z-index:0}.dro{position:fixed;left:1.25rem;bottom:1.25rem;z-index:var(--z-dro);display:none;padding:.6rem .8rem .55rem;--plate-fill: var(--bg-raised);--plate-edge: var(--rule);font-family:var(--font-mono);font-size:12px;line-height:1.55;letter-spacing:.04em;color:var(--text-soft);font-variant-numeric:tabular-nums;user-select:none;transition:opacity .22s var(--ease-out)}.dro[data-yield=true]{opacity:.2}.dro b{color:var(--text);font-weight:500}.dro__row{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.dro__dot{width:6px;height:6px;border-radius:50%;background:var(--signal);animation:dro-pulse 2s var(--ease-in-out) infinite}.dro__val{color:var(--text)}.dro[data-flash=true] .dro__prog{color:var(--signal-text)}@keyframes dro-pulse{0%,to{opacity:1}50%{opacity:.25}}@media(min-width:1024px){.dro{display:block}}.hero{padding-block:clamp(1.25rem,6vw,4.5rem) var(--section-y)}.hero__wrap{position:relative}@media(min-width:1200px)and (prefers-reduced-motion:no-preference){.hero__fig .dim-ext,.hero__fig .dim-main,.hero__fig .dim-arrow{stroke-dasharray:1;animation:fig-dim-draw .4s linear both}.hero__fig .dim-ext{animation-delay:.1s}.hero__fig .dim-main{animation-duration:.75s;animation-delay:.3s}.hero__fig .dim-arrow{animation-duration:.25s;animation-delay:.95s}.hero__fig .dim-text{animation:fig-dim-fade .35s var(--ease-out) 1.1s both}}@keyframes fig-dim-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes fig-dim-fade{0%{opacity:0}to{opacity:.6}}.hero__eyebrow{color:var(--text-soft);margin-bottom:clamp(1.25rem,3vw,2rem)}.hero__eyebrow .sig{color:var(--signal)}.hero h1{font-family:var(--font-display);font-size:clamp(2.5rem,1.05rem + 6.2vw,4.25rem);font-weight:500;line-height:.98;letter-spacing:-.02em;text-transform:uppercase;text-wrap:balance;max-width:16ch;margin-bottom:clamp(1.25rem,2.5vw,1.75rem)}.hero__sub{max-width:58ch;font-size:var(--fs-17);color:var(--text-soft);line-height:1.6;margin-bottom:clamp(1.5rem,3vw,2.25rem)}.hero__links{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:clamp(2.5rem,5vw,3.5rem)}@media(min-width:1024px){.hero__links{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.hero__links .btn{justify-content:center;margin-right:clamp(.75rem,1.5vw,1.5rem)}}.textlink{position:relative;font-family:var(--font-mono);font-size:var(--fs-14);font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--text);padding-bottom:2px}.textlink .arrow{color:var(--signal);display:inline-block;transition:transform var(--dur-micro) var(--ease-out)}.textlink:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--dur-micro) var(--ease-out)}.textlink:hover:after{transform:scaleX(1)}.textlink:hover .arrow{transform:translate(3px)}.machinecard{display:none}@media(max-width:1199.98px){.machinecard{display:block;--plate-fill: var(--bg-raised);--plate-edge: var(--rule);--fig-stroke: color-mix(in srgb, var(--text) 45%, var(--bg));--fig-stroke-strong: color-mix(in srgb, var(--text) 62%, var(--bg));margin-bottom:clamp(2.5rem,5vw,3.5rem)}}.machinecard__head{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;text-align:left}.machinecard__status{display:inline-flex;align-items:center;gap:.6rem;color:var(--text)}.machinecard__dot{width:7px;height:7px;border-radius:50%;background:var(--signal);animation:dro-pulse 2.4s var(--ease-in-out) infinite}.machinecard__plus{width:12px;height:12px;flex-shrink:0;color:var(--text-soft);transition:transform var(--dur-micro) var(--ease-out)}.machinecard[data-open=true] .machinecard__plus{transform:rotate(45deg)}.machinecard__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--ease-out)}.machinecard[data-open=true] .machinecard__body{grid-template-rows:1fr}.machinecard__inner{overflow:hidden;min-height:0;visibility:hidden;transition:visibility .3s;padding-inline:1rem}.machinecard[data-open=true] .machinecard__inner{visibility:visible}.machinecard__data{display:grid;grid-template-columns:repeat(2,auto);gap:.75rem 2rem;width:fit-content;padding-block:.5rem 1.1rem}.machinecard__data dt{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);margin-bottom:.2rem}.machinecard__data dd{font-family:var(--font-mono);font-size:var(--fs-14);text-transform:uppercase;color:var(--text);font-variant-numeric:tabular-nums}.machinecard[data-open=false] :is(.fig-carriage,.fig-spindle){animation-play-state:paused}.spec{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}.spec__tile{--plate-fill: var(--bg-raised);background:var(--bg-raised);position:relative;isolation:isolate;padding:clamp(1.1rem,2vw,1.6rem);display:flex;flex-direction:column;gap:.5rem;min-height:8.5rem;justify-content:space-between}.spec__tile{--dot-base: rgba(20, 22, 26, .13);--mx: 50%;--my: 50%}:root[data-theme=night] .spec__tile{--dot-base: rgba(232, 234, 237, .13)}.spec__tile:before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(circle,var(--dot-base) 1.5px,transparent 1.6px);background-size:14px 14px;background-position:center}.spec__tile:after{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(circle,color-mix(in srgb,var(--signal-fill) 35%,transparent) 1.5px,transparent 1.6px);background-size:14px 14px;background-position:center;-webkit-mask-image:radial-gradient(130px circle at var(--mx) var(--my),#000 0%,transparent 72%);mask-image:radial-gradient(130px circle at var(--mx) var(--my),#000 0%,transparent 72%);opacity:0;transition:opacity var(--dur-wipe) var(--ease-out)}.spec__tile:hover:after{opacity:1}.spec__tile:hover .spec__num{transform:translateY(-2px)}.spec__num{font-family:var(--font-display);font-size:var(--fs-48);font-weight:500;line-height:.9;letter-spacing:-.02em;color:var(--signal);font-variant-numeric:tabular-nums;transition:transform var(--dur-micro) var(--ease-out)}.spec__num--plain{color:var(--text)}.spec__label{color:var(--text-soft);line-height:1.4}.spec__label--strong{color:var(--text);font-weight:500}.spec__tile--status{justify-content:flex-end;gap:.35rem}.spec__tile--status .arrow{display:inline-block;transition:transform var(--dur-micro) var(--ease-out)}.spec__tile--status:hover .spec__label--strong{color:var(--signal-text)}.spec__tile--status:hover .arrow{transform:translate(3px)}.spec__status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--signal);margin-right:.4rem;animation:dro-pulse 2.4s var(--ease-in-out) infinite}.work{padding-block:var(--section-y)}.work__intro{max-width:46ch;font-size:var(--fs-22);line-height:1.35;letter-spacing:-.01em;margin-bottom:clamp(2.5rem,5vw,4rem)}.work__list{display:flex;flex-direction:column;gap:clamp(1.5rem,3vw,2.5rem)}.panel{--card-surface: var(--bg-raised);--card-ink: var(--text);--card-ink-dim: var(--text-soft);--card-edge: var(--rule);--card-cta-border: var(--card-ink);--card-img-border: rgba(20, 22, 26, .14);--card-img-edge: rgba(20, 22, 26, .18);--plate-fill: var(--card-surface);--plate-edge: var(--card-edge);--edge-w: 1px;color:var(--card-ink);padding:clamp(1.75rem,4vw,3.25rem);display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}:root[data-theme=night] .panel{--card-surface: var(--panel);--card-ink: var(--panel-text);--card-ink-dim: var(--panel-dim);--card-edge: var(--panel-edge);--card-cta-border: var(--card-ink);--card-img-border: rgba(255, 255, 255, .08);--card-img-edge: rgba(255, 255, 255, .12);--edge-w: 1px}.panel{--dot-base: rgba(20, 22, 26, .16);--mx: 50%;--my: 50%}:root[data-theme=night] .panel{--dot-base: rgba(232, 234, 237, .14)}.panel:before{background-color:var(--card-surface);background-image:radial-gradient(circle,var(--dot-base) 1.5px,transparent 1.6px);background-size:14px 14px;background-position:center}.has-dotfield:before{background-image:none!important}.has-dotfield:after{display:none!important}.dotfield{position:absolute;inset:var(--edge-w, 0);pointer-events:none}.panel:after{content:"";position:absolute;inset:var(--edge-w, 0);clip-path:inherit;z-index:-1;background-image:radial-gradient(circle,color-mix(in srgb,var(--signal-fill) 38%,transparent) 1.5px,transparent 1.6px);background-size:14px 14px;background-position:center;-webkit-mask-image:radial-gradient(170px circle at var(--mx) var(--my),#000 0%,transparent 72%);mask-image:radial-gradient(170px circle at var(--mx) var(--my),#000 0%,transparent 72%);opacity:0;transition:opacity var(--dur-micro) var(--ease-out)}.panel:hover:after{opacity:1}.panel:hover .panel__index{color:var(--signal)}.panel__head{display:flex;gap:1rem;justify-content:space-between;color:var(--card-ink-dim);margin-bottom:1.25rem}.panel__index{color:var(--card-ink)}.panel__live{color:var(--signal);white-space:nowrap}.panel h3{font-family:var(--font-display);font-size:var(--fs-32);font-weight:500;letter-spacing:-.01em;line-height:1.02;color:var(--card-ink);margin-bottom:1rem;text-wrap:balance}.panel__summary{color:var(--card-ink-dim);line-height:1.55;margin-bottom:1.75rem;max-width:46ch}.panel__meta{display:grid;grid-template-columns:repeat(2,auto);gap:.85rem 2.25rem;margin-bottom:1.75rem;width:fit-content}.panel__meta dt{color:var(--card-ink-dim);font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.25rem}.panel__meta dd{color:var(--card-ink);font-family:var(--font-mono);font-size:var(--fs-14)}.panel__meta dd .sig{color:var(--signal)}.panel__cta{font-family:var(--font-mono);font-size:var(--fs-14);font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--card-ink);display:inline-flex;align-items:center;gap:.6rem;width:fit-content;padding:.85rem 1.4rem;border:1px solid var(--card-cta-border);transition:background var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out)}.panel__cta .arrow{color:var(--signal);transition:transform var(--dur-micro) var(--ease-out)}.panel:hover .panel__cta{background:var(--signal-fill);border-color:var(--signal-fill);color:var(--signal-fill-ink)}.panel:hover .panel__cta .arrow{color:var(--signal-fill-ink);transform:translate(4px)}.panel__vis{position:relative;display:flex;align-items:center;justify-content:center;min-height:15rem;overflow:hidden}.panel__vis img{width:100%;border:1px solid var(--card-img-border);--plate-edge: var(--card-img-edge);opacity:0;transition:opacity .24s var(--ease-out) 40ms,transform .2s linear,border-color .2s linear}.panel.is-in .panel__vis img,html:not(.js) .panel__vis img{opacity:1}.panel__vis svg{width:100%;height:auto;color:var(--card-ink-dim);transition:transform .2s linear}@media(hover:hover){.panel:hover .panel__vis :is(img,svg){transform:scale(1.04)}.panel:hover .panel__vis img{border-color:color-mix(in srgb,var(--signal) 70%,transparent)}}.panel:focus-visible .panel__vis :is(img,svg){transform:scale(1.04)}.panel:focus-visible .panel__vis img{border-color:color-mix(in srgb,var(--signal) 70%,transparent)}.panel:focus-visible:after{opacity:1}.panel:focus-visible .panel__index{color:var(--signal)}.panel:focus-visible .panel__cta{background:var(--signal-fill);border-color:var(--signal-fill);color:var(--signal-fill-ink)}.panel:focus-visible .panel__cta .arrow{color:var(--signal-fill-ink);transform:translate(4px)}@media(prefers-reduced-motion:reduce){.panel:hover .panel__vis :is(img,svg),.panel:focus-visible .panel__vis :is(img,svg){transform:none}}.about{padding-block:var(--section-y)}.about__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,5rem);align-items:start}.about__figure{position:relative}.badge{position:relative;display:flex;flex-direction:column;align-items:center}.badge__pin{position:relative;z-index:2;width:13px;height:13px;border-radius:50%;border:2.5px solid var(--text-soft);background:var(--bg-raised)}.badge__swing{display:flex;flex-direction:column;align-items:center;margin-top:-3px;transform-origin:50% 0;will-change:transform}.badge__strap{width:.9rem;height:clamp(3rem,6vw,4.25rem);background:repeating-linear-gradient(-45deg,var(--panel) 0 7px,var(--signal) 7px 14px)}.badge__clip{width:2.1rem;height:.75rem;margin-top:-1px;background:linear-gradient(var(--knob-face-1),var(--knob-face-3));border:1px solid var(--knob-edge)}.badge__card{--plate-edge: var(--rule);--plate-fill: var(--bg-raised);width:100%;margin-top:-1px;padding:.9rem .9rem 1rem;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.badge__card:active{cursor:grabbing}.badge__photo img{width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:center top;filter:grayscale(1) contrast(1.02);pointer-events:none}.badge__name{font-family:var(--font-display);font-size:var(--fs-22);font-weight:500;line-height:1.05;margin-top:.85rem}.badge__role{color:var(--text-soft);margin-top:.3rem}.badge__row{display:flex;justify-content:space-between;gap:1rem;color:var(--text-soft);margin-top:.75rem;padding-top:.6rem;border-top:1px solid var(--rule)}.badge__status{color:var(--text)}.badge__barcode{height:22px;margin-top:.75rem;background:repeating-linear-gradient(90deg,var(--text) 0 2px,transparent 2px 5px,var(--text) 5px 6px,transparent 6px 11px,var(--text) 11px 14px,transparent 14px 17px,var(--text) 17px 18px,transparent 18px 21px);opacity:.85}.badge__hint{display:none}html.js .badge__hint{display:inline}@media(prefers-reduced-motion:reduce){.badge__hint{display:none!important}}.about__caption{color:var(--text-soft);margin-top:.85rem}.about__body>p:not(.about__lead){color:var(--text-soft);line-height:1.7;max-width:64ch}.about__body>p+p{margin-top:1.25rem}.about__lead{font-family:var(--font-display);font-size:var(--fs-32);font-weight:400;line-height:1.08;letter-spacing:-.01em;color:var(--text);text-transform:none;margin-bottom:1.75rem;text-wrap:balance;max-width:20ch}.caps{margin-top:2.5rem;border-top:1px solid var(--rule)}.caps li{display:flex;align-items:baseline;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--rule)}.caps li .n{font-family:var(--font-mono);font-size:12px;color:var(--text-soft);letter-spacing:.06em}.caps li .t{font-size:var(--fs-15);color:var(--text)}.process{padding-block:var(--section-y)}.process__intro{max-width:44ch;font-size:var(--fs-22);line-height:1.35;letter-spacing:-.01em;margin-bottom:clamp(2.5rem,5vw,4rem)}.ops{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule)}.op{padding:2rem clamp(1rem,2vw,1.75rem);border-right:1px solid var(--rule);position:relative}.op:last-child{border-right:none}.op__n{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.08em;color:var(--signal-text);margin-bottom:1.5rem;display:flex;align-items:center;gap:.6rem}.op__n:after{content:"";flex:1;height:1px;background:var(--rule)}.op h3{font-family:var(--font-display);font-size:var(--fs-22);font-weight:500;letter-spacing:-.005em;line-height:1.05;margin-bottom:.85rem;text-wrap:balance}.op p:not(.op__n){font-size:var(--fs-15);color:var(--text-soft);line-height:1.55}.side{padding-block:var(--section-y)}.side__intro{max-width:44ch;color:var(--text-soft);margin-bottom:clamp(2rem,4vw,3rem)}.side__row{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.5rem,3vw,2.5rem)}.figurecard{display:flex;flex-direction:column;gap:.9rem;grid-column:span 2}.figurecard__img{--plate-edge: var(--rule);--plate-fill: var(--bg-raised);overflow:hidden}.figurecard__img img{width:100%;aspect-ratio:4 / 3;object-fit:cover;object-position:center top;filter:grayscale(1);transition:filter .35s var(--ease-out),transform .5s var(--ease-out);clip-path:inherit}.figurecard:hover .figurecard__img img{filter:grayscale(0);transform:scale(1.03)}.figurecard__name{font-size:var(--fs-15);color:var(--text)}.figurecard__name a{color:inherit}.figurecard__name .arrow{display:inline-block;transition:transform var(--dur-micro) var(--ease-out)}.figurecard__name a:hover .arrow{transform:translate(2px,-2px)}.figurecard__label{color:var(--text-soft)}.contact{padding-block:var(--section-y)}.contact h2{font-family:var(--font-display);font-size:var(--fs-48);font-weight:500;text-transform:uppercase;letter-spacing:-.015em;line-height:1;text-wrap:balance;max-width:18ch;margin-bottom:1.5rem}.contact__line{max-width:54ch;color:var(--text-soft);margin-bottom:clamp(2.5rem,5vw,3.5rem)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 1.5rem;max-width:40rem;margin-bottom:clamp(2.5rem,5vw,3.5rem)}.contact-form__hp{position:absolute;left:-9999px}.contact-form__field{display:flex;flex-direction:column;gap:.45rem}.contact-form__field--full{grid-column:1 / -1}.contact-form label{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft)}.contact-form input:not([type=hidden]),.contact-form textarea{font:inherit;font-size:var(--fs-15);line-height:1.5;color:var(--text);background:var(--bg-raised);border:1px solid var(--rule);border-radius:0;padding:.75rem .9rem;width:100%;transition:border-color var(--dur-micro) var(--ease-out)}.contact-form input:hover,.contact-form textarea:hover{border-color:var(--text-soft)}.contact-form textarea{resize:vertical;min-height:8.5rem}.contact-form__actions{grid-column:1 / -1;display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.contact-form__status{color:var(--signal-text);min-height:1.2em}.btn:disabled{opacity:.55;pointer-events:none}.contact__alt{color:var(--text-soft);margin-bottom:1rem}.contact__actions{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.6rem}.contact__row{display:inline-flex;align-items:center;gap:.9rem}.contact__email{display:inline-block;font-family:var(--font-display);font-size:clamp(1rem,4.9vw,2rem);letter-spacing:-.01em;color:var(--text);border-bottom:1px solid var(--rule);padding-bottom:.4rem;transition:color var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out)}.contact__email:hover{color:var(--signal);border-color:var(--signal)}.contact__copy{display:inline-flex;align-items:center;justify-content:center;padding:.6875rem;color:var(--text-soft);border:1px solid var(--rule);transition:color var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.contact__copy:hover{color:var(--signal-text);border-color:var(--signal-text)}.contact__copy:active{transform:scale(.94)}.contact__copy-icon{width:22px;height:22px}.contact__hint{position:relative;min-height:1.2em;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft)}.contact__hint-label{transition:opacity var(--dur-micro) var(--ease-out)}.contact__copied{position:absolute;left:0;top:0;color:var(--signal-text);opacity:0;transition:opacity var(--dur-micro) var(--ease-out);user-select:none}.contact__copied[data-show=true]{opacity:1}.contact__hint:has(.contact__copied[data-show=true]) .contact__hint-label{opacity:0}.contact__socials{display:flex;gap:1.75rem;margin-top:2.5rem}.footer__meta a,.contact__socials a{display:inline-block}.footer__meta a,.contact__socials a,.cs-nav a{padding-block:.85rem;margin-block:-.85rem}.site-footer{position:relative;padding-top:clamp(3rem,6vw,5rem);overflow:hidden;border-top:1px solid var(--rule)}.titleblock{--plate-edge: var(--rule);--plate-fill: var(--bg-raised);position:relative;z-index:2;width:min(100%,640px);font-family:var(--font-mono);font-size:var(--fs-14)}.titleblock__grid{display:grid;grid-template-columns:1fr 1fr}.titleblock__cell{padding:.7rem .9rem;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}.titleblock__cell:nth-child(2n){border-right:none}.titleblock__cell span{display:block;font-size:var(--fs-mono);letter-spacing:.08em;color:var(--text-soft);margin-bottom:.2rem}.titleblock__cell b{font-weight:500;color:var(--text);letter-spacing:.03em}.titleblock__cell b .sig{color:var(--signal)}.titleblock__full{grid-column:1 / -1;border-right:none}.titleblock__quote b{letter-spacing:.04em}.titleblock__grid>:last-child{border-bottom:none}.monogram:before{content:"FF"}.monogram{position:relative;z-index:1;margin-top:clamp(1rem,3vw,2rem);font-family:var(--font-display);font-weight:600;font-size:clamp(9rem,34vw,26rem);line-height:.7;letter-spacing:-.03em;color:var(--rule);text-align:center;transform:translateY(28%);user-select:none;pointer-events:none}.footer__nav{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem;padding-block:1.5rem 1rem;border-top:1px solid var(--rule);margin-top:clamp(-2rem,-4vw,-1rem)}.footer__nav-col{display:flex;flex-direction:column;align-items:flex-start}.footer__nav-head{color:var(--text-soft);font-size:var(--fs-mono);letter-spacing:.08em;margin-bottom:.5rem}.footer__nav a{color:var(--text-soft);padding-block:.7rem;transition:color var(--dur-micro) var(--ease-out)}.footer__nav a:hover{color:var(--text)}@media(max-width:540px){.footer__nav{grid-template-columns:1fr}}.footer__meta{position:relative;z-index:2;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-block:1.25rem;border-top:1px solid var(--rule);color:var(--text-soft)}.secmark{display:flex;align-items:center;gap:.75rem;color:var(--text-soft);margin-bottom:clamp(1.25rem,2.5vw,2rem);font-weight:400;line-height:inherit}.secmark:before{content:"";width:24px;height:1px;background:var(--signal)}.secmark>span[aria-hidden]{display:contents}.skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--text);color:var(--bg);padding:.6rem 1rem;font-family:var(--font-mono);font-size:var(--fs-14)}.skip:focus{left:.5rem;top:.5rem}.cs-hero{background:var(--panel);color:var(--panel-text);padding-block:clamp(1.25rem,3vw,2rem) clamp(3rem,8vw,6rem);background-image:linear-gradient(var(--panel-grid) 1px,transparent 1px),linear-gradient(90deg,var(--panel-grid) 1px,transparent 1px);background-size:34px 34px;clip-path:polygon(0 0,100% 0,100% 100%,var(--chamfer-lg) 100%,0 calc(100% - var(--chamfer-lg)))}.cs-nav{display:flex;justify-content:space-between;gap:1rem;padding-block:1.25rem;color:var(--panel-dim)}.cs-nav a{color:var(--panel-dim);display:inline-flex;gap:.4rem;align-items:center}.cs-nav a:hover{color:var(--panel-text)}.cs-nav__ghost{opacity:.3;display:inline-flex;gap:.4rem;align-items:center}.cs-nav .arrow{color:var(--signal)}.cs-hero__label{color:var(--panel-dim);margin-top:clamp(2rem,6vw,4rem);margin-bottom:1rem}.cs-hero__title{font-family:var(--font-display);font-size:var(--fs-76);font-weight:500;text-transform:uppercase;letter-spacing:-.02em;line-height:.98;text-wrap:balance;max-width:18ch;margin-bottom:clamp(2rem,4vw,3rem)}.cs-hero__meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1.25rem 2rem;border-top:1px solid rgba(255,255,255,.12);padding-top:1.5rem;max-width:60rem}.cs-hero__meta dt{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--panel-dim);margin-bottom:.35rem}.cs-hero__meta dd{font-family:var(--font-mono);font-size:var(--fs-14);color:var(--panel-text)}.cs-hero__meta dd .sig{color:var(--signal)}.cs-body{padding-block:clamp(3rem,7vw,6rem) var(--section-y)}.cs-grid{display:grid;grid-template-columns:12rem 1fr;gap:clamp(2rem,5vw,5rem);align-items:start}.cs-toc{position:sticky;top:6rem;display:flex;flex-direction:column;gap:.6rem}.cs-toc a{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);display:flex;align-items:center;gap:.55rem;transition:color var(--dur-micro) var(--ease-out)}.cs-toc a:before{content:"";width:14px;height:1px;background:var(--rule);transition:background var(--dur-micro) var(--ease-out),width var(--dur-micro) var(--ease-out)}.cs-toc a[aria-current=true]{color:var(--text)}.cs-toc a[aria-current=true]:before{background:var(--signal);width:24px}.cs-article{max-width:68ch}.cs-section{padding-bottom:clamp(2.5rem,5vw,4rem)}.cs-section__op{color:var(--signal-text);margin-bottom:.75rem}.cs-section h2{font-family:var(--font-display);font-size:var(--fs-32);font-weight:500;letter-spacing:-.01em;margin-bottom:1.25rem}.cs-section p:not(.cs-section__op){color:var(--text-soft);line-height:1.6;font-size:var(--fs-17)}.cs-section p+p{margin-top:1.1rem}.cs-figure{--plate-fill: var(--panel);--plate-edge: var(--panel-edge);--edge-w: 0px;margin:clamp(2rem,4vw,3rem) 0;padding:clamp(1rem,2.5vw,1.75rem);background-color:var(--panel)}:root[data-theme=night] .cs-figure{--edge-w: 1px;background-color:transparent}.cs-figure:before{background-color:var(--panel);background-image:linear-gradient(var(--panel-grid) 1px,transparent 1px),linear-gradient(90deg,var(--panel-grid) 1px,transparent 1px);background-size:28px 28px}.cs-figure img{width:100%;border:1px solid rgba(255,255,255,.08);clip-path:inherit}.cs-figure figcaption{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--panel-dim);margin-top:.85rem}.cs-nda{display:inline-block;margin-top:.35rem;color:var(--text-soft)}.cs-hero__demo{margin-top:2.25rem;border-color:var(--panel-text);color:var(--panel-text);--btn-fill: var(--panel-text);--btn-ink: var(--panel)}.cs-section p strong.cs-lead{color:var(--text);font-weight:600}.cs-pull{margin:clamp(3rem,7vw,4.5rem) 0;padding:1.75rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.cs-pull p{font-size:var(--fs-22);font-weight:600;line-height:1.35;color:var(--text);max-width:26ch;text-wrap:balance}.cs-todo{border:1px dashed var(--rule);padding:1rem 1.25rem;color:var(--text-soft);font-family:var(--font-mono);font-size:var(--fs-14);margin-top:2rem}@media(max-width:900px){.nav{display:none}.menu-toggle{display:block}.panel{display:flex;flex-direction:column;gap:0}.panel__body{display:contents}.panel__vis{order:1;min-height:0;margin-bottom:1.75rem}.panel__cta{order:2}.about__grid{grid-template-columns:1fr}.about__figure{max-width:22rem}.ops{grid-template-columns:repeat(2,1fr)}.op:nth-child(2n){border-right:none}.op{border-bottom:1px solid var(--rule);padding-inline:clamp(1rem,2vw,1.75rem)}.op:nth-child(odd){padding-left:0}.spec{grid-template-columns:repeat(2,1fr)}.side__row{grid-template-columns:1fr;max-width:24rem}.figurecard{grid-column:auto}.titleblock__grid{grid-template-columns:1fr}.titleblock__cell{border-right:none}.cs-grid{grid-template-columns:1fr}.cs-toc{display:none}}@media(max-width:540px){.hero{padding-block:1rem var(--section-y)}.hero__eyebrow{margin-bottom:1rem}.hero h1{font-size:clamp(2rem,8.5vw,2.5rem);margin-bottom:1rem}.hero__sub{font-size:var(--fs-15);margin-bottom:1.25rem}.spec,.ops{grid-template-columns:1fr}.op{border-right:none;padding-inline:0}.hero__links{flex-direction:column;align-items:stretch;gap:.85rem}.hero__links .btn{width:100%;justify-content:center}.contact__socials{flex-direction:column;gap:1rem}.contact-form{grid-template-columns:1fr}.contact-form__actions .btn,.panel__cta{width:100%;justify-content:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}html.js .reveal{opacity:1;transform:none}.dro__dot,.spec__status-dot{animation:none}.dro__row--y{display:none}}@media print{.drafting-grid,.dro,.site-header,.menu-toggle,.monogram,.shift{display:none!important}body{background:#fff;color:#000}.panel{background:#fff!important;color:#000!important;border:1px solid #000;background-image:none!important;clip-path:none!important}.panel:before,.panel:after{display:none}.panel h3,.panel__summary,.panel__meta dd,.panel__cta{color:#000!important}.panel__vis img{opacity:1!important}a[href^=http]:after{content:" (" attr(href) ")";font-size:.8em;color:#555}}
