/* A single material language from the identity into the work. */
.hero-scroll{height:135svh;min-height:920px}
.hero-scroll .hero{min-height:650px}
.hero-title{opacity:calc(1 - var(--hero-p,0));transform:translateY(calc(var(--hero-p,0) * -90px)) scale(calc(1 - var(--hero-p,0) * .08))}
.hero-topline{animation:none;color:#c4bdce}
.hero-description{opacity:calc(1 - var(--hero-p,0) * 1.5)}
.hero:before{background:linear-gradient(180deg,#0a0a0f30,transparent 30%,transparent 65%,#0a0a0f)}
.hero-art{mask-image:linear-gradient(to bottom,#000 85%,transparent)}
.hero-caption{color:#b2a8be}
.services-film{height:calc(100svh + 2650px);background:#0a0a0f}
.film-stage,.film-stage[data-chapter]{background:#0a0a0f}
.film-stage:before{background:radial-gradient(ellipse at 75% 50%,#6232a517,transparent 46%);inset:0;transform:none}
.film-top{top:48px}
.film-top>.eyebrow{font-size:9px;letter-spacing:.08em;color:#c6bbd3}
.film-scene{grid-template-columns:45% 55%;transform:translateY(45px);padding-top:150px;padding-bottom:150px;transition:opacity .65s,transform .95s cubic-bezier(.16,1,.3,1),visibility .65s}
.film-scene.is-active{transform:none}
.film-scene .film-copy{opacity:0;transition:opacity .1s}
.film-scene.is-active .film-copy{opacity:1;transition:opacity .22s}
.film-category{font-size:11px;color:#b2a3c5;max-width:380px;line-height:1.7;margin-bottom:28px}
.film-copy h2{font-size:clamp(48px,5.1vw,84px);line-height:1.06;letter-spacing:-.06em}
.film-copy>p{font-size:13px;max-width:355px;color:#b7adbf;line-height:1.85;margin-top:30px}
.film-copy>.text-link{font-size:11px;margin-top:25px;gap:45px}
.film-giant-number{display:none}
.film-visual{height:min(69vh,680px);max-height:none;transform:none!important;perspective:none;transition:none;overflow:visible}
.film-installation{position:absolute;inset:14% -3% 9% 38%;z-index:1;pointer-events:none}
.film-scenes{z-index:2;pointer-events:none}
.film-scene.is-active{pointer-events:none}
.film-scene.is-active .film-copy{pointer-events:auto}
.sculpture-object{width:100%;height:100%;position:relative}
.sculpture-object canvas{display:block;width:100%;height:100%}
.film-steps{width:100%;gap:24px}
.film-steps button{font-size:10px;gap:10px;color:#877a94}
.film-steps button[aria-pressed=true]{color:#f1e9ff}
.film-bottom{bottom:36px}
.step-name{font-size:10px}
.film-scroll-note{display:none}
.film-progress{height:1px;background:#211a2b}
.film-progress>span{background:#a78bfa}
.anchor-point{position:absolute;top:0;left:0}
.service-art{height:520px;background:none;overflow:visible}
.service-art .sculpture-object{height:calc(100% - 35px)}
.service-art figcaption{bottom:0;color:#a497b3}
.service-detail .service-art{transform:none}
@media(max-width:1100px){.film-copy h2{font-size:5.5vw}.film-scene{grid-template-columns:48% 52%}.film-copy>p{font-size:12px}.film-steps{gap:18px}.step-name{font-size:9px}.service-art{height:420px}}
@media(max-width:760px){
 .hero-scroll{height:125svh;min-height:0}.hero-scroll .hero{min-height:650px;height:100svh}.hero-title{top:32%}.hero-description{bottom:115px}.hero-art{mask-image:linear-gradient(to bottom,#000 85%,transparent)}
 .services-film{height:calc(100svh + 2100px)}.film-stage{min-height:650px}
 .film-top{top:28px}.film-top>.eyebrow{font-size:7px;line-height:1.6;max-width:160px}.film-top .text-link{font-size:9px;min-width:0;gap:15px}
 .film-scene{display:block;padding:100px 24px 95px;transform:translateY(30px)}.film-copy h2{font-size:clamp(33px,9vw,51px);line-height:1.07;max-width:100%}.film-category{font-size:9px;margin-bottom:18px;max-width:275px}.film-copy>p{font-size:11px;margin-top:21px;line-height:1.7;max-width:96%}.film-copy>.text-link{font-size:10px;margin-top:12px;padding:8px 0}.film-copy{padding-right:0}
 .film-visual{position:absolute;top:43%;bottom:75px;left:12px;right:12px;height:auto;opacity:1;z-index:1}.film-copy{z-index:2}.film-bottom{bottom:25px}.film-steps{gap:0}.step-name{display:none}.film-steps button{font-size:10px;padding:11px 9px 2px}.film-steps button:first-child{padding-left:0}.film-steps button:before{max-width:20px}
 .film-installation{inset:43% -6% 10%}
 .service-art{height:360px}.service-detail .service-art{transform:none}
}
@media(max-width:760px) and (max-height:740px){.film-copy>p{font-size:10px;margin-top:16px}.film-category{font-size:8px;margin-bottom:13px}.film-scene{padding-top:85px}.film-visual{top:46%;bottom:65px}.film-copy h2{font-size:31px}.film-copy>.text-link{margin-top:7px}.hero-description p{font-size:10px}}
@media(prefers-reduced-motion:reduce){.hero-scroll{height:auto;min-height:0}.hero-title,.hero-description{opacity:1;transform:none}.services-film{height:auto}.film-stage{height:auto;min-height:0}.film-scene{display:block;padding:40px 0;transform:none}.film-visual{display:none}.film-copy h2{font-size:clamp(32px,5vw,65px)}}
html:not(.film-enhanced) .services-film{height:auto}
html:not(.film-enhanced) .film-stage{height:auto;min-height:0}
html:not(.film-enhanced) .film-scene{display:block;padding:40px 0;transform:none}
html:not(.film-enhanced) .film-copy{opacity:1}
@media(prefers-reduced-motion:reduce){.film-scene .film-copy{opacity:1}}
html:not(.film-enhanced) .film-installation{display:none}
@media(prefers-reduced-motion:reduce){.film-installation{display:none}.film-scene.is-active{pointer-events:auto}}
html:not(.js) .hero-scroll{height:auto;min-height:0}

/* The atmosphere is a shared, living 2D surface, with no foreground objects. */
body{isolation:isolate}
.ambient-background{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 85% 20%,#59348a,transparent 60%),radial-gradient(ellipse at 15% 90%,#311353,transparent 55%),#0a0a0f}
.ambient-background canvas{display:block;width:100%;height:100%}
.hero-scroll .hero,.film-stage,.film-stage[data-chapter],.services-film,.studio-stage{background:transparent}
.hero:before,.studio-stage:before{background:linear-gradient(180deg,#0a0a0f20,transparent 25%,#0a0a0f20 70%,#0a0a0f80)}
.hero-topline,.hero-bottom,.hero-description,.hero-title,.stage-topline,.studio-stage h1,.studio-stage-copy{z-index:3}
.hero h1{text-shadow:0 4px 60px #09040e33}
.film-stage:before{background:linear-gradient(90deg,#0a0a0f9c,transparent 70%);inset:0}
.film-copy{max-width:610px}.film-scene{grid-template-columns:52% 48%}
.film-copy h2{font-size:clamp(48px,5.6vw,88px)}
.film-copy>p{color:#d8d0e1;max-width:420px}
.film-category,.film-top>.eyebrow{color:#d0c2e0}
.process,.privacy-teaser,.contact-cta,.footer,.studio-manifesto,.values,.studio-process,.privacy-detail,.faq{position:relative;background-color:var(--bg)}
.process,.studio-process{background-color:#ddd9e4}.studio-manifesto{background-color:#e0dce7}
.service-detail{grid-template-columns:1fr;min-height:80svh;background:linear-gradient(90deg,#0a0a0f88,transparent)}
.detail-copy{max-width:900px}.detail-copy h2{font-size:clamp(40px,5.3vw,80px);max-width:850px}.detail-copy>p{max-width:580px;color:#d0c6dc}
.page-intro,.contact-page{background:linear-gradient(90deg,#0a0a0fa6,transparent)}
.service-jump{background:#0a0a0fdd}
@media(max-width:760px){.film-scene{display:block}.film-copy h2{font-size:clamp(36px,10vw,55px)}.film-scene{padding-top:30svh}.film-copy>p{font-size:12px;line-height:1.75}.film-category{font-size:10px}.film-stage:before{background:linear-gradient(90deg,#0a0a0fb3,#0a0a0f44)}.detail-copy h2{font-size:36px}.service-detail{min-height:70svh}.hero-title{top:34%}}
@media(prefers-reduced-motion:reduce){.film-scene{padding:40px 0}.service-detail{min-height:0}}
html:not(.film-enhanced) .film-scene{padding:40px 0}
