:root{--bg:#0a0d12;--surface:#131a26;--card:#0f1520;--ink:#e9eef5;--muted:#6b7789;--sig:#b8f24a;--onsig:#0a0d12;--sigink:#b8f24a;--edge:#ff8a3d;--line:rgba(233,238,245,0.09);--ghost:0.06;--r:3px;--fd:"Chakra Petch",system-ui,sans-serif;--fb:"Inter Tight",system-ui,sans-serif;--fm:"JetBrains Mono",ui-monospace,monospace;--a-orchestrator:#b8f24a;--a-scout:#ffc53d;--a-builder:#7fb0ff;--a-oracle:#ff5c4d;--a-archivist:#8a93a6;--stretch:normal;--dcase:none;--grid:rgba(184,242,74,0.035);--gridimg:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);--gridsize:46px 46px;--ease:cubic-bezier(0.16,1,0.3,1)}[data-persona=product]{--bg:#edeee9;--surface:#f7f8f5;--card:#ffffff;--ink:#14161c;--muted:#5c6470;--sig:#0f5d51;--onsig:#ffffff;--sigink:#0f5d51;--edge:#e8502c;--line:#dbddd6;--ghost:0.05;--r:3px;--fd:"Fraunces",Georgia,serif;--fb:"Schibsted Grotesk",system-ui,sans-serif;--fm:"IBM Plex Mono",ui-monospace,monospace;--a-orchestrator:#0f5d51;--a-scout:#2e7d74;--a-builder:#14161c;--a-oracle:#e8502c;--a-archivist:#5c6470;--stretch:normal;--dcase:none;--ease:cubic-bezier(0.22,1,0.36,1);--grid:transparent;--gridimg:none;--gridsize:0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0a0d12;font-family:var(--fb);-webkit-font-smoothing:antialiased}div[data-persona]{background-size:var(--gridsize);background-position:top}body :where(div,span):not(:where(svg *)),body :where(section,header,footer,article,main,nav,button,a,h1,h2,h3,p,li,input,textarea,label):not(:where(svg *)){transition:background-color .5s ease,color .5s ease,border-color .5s ease}a{color:var(--sigink);text-decoration:none}a:hover{color:var(--edge);opacity:.75}::selection{background:var(--sig);color:var(--onsig)}:focus-visible{outline:2px solid var(--sig);outline-offset:3px}[data-rm=true] *{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important}button{font-family:inherit}.mono{font-family:var(--fm)}.disp{font-family:var(--fd);font-stretch:var(--stretch);text-transform:var(--dcase)}.hov-lift{transition:transform .2s var(--ease)}.hov-lift:hover{transform:translateY(-2px)}.hov-lift-sm:hover{transform:translateY(-1px)}.hov-sig:hover{border-color:var(--sig)!important}.hov-sigink:hover{border-color:var(--sigink)!important}.hov-ink-border:hover,.hov-ink:hover{color:var(--ink)!important}.hov-ink-border:hover{border-color:var(--muted)!important}.hov-sigink-text:hover{color:var(--sigink)!important}.hov-edge:hover{color:var(--edge)!important}.hov-muted-border:hover{border-color:var(--muted)!important}.hov-card:hover{background:var(--card)!important}.hov-nudge{transition:transform .15s var(--ease)}.hov-nudge:hover{transform:translateX(2px)}.hov-op:hover{opacity:1!important}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:24px;gap:24px;padding:0 4vw}@media (min-width:1200px){.projects-pin.gsap-on{height:100vh;display:flex;align-items:center;overflow:hidden}.projects-pin.gsap-on .projects-grid{display:flex;flex-wrap:nowrap;grid-template-columns:none;padding:0 8vw;will-change:transform}.projects-pin.gsap-on .projects-grid>article{flex:0 0 clamp(340px,26vw,420px)}}@keyframes dashflow{to{stroke-dashoffset:-24}}@keyframes packet{0%{offset-distance:0;opacity:0}8%{opacity:1}92%{opacity:1}to{offset-distance:100%;opacity:0}}@keyframes ringpulse{0%{transform:scale(1);opacity:.8}to{transform:scale(1.9);opacity:0}}@keyframes typein{0%{-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0)}to{-webkit-clip-path:inset(0 -2% 0 0);clip-path:inset(0 -2% 0 0)}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes checkpop{0%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.18)}to{opacity:1;transform:scale(1)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes blink{50%{opacity:0}}@keyframes softpulse{0%,to{opacity:.45}50%{opacity:1}}@keyframes bubblein{0%{opacity:0;transform:translateY(10px) scale(.96)}60%{transform:translateY(-2px) scale(1.01)}to{opacity:1;transform:none}}@keyframes dots{0%,60%,to{transform:none;opacity:.4}30%{transform:translateY(-3px);opacity:1}}@keyframes lanein{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes maskline{0%{-webkit-clip-path:inset(0 0 105% 0);clip-path:inset(0 0 105% 0);transform:translateY(.22em)}to{-webkit-clip-path:inset(0 0 -12% 0);clip-path:inset(0 0 -12% 0);transform:none}}@keyframes plateup{0%{opacity:0;transform:translateY(40px) scale(.985)}to{opacity:1;transform:none}}@keyframes nodefloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes markpulse{0%{transform:scale(1);opacity:.9}70%{transform:scale(2.1);opacity:0}to{transform:scale(2.1);opacity:0}}.np-grain{position:fixed;top:-50%;left:-50%;width:200%;height:200%;z-index:200;pointer-events:none;opacity:.09;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .6s steps(1) infinite}@keyframes grain{0%{transform:translate(0)}10%{transform:translate(-4%,-6%)}20%{transform:translate(-8%,2%)}30%{transform:translate(6%,-8%)}40%{transform:translate(-2%,10%)}50%{transform:translate(-9%,4%)}60%{transform:translate(8%,6%)}70%{transform:translate(2%,-10%)}80%{transform:translate(-6%,6%)}90%{transform:translate(6%,2%)}to{transform:translate(0)}}.np-line{display:block}.np-mask{overflow:hidden;vertical-align:top;padding-bottom:.08em}.np-char,.np-mask{display:inline-block}.np-char{transform:translateY(115%);transition:transform .72s var(--ease);will-change:transform}.np-stagger.is-in .np-char{transform:translateY(0)}.np-tilt{transform-style:preserve-3d;transition:transform .45s var(--ease);will-change:transform}.np-spec{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s ease;background:radial-gradient(circle at var(--sx,50%) var(--sy,50%),rgba(255,255,255,.5),transparent 42%);mix-blend-mode:soft-light;z-index:2}.np-odo{display:inline-flex;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.np-odo-col{display:inline-block;height:1em;line-height:1;overflow:hidden}.np-odo-reel{display:flex;flex-direction:column;transition:transform 1.15s cubic-bezier(.16,1,.3,1)}.np-odo-reel>span{height:1em;line-height:1}.prod-role-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:18px;gap:18px;margin-top:32px}@media (max-width:1080px){.prod-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.prod-role-grid{grid-template-columns:1fr}}.np-mag,.np-plx{will-change:transform}.np-curtain{-webkit-clip-path:inset(0 0 100% 0);clip-path:inset(0 0 100% 0);transition:-webkit-clip-path .8s var(--ease);transition:clip-path .8s var(--ease);transition:clip-path .8s var(--ease),-webkit-clip-path .8s var(--ease)}.np-curtain.is-in{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}[data-rm=true] .np-grain{display:none}[data-rm=true] .np-char{transform:none!important}[data-rm=true] .np-curtain{-webkit-clip-path:none!important;clip-path:none!important}[data-rm=true] .np-tilt{transform:none!important}[data-rm=true] .np-odo-reel{transition:none!important}@media print{.np-cursor,.status-strip,header,nav{display:none!important}body{background:#fff;color:#000}}