.grid{background-image:linear-gradient(#4feaff08 1px,transparent 1px),linear-gradient(90deg,#4feaff08 1px,transparent 1px)}
.hero{position:relative;min-height:820px}.hero-copy{position:relative;z-index:2}.hero h1 em{background:linear-gradient(120deg,#ff83c9,#ff3eab 65%,#9e87ff);background-clip:text;color:transparent}.hero-art{border-radius:230px 230px 30px 30px;box-shadow:0 0 100px -40px #8b2d80;isolation:isolate;user-select:none;touch-action:pan-y;cursor:grab}.hero-art:active{cursor:grabbing}.hero-art.webgl-ready>img{opacity:0}.hero-art canvas{z-index:1;pointer-events:none}.hero-art .art-label{left:18px;bottom:70px;font-size:10px;background:#080914c9}.signal-trigger{position:absolute;bottom:17px;left:18px;z-index:3;background:#edece5;color:#080914;border:0;border-radius:40px;padding:13px 18px;min-height:44px;cursor:pointer;font:12px 'DM Mono',monospace}.signal-trigger span{color:#a91b73;margin-right:7px}.signal-trigger:disabled{opacity:.4;cursor:default}.motion-hint{position:absolute;right:20px;bottom:37px;z-index:3;font:9px 'DM Mono',monospace;color:#c5c5d0;writing-mode:vertical-rl;letter-spacing:.1em}.motion-toggle{background:none;border:1px solid var(--line);color:#b8bac1;border-radius:30px;padding:10px 14px;min-height:44px;cursor:pointer;font:10px 'DM Mono',monospace;text-transform:uppercase}.motion-toggle[aria-pressed=true]{color:var(--acid)}
.motion-ribbon{overflow:hidden;border-block:1px solid var(--line);padding:27px 0;background:#10111a}.ribbon-track{display:flex;width:max-content;align-items:center;gap:40px;font-size:clamp(24px,4vw,56px);font-weight:500;letter-spacing:-.05em;will-change:transform}.ribbon-track i{font-style:normal;color:var(--pink);font-size:40px}.about{border-radius:0 0 36px 36px}.about h2 span{background:linear-gradient(90deg,#080914 var(--reveal,100%),#bbb9b5 var(--reveal,100%));background-clip:text;color:transparent}.about h2{font-size:clamp(36px,7.8vw,104px)}
.work-grid{display:block;border:0;overflow:visible;padding-bottom:32px}.work-grid article{position:sticky;top:32px;display:grid;grid-template-columns:1fr 1fr;gap:30px;min-height:390px;margin-bottom:28px;padding:34px;border:1px solid #343746!important;border-radius:26px;background:#151724;transform-origin:top center;box-shadow:0 -20px 45px #08091466;overflow:hidden}.work-grid article:nth-child(2){top:48px;background:#201426}.work-grid article:nth-child(3){top:64px;background:#101e26}.direction-copy{display:flex;flex-direction:column;align-items:flex-start;position:relative;z-index:2;padding:14px}.direction-copy h3{font-size:clamp(28px,4.5vw,60px);line-height:.95;max-width:450px;margin:70px 0 20px}.direction-copy p{max-width:400px}.direction-art{position:relative;border-radius:18px;overflow:hidden;min-height:320px;background:#080914}.direction-art img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 36%;opacity:.75;transition:transform .8s ease,opacity .8s}.work-grid article:hover .direction-art img{transform:scale(1.035);opacity:1}.work-grid article:nth-child(3) .direction-art img{object-fit:contain;opacity:.45}.waveform{position:absolute;inset:20% 8%;display:flex;align-items:center;gap:5px}.waveform i{flex:1;height:var(--height);background:#4feaffbb;box-shadow:0 0 15px #4feaff66;border-radius:8px;animation:wave-beat 1.7s ease-in-out infinite alternate;animation-delay:calc(var(--bar)*-.07s)}@keyframes wave-beat{to{transform:scaleY(.25);background:#ff3eabbb}}.code-glyph{position:absolute;inset:0;display:grid;place-items:center;font:80px 'DM Mono',monospace;color:#4feaff;text-shadow:0 0 50px #4feaff66}.button{transition:translate .2s ease,background .2s,color .2s}.brand-feature video{border:1px solid #343746}.brand-feature img{border:1px solid #343746}.motion-paused *, .motion-paused *:before, .motion-paused *:after{animation:none!important;transition:none!important}.motion-paused{scroll-behavior:auto}.motion-paused .work-grid article{position:relative;top:auto}.motion-paused .motion-hint{display:none}
@media(max-width:760px){.hero{padding:30px 0 65px;gap:38px;min-height:0}.hero-art{border-radius:180px 180px 24px 24px}.hero-art img{height:min(125vw,520px)}.hero-art .art-label{font-size:9px}.hero h1{font-size:clamp(58px,17vw,115px)}.hero-copy{padding-inline:8px}.nav{gap:12px}.nav .motion-toggle{margin-left:auto}.hero .signal{margin-top:28px;font-size:10px}.work-grid article{position:relative!important;top:auto!important;grid-template-columns:1fr;padding:18px;gap:22px;min-height:0}.direction-copy{padding:8px}.direction-copy h3{margin-top:32px;font-size:40px}.direction-art{min-height:280px}.ribbon-track{gap:24px}.motion-ribbon{padding:15px 0}.about h2{font-size:clamp(32px,8vw,59px)}.about{border-radius:0 0 24px 24px}.signal-trigger{font-size:11px}.motion-hint{right:14px}}
.work-grid article:first-child .direction-art img{object-position:center 20%}
.ribbon-track{gap:0}.ribbon-group{display:flex;align-items:center;gap:40px;padding-right:40px}
@media(max-width:760px){.ribbon-group{gap:24px;padding-right:24px}}
@media(prefers-reduced-motion:reduce){.work-grid article{position:relative!important;top:auto!important}.about h2 span{background:none;color:#080914}.motion-hint{display:none}}

/* One-time opening transmission. It reuses the supplied brand portrait; no new identity asset is invented. */
.signal-boot{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:hidden;background:#05060d;color:var(--paper);opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s step-end}.signal-boot.is-active{opacity:1;visibility:visible;transition:opacity .2s ease}.signal-boot.is-leaving{opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s step-end}.boot-grid{position:absolute;inset:-20%;background-image:linear-gradient(#4feaff16 1px,transparent 1px),linear-gradient(90deg,#4feaff16 1px,transparent 1px);background-size:52px 52px;transform:perspective(700px) rotateX(62deg) translateY(23%);mask-image:linear-gradient(transparent 3%,black 44%,transparent 90%);animation:boot-grid 1.85s cubic-bezier(.22,.7,.2,1) both}.boot-copy{position:relative;z-index:3;width:min(100% - 44px,950px);align-self:end;margin-bottom:min(11vh,110px);text-align:center}.boot-kicker,.boot-status{margin:0;font:500 clamp(10px,1.5vw,14px) "DM Mono",monospace;letter-spacing:.14em;color:var(--acid)}.boot-copy h2{margin:18px 0 12px;font-size:clamp(74px,15vw,220px);line-height:.71;letter-spacing:-.11em}.boot-copy h2 em{font-style:normal;color:var(--pink);text-shadow:0 0 32px #ff3e9d80}.boot-status{color:#b8bac1;animation:boot-status 1.85s linear both}.boot-status span{color:var(--acid)}.boot-portrait{position:absolute;z-index:1;width:min(42vw,500px);height:92vh;top:0;left:50%;overflow:hidden;transform:translateX(-50%) scale(1.16);opacity:.3;filter:contrast(1.22) saturate(1.5);mask-image:linear-gradient(to bottom,transparent 0%,black 18%,black 75%,transparent 100%);animation:boot-portrait 1.85s cubic-bezier(.2,.8,.2,1) both}.boot-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 24%}.boot-portrait:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 31%,#4feaffaa 0 2%,transparent 6%),radial-gradient(ellipse at 50% 31%,transparent 0 21%,#ff3e9d66 22%,transparent 29%);mix-blend-mode:screen}.boot-scan{position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(to bottom,transparent 0 39%,#d9ff36 47%,#4feaff 50%,transparent 56%);mix-blend-mode:screen;transform:translateY(-110%);animation:boot-scan 1.85s cubic-bezier(.4,0,.2,1) both}.boot-skip{position:absolute;z-index:4;right:20px;bottom:18px;border:1px solid #edece566;background:#080914b8;color:var(--paper);padding:11px 14px;font:11px "DM Mono",monospace;text-transform:uppercase;cursor:pointer}.boot-skip:hover,.boot-skip:focus-visible{border-color:var(--acid);color:var(--acid)}.booting{overflow:hidden}.page-signal-field{position:fixed;z-index:20;inset:0;pointer-events:none;overflow:hidden}.page-signal-ripple{--size:40px;position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border:1px solid #4feaff;box-shadow:0 0 0 4px #4feaff22,0 0 32px #4feaff88;transform:translate(-50%,-50%) rotate(var(--rotation));border-radius:50%;mix-blend-mode:screen;animation:page-signal 1.05s cubic-bezier(.16,.76,.22,1) both}.page-signal-ripple:before,.page-signal-ripple:after{content:"";position:absolute;inset:12px;border:1px solid #ff3e9d;border-radius:20%;animation:signal-spin 1s linear both}.page-signal-ripple:after{inset:-5px;border-color:#d9ff36;opacity:.75}.motion-paused .page-signal-field{display:none}
@keyframes boot-grid{0%{opacity:0;transform:perspective(700px) rotateX(62deg) translateY(45%) scale(1.3)}30%{opacity:1}100%{opacity:.42;transform:perspective(700px) rotateX(62deg) translateY(22%) scale(1)}}@keyframes boot-portrait{0%{opacity:0;transform:translateX(-50%) scale(1.38);filter:contrast(1.8) saturate(0)}40%{opacity:.8}100%{opacity:.3;transform:translateX(-50%) scale(1.16);filter:contrast(1.22) saturate(1.5)}}@keyframes boot-scan{0%,9%{transform:translateY(-110%);opacity:0}18%{opacity:1}73%{opacity:.9}100%{transform:translateY(110%);opacity:0}}@keyframes boot-status{0%,37%{opacity:0;letter-spacing:.33em}56%,100%{opacity:1;letter-spacing:.14em}}@keyframes page-signal{0%{opacity:.96;transform:translate(-50%,-50%) rotate(var(--rotation)) scale(.1)}70%{opacity:.45}100%{opacity:0;transform:translate(-50%,-50%) rotate(calc(var(--rotation) + 90deg)) scale(15)}}@keyframes signal-spin{to{transform:rotate(130deg)}}
@media(max-width:760px){.boot-portrait{width:82vw;opacity:.26}.boot-copy{margin-bottom:18vh}.boot-skip{right:14px;bottom:14px}.page-signal-ripple{--size:32px}.page-signal-ripple:before{inset:8px}}
@media(prefers-reduced-motion:reduce){.signal-boot,.page-signal-field{display:none!important}}

/* The grid glitches only while someone scrolls; content never shifts or becomes unreadable. */
html.is-scrolling .grid{opacity:.92;background-position:13px -7px,-19px 11px;filter:drop-shadow(4px 0 #ff3e9d55) drop-shadow(-4px 0 #4feaff55);animation:grid-glitch .16s steps(2,end) infinite}.scroll-glitch-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:0;background:repeating-linear-gradient(0deg,transparent 0 33px,#4feaff15 34px 35px,transparent 36px 78px),repeating-linear-gradient(90deg,transparent 0 15%,#ff3e9d14 15.2% 19%,transparent 19.2% 45%);mix-blend-mode:screen;transition:opacity .08s}.is-scrolling .scroll-glitch-bg{opacity:.9;animation:page-strata .16s steps(2,end) infinite}@keyframes grid-glitch{0%{transform:translate3d(-3px,0,0) skewX(-.35deg)}50%{transform:translate3d(4px,-1px,0) skewX(.3deg)}100%{transform:translate3d(0,0,0)}}@keyframes page-strata{0%{background-position:0 0,0 0;clip-path:polygon(0 0,100% 0,100% 18%,0 27%,0 49%,100% 42%,100% 76%,0 84%,0 100%,100% 100%)}50%{background-position:0 -15px,17px 0;clip-path:polygon(0 0,100% 0,100% 26%,0 18%,0 43%,100% 56%,100% 70%,0 78%,0 100%,100% 100%)}100%{background-position:0 0,0 0;clip-path:inset(0)}}
@media(prefers-reduced-motion:reduce){html.is-scrolling .grid,.is-scrolling .scroll-glitch-bg{animation:none;filter:none;transform:none;opacity:0}}
