/* Home only. No controller / no JS: the site and navbar remain visible. */
html { scrollbar-width:thin; scrollbar-color:#8b96ad var(--jc-off-white); }
html.home-intro-pending,html.home-intro-active { scrollbar-color:#64718e #091935; }
.home-intro { display:none; }
.home-intro-pending::before {
    content:""; position:fixed; inset:0; z-index:1200; background:#091935; pointer-events:none;
}
.home-intro-pending body > :not(.home-intro) { visibility:hidden; }
.home-intro-pending .home-intro,.home-intro-active .home-intro { display:block; }
.home-intro-backdrop {
    position:fixed; inset:0; z-index:1200;
    background:linear-gradient(180deg,#091935 0%,#0d214b 42%,#061532 72%,#030a20 100%);
    will-change:transform;
}
.home-intro-backdrop::before {
    content:""; position:absolute; bottom:calc(100% - 1px); left:0; right:0;
    height:clamp(64px,12vh,140px);
    background:linear-gradient(180deg,rgb(9 25 53 / 0%) 0%,rgb(9 25 53 / 88%) 70%,#091935 100%);
    pointer-events:none;
}
.home-intro-logo {
    position:fixed; top:50%; left:50%; z-index:1202; margin:0; pointer-events:none;
    transform:translate(-50%,-50%); transform-origin:center; opacity:0; will-change:transform,opacity;
}
.home-intro-logo img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; }
.home-intro-logo-dark { opacity:0; }
.home-intro-signature {
    position:fixed; z-index:1201; top:clamp(1.5rem,4vw,3rem); left:clamp(1.25rem,4vw,4rem);
    display:flex; align-items:center; gap:.8rem; max-width:calc(100vw - 2.5rem); margin:0;
    color:#f7f5ef; font:600 clamp(.58rem,.75vw,.68rem)/1.5 var(--font-body,sans-serif);
    letter-spacing:.14em; text-transform:uppercase; opacity:0; pointer-events:none;
}
.home-intro-signature::before { content:""; display:block; flex:none; width:28px; height:1px; background:#d4b810; }
.home-intro-skip {
    position:fixed; z-index:1203; right:clamp(1rem,4vw,4rem); bottom:max(1.25rem,env(safe-area-inset-bottom));
    display:inline-flex; gap:.8rem; align-items:center; min-height:44px; padding:.65rem 1rem;
    border:1px solid rgb(255 255 255 / 35%); border-radius:999px;
    color:#fff; background:#091935; font:500 .78rem var(--font-body,sans-serif); cursor:pointer;
}
.home-intro-skip span { color:#d4b810; }
.home-intro-skip:focus-visible { outline:2px solid #d4b810; outline-offset:5px; }
.home-intro-active .home-intro-target { visibility:hidden !important; }
.home-intro-active [data-header] { will-change:opacity; }
@media (prefers-reduced-motion:reduce) {
    .home-intro-pending::before,.home-intro { display:none !important; }
    .home-intro-pending body > :not(.home-intro) { visibility:visible; }
    .home-intro-active .home-intro-target { visibility:visible !important; }
}
