/* GSAP owns these properties only after both local libraries have loaded. */
.opening-scene{display:none;position:fixed;inset:0;z-index:150;grid-template-columns:1.15fr 1fr;pointer-events:none;overflow:clip}
html.gsap-opening .opening-scene{display:grid}
.opening-panel{position:relative;display:flex;align-items:center;justify-content:center;overflow:clip}
.opening-plum{background:#5b1b68;color:#fff;font-family:var(--heading);font-size:clamp(45px,8vw,112px);font-weight:750;letter-spacing:-.065em}
.opening-caption{display:block;font:500 8px/1.5 var(--font);letter-spacing:.16em;margin-top:18px}
.opening-lilac{background:#f0e5f4;color:#5b1b68;flex-direction:column;gap:35px}
.opening-mark{color:#a478ad;font-size:clamp(100px,17vw,220px);line-height:.8}
.opening-right-copy{font:550 clamp(16px,2.6vw,35px)/1.2 var(--heading);letter-spacing:-.045em;text-align:center}
.cursor-dot{display:none;position:fixed;left:0;top:0;width:5px;height:5px;border-radius:50%;background:#a86abb;translate:-50% -50%;opacity:0;pointer-events:none;z-index:101;transition:opacity .2s}
html.gsap-pointer .cursor-dot{display:block}
html.gsap-pointer .cursor-dot.is-present{opacity:.8}
html.gsap-pointer .cursor-halo{display:grid;border-color:#a370b8a6;box-shadow:0 0 20px #9c63b112}
html.gsap-pointer .art-frame,html.gsap-pointer .project-image{transition:box-shadow .3s}
html.gsap-pointer .button,html.gsap-pointer .round-link{translate:none;transition:background .25s,box-shadow .25s}
html.gsap-pointer .service-card,html.gsap-pointer .motion-card{position:relative;isolation:isolate}
html.gsap-pointer .service-card:before,html.gsap-pointer .motion-card:after{content:'';position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(230px circle at var(--pointer-x,50%) var(--pointer-y,50%),#b17bc434,transparent 70%)}
html.gsap-pointer .motion-card:after{background:radial-gradient(260px circle at var(--pointer-x,50%) var(--pointer-y,50%),#dfabef28,transparent 70%)}
html.gsap-pointer .service-card:hover:before,html.gsap-pointer .motion-card:hover:after{opacity:1}
.section-accent{display:none;position:absolute;left:0;bottom:-18px;width:92px;height:2px;background:linear-gradient(90deg,#a366b3,#16a6a3);transform-origin:left}
html.gsap-enabled .section-head{position:relative}
html.gsap-enabled .section-accent{display:block}
.section-watermark{display:none;position:absolute;top:-20px;left:-60px;white-space:nowrap;font:750 clamp(110px,14vw,205px)/1 var(--heading);letter-spacing:-.06em;color:#e2c6ec;opacity:.09;pointer-events:none}
html.gsap-enabled .section-watermark{display:block}
.motion-studio>.container{position:relative}
html.gsap-enabled .hero-enter,
html.gsap-enabled .hero-live-line,
html.gsap-enabled .hero-art,
html.gsap-enabled .float-tag,
html.gsap-enabled .hero-ai-token,
html.gsap-enabled .hero-orbit-rotor,
html.gsap-enabled .marquee-track,
html.gsap-enabled .cta-orbit>span{animation:none}
html.gsap-enabled .text-motion .motion-word{animation:none!important;transform:none;will-change:auto}
html.gsap-enabled.motion-ready .reveal:not(.revealed){opacity:1;transform:none;clip-path:none}
html.gsap-enabled .reveal{transition:none!important}
html.gsap-enabled .service-card.gsap-revealed{transition:transform .35s,box-shadow .35s,background .35s!important}
html.gsap-enabled .reveal:focus-within{opacity:1!important;transform:none!important;clip-path:none!important}
html.gsap-enabled .hero-visual{translate:none;transition:none}
.process-grid{position:relative}
.process-rail{display:none;position:absolute;inset:0 0 auto;height:2px;overflow:hidden;background:#ffffff15;pointer-events:none}
.process-rail span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#e5c7ee,#2bccc3,#f5c45f);transform-origin:left;box-shadow:0 0 14px #36c7bf80}
html.gsap-enabled .process-rail{display:block}
@media(max-width:900px){html.gsap-enabled .process-rail{display:none}.opening-caption{font-size:6px;max-width:160px;letter-spacing:.1em}.opening-lilac{gap:24px}.section-watermark{top:0;left:-35px;opacity:.07}}
@media(prefers-reduced-motion:reduce){.process-rail,.opening-scene,.cursor-dot{display:none!important}}
