/* Independent motion study; the approved website is not modified. */
.site-v3 .hero{overflow:hidden;padding-bottom:28px}
.site-v3 .hero-layout{grid-template-columns:1fr;gap:28px}
.site-v3 .hero-copy{text-align:center;max-width:900px;margin:auto}
.site-v3 .hero h1{font-size:clamp(40px,4.5vw,66px);margin:18px 0}
.site-v3 .hero-copy>p{max-width:720px;margin-inline:auto}
.site-v3 .hero .actions,.site-v3 .hero-meta{justify-content:center}
.site-v3 .hero-copy>.alpha3-note{max-width:none;margin-top:10px}
.site-v3 .hero .actions{margin-top:20px}
.assembly-scene{position:relative;perspective:1500px;width:min(100%,1100px);margin:28px auto 0;isolation:isolate}
.site-v3 .assembly-stage{position:relative;transform:none;overflow:visible;border:1px solid #94b8ef4d;background:#101923;box-shadow:0 28px 65px #0008,0 0 45px #4688c81c}
.assembly-stage .stage-heading{border-radius:18px 18px 0 0;background:#111b28}
.assembly-stage .stage-caption{border-radius:0 0 18px 18px;background:#111b28}
.site-v3 .assembly-stage .product-image{padding:0;aspect-ratio:1920/718;background:#0c1017;border-radius:0;overflow:visible;transform-style:preserve-3d}
.site-v3 .assembly-stage .product-image>img{width:100%;height:auto;border-radius:0}
.glass-depth{position:absolute;inset:0;pointer-events:none;z-index:-1}
.glass-depth i{position:absolute;inset:-9px;border:1px solid #a0c2ff45;border-radius:22px;background:linear-gradient(122deg,#70c7ed12,transparent 40%,#9985de0b);box-shadow:inset 0 0 16px #79b1ff0b;transform:translate(-9px,9px) rotate(-1.2deg)}
.glass-depth i:nth-child(2){inset:-15px;transform:translate(9px,-5px) rotate(1.2deg);border-color:#9d92d13b}
.glass-depth i:nth-child(3){inset:-22px;transform:translate(4px,12px) rotate(-.7deg);border-color:#87c3e51c;background:none}
.glass-depth i:after{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;background:conic-gradient(from var(--fm-glint-angle),transparent 20%,#8cc9ff9c 35%,#dbd0f8a1 39%,transparent 43%,transparent 75%,#78bcc753 87%,transparent 92%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:fm-button-glint 14s linear infinite}
.glass-depth i:nth-child(2):after{animation-delay:-5s;animation-direction:reverse}
.glass-depth i:nth-child(3):after{animation-delay:-9s;opacity:.5}
.assembly-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:6px}
.assembly-controls .btn{font-size:11px;padding:8px 15px;min-height:36px}
.assembly-themes{font-size:12px;color:#a6c4e7}
.assembly-overlay{display:none;position:absolute;inset:0;pointer-events:none;transform-style:preserve-3d}
.assembly-piece{position:absolute;display:block;overflow:hidden;transform-origin:center;backface-visibility:hidden}
.site-v3 .assembly-piece img{position:absolute;max-width:none;border-radius:0;display:block}
.assembly-scene.is-assembling .assembly-stage{animation:fm-assembly-base 3.5s cubic-bezier(.2,.65,.2,1) both;transform-style:preserve-3d}
.is-assembling .product-image>img{opacity:0}
.is-assembling .assembly-overlay{display:block}
.is-assembling .assembly-piece{animation:fm-assembly-piece 2.65s cubic-bezier(.2,.68,.2,1) var(--delay) both}
.is-assembling .zoom-label{visibility:hidden}
@keyframes fm-assembly-base{0%,12%{transform:rotateX(15deg) rotateY(-8deg) scale(.91)}85%,100%{transform:none}}
@keyframes fm-assembly-piece{0%,15%{transform:translate3d(var(--dx),var(--dy),var(--z));filter:brightness(1.12);opacity:.9}75%,100%{transform:translate3d(0,0,0);filter:brightness(1);opacity:1}}
.assembly-scene.is-offscreen .glass-depth i:after{animation-play-state:paused}
/* Real theme screenshots move in depth, not in a perpetual carousel. */
.site-v3 .theme-composition{overflow:hidden;perspective:1300px}
.site-v3 .theme-composition .theme-layer{animation:none!important;transition:clip-path .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1),opacity .6s;visibility:visible!important;backface-visibility:hidden}
.site-v3 .theme-composition:not([data-theme=mix]) .theme-layer{clip-path:inset(0 round 12px);opacity:0;transform:translateY(12px) scale(.95);z-index:1}
.site-v3 .theme-composition[data-theme=soft] .theme-soft,.site-v3 .theme-composition[data-theme=gradient] .theme-gradient,.site-v3 .theme-composition[data-theme=contrast] .theme-contrast{opacity:1;transform:none;z-index:4}
.site-v3 .theme-composition[data-theme=mix] .theme-layer{opacity:1;transform:none}
.site-v3 .theme-composition[data-theme=mix] .theme-soft{clip-path:polygon(0 0,40% 0,24% 100%,0 100%)}
.site-v3 .theme-composition[data-theme=mix] .theme-gradient{clip-path:polygon(40% 0,76% 0,60% 100%,24% 100%)}
.site-v3 .theme-composition[data-theme=mix] .theme-contrast{clip-path:polygon(76% 0,100% 0,100% 100%,60% 100%)}
@media(max-width:800px){.site-v3 .hero-layout{gap:22px}.assembly-scene{width:calc(100% - 18px);margin-top:12px}.glass-depth i{inset:-5px}.glass-depth i:nth-child(2){inset:-8px}.glass-depth i:nth-child(3){display:none}.assembly-scene.is-assembling .assembly-stage{animation-name:fm-assembly-mobile}.is-assembling .assembly-piece{--z:0px!important;--dx:0px!important;--dy:14px!important}.site-v3 .hero h1{font-size:clamp(39px,7.5vw,60px)}.assembly-controls{gap:14px}.assembly-themes{font-size:11px}}
@keyframes fm-assembly-mobile{from{opacity:.3;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.assembly-overlay{display:none!important}.is-assembling .product-image>img{opacity:1}.assembly-stage{transform:none!important}.glass-depth i:after{animation:none!important}.site-v3 .theme-composition .theme-layer{transition:none!important}}
.no-motion .assembly-overlay{display:none!important}.no-motion .is-assembling .product-image>img{opacity:1}.no-motion .assembly-stage{transform:none!important}.no-motion .glass-depth i:after{animation:none!important}
