/* ==========================================================================
   SITE-WIDE MOTION LAYER — styles
   ========================================================================== */
/* Lenis */
html.lenis, html.lenis body{height:auto}
html.lenis{scroll-behavior:auto !important}
.lenis.lenis-stopped{overflow:hidden}

/* Instant cover before JS builds the curtain (with a fail-safe fade) */
html.bg-cover body::after{content:"";position:fixed;inset:0;z-index:9998;background:#18275E;animation:bgFail .3s 2.6s forwards}
@keyframes bgFail{to{opacity:0;visibility:hidden}}

/* Curtain */
#curtain{position:fixed;inset:0 0 auto;height:calc(100vh + 120px);z-index:9999;pointer-events:none;visibility:hidden;will-change:transform}
#curtain .c-panel{position:absolute;inset:0 0 120px;background:#18275E}
#curtain .c-peaks{position:absolute;left:0;right:0;bottom:0;width:100%;height:120px}
#curtain .c-center{position:absolute;left:50%;top:calc(50vh - 10px);transform:translate(-50%,-50%);text-align:center}
#curtain .c-center img{height:64px;width:auto;margin:0 auto}
#curtain .c-count{display:none;margin-top:18px;font:800 15px Sora,sans-serif;letter-spacing:.2em;color:#8FA7E6}
#curtain.loading .c-count{display:block}

/* Heading words */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.wi{display:inline-block;will-change:transform}

/* Scroll progress */
#scrollLine{position:fixed;left:0;top:0;height:3px;width:100%;z-index:120;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,#4162AD,#E61D2C);pointer-events:none}

/* Magnetic buttons keep their own hover lift */
.btn{will-change:transform}
@media (prefers-reduced-motion:reduce){ #curtain{display:none} html.bg-cover body::after{display:none} }
