/* The approved luminous glass artwork, shared by both themes. */
.hero-stage{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 82% 45%,#d2f1f7 0,transparent 48%),linear-gradient(120deg,var(--surface),var(--surface-alt))}
.hero-stage::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#087da125 .7px,transparent .7px);background-size:24px 24px;mask-image:linear-gradient(90deg,transparent 40%,#000);pointer-events:none}
.hero-stage .hero{min-height:660px;grid-template-columns:1.12fr 1fr;gap:28px;padding-top:84px;padding-bottom:76px}
.hero-copy{position:relative;z-index:2}.hero-copy h1{font-weight:650;line-height:1.12;letter-spacing:-2.8px}.hero-copy .eyebrow{letter-spacing:2.7px}.hero-copy .gradient-text{background-size:170% 100%;animation:headline-light 9s ease-in-out infinite alternate}
.mai-scene{position:relative;min-height:490px;width:100%;display:grid;place-items:center;isolation:isolate;--pointer-x:0deg;--pointer-y:0deg}
.mai-art{position:absolute;inset:16px 0 84px;overflow:hidden;border-radius:28px;background:#031328;border:1px solid #1ca9d433;box-shadow:0 24px 65px #073d6324,0 0 45px #06b6d40c;pointer-events:none;transform:perspective(1000px) rotateX(var(--pointer-y)) rotateY(var(--pointer-x));transition:transform .7s cubic-bezier(.2,.7,.2,1);animation:ambient-arrive .4s ease both}
.mai-poster,.mai-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.2)}
.mai-film{opacity:0}.film-ready .mai-film{opacity:1}
.mai-scene-caption{position:absolute;left:0;right:0;bottom:50px;text-align:center;display:flex;align-items:center;justify-content:center;gap:18px;font-size:10px;letter-spacing:2px;font-weight:750;color:var(--muted)}
.mai-scene-caption i{height:1px;width:38px;background:linear-gradient(90deg,var(--blue),var(--teal))}
.motion-controls{position:absolute;bottom:0;right:0;display:flex;align-items:center;gap:15px;z-index:3}
.motion-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;border:0;background:transparent;color:var(--muted);font-size:10px;letter-spacing:.5px}
.motion-toggle[hidden]{display:none}.motion-toggle svg{width:14px;height:14px;fill:currentColor}.motion-toggle:hover{color:var(--link)}
.hero-stage .hero-note{font-size:12px}.hero-stage .button{border-radius:100px;padding-left:27px;padding-right:27px;background:var(--blue);border-color:var(--blue);box-shadow:0 6px 20px #2563eb20}.hero-stage .button:hover{background:#1d4ed8;border-color:#1d4ed8;box-shadow:0 9px 30px #2563eb30}
.hero-stage .text-link span,.service a span,.engagement a span{transition:transform .3s}.hero-stage .text-link:hover span,.service a:hover span,.engagement a:hover span{transform:translate(4px,-2px)}
.service,.work-item{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .4s}.service:hover,.work-item:hover{transform:translateY(-5px);box-shadow:0 18px 38px #0b1f3b0c;border-color:#75b9cf}
.work-visual svg,.work-visual>b,.language-visual>span{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.work-item:hover .work-visual svg{transform:scale(1.025)}.work-item:hover .language-visual>span{transform:translateY(-3px)}
.motion-ready [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready [data-reveal].revealed{opacity:1;transform:translateY(0)}
.about{position:relative;isolation:isolate;overflow:hidden}.about::before{content:"";position:absolute;inset:-45% 35% -45% -25%;background:radial-gradient(ellipse,#06b6d41c,transparent 62%);pointer-events:none;z-index:-1;animation:light-drift 18s ease-in-out infinite alternate}.about-mark{border-radius:50%;background:radial-gradient(ellipse,#0d49646b,transparent 70%);border-color:#61cfd140;box-shadow:0 0 80px #06b6d411}.about-mark img{transition:transform .8s}.about-mark:hover img{transform:scale(1.04)}
.waveform i{transform-origin:center;animation:voice-wave 2.6s ease-in-out infinite alternate}.waveform i:nth-child(2n){animation-delay:-.7s}.waveform i:nth-child(3n){animation-delay:-1.6s}.waveform i:nth-child(5n){animation-delay:-2.2s}
[data-theme="dark"] .hero-stage{background:radial-gradient(ellipse at 86% 27%,#09506370,transparent 36%),radial-gradient(ellipse at 66% 76%,#1748ae4d,transparent 40%),linear-gradient(120deg,#060f20,#0b2038)}
[data-theme="dark"] .hero-stage::before{background-image:radial-gradient(#84d7e52b .7px,transparent .7px)}
[data-theme="dark"] .mai-art{border-color:#5feaff30;box-shadow:0 24px 65px #0003,0 0 60px #06b6d417}
@keyframes light-drift{from{transform:translate(-12px,12px) scale(.95)}to{transform:translate(16px,-14px) scale(1.08)}}
@keyframes ambient-arrive{from{opacity:0}to{opacity:1}}
@keyframes headline-light{from{background-position:0 50%}to{background-position:100% 50%}}
@keyframes voice-wave{from{transform:scaleY(.5)}to{transform:scaleY(1)}}
.motion-paused *,.motion-paused *::before,.motion-paused *::after,.motion-away *,.motion-away::before,.mai-scene:not(.motion-visible) *{animation-play-state:paused!important}
.motion-paused .mai-art{transform:none!important;opacity:1}.motion-paused [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
html:not(.motion-enabled) .mai-art,html:not(.motion-enabled) .hero-copy .gradient-text,html:not(.motion-enabled) .about::before,html:not(.motion-enabled) .waveform i{animation:none}
@media(min-width:1550px){.hero-stage .hero{min-height:730px}.mai-scene{min-height:550px}}
@media(max-width:1100px){.hero-stage .hero{gap:20px}.mai-scene{min-height:450px}.hero-copy h1{letter-spacing:-2px}.mai-scene-caption{font-size:9px;gap:12px;letter-spacing:1.5px}}
@media(max-width:800px){.hero-stage .hero{grid-template-columns:1fr;padding-top:52px;padding-bottom:34px;gap:0;min-height:0}.hero-stage .hero-copy{max-width:650px}.mai-scene{min-height:380px;max-width:510px;justify-self:center;margin-top:28px}.mai-art{inset:0 0 84px}.mai-scene-caption{bottom:49px}.motion-controls{right:4px;bottom:0}.hero-copy h1{font-size:clamp(38px,7.4vw,60px)}.about::before{inset:-10% -30% 30% -30%;opacity:.1}}
@media(max-width:420px){.hero-stage .hero{padding-top:42px}.hero-copy h1{font-size:37px;letter-spacing:-1.8px}.mai-scene{min-height:330px;margin-top:28px}.mai-art{border-radius:22px}.mai-scene-caption{font-size:8px;letter-spacing:1.4px}.hero-stage .hero-note{max-width:270px}.hero-stage .lead{font-size:16px}.hero-stage .actions .button{min-height:52px}.mai-scene-caption i{width:24px}}
@media(prefers-reduced-motion:reduce){.mai-film,.motion-toggle{display:none!important}.motion-ready [data-reveal]{opacity:1;transform:none;transition:none}.mai-art{transform:none!important;animation:none}.service:hover,.work-item:hover,.about-mark:hover img,.work-item:hover .work-visual svg,.work-item:hover .language-visual>span{transform:none}}
