/* Approved FV split into independently layered imagery and live controls. */
.comp-hero{background:#050a11;overflow:hidden}
.hero-pc{display:block}
.hero-sp{display:none}
.hero-stage{position:relative;isolation:isolate;width:100%;max-width:1000px;aspect-ratio:1672 / 941;margin:0 auto;overflow:hidden;container-type:inline-size;background:#050a11}
.hero-background,.hero-brush,.hero-dashboard,.hero-person{position:absolute;inset:0;background-size:100% 100%;background-position:center;background-repeat:no-repeat;pointer-events:none}
.hero-background{z-index:0;background-image:image-set(url("./assets/approved/01_fv.avif") type("image/avif"),url("./assets/approved/01_fv.webp") type("image/webp"));filter:blur(35px) brightness(.29) saturate(.8);transform:scale(1.06);animation:fv-fade .48s ease both}
.hero-stage:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.74) 0%,rgba(1,6,14,.1) 62%,rgba(2,10,22,.05) 100%)}
.hero-brush,.hero-dashboard,.hero-person{background-image:image-set(url("./assets/approved/01_fv.avif") type("image/avif"),url("./assets/approved/01_fv.webp") type("image/webp"))}
.hero-brush-top{z-index:1;clip-path:polygon(36% 0,86% 0,76% 18%,59% 38%,40% 31%);animation:fv-fade .48s ease both}
.hero-brush-bottom{z-index:1;clip-path:polygon(35% 100%,75% 100%,64% 79%,51% 57%,44% 65%);animation:fv-fade .48s ease both}
.hero-dashboard{z-index:2;clip-path:polygon(61% 0,100% 0,100% 100%,60% 100%,58% 69%,62% 36%);animation:fv-ui .68s .14s ease both}
.hero-copy-png{position:absolute;z-index:3;left:1.196%;top:4.463%;width:42.105%;height:auto;display:block;animation:fv-copy .6s .08s ease both}
.hero-person{z-index:4;clip-path:polygon(41% 0,72% 0,74% 8%,72% 22%,69% 35%,66% 50%,67% 72%,77% 100%,28% 100%,42% 92%,42% 75%,43% 67%,27% 61%,26% 42%,30% 31%,35% 26%,38% 17%);animation:fv-fade .7s .1s ease both}
.hero-subcopy{position:absolute;z-index:5;left:3.16%;top:65.8%;margin:0;color:#fff;font-size:1.88cqw;line-height:1.4;font-weight:900;letter-spacing:.035em;text-shadow:0 2px 8px #000;animation:fv-fade .55s .2s ease both}
.hero-button{position:absolute;z-index:6;left:3%;top:78%;width:38.8%;height:11.5%;display:flex;align-items:center;justify-content:center;gap:2.1cqw;border:2px solid #fff;border-radius:999px;background:#fff600;color:#050505;font-size:3.08cqw;line-height:1;font-weight:900;letter-spacing:-.055em;text-decoration:none;white-space:nowrap;box-shadow:0 0 12px #f9e900,0 0 28px #e5db0080;animation:fv-fade .45s .35s ease both;transition:box-shadow .2s ease,transform .2s ease}
.hero-button span{font-size:1em;transition:transform .2s ease}
.hero-button:hover{box-shadow:0 0 14px #fff600,0 0 38px #f9e900;transform:translateY(-2px)}
.hero-button:hover span{transform:translateX(4px)}
.hero-button:focus-visible,.hero-mobile-button:focus-visible{outline:4px solid #fff;outline-offset:4px}
.hero-caption{position:absolute;z-index:6;left:10.6%;top:90.5%;width:30%;margin:0;text-align:center;color:#fff;font-size:1.35cqw;font-weight:800;line-height:1.4;letter-spacing:.075em;text-shadow:0 2px 8px #000;animation:fv-fade .45s .35s ease both}
.hero-caption span{padding:0 .3em}
@keyframes fv-fade{from{opacity:0}to{opacity:1}}
@keyframes fv-copy{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes fv-ui{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:700px){
 .hero-pc{display:none}.hero-sp{display:flex;flex-direction:column;position:relative;isolation:isolate;min-height:100svh;padding:18px 16px 36px;overflow:hidden;background:#050a11}
 .hero-sp:before{content:"";position:absolute;z-index:-1;inset:0;background-image:image-set(url("./assets/approved/01_fv.avif") type("image/avif"),url("./assets/approved/01_fv.webp") type("image/webp"));background-size:auto 100%;background-position:center;filter:blur(35px) brightness(.23);opacity:.9;transform:scale(1.07);animation:fv-fade .48s ease both}
 .hero-copy-mobile{display:block;position:relative;z-index:2;width:100%;max-width:420px;height:auto;margin:0 auto 4px;animation:fv-copy .6s .08s ease both}
 .hero-mobile-scene{position:relative;z-index:1;width:calc(100% + 32px);margin-left:-16px;aspect-ratio:905 / 825;max-height:330px;overflow:hidden;background:#071426}
 .hero-mobile-ui,.hero-mobile-person{position:absolute;inset:0;background-image:image-set(url("./assets/approved/01_fv_mobile.avif") type("image/avif"),url("./assets/approved/01_fv_mobile.webp") type("image/webp"));background-size:100% 100%;background-repeat:no-repeat}
 .hero-mobile-ui{clip-path:polygon(29% 0,100% 0,100% 100%,34% 100%);animation:fv-ui .68s .14s ease both}
 .hero-mobile-person{clip-path:polygon(0 0,71% 0,78% 38%,73% 72%,58% 100%,0 100%);animation:fv-fade .7s .1s ease both}
 .hero-mobile-subcopy{position:relative;z-index:2;margin:14px 0 0;font-size:clamp(15px,4.4vw,18px);line-height:1.46;font-weight:900;letter-spacing:.015em;text-shadow:0 2px 8px #000}
 .hero-mobile-button{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:68px;margin-top:20px;padding:8px;border:2px solid #fff;border-radius:999px;background:#fff600;color:#050505;text-decoration:none;white-space:nowrap;font-size:clamp(22px,6.8vw,28px);font-weight:900;letter-spacing:-.05em;box-shadow:0 0 14px #e7dd00,0 4px 24px #ece20080;animation:fv-fade .45s .35s ease both;transition:transform .2s ease,box-shadow .2s ease}
 .hero-mobile-button:hover{transform:translateY(-2px);box-shadow:0 0 20px #fff600,0 4px 35px #ece200}
 .hero-mobile-button span{transition:transform .2s ease}.hero-mobile-button:hover span{transform:translateX(4px)}
 .hero-mobile-caption{position:relative;z-index:2;margin:15px 0 0;text-align:center;font-size:12px;font-weight:800;letter-spacing:.055em;animation:fv-fade .45s .35s ease both}
 .hero-mobile-caption span{padding:0 6px}
}
@media(max-width:374px){.hero-sp{padding-left:13px;padding-right:13px}.hero-mobile-scene{width:calc(100% + 26px);margin-left:-13px}.hero-mobile-button{font-size:21px}}
@media(prefers-reduced-motion:reduce){.hero-background,.hero-brush,.hero-dashboard,.hero-copy-png,.hero-person,.hero-subcopy,.hero-button,.hero-caption,.hero-sp:before,.hero-copy-mobile,.hero-mobile-ui,.hero-mobile-person,.hero-mobile-button,.hero-mobile-caption{animation:none!important;transition:none!important}}
