.anchors{position:absolute;inset:0;pointer-events:none}.anchor{position:absolute;left:0;top:0;width:0;height:0;opacity:0;visibility:hidden;will-change:opacity,transform}.anchor-dot{position:absolute;left:-6px;top:-6px;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #2fd1be2e,0 0 18px #2fd1be99}.anchor-dot:after{content:"";position:absolute;left:5px;top:5px;width:1px;height:26px;background:var(--fg-soft);transform-origin:top;transform:rotate(-90deg)}.anchor-card{position:absolute;left:34px;top:-14px;width:min(19rem,58vw);pointer-events:auto;color:var(--fg);padding-left:.9rem;border-left:1px solid var(--fg-mute)}.anchor[data-side=left] .anchor-card{transform:translate(calc(-100% - 68px));border-left:0;border-right:1px solid var(--fg-mute);padding-left:0;padding-right:.9rem;text-align:right}.anchor[data-side=left] .anchor-dot:after{transform:rotate(90deg)}.anchor-card h3{font-family:var(--font-ui);font-weight:600;font-size:var(--step-0);letter-spacing:.01em}.anchor-card p{margin-top:.3rem;font-size:var(--step--1);color:var(--fg-soft)}.anchor-evidence,.cad-evidence,.flow-evidence button{display:inline-flex;align-items:center;gap:.6rem;margin-top:.6rem;text-align:left;padding:.35rem .6rem .35rem .35rem;border:1px solid rgba(135,177,175,.35);border-radius:6px;color:var(--fg);font-size:.8rem;line-height:1.25;background:#04131440;transition:border-color .25s}.anchor[data-side=left] .anchor-evidence{flex-direction:row-reverse;text-align:right}.anchor-evidence:hover,.cad-evidence:hover,.flow-evidence button:hover{border-color:var(--accent)}.anchor-evidence img,.cad-evidence img,.flow-evidence img{width:56px;height:38px;object-fit:cover;border-radius:3px}.anchor-evidence small,.cad-evidence small,.flow-evidence small{display:block;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.anchor-evidence,.cad-evidence,.flow-evidence button{background:#0413148c}.anchor[data-side=below] .anchor-card{left:0;top:26px;width:min(20rem,calc(100vw - 2rem));border-left:0;border-top:1px solid var(--fg-mute);padding-left:0;padding-top:.6rem;text-align:left}.anchor[data-side=below] .anchor-dot:after{transform:none}.anchor[data-side=below] .anchor-evidence{flex-direction:row;text-align:left}@media (max-width: 768px){.anchor-card{width:min(15rem,62vw)}.anchor-card p{font-size:.8rem}}.cad-labels,.cad-dims{position:absolute;inset:0;pointer-events:none}.cad-label{position:absolute;left:0;top:0;opacity:0;visibility:hidden}.cad-label button{display:flex;align-items:baseline;gap:.5rem;pointer-events:auto;color:var(--fg);font-family:var(--font-mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;padding:.7rem .5rem;margin:-.7rem -.5rem;border-radius:3px;transform:translate(14px,-50%);transition:color .2s,background-color .2s}.cad-label button{white-space:nowrap}.cad-label[data-side=left] button{flex-direction:row-reverse;transform:translate(calc(-100% - 14px),-50%)}.cad-label button i{width:10px;height:1px;background:var(--fg-mute);align-self:center}.cad-label-note{color:var(--fg-mute)}.cad-label[data-active] button,.cad-label button:hover{color:var(--accent);background:#00807414}.cad-dim{position:absolute;left:0;top:0;opacity:0;visibility:hidden;margin:-.6em 0 0 -1.6em;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;color:var(--teal-glow);background:var(--surface);padding:0 .35rem}.cad-note{position:absolute;left:var(--gutter);right:auto;top:calc(var(--header-h) + 2vh);max-width:22rem;font-size:.76rem;color:var(--fg-mute);opacity:0;visibility:hidden;display:grid;gap:.5rem}.cad-evidence{pointer-events:auto}@media (max-width: 768px){.cad-label button{font-size:.66rem;gap:.3rem}.cad-label-note{display:none}.cad-note{max-width:70vw;font-size:.7rem;gap:.35rem;top:calc(var(--header-h) + 1vh)}.cad-note>span{display:none}.cad-evidence{font-size:.7rem;padding:.25rem .5rem .25rem .25rem}.cad-evidence img{width:40px;height:28px}.anchor-evidence{font-size:.72rem}.anchor-evidence img{width:44px;height:30px}}.flow{position:absolute;left:var(--gutter);top:calc(var(--header-h) + 2vh);display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-mute);padding:0;margin:0;list-style:none;max-width:calc(100% - 2 * var(--gutter))}.flow{opacity:0;visibility:hidden}.flow li{display:inline-flex;align-items:center;gap:.45rem;transition:color .3s}.flow li[data-active=true]{color:var(--fg)}.flow li[data-active=true] .flow-num{color:var(--accent)}.flow li:not(:last-child):not(.flow-evidence):after{content:"→";margin-left:.6rem;color:var(--fg-mute)}.flow-evidence{width:100%;text-transform:none;letter-spacing:0;font-family:var(--font-ui)}.flow-evidence button{margin-top:0;pointer-events:auto}@media (max-width: 768px){.flow{gap:.3rem .7rem;font-size:.64rem}}.finale{position:absolute;left:var(--gutter);right:var(--gutter);bottom:clamp(2.5rem,8vh,5rem);max-width:38rem;color:var(--fg);opacity:0;visibility:hidden;--glow: 0}.finale-plate{display:grid;place-items:center;width:132px;height:132px;border-radius:10px;margin-bottom:1.2rem;background:#f3f6f6;border:1px solid var(--line);box-shadow:0 0 0 calc(var(--glow) * 6px) #0080741f,0 0 calc(var(--glow) * 60px) #2fd1be8c,0 10px 30px #0413141f}.finale-plate img{width:118px;height:118px}.finale .eyebrow{color:var(--accent);margin-bottom:.6rem}.finale h2{font-size:var(--step-3);text-wrap:balance}.finale-body{margin-top:.8rem;color:var(--fg-soft);max-width:30rem}.finale-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}.finale-region{margin-top:1rem;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--silver)}.finale-evidence{margin-top:.9rem}.finale-evidence button{display:inline-flex;align-items:center;gap:.6rem;text-align:left;padding:.35rem .6rem .35rem .35rem;border:1px solid rgba(135,177,175,.35);border-radius:6px;color:var(--fg);font-size:.8rem;line-height:1.25;background:#0413148c;pointer-events:auto}.finale-evidence button:hover{border-color:var(--accent)}.finale-evidence img{width:56px;height:38px;object-fit:cover;border-radius:3px}.finale-evidence small{display:block;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.finale:before{content:"";position:absolute;inset:-3rem calc(-1 * var(--gutter)) -6rem;z-index:-1;pointer-events:none;background:linear-gradient(to top,#06171aeb 55%,#06171a00);opacity:0;transition:opacity .4s}@media (max-width: 768px){.finale{bottom:3rem}.finale:before{opacity:1}.cad-evidence img{display:none}.cad-evidence{padding:.3rem .6rem}.finale-plate{width:96px;height:96px}.finale-plate img{width:86px;height:86px}.finale h2{font-size:var(--step-2)}}.c2h{position:absolute;inset:0;overflow:hidden}.c2h[hidden]{display:none}.hero{position:absolute;inset:0;display:grid;align-items:center;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(1.5rem,4vw,4rem);padding:calc(var(--header-h) + 2vh) var(--gutter) 6vh}.hero-copy{will-change:opacity,transform;max-width:34rem}.hero-brand{display:flex;align-items:center;gap:1rem;margin-bottom:clamp(1.2rem,4vh,2.5rem)}.brand-plate-lg{width:80px;height:80px;border-radius:8px}.brand-plate-lg img{width:72px;height:72px}.hero-name{font-family:var(--font-ui);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:1.05rem}.hero-claim{color:var(--teal-glow);margin-top:.25rem}.hero h1{font-size:var(--step-4);text-wrap:balance}.hero h1 em{color:var(--silver)}.hero-sub{margin-top:1.2rem;max-width:28rem;color:var(--ink-soft);font-size:var(--step-0)}.hero-hint{margin-top:2rem;display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute)}.hero-hint svg{animation:hint-bob 1.8s ease-in-out infinite}@keyframes hint-bob{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.terminal{--dim: 1;--chrome: 1;position:relative;width:100%;max-width:46rem;justify-self:end;background:#06191b;border:1px solid rgba(135,177,175,.22);border-radius:8px;box-shadow:0 30px 80px #00000073,inset 0 1px #f3f6f60d;will-change:transform;transform-origin:50% 50%}.terminal-bar{display:flex;align-items:center;gap:1rem;padding:.55rem .9rem;border-bottom:1px solid rgba(135,177,175,.16);font-family:var(--font-mono);font-size:.72rem;color:var(--ink-mute);letter-spacing:.06em;opacity:var(--chrome)}.terminal-bar .dots{display:inline-flex;gap:5px}.terminal-bar .dots i{width:9px;height:9px;border-radius:50%;background:#87b1af59}.terminal-bar .lang{margin-left:auto}.terminal-code{margin:0;padding:.9rem 1rem 1rem .6rem;overflow:hidden;font-family:var(--font-mono);font-size:clamp(10.5px,.85vw,13.5px);line-height:1.62;color:#dce7e6;tab-size:2;white-space:pre}.terminal-code code{display:block}.terminal-code .line{display:block;opacity:var(--dim);transition:none}.terminal-code .line[data-focus]{opacity:1}.terminal-code .ln{display:inline-block;width:2.2em;color:#87b1af73;user-select:none;text-align:right;margin-right:1em}.tok{display:inline-block;will-change:transform,opacity;transform-origin:50% 50%}.tok-kw{color:#8fd6cb;font-weight:500}.tok-type{color:var(--line)}.tok-id{color:#f3f6f6}.tok-num,.tok-time{color:var(--teal-glow);font-weight:500}.tok-op{color:#87b1af}.tok-punct{color:#dce7e6b3}.tok-comment{color:#87b1afd9;font-style:italic}.cursor{display:inline-block;width:.6em;height:1.1em;vertical-align:-.15em;margin-left:1px;background:var(--teal-glow);box-shadow:0 0 10px #2fd1beb3;animation:cursor-blink 1.05s steps(2,start) infinite}@keyframes cursor-blink{to{visibility:hidden}}@media (prefers-reduced-motion: reduce){.cursor,.hero-hint svg{animation:none}}.hmi-wrap{position:absolute;left:50%;top:calc(var(--header-h) + 17vh);width:min(92vw,1060px);visibility:hidden;opacity:0;will-change:transform,opacity}.hmi-wrap svg{width:100%;height:auto;max-height:calc(100svh - var(--header-h) - 21vh);border-radius:10px;box-shadow:0 30px 60px #00000080;margin-inline:auto}.hmi-wrap[data-compact]{top:calc(var(--header-h) + 20vh);width:calc(100vw - 2 * var(--gutter))}.hmi-wrap[data-compact] svg{max-height:calc(100svh - var(--header-h) - 24vh)}.hmi-wrap{transform:none;margin-left:calc(min(92vw,1060px)/-2)}.hmi-wrap[data-compact]{margin-left:calc((100vw - 2 * var(--gutter)) / -2)}.hmi-tag,.hmi-chrome,[data-block]{opacity:0}.belt-run{animation:belt-run 1.4s linear infinite}@keyframes belt-run{to{stroke-dashoffset:-24}}@media (prefers-reduced-motion: reduce){.belt-run{animation:none}}.pulse{position:absolute;left:0;top:0;width:14px;height:14px;border-radius:50%;opacity:0;background:#dffffa;box-shadow:0 0 12px 4px #2fd1bed9,0 0 40px 12px #00807473;will-change:transform,opacity;pointer-events:none}.glass{--sweep: -40%;position:absolute;inset:0;opacity:0;pointer-events:none;background:linear-gradient(115deg,transparent calc(var(--sweep) - 18%),rgba(243,246,246,.18) calc(var(--sweep) - 6%),rgba(243,246,246,.55) var(--sweep),rgba(243,246,246,.14) calc(var(--sweep) + 8%),transparent calc(var(--sweep) + 20%)),radial-gradient(120% 80% at 50% 50%,rgba(243,246,246,.08),transparent 60%);mix-blend-mode:screen}@media (max-width: 900px){.hero{grid-template-columns:1fr;align-content:start;gap:1.2rem;padding-top:calc(var(--header-h) + 1.5vh)}.hero-copy{max-width:100%}.hero-brand{display:none}.hero h1{font-size:var(--step-3)}.hero-sub{margin-top:.6rem;font-size:var(--step--1)}.hero-hint{margin-top:.8rem}.terminal{justify-self:stretch;max-width:100%}.terminal-code{font-size:10.5px;line-height:1.55;padding:.6rem .6rem .7rem .3rem}}@media (max-width: 640px){.terminal-code{font-size:10px;line-height:1.5}.terminal-bar .lang{display:none}}@media (max-width: 640px){.terminal-code .line .tok-comment{display:none}.terminal-code .ln{width:1.8em;margin-right:.6em}.hero-sub{display:none}}@media (max-height: 640px) and (max-width: 900px){.hero-hint{display:none}}.static-story{--fg: #F3F6F6;--fg-soft: rgba(243,246,246,.72);--fg-mute: rgba(243,246,246,.5);--accent: var(--teal-glow)}.s-hero{background:var(--ink);color:#f3f6f6;min-height:100vh;min-height:100svh;display:grid}.s-hero .hero{position:relative}.s-chapter{padding-block:clamp(3.5rem,9vh,7rem)}.s-dark{background:var(--ink);color:#f3f6f6}.s-steel{background:#1c2224;color:#f3f6f6;--accent: var(--ember-soft)}.s-light{background:var(--surface);color:#f3f6f6;--fg: #F3F6F6;--fg-soft: rgba(243,246,246,.74);--fg-mute: rgba(243,246,246,.6);--accent: var(--teal-glow)}.s-copy{max-width:38rem;margin-bottom:2rem}.s-copy .eyebrow{color:var(--accent);margin-bottom:.6rem}.s-copy h2{font-size:var(--step-3);text-wrap:balance}.s-copy p{margin-top:.8rem;color:var(--fg-soft)}.s-copy .tools{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-mute)}.s-grid{display:grid;gap:2rem;align-items:center}@media (min-width: 1000px){.s-grid{grid-template-columns:1fr 1.6fr}}.s-visual .illus{width:100%;height:auto}.s-hmi svg{width:100%;height:auto;filter:drop-shadow(0 20px 40px rgba(0,0,0,.4))}.s-hmi .hmi-tag,.s-hmi .hmi-chrome,.s-hmi [data-block]{opacity:1}.s-hmi-compact{display:none}@media (max-width: 640px){.s-hmi-wide{display:none}.s-hmi-compact{display:block}}.s-anchors,.s-parts,.s-flow{display:grid;gap:1rem;margin-top:2rem}.s-anchors{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));counter-reset:none}.s-anchors li{border-top:1px solid rgba(135,177,175,.3);padding-top:.8rem}.s-anchors h3{font-family:var(--font-ui);font-weight:600;font-size:var(--step-0);margin-top:.3rem}.s-anchors p{color:var(--fg-soft);font-size:var(--step--1);margin-top:.3rem}.s-num{font-family:var(--font-mono);font-size:.74rem;color:var(--accent);letter-spacing:.1em;margin-right:.5rem}.s-parts{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));font-size:var(--step--1)}.s-parts li{border-left:1px solid var(--line-dark);padding-left:.7rem}.s-parts span{display:block;color:var(--fg-mute);font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.s-note{margin-top:1.5rem;font-size:.8rem;color:var(--fg-mute);max-width:36rem}.s-flow{grid-auto-flow:column;grid-auto-columns:max-content;gap:1.5rem;overflow-x:auto;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;padding-bottom:.5rem}.s-flow li{white-space:nowrap}.s-evidence{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.s-evidence button{display:inline-flex;align-items:center;gap:.8rem;text-align:left;padding:.5rem .9rem .5rem .5rem;border:1px solid rgba(135,177,175,.4);border-radius:8px;color:var(--fg);background:#04131426;font-size:.9rem;line-height:1.3;transition:border-color .25s}.s-light .s-evidence button{background:#04131466}.s-evidence button:hover{border-color:var(--accent)}.s-evidence img{width:96px;height:64px;object-fit:cover;border-radius:4px}.s-evidence small{display:block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.s-finale .container{max-width:44rem}.s-finale .finale-plate{display:grid;place-items:center;width:132px;height:132px;border-radius:10px;margin-bottom:1.2rem;background:#f3f6f6;border:1px solid var(--line);box-shadow:0 0 60px #2fd1be59,0 10px 30px #0413141f}.s-finale .finale-plate img{width:118px;height:118px}.s-finale .eyebrow{color:var(--teal-glow);margin-bottom:.6rem}.s-finale h2{font-size:var(--step-3);text-wrap:balance}.s-lead{margin-top:.8rem;color:var(--ink-soft);max-width:30rem}.s-finale .finale-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}.s-finale .finale-region{margin-top:1rem;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--silver)}.s-video{margin-top:2rem;max-width:24rem}.s-video video{width:100%;height:auto;border-radius:var(--radius-lg);border:1px solid var(--line-dark);background:#000;display:block}.s-video figcaption{margin-top:.5rem;font-size:.8rem;color:var(--fg-mute)}.site-header{position:fixed;inset:0 0 auto;z-index:50;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 var(--gutter);color:var(--ink);transition:color .4s var(--ease-out),background-color .4s var(--ease-out)}.site-header:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,#041314d9,#04131473 70%,#04131400);opacity:1;transition:opacity .4s var(--ease-out)}.site-header,.site-header[data-tone=dark]{color:#f3f6f6}.site-header[data-tone=dark]:before{background:linear-gradient(to bottom,#041314d9,#04131473 70%,#04131400)}.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;min-height:44px}.brand-plate{display:grid;place-items:center;width:44px;height:44px;border-radius:6px;background:#f3f6f6;border:1px solid var(--line);box-shadow:0 1px #0413140f}.brand-plate img{width:40px;height:40px}.brand-name{font-family:var(--font-ui);font-weight:700;letter-spacing:.06em;font-size:.95rem;line-height:1}.brand-name span{display:block;font-weight:500;letter-spacing:.22em;font-size:.66rem;opacity:.85;margin-top:3px}.site-nav{display:flex;align-items:center;gap:1.6rem}.site-nav a{text-decoration:none;font-weight:600;font-size:var(--step--1);letter-spacing:.02em;padding:.4rem 0;border-bottom:1px solid transparent}.site-nav a:hover{border-bottom-color:currentColor}.header-actions{display:flex;align-items:center;gap:.75rem}.header-cta{padding:.55rem 1rem;font-size:var(--step--1)}.menu-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;border-radius:6px}.menu-toggle svg{width:22px;height:22px}@media (max-width: 860px){.site-nav{display:none}.menu-toggle{display:inline-flex}.site-header[data-open=true] .site-nav{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;position:absolute;top:var(--header-h);left:0;right:0;padding:.75rem var(--gutter) 1.25rem;background:var(--ink);color:#f3f6f6;border-bottom:1px solid var(--line-dark)}.site-header[data-open=true] .site-nav a{padding:.6rem 0;font-size:var(--step-0)}.header-cta{display:none}.site-header[data-open=true] .header-cta{display:inline-flex;margin-top:.5rem}}.story{position:relative}html[data-mode=full] .story,html[data-mode=lite] .story{height:1500vh}@media (max-width: 768px){html[data-mode=full] .story,html[data-mode=lite] .story{height:1150vh}}.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--ink);color:#f3f6f6;isolation:isolate;--fg: #F3F6F6;--fg-soft: rgba(243,246,246,.72);--fg-mute: rgba(243,246,246,.5);--accent: var(--teal-glow);transition:background-color .6s var(--ease-in-out)}.stage[data-tone=light]{background:var(--bg);color:var(--ink);--fg: var(--ink);--fg-soft: rgba(4,19,20,.74);--fg-mute: rgba(4,19,20,.64);--accent: var(--deep)}.stage[data-tone=steel]{background:#1c2224;color:#f3f6f6;--fg: #F3F6F6;--fg-soft: rgba(243,246,246,.72);--fg-mute: rgba(243,246,246,.5);--accent: var(--ember-soft)}.stage>*{position:absolute;inset:0}.scene-layer{z-index:1;pointer-events:none}.scene-layer canvas{width:100%!important;height:100%!important}.dom-layer{z-index:2;pointer-events:none}.dom-layer>*{pointer-events:auto}.stage-overlay{z-index:3;pointer-events:none}.stage-overlay a,.stage-overlay button{pointer-events:auto}.chapter-copy{position:absolute;left:var(--gutter);right:var(--gutter);bottom:clamp(4.5rem,12vh,8rem);max-width:36rem;color:var(--fg);opacity:0;transform:translateY(12px);will-change:opacity,transform}.chapter-copy[data-align=right]{left:auto;right:var(--gutter);text-align:left}.chapter-copy[data-align=top]{bottom:auto;top:calc(var(--header-h) + 3vh)}.chapter-copy .eyebrow{color:var(--accent);margin-bottom:.7rem}.chapter-copy h2{font-size:var(--step-3);text-wrap:balance}.chapter-copy p{margin-top:.8rem;color:var(--fg-soft);max-width:30rem}.chapter-copy-hmi{max-width:44rem}.chapter-copy-hmi h2{font-size:var(--step-2)}.chapter-copy-hmi p:not(.eyebrow){margin-top:.4rem;font-size:var(--step--1)}@media (max-width: 640px){.chapter-copy-hmi p:not(.eyebrow){display:none}.chapter-copy-hmi h2{font-size:var(--step-1)}}.chapter-copy .tools{margin-top:.8rem;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-mute)}@media (max-width: 768px){.chapter-copy{bottom:clamp(5rem,14vh,7rem);max-width:100%}.chapter-copy h2{font-size:var(--step-2)}}.stage .chapter-indicator{position:absolute;inset:auto;right:calc(var(--gutter) * .6);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:0;z-index:5;pointer-events:auto}.chapter-indicator button{display:flex;align-items:center;gap:.5rem;min-height:44px;min-width:44px;justify-content:flex-start;padding:2px 4px;color:var(--fg-mute);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;transition:color .3s}.chapter-indicator button i{display:block;width:18px;height:1px;background:currentColor;transition:width .3s var(--ease-out)}.chapter-indicator button span{opacity:0;transition:opacity .3s}.chapter-indicator button[aria-current=step]{color:var(--fg)}.chapter-indicator button[aria-current=step] i{width:30px}.chapter-indicator:hover button span,.chapter-indicator:focus-within button span,.chapter-indicator button[aria-current=step] span{opacity:1}.stage .chapter-progress{position:absolute;inset:auto 0 0;height:2px;background:#87b1af2e;z-index:5}.chapter-progress i{display:block;height:100%;width:100%;background:var(--accent);transform-origin:left;transform:scaleX(0)}@media (max-width: 768px){.chapter-indicator{right:.4rem}.chapter-indicator button span{display:none}}.mode-notice{position:fixed;left:50%;bottom:1rem;transform:translate(-50%);z-index:60;background:var(--ink-2);color:#f3f6f6;border:1px solid rgba(135,177,175,.3);padding:.6rem .9rem;border-radius:999px;font-size:.85rem;display:flex;gap:.75rem;align-items:center;max-width:calc(100% - 2rem)}.mode-notice-actions{display:inline-flex;align-items:center;gap:.25rem}.mode-notice button{text-decoration:underline;font-weight:600;color:var(--teal-glow);min-height:44px;padding:0 .5rem}@media (max-width: 640px){.mode-notice{left:.75rem;right:.75rem;transform:none;max-width:none;border-radius:12px;font-size:.8rem;padding:.35rem .6rem;flex-wrap:wrap;justify-content:space-between}.mode-notice>span:first-child{flex:1 1 12rem;min-width:0}.mode-notice-actions{flex:0 0 auto;margin-left:auto}.mode-notice button{padding:0 .3rem;white-space:nowrap}}.mode-notice-close{min-width:44px;display:inline-grid;place-items:center;text-decoration:none!important}.section{padding-block:clamp(4rem,10vh,8rem);background:var(--ink);color:#f3f6f6}.section+.section{border-top:1px solid var(--line-dark)}.section-head{max-width:40rem;margin-bottom:clamp(2rem,5vh,3.5rem)}.section-head .eyebrow{color:var(--teal-glow);margin-bottom:.8rem}.section-head h2{font-size:var(--step-3);text-wrap:balance}.section-head p{margin-top:1rem;color:var(--ink-soft)}.pillars{display:grid;gap:1px;background:var(--line-dark);border:1px solid var(--line-dark)}@media (min-width: 760px){.pillars{grid-template-columns:repeat(3,1fr)}}.pillar{background:var(--surface);padding:2rem 1.6rem;display:flex;flex-direction:column;gap:.6rem}.pillar .num{font-family:var(--font-mono);color:var(--teal-glow);font-size:.8rem;letter-spacing:.1em}.pillar h3{font-size:var(--step-2)}.pillar .lead{font-family:var(--font-display);font-style:italic;font-size:var(--step-1);color:var(--silver)}.pillar p:not(.lead){color:var(--ink-soft)}.pillar .tags{margin-top:auto;padding-top:1rem;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute)}.projects-grid{display:grid;gap:1.5rem}@media (min-width: 700px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1100px){.projects-grid{grid-template-columns:repeat(3,1fr)}}.project-card{display:flex;flex-direction:column;text-align:left;border:1px solid var(--line-dark);background:var(--surface);color:#f3f6f6;border-radius:var(--radius-lg);overflow:hidden;transition:border-color .3s,transform .3s var(--ease-out);width:100%}.project-card:hover{border-color:var(--teal-glow);transform:translateY(-2px)}.project-card .media-badges{display:flex;gap:.4rem;margin-top:.2rem}.project-card .media-badges span{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--silver);border:1px solid var(--line-dark);border-radius:999px;padding:.15rem .5rem}.project-card .thumb{aspect-ratio:3 / 2;background:var(--ink-2);overflow:hidden}.project-card .thumb img{width:100%;height:100%;object-fit:cover}.project-card .body{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.4rem}.project-card .cat{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-glow);font-weight:600}.project-card h3{font-size:var(--step-1)}.project-card p{color:var(--ink-soft);font-size:var(--step--1)}.project-card .more{margin-top:.4rem;font-weight:600;font-size:var(--step--1);color:var(--teal-glow)}.contact{background:var(--ink);color:#f3f6f6;position:relative;overflow:hidden}.brand-pattern{position:absolute;right:var(--gutter);bottom:1.5rem;width:min(38vw,420px);opacity:.16;pointer-events:none}@media (max-width: 900px){.brand-pattern{width:60vw;opacity:.1}}.contact .section-head .eyebrow{color:var(--teal-glow)}.contact .section-head p{color:#f3f6f6b8}.contact-grid{display:grid;gap:2rem;align-items:end}@media (min-width: 900px){.contact-grid{grid-template-columns:1.3fr 1fr}}.contact-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}.contact-email{font-family:var(--font-mono);font-size:var(--step-1);color:#f3f6f6;text-decoration:none;border-bottom:1px solid rgba(243,246,246,.35)}.contact-email:hover{border-bottom-color:var(--teal-glow)}.contact-meta{display:grid;gap:1.2rem;font-size:var(--step--1);color:#f3f6f6b8}.contact-meta dt{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--silver);margin-bottom:.3rem}.contact-meta dd{margin:0}.site-footer{background:var(--ink);color:#f3f6f699;border-top:1px solid rgba(135,177,175,.18);padding:1.5rem 0;font-size:.85rem}.site-footer .container{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center}.site-footer a{color:inherit}.footer-links{display:inline-flex;align-items:center;gap:1.2rem}.footer-toggle{color:inherit;text-decoration:underline;min-height:44px}.site-footer .footer-brand{display:inline-flex;align-items:center;gap:.6rem;color:#f3f6f6;text-decoration:none}.dialog{border:0;padding:0;background:transparent;max-width:min(100% - 2rem,64rem);width:100%;max-height:min(100% - 2rem,90vh)}.dialog::backdrop{background:#041314b3;backdrop-filter:blur(2px)}.dialog-panel{background:var(--surface);color:#f3f6f6;border:1px solid var(--line-dark);border-radius:var(--radius-lg);overflow:hidden;display:grid;max-height:90vh}@media (min-width: 900px){.dialog-panel{grid-template-columns:1.25fr 1fr}}.dialog-media{background:var(--ink);display:grid;grid-template-rows:auto 1fr auto;min-width:0}.dialog-tabs{display:flex;gap:.3rem;padding:.5rem .6rem 0}.dialog-tabs button{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);padding:.55rem .7rem;min-height:40px;border-bottom:2px solid transparent}.dialog-tabs button[aria-selected=true]{color:var(--teal-glow);border-bottom-color:var(--teal-glow)}.dialog-video{width:100%;height:100%;max-height:60vh;object-fit:contain;background:#000;display:block}.dialog-model{position:relative;min-height:300px;height:60vh}.dialog-model canvas{width:100%!important;height:100%!important;display:block}.dialog-model .model-hint{position:absolute;left:.8rem;bottom:.7rem;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);pointer-events:none}.dialog-model .model-status{position:absolute;inset:0;display:grid;place-items:center;color:var(--ink-soft);font-size:.9rem;pointer-events:none}.media-caption{padding:.5rem .8rem;font-size:.78rem;color:var(--ink-mute);background:#00000040}.dialog-media figure{margin:0;display:grid;place-items:center;min-height:260px}.dialog-media img{width:100%;height:100%;max-height:60vh;object-fit:contain}.dialog-thumbs{display:flex;gap:.5rem;padding:.6rem;background:#00000040;overflow-x:auto}.dialog-thumbs button{width:64px;height:44px;overflow:hidden;border-radius:3px;border:2px solid transparent;opacity:.7}.dialog-thumbs button[aria-pressed=true]{border-color:var(--teal-glow);opacity:1}.dialog-thumbs img{width:100%;height:100%;object-fit:cover}.dialog-body{padding:1.6rem 1.6rem 1.8rem;overflow:auto;display:flex;flex-direction:column;gap:.8rem}.dialog-body .cat{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-glow);font-weight:600}.dialog-body h2{font-size:var(--step-2)}.dialog-body p{color:var(--ink-soft)}.dialog-body ul{list-style:none;display:grid;gap:.4rem;margin-top:.4rem}.dialog-body li{padding-left:1.2rem;position:relative;font-size:var(--step--1)}.dialog-body li:before{content:"";position:absolute;left:0;top:.65em;width:8px;height:1px;background:var(--teal-glow)}.dialog-close{position:absolute;top:.6rem;right:.6rem;width:44px;height:44px;border-radius:50%;background:#041314bf;border:1px solid var(--line-dark);color:#fff;display:grid;place-items:center;z-index:2}.dialog-nav{display:flex;gap:.5rem;margin-top:auto;padding-top:1rem}.dialog-nav button{border:1px solid var(--line-dark);border-radius:999px;padding:.5rem .9rem;min-height:44px;font-size:var(--step--1);font-weight:600}.dialog-nav button:hover{border-color:var(--teal-glow)}.noscript-note{position:fixed;bottom:0;left:0;right:0;margin:0;padding:.7rem var(--gutter);background:var(--deep);color:#fff;font-size:.9rem;z-index:90}.reveal{opacity:0;transform:translateY(10px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){.reveal{transform:none;transition:opacity .5s}}html:not(.js) .reveal{opacity:1;transform:none}.scene-placeholder{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:1rem;padding:0 var(--gutter);pointer-events:none}.scene-placeholder[hidden]{display:none}.scene-placeholder svg{width:min(90vw,900px);opacity:.55}.scene-placeholder p{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-mute)}
