/* FRAME Studio 3D hero — scoped integration. */
.hero-scene{display:block;min-height:auto;padding:0;position:relative;overflow:hidden}
.hero-media.frame-3d-hero{position:relative;width:100%;height:clamp(470px,64svh,780px);min-height:470px;overflow:hidden;isolation:isolate;background:#77726e url("/assets/hero-3d/posters/hero.webp") center/cover no-repeat;color:#f7f4ef}
.hero-media.frame-3d-hero::after{content:"";position:absolute;z-index:3;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(9,12,18,.10) 0%,transparent 28%,transparent 68%,rgba(236,239,243,.90) 100%)}
.frame-3d-hero #fallback,.frame-3d-hero #stage,.frame-3d-hero #transition{position:absolute;inset:0;width:100%;height:100%}
.frame-3d-hero #fallback{z-index:0;background:#77726e url("/assets/hero-3d/posters/hero.webp") center/cover no-repeat;filter:saturate(.82) brightness(.88);transition:opacity .7s cubic-bezier(.22,.75,.25,1)}
.frame-3d-hero #fallback::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,19,18,.16),transparent 35%,rgba(21,19,18,.15))}
.frame-3d-hero #fallback.is-hidden{opacity:0}
.frame-3d-hero #stage{z-index:1;display:block;touch-action:pan-y;pointer-events:none;opacity:0;transition:opacity .7s cubic-bezier(.22,.75,.25,1)}
.frame-3d-hero #stage.is-ready{opacity:1}
.frame-3d-hero #loading{position:absolute;z-index:6;right:max(22px,env(safe-area-inset-right));top:clamp(22px,5vw,56px);width:min(220px,42vw);display:grid;gap:8px;color:#ffffffd0;font-size:10px;transition:opacity .5s ease,transform .5s ease;text-shadow:0 2px 14px rgba(0,0,0,.25)}
.frame-3d-hero #loading.is-hidden{opacity:0;transform:translateY(-8px);pointer-events:none}
.frame-3d-hero .loading-track,.frame-3d-hero .sequence__line{display:block;height:1px;overflow:hidden;background:#ffffff38}
.frame-3d-hero #loading-bar,.frame-3d-hero #sequence-progress{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:#ffffffeb}
.frame-3d-hero .sequence{position:absolute;z-index:5;left:max(22px,env(safe-area-inset-left));right:max(22px,env(safe-area-inset-right));bottom:clamp(50px,7vw,88px);display:grid;grid-template-columns:auto minmax(80px,210px);align-items:center;justify-content:end;gap:12px;direction:ltr;color:#ffffffc2;font-size:9px;letter-spacing:.12em;text-shadow:0 2px 12px rgba(0,0,0,.35);pointer-events:none}
.frame-3d-hero .sequence__line{width:min(210px,31vw)}
.frame-3d-hero #transition{z-index:4;background:#262321f0;opacity:0;pointer-events:none;will-change:opacity}
.hero-copy{position:relative;z-index:4;width:var(--container);max-width:1240px;margin-inline:auto;padding-block:clamp(58px,7vw,104px)}
.hero-copy h1{max-width:940px}.hero-lead{max-width:720px}.hero-proof{max-width:980px}
.hero-visual,.hero-scroll-cue{display:none!important}
@media(max-width:980px){.hero-media.frame-3d-hero{height:clamp(440px,59svh,680px);min-height:440px}.hero-copy{max-width:760px}.hero-proof{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.hero-media.frame-3d-hero{height:clamp(400px,54svh,590px);min-height:400px}.frame-3d-hero #loading{top:20px;right:15px;width:min(150px,43vw)}.frame-3d-hero .sequence{left:15px;right:15px;bottom:44px}.hero-copy{width:min(100% - 28px,680px);padding-block:54px 72px}.hero-studio{margin-top:26px}.hero-scene h1{margin-top:14px;font-size:clamp(3rem,15vw,4.9rem)}.hero-lead{margin-top:16px;line-height:1.78}.hero-actions{margin-top:23px}.hero-proof{grid-template-columns:1fr;margin-top:27px}}
@media(max-width:430px){.hero-media.frame-3d-hero{height:52svh;min-height:380px;max-height:540px}.hero-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.frame-3d-hero #fallback,.frame-3d-hero #stage,.frame-3d-hero #loading{transition-duration:80ms}.frame-3d-hero .sequence{display:none}}
