:root{--dark:#111310;--green:#6ef790}.header{position:relative;z-index:5}.reading-progress{position:fixed;inset:0 0 auto;height:3px;background:var(--green);transform:scaleX(0);transform-origin:left;z-index:100;pointer-events:none}.hero-copy h1 .hero-line{display:block;overflow:hidden;color:var(--light);padding-right:.08em;padding-bottom:.03em;margin-bottom:-.03em}.hero-copy h1 .hero-line.accent{color:var(--green)}.hero-line b{display:block;font-weight:500;animation:line-enter 1.15s cubic-bezier(.16,1,.3,1) both}.hero-line:nth-child(2) b{animation-delay:.12s}.hero-line:nth-child(3) b{animation-delay:.24s}.hero-copy p,.hero-copy>.pill{animation:fade-up 1s .4s both}.hero-art{background:#f0f0f0;max-height:none;transition:background .8s,color .8s;animation:fade-up 1.3s .2s both;align-self:center;margin-top:0}.hero-stage{border:0;background:transparent;position:relative;display:block;width:100%;aspect-ratio:1;overflow:hidden;padding:0;cursor:pointer}.scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:translate(var(--scene-x,0),var(--scene-y,0)) scale(1.08);filter:blur(9px);transition:opacity 1s,filter 1.25s,transform 1.6s cubic-bezier(.2,.7,.2,1);pointer-events:none}.scene.is-current{opacity:1;filter:blur(0);transform:translate(var(--scene-x,0),var(--scene-y,0)) scale(1.025)}.hero-art[data-tone=dark]{background:#070807;color:#f1f2eb}.art-label{padding:15px 23px;font-size:9px}.motion-toggle{border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;width:31px;height:31px;cursor:pointer;font-size:12px;letter-spacing:-2px}.art-label .motion-toggle{font-size:12px}.hero-art-footer{background:transparent;padding:20px 23px}.hero-art-footer strong{font-size:18px}.scene-controls{display:flex;gap:7px}.scene-controls button{border:0;border-bottom:1px solid #8a9081;padding:9px 5px;background:transparent;color:inherit;font:10px Consolas,monospace;opacity:.5;cursor:pointer}.scene-controls button.active{opacity:1;border-bottom:3px solid #74a941}.scene-view{position:absolute;bottom:20px;left:50%;transform:translate(-50%,15px);opacity:0;white-space:nowrap;font:9px Consolas,monospace;letter-spacing:1px;border-radius:30px;background:var(--dark);color:var(--light);padding:12px 17px;transition:opacity .3s,transform .3s}.hero-stage:hover .scene-view,.hero-stage:focus-visible .scene-view{opacity:1;transform:translate(-50%,0)}.hero-grid{gap:50px;padding-top:35px}.hero-copy h1{font-size:clamp(72px,8.6vw,142px)}.hero-bottom{margin-top:36px}.project-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:50px 27px}.project{grid-column:span 6;min-width:0}.project:nth-child(4n+1){grid-column:span 7}.project:nth-child(4n+2){grid-column:span 5}.project:nth-child(4n+3){grid-column:span 5}.project:nth-child(4n+4){grid-column:span 7}.project:nth-child(even){padding-top:72px}.project-visual{aspect-ratio:1;background:#090a08}.project-button{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.project-image{object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .7s}.project-hover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.065);transition:opacity .65s,transform 1.2s cubic-bezier(.2,.7,.2,1);pointer-events:none}.project:hover .project-image{transform:scale(1.035)}.project-button:hover .project-hover,.project-button:focus-visible .project-hover{opacity:1;transform:translate(var(--hover-x,0),var(--hover-y,0)) scale(1.05)}.frame-count{position:absolute;right:16px;bottom:20px;font:9px Consolas,monospace;letter-spacing:1px;color:white;mix-blend-mode:difference}.project-info{align-items:flex-start}.project-info h3{font-size:22px}.project-info>span{font-size:9px;max-width:150px;text-align:right;line-height:1.5}.project-open{width:42px;height:42px}.project-grid.is-filtered .project{grid-column:span 6;padding-top:0}.pointer-label{display:none;position:fixed;z-index:30;border-radius:50%;width:92px;height:92px;background:var(--green);color:var(--dark);align-items:center;justify-content:center;font:9px Consolas,monospace;letter-spacing:.5px;pointer-events:none;transform:translate(-50%,-50%) scale(.5);opacity:0;transition:opacity .2s,transform .25s}.pointer-label.visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.detail-interlude{height:650px;position:relative;overflow:hidden;background:#151916}.detail-interlude>img{width:100%;height:120%;position:absolute;top:-10%;object-fit:cover;object-position:center 38%;transform:translateY(var(--detail-y,0px)) scale(var(--detail-scale,1.08));will-change:transform}.detail-interlude:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,6,.74),rgba(4,10,6,.15) 65%,transparent)}.detail-overlay{position:relative;z-index:1;padding:48px 56px;max-width:1600px;margin:auto;height:100%;display:flex;flex-direction:column;align-items:flex-start}.detail-overlay p{font-size:clamp(55px,6.5vw,98px);letter-spacing:-.05em;line-height:1.05;margin:auto 0}.detail-overlay em{font-family:Georgia,serif;color:var(--green)}.detail-caption{font:10px Consolas,monospace;letter-spacing:1px}.ticker{overflow:hidden;border-bottom:1px solid #434b38;padding:24px 0;color:var(--green)}.ticker>div{display:flex;align-items:center;gap:36px;white-space:nowrap;width:max-content;animation:ticker-roll 38s linear infinite}.ticker span{font-size:35px;letter-spacing:-1px}.ticker i{font-size:37px;font-style:normal}.motion-paused .ticker>div{animation-play-state:paused}.brand-mark{display:inline-block;transition:transform .8s cubic-bezier(.2,.8,.2,1)}.wordmark:hover .brand-mark{transform:rotate(180deg)}.reveal{opacity:1}.reveal.is-pending:not(.revealed){opacity:0;transform:translateY(32px)}.reveal.revealed{animation:fade-up .85s var(--reveal-delay,0ms) cubic-bezier(.16,1,.3,1) both}.project.reveal.revealed .project-visual{animation:image-reveal 1.05s var(--reveal-delay,0ms) cubic-bezier(.16,1,.3,1) both}.gallery-open{overflow:hidden}.gallery{width:calc(100% - 64px);max-width:1450px;max-height:calc(100dvh - 40px);border:1px solid #363c31;background:#131610;color:#f1f2eb;padding:26px;overflow:auto}.gallery::backdrop{background:rgba(0,0,0,.83);backdrop-filter:blur(12px)}.gallery[open]{animation:gallery-enter .5s cubic-bezier(.16,1,.3,1)}.gallery-header{display:flex;justify-content:space-between;align-items:center;padding:0 0 20px;gap:25px}.gallery-header h2{font-size:34px;letter-spacing:-1px;margin-top:7px}.gallery-header .eyebrow{color:var(--green)}#gallery-close{background:#2a3023;color:white;border:0;border-radius:50%;width:44px;height:44px;font-size:20px;cursor:pointer;flex-shrink:0}.gallery-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:28px}.gallery-stage{height:min(72dvh,850px);position:relative;background:#080a07;display:grid;place-items:center;overflow:hidden}.gallery-stage>img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}.gallery-stage>button{position:absolute;top:50%;transform:translateY(-50%);background:#f1f2eb;color:#151715;border:0;width:42px;height:42px;border-radius:50%;cursor:pointer;font-size:20px}#gallery-prev{left:13px}#gallery-next{right:13px}#gallery-counter{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);padding:8px 14px;border-radius:20px;background:rgba(0,0,0,.7);font:11px Consolas,monospace}.gallery aside{display:flex;flex-direction:column;gap:22px}.gallery aside p{color:#b5beaa;font-size:14px;line-height:1.7;margin:0}#gallery-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}#gallery-thumbs button{padding:0;border:2px solid transparent;background:#060705;cursor:pointer;aspect-ratio:1}#gallery-thumbs button[aria-pressed=true]{border-color:var(--green)}#gallery-thumbs img{display:block;width:100%;height:100%;object-fit:cover}#gallery-link{font-size:12px;border-bottom:1px solid #788b5d;padding-bottom:14px;line-height:1.8}.gallery-hint{margin-top:auto;font:9px Consolas,monospace;color:#acb69d}.pill{transition:background .25s,color .25s,transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}.pill:hover{transform:translateY(-4px);box-shadow:0 10px 30px #0002}.contact h2>span{transition:transform .6s}.contact:hover h2>span{transform:translate(8px,-8px)}
@keyframes line-enter{from{transform:translateY(115%) rotate(3deg)}to{transform:translateY(0) rotate(0)}}@keyframes fade-up{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes image-reveal{from{clip-path:inset(12% 0 0 0);filter:brightness(.6)}to{clip-path:inset(0);filter:brightness(1)}}@keyframes ticker-roll{to{transform:translateX(-50%)}}@keyframes gallery-enter{from{opacity:0;transform:translateY(35px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(hover:hover) and (pointer:fine){.pointer-label{display:flex}}
@media(max-width:1000px){.hero-grid{gap:30px}.hero-art-footer{padding:16px}.scene-controls{gap:3px}.hero-art-footer strong{font-size:16px}.project-grid{gap:30px 20px}.project-info{display:block}.project-info>span{text-align:left;max-width:none}.project:nth-child(even){padding-top:45px}.detail-interlude{height:540px}.detail-overlay{padding:40px 32px}.gallery{width:calc(100% - 30px);padding:20px}.gallery-layout{grid-template-columns:minmax(0,1fr) 190px;gap:20px}}
@media(max-width:700px){.hero-copy h1{font-size:clamp(72px,18vw,115px)}.hero-grid{gap:28px}.hero-art{min-height:0;width:100%}.hero-art-footer{padding:17px}.scene-view{opacity:1;transform:translate(-50%,0);font-size:8px;padding:9px 13px;bottom:13px}.project-grid{grid-template-columns:1fr;gap:30px}.project:nth-child(n),.project-grid.is-filtered .project{grid-column:auto;padding-top:0}.project-visual{aspect-ratio:1}.project-info{display:flex}.project-info h3{font-size:20px}.project-info>span{font-size:8px;text-align:right;max-width:130px}.project-open{width:36px;height:36px}.project-hover{display:none}.detail-interlude{height:510px}.detail-overlay{padding:30px 20px}.detail-overlay p{font-size:61px}.detail-caption{font-size:8px}.detail-interlude>img{object-position:63% center}.ticker{padding:18px 0}.ticker span{font-size:24px}.ticker i{font-size:26px}.ticker>div{gap:24px}.gallery{width:100%;max-width:none;max-height:100dvh;height:100dvh;margin:0;padding:16px;border:0}.gallery-header{padding-bottom:15px}.gallery-header h2{font-size:26px}.gallery-layout{grid-template-columns:1fr;gap:18px}.gallery-stage{height:57dvh}.gallery aside{gap:17px}#gallery-thumbs{grid-template-columns:repeat(6,1fr);gap:5px}.gallery aside p{font-size:12px}.gallery-hint{display:none}#gallery-link{font-size:12px}.reading-progress{height:2px}}
@media(prefers-reduced-motion:reduce){.reveal.is-pending:not(.revealed){opacity:1;transform:none}.hero-line b{transform:none}.detail-interlude>img{transform:none!important}.pointer-label{display:none}.scene{filter:none;transform:none!important}.ticker>div{animation:none}.project-hover{transition:none}}

.art-label #scene-counter{font-size:inherit}.hero-stage .scene{object-fit:contain}
.gallery-stage>img{position:absolute;inset:0;min-height:0;min-width:0}
#gallery-videos{display:grid;gap:8px}#gallery-videos:empty{display:none}#gallery-videos a{font:11px/1.5 Consolas,monospace;color:var(--green);border:1px solid #48543c;padding:10px 12px;transition:background .2s}#gallery-videos a:hover{background:#303b24}#gallery-thumbs{max-height:280px;overflow:auto;padding:2px}.gallery aside{min-height:0}.project[data-category=fintech] .project-visual{background:#050705}
@media(min-width:701px){.header{height:90px}.hero-grid{padding-top:24px}.hero-stage{height:clamp(300px,48vh,540px);aspect-ratio:auto}.hero-copy h1{font-size:clamp(72px,7.8vw,132px)}.hero-bottom{margin-top:25px;padding-bottom:23px}}

/* Fixed image stage, intact compositions, crossfade variants. */
.project-visual{aspect-ratio:1;padding:0;overflow:hidden}
.project-visual .project-image,.project-visual .project-hover{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center;transform:none!important}
.project-visual .project-hover{opacity:0;transition:opacity .65s ease}
.project-button:hover .project-hover,.project-button:focus-visible .project-hover{opacity:1}
.project-visual .image-tag,.project-visual .frame-count{display:none}
@media(hover:none){.project-visual .project-hover{display:none}}

.project-button[data-open="viridian"] .project-visual{background:#f1f1f1}.project-button[data-open="viridian"] .project-hover{background:#f1f1f1}
.project-button[data-open="ferron"] .project-visual{background:#000000}.project-button[data-open="ferron"] .project-hover{background:#000000}
.project-button[data-open="spectra"] .project-visual{background:#1a1a1a}.project-button[data-open="spectra"] .project-hover{background:#050505}
.project-button[data-open="elite"] .project-visual{background:#000000}.project-button[data-open="elite"] .project-hover{background:#000000}
.project-button[data-open="modular"] .project-visual{background:#cfcfcf}.project-button[data-open="modular"] .project-hover{background:#cfcfcf}
.project-button[data-open="nyr"] .project-visual{background:#000000}.project-button[data-open="nyr"] .project-hover{background:#000000}
.project-button[data-open="ao"] .project-visual{background:#e7e7e7}.project-button[data-open="ao"] .project-hover{background:#e7e7e7}
.project-button[data-open="spicebomb"] .project-visual{background:#2f2f2f}.project-button[data-open="spicebomb"] .project-hover{background:#323232}
.webdesign,.motion-section,.ax-feature{padding-block:70px;border-bottom:1px solid #393c35}.webdesign h2,.motion-section h2{font-size:clamp(44px,6vw,88px);line-height:1.05;letter-spacing:-.045em;margin:35px 0}.webdesign em,.motion-section em{font-family:Georgia,serif;color:var(--green);font-weight:400}.web-intro{display:flex;align-items:center;justify-content:space-between;gap:30px}.web-intro p{max-width:640px;font-size:19px;line-height:1.6;color:#b5beaa}.web-services{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font:12px Consolas,monospace;margin:35px 0}.web-video-grid,.ax-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px}.web-video-grid figure{margin:0;min-width:0}.web-video-grid video{width:100%;aspect-ratio:16/9;object-fit:contain;background:#050505;display:block}.web-video-grid figcaption{display:flex;justify-content:space-between;gap:15px;padding:16px 0 24px}.web-video-grid figcaption span{font:10px Consolas,monospace;color:#a1a69c}.ax-pair{margin-top:30px}.ax-pair img{width:100%;height:auto;display:block}#motion-player{width:100%;height:min(65vh,650px);object-fit:contain;background:#000;display:block}.motion-playlist{display:flex;gap:8px;overflow:auto;padding:20px 0}.motion-playlist button{flex:0 0 auto;background:transparent;border:1px solid #48543c;color:var(--light);padding:13px;font:11px Consolas,monospace;cursor:pointer}.motion-playlist button[aria-pressed=true]{background:var(--green);color:#111}.header nav{gap:22px}@media(max-width:700px){.web-video-grid,.ax-pair{grid-template-columns:1fr}.web-intro{display:block}.webdesign,.motion-section,.ax-feature{padding-block:45px}.web-services{font-size:10px}.header nav{gap:12px}.ax-feature .section-intro{display:block}.ax-feature .pill{margin-top:20px}}

.project-button[data-open="viridian"] .project-visual{background:#f1f1f1}.project-button[data-open="viridian"] .project-hover{background:#f1f1f1}
.project-button[data-open="ferron"] .project-visual{background:#000000}.project-button[data-open="ferron"] .project-hover{background:#000000}
.project-button[data-open="spectra"] .project-visual{background:#1a1a1a}.project-button[data-open="spectra"] .project-hover{background:#181315}
.project-button[data-open="elite"] .project-visual{background:#000000}.project-button[data-open="elite"] .project-hover{background:#000000}
.project-button[data-open="modular"] .project-visual{background:#cfcfcf}.project-button[data-open="modular"] .project-hover{background:#cfcfcf}
.project-button[data-open="nyr"] .project-visual{background:#000000}.project-button[data-open="nyr"] .project-hover{background:#000000}
.project-button[data-open="ao"] .project-visual{background:#e7e7e7}.project-button[data-open="ao"] .project-hover{background:#e7e7e7}
.project-button[data-open="spicebomb"] .project-visual{background:#2f2f2f}.project-button[data-open="spicebomb"] .project-hover{background:#323232}
.project-button[data-open="viridian"] .project-visual{background:#f1f1f1}.project-button[data-open="viridian"] .project-hover{background:#f1f1f1}
.project-button[data-open="ferron"] .project-visual{background:#000000}.project-button[data-open="ferron"] .project-hover{background:#000000}
.project-button[data-open="spectra"] .project-visual{background:#1a1a1a}.project-button[data-open="spectra"] .project-hover{background:#181315}
.project-button[data-open="elite"] .project-visual{background:#000000}.project-button[data-open="elite"] .project-hover{background:#000000}
.project-button[data-open="modular"] .project-visual{background:#cfcfcf}.project-button[data-open="modular"] .project-hover{background:#cfcfcf}
.project-button[data-open="nyr"] .project-visual{background:#000000}.project-button[data-open="nyr"] .project-hover{background:#000000}
.project-button[data-open="ao"] .project-visual{background:#e7e7e7}.project-button[data-open="ao"] .project-hover{background:#e7e7e7}
.project-button[data-open="spicebomb"] .project-visual{background:#2f2f2f}.project-button[data-open="spicebomb"] .project-hover{background:#323232}
.project-button[data-open="ax"] .project-visual{background:#c7c7c7}.project-button[data-open="ax"] .project-hover{background:#b4be8d}
.motion-playlist{flex-wrap:wrap;overflow:visible;gap:8px;padding:20px 0}.motion-playlist button{flex:0 0 auto}@media(max-width:700px){.motion-playlist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.motion-playlist button{min-width:0;padding:11px 7px;font-size:10px}}

.project-button[data-open="ax"] .project-visual{aspect-ratio:3840/2700;background:transparent}.project-button[data-open="ax"] .project-hover{background:transparent}

.icons-section{padding-block:70px;border-bottom:1px solid #393c35}.icons-section h2{font-size:clamp(44px,6vw,88px);line-height:1.05;letter-spacing:-.045em;margin:35px 0}.icons-section h2 em{font-family:Georgia,serif;color:var(--green);font-weight:400}.icons-section video{display:block;width:100%;height:auto;max-height:75vh;object-fit:contain;background:#000}@media(max-width:700px){.icons-section{padding-block:45px}}

#motion-player{display:block;width:100%;max-width:760px;height:auto;aspect-ratio:1;object-fit:contain;margin-inline:auto;background:#000}.motion-playlist{max-width:760px;margin-inline:auto;justify-content:center}

.motion-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(32px,5vw,80px);align-items:start;margin-top:42px}.motion-copy h2{margin:0 0 32px;font-size:clamp(48px,6.5vw,98px)}.motion-lead{font-size:clamp(23px,2.3vw,34px);line-height:1.3;letter-spacing:-.025em;margin:0 0 24px}.motion-description{max-width:420px;font-size:16px;line-height:1.8;color:#aeb6a7}.motion-disciplines{display:flex;gap:10px 18px;flex-wrap:wrap;padding:24px 0 32px;font:10px Consolas,monospace;color:var(--green)}.motion-media{min-width:0}.motion-media #motion-player{max-width:none;margin:0}.motion-media .motion-playlist{max-width:none;justify-content:flex-start;margin:0}.motion-copy .pill{margin-top:6px}@media(max-width:700px){.motion-layout{grid-template-columns:1fr;gap:32px;margin-top:30px}.motion-copy h2{font-size:62px;margin-bottom:24px}.motion-description{font-size:14px;max-width:none}.motion-disciplines{padding:18px 0}.motion-copy .pill{margin-top:10px}}

/* Persistent navigation */
.header{position:sticky;top:0;z-index:60;background:rgba(17,19,16,.94);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:height .3s,box-shadow .3s,background .3s;border-bottom:1px solid #ffffff18}
.header.is-scrolled{height:76px;box-shadow:0 10px 35px #0003;background:rgba(17,19,16,.88)}
.header nav{gap:clamp(12px,1.6vw,27px);align-items:center}.header nav a{position:relative;padding:13px 0;color:#bac1b4;transition:color .2s}.header nav a:hover,.header nav a.is-active{color:var(--green)}.header nav a:after{content:'';position:absolute;height:2px;bottom:4px;left:0;right:0;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .25s}.header nav a.is-active:after{transform:scaleX(1)}
.header-contact{border:1px solid #718051;border-radius:30px;padding:12px 17px;font-size:11px;gap:13px;transition:background .2s,color .2s}.header-contact:hover{background:var(--green);color:#111}.header-contact span{font-size:19px}.nav-toggle{display:none}html{scroll-padding-top:110px}
@media(max-width:1000px) and (min-width:701px){.header .wordmark{font-size:32px}.header .wordmark small{display:none}.header nav{gap:12px;font-size:11px}.header-contact{padding:10px;font-size:10px;gap:6px}}
@media(max-width:700px){.header,.header.is-scrolled{height:70px;flex-wrap:nowrap;gap:15px}.header .wordmark{font-size:33px;margin-right:auto}.header-contact{font-size:0;padding:8px 12px;order:2}.header-contact span{font-size:21px}.nav-toggle{display:flex;order:3;flex-direction:column;justify-content:center;gap:6px;width:40px;height:40px;background:transparent;border:1px solid #ffffff30;border-radius:50%;padding:10px;cursor:pointer}.nav-toggle span{display:block;height:1px;width:18px;background:var(--light);transition:transform .25s}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.header nav{display:none;position:absolute;top:78px;left:0;right:0;padding:18px 24px;background:#181d15;border:1px solid #ffffff20;border-radius:18px;box-shadow:0 20px 50px #0008;flex-direction:column;align-items:stretch;font-size:20px;gap:3px}.header.menu-open nav{display:flex;animation:fade-up .25s ease}.header nav a:nth-child(3){display:block}.header nav a{padding:12px 0}.header nav a:after{right:auto;width:32px}html{scroll-padding-top:90px}}
@media(prefers-reduced-motion:reduce){.header,.header nav a,.header nav a:after,.nav-toggle span{transition:none}.header.menu-open nav{animation:none}}

.icons-controls{display:flex;flex-wrap:wrap;gap:10px;padding-top:20px}.icons-controls button{background:transparent;border:1px solid #48543c;color:var(--light);padding:13px 18px;cursor:pointer;font:12px Consolas,monospace}.icons-controls button[aria-pressed=true]{background:var(--green);color:#111}.brand-motion{padding-block:70px;border-bottom:1px solid #393c35}.brand-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(30px,6vw,90px);align-items:center}.brand-layout video{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#000}.brand-copy h2{font-size:clamp(40px,5vw,76px);line-height:1.05;letter-spacing:-.04em;margin:25px 0}.brand-copy em{font-family:Georgia,serif;color:var(--green);font-weight:400}.brand-copy p{color:#aeb6a7;font-size:16px;line-height:1.8;margin-bottom:28px}@media(max-width:700px){.brand-layout{grid-template-columns:1fr}.brand-motion{padding-block:45px}.brand-copy{grid-row:1}}

.language-toggle{flex-shrink:0;border:1px solid #64734e;color:var(--light);background:transparent;border-radius:24px;padding:10px 12px;cursor:pointer;font:12px Consolas,monospace}.language-toggle span{color:var(--green);margin-left:5px}.header{gap:16px}.toolbox{flex-wrap:wrap;gap:12px 18px}@media(max-width:700px){.language-toggle{order:1;padding:9px 8px;font-size:11px}.header{gap:8px}.language-toggle span{margin-left:3px}}

.pixel-wave{position:fixed;inset:0;width:100%;height:100%;z-index:100;pointer-events:none;image-rendering:pixelated;mix-blend-mode:difference;opacity:0}@media(prefers-reduced-motion:reduce){.pixel-wave{display:none}}

.pixel-wave{inset:auto;z-index:25;mix-blend-mode:normal;image-rendering:auto;}

.effects-controls{position:fixed;right:22px;bottom:22px;z-index:90;font:12px Consolas,monospace;color:#f1f2eb}.effects-toggle{border:1px solid #68715c;border-radius:30px;background:#151715ed;color:var(--green);padding:13px 18px;cursor:pointer;float:right;backdrop-filter:blur(14px)}#effects-panel{position:absolute;right:0;bottom:56px;width:248px;padding:20px;background:#151715f5;border:1px solid #68715c;border-radius:14px;box-shadow:0 12px 40px #0005;backdrop-filter:blur(16px)}#effects-panel label{display:inline-block;margin-bottom:20px}#effects-panel output{float:right;color:var(--green)}#effects-panel input{width:100%;accent-color:var(--green);cursor:pointer;margin:0}.effects-scale{display:flex;justify-content:space-between;color:#a1a69c;font-size:10px;margin-top:12px}@media(max-width:700px){.effects-controls{right:14px;bottom:14px}}
.project-button[data-open="viridian"] .project-visual .project-hover{object-fit:cover;object-position:center;}
.particle-section{padding-block:80px;border-top:1px solid var(--line)}.particle-section .section-intro p{color:var(--muted)}.particle-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 24px}.particle-grid figure{margin:0;min-width:0}.particle-grid img{display:block;width:100%;aspect-ratio:4/5;object-fit:contain;background:#000}.particle-grid figcaption{display:flex;justify-content:space-between;gap:16px;padding-top:14px;font:10px Consolas,monospace;letter-spacing:1px;color:var(--muted)}.particle-section h2 em{color:var(--green)}@media(max-width:700px){.particle-section{padding-block:45px}.particle-grid{grid-template-columns:1fr}}
.particle-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1140px;margin-inline:auto;gap:22px}.particle-grid img{aspect-ratio:auto;height:auto}.spice-wide{margin:0;background:#efefef;color:var(--ink)}.spice-wide>img{display:block;width:100%;height:auto}.spice-wide figcaption{display:flex;justify-content:space-between;gap:18px;padding-block:20px;font:10px Consolas,monospace;letter-spacing:1px}@media(max-width:700px){.particle-grid{grid-template-columns:1fr;max-width:380px;gap:28px}.spice-wide figcaption{font-size:8px}}
.particle-grid{max-width:none;width:100%;margin-inline:0;gap:20px}.spice-wide>img{height:clamp(240px,26vw,460px);object-fit:cover;object-position:center 58%}@media(max-width:700px){.particle-grid{max-width:380px;margin-inline:auto}.spice-wide>img{height:220px;object-position:center 58%}}
.header.wrap{width:100%;max-width:none;margin-inline:0;padding-inline:max(28px,calc((100% - 1600px)/2))}@media(max-width:700px){.header.wrap{padding-inline:18px}.header nav{left:12px;right:12px}}

.text-decode-canvas{position:fixed;inset:0;pointer-events:none;z-index:40}.text-effects-settings{border-top:1px solid #555d43;margin-top:16px;padding-top:16px}.text-effects-preview{margin-top:10px;background:transparent;color:inherit;border:1px solid #555d43;padding:8px 10px;font:inherit;cursor:pointer}

.particle-grid video{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;background:#000}

.project-button[data-open="ao"] .project-visual{aspect-ratio:3840/5461}.project-button[data-open="ao"] .project-visual .project-image,.project-button[data-open="ao"] .project-visual .project-hover{width:100%;height:100%;object-fit:contain;object-position:center;}
.project-button[data-open="spicebomb"] .project-visual{aspect-ratio:4/5}.project-button[data-open="spicebomb"] .project-visual .project-image,.project-button[data-open="spicebomb"] .project-visual .project-hover{object-fit:contain;object-position:center;}
.effects-toggle{width:46px;height:46px;padding:11px;display:grid;place-items:center}.effects-toggle svg{display:block}#effects-panel{max-height:calc(100dvh - 100px);overflow-y:auto}
main .colour-travel{background-image:linear-gradient(90deg,var(--travel-base) 0%,var(--travel-base) 35%,var(--travel-highlight) 50%,var(--travel-base) 65%,var(--travel-base) 100%);background-size:300% 100%;background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent}#effects-panel .gradient-swatches{display:flex;gap:16px;margin-top:18px}#effects-panel .gradient-swatches label{flex:1;margin:0;font-size:11px;color:#a1a69c}#effects-panel .gradient-swatches input{display:block;width:100%;height:32px;margin-top:8px;padding:2px;border:1px solid #68715c;background:transparent;cursor:pointer}
#effects-panel #accent-colour{display:block;height:38px;padding:3px;border:1px solid #68715c;background:transparent;margin-bottom:10px;cursor:pointer}
.ai-section{padding-block:70px;border-bottom:1px solid var(--line)}.ai-section h2{font-size:clamp(40px,6vw,88px);line-height:1.05;letter-spacing:-.045em;margin:35px 0}.ai-section h2 em{font-family:Georgia,serif;font-weight:400;color:var(--green)}.ai-intro{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:40px}.ai-intro p{max-width:650px;font-size:18px;line-height:1.7;color:var(--muted)}.ai-video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.ai-video-grid figure{margin:0;min-width:0}.ai-video-frame{position:relative;aspect-ratio:3/4;overflow:hidden;background:#191e19}.ai-video-frame video{display:block;width:100%;height:100%;object-fit:cover}.ai-video-frame:after{content:'';position:absolute;inset:60% 0 0;pointer-events:none;background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--green) 25%,transparent) 55%,var(--green) 100%)}.ai-pending{background:linear-gradient(155deg,#273128,#141714 70%);border:1px solid #68715c44}.ai-slot-number{position:absolute;top:20px;left:18px;font:12px Consolas;color:var(--green)}.ai-slot-note{position:absolute;bottom:24px;left:18px;right:10px;font:9px/1.6 Consolas;letter-spacing:1px;color:#a1a69c;z-index:1}.ai-video-grid figcaption{padding-top:16px;font:11px Consolas;color:var(--muted)}@media(max-width:700px){.ai-section{padding-block:45px}.ai-intro{display:block}.ai-intro .pill{margin-top:12px}.ai-video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.ai-intro p{font-size:16px}}
.payment-note{display:grid;grid-template-columns:1fr 2fr auto;gap:32px;align-items:start;padding-block:48px;border-top:1px solid var(--line)}.payment-note h2{font-size:clamp(25px,3vw,42px);font-weight:400;letter-spacing:-.035em;margin:0 0 16px}.payment-note h2 em{font-family:Georgia,serif;color:var(--green)}.payment-note p{max-width:560px;color:var(--muted);font-size:14px;line-height:1.7;margin:0}.payment-mark{font-size:32px;color:var(--green)}@media(max-width:700px){.payment-note{grid-template-columns:1fr;gap:20px;padding-block:32px}.payment-mark{display:none}}
.ai-video-frame video{filter:grayscale(1);transition:filter .5s ease}.ai-video-frame:hover video,.ai-video-frame:focus-within video{filter:grayscale(0)}@media(hover:none){.ai-video-frame video:active{filter:grayscale(0)}}@media(prefers-reduced-motion:reduce){.ai-video-frame video{transition:none}}
.ai-video-frame:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background-image:linear-gradient(to right,rgba(220,255,233,.14) 1px,transparent 1px),linear-gradient(to bottom,rgba(220,255,233,.14) 1px,transparent 1px);background-size:40px 40px;opacity:.55;transition:opacity .5s ease}.ai-video-frame:after{inset:45% 0 0;z-index:2;background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--green) 5%,transparent) 28%,color-mix(in srgb,var(--green) 18%,transparent) 55%,color-mix(in srgb,var(--green) 45%,transparent) 78%,color-mix(in srgb,var(--green) 80%,transparent) 100%)}.ai-video-frame:hover:before{opacity:.3}@media(max-width:700px){.ai-video-frame:before{background-size:28px 28px}}@media(prefers-reduced-motion:reduce){.ai-video-frame:before{transition:none}}
.ai-video-frame:after{inset:0;opacity:1;transition:opacity .5s ease;background:linear-gradient(to bottom,color-mix(in srgb,var(--green) 4%,transparent) 0%,color-mix(in srgb,var(--green) 12%,transparent) 25%,color-mix(in srgb,var(--green) 26%,transparent) 50%,color-mix(in srgb,var(--green) 48%,transparent) 75%,color-mix(in srgb,var(--green) 80%,transparent) 100%)}.ai-video-frame:hover:after,.ai-video-frame:focus-within:after{opacity:0}@media(prefers-reduced-motion:reduce){.ai-video-frame:after{transition:none}}
.ai-video-frame:before{display:none}.ai-video-frame:after{inset:35% 0 0;background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--green) 10%,transparent) 30%,color-mix(in srgb,var(--green) 28%,transparent) 55%,color-mix(in srgb,var(--green) 50%,transparent) 78%,color-mix(in srgb,var(--green) 80%,transparent) 100%)}.ai-infrastructure{display:grid;grid-template-columns:1fr 2fr;gap:32px;padding:28px 0 36px;border-top:1px solid var(--line);margin-bottom:12px}.ai-infrastructure .eyebrow{color:var(--green);line-height:1.7}.ai-infrastructure p{margin:0 0 16px;color:var(--muted);font:14px/1.8 Arial;max-width:780px}.ai-infrastructure p:last-child{margin-bottom:0}@media(max-width:700px){.ai-infrastructure{grid-template-columns:1fr;gap:16px}}
.ai-video-frame:after{inset:43% 0 0}


/* AI previews: monochrome at rest, colour on hover or keyboard focus. */
.ai-video-frame:before,.ai-video-frame:after{display:none}
.ai-video-frame:focus-visible{outline:2px solid var(--green);outline-offset:4px}
