.brand-logo{display:block;width:clamp(8rem,14vw,12rem);height:3.5rem;object-fit:contain;object-position:left center}
.site-intro[hidden],.intro-skip[hidden]{display:none}
.site-intro{position:fixed;inset:0;z-index:20;color:#fff;pointer-events:none;overflow:hidden}
.intro-curtain,.intro-scene{position:absolute;inset:0;width:100%;height:100%}
.intro-scene{transition:opacity .65s ease,transform .85s cubic-bezier(.4,0,.2,1)}
.intro-border{position:absolute;inset:1rem;border:1px solid #ffffff20;border-radius:1.25rem}
.intro-watermark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-12deg);font:italic 45vw/.8 var(--display);letter-spacing:-.09em;color:#ffffff03;white-space:nowrap}
.intro-top{position:absolute;top:2.5rem;left:50%;transform:translateX(-50%);font:1.7rem var(--display);letter-spacing:-.12em}
.intro-top img{width:8rem;height:3rem;object-fit:contain}
.intro-center{position:absolute;inset:25% 7% 28%;display:grid;grid-template-columns:1fr minmax(0,2fr) 1fr;align-items:center;gap:1rem;text-align:center}
.intro-side{font-size:.65rem;letter-spacing:.65em;animation:intro-side-in 1.1s .2s both}
.intro-identity{position:relative;animation:intro-brand-in 1.1s .1s both}
.intro-word{display:block;font-family:var(--display);font-size:clamp(2.4rem,5.5vw,6rem);line-height:1;letter-spacing:-.065em}
.intro-signature{display:block;margin-top:-.05em;font:italic clamp(2rem,4vw,4.5rem)/1 var(--display);transform:rotate(-12deg)}
.intro-logo{width:min(100%,30rem);height:auto;max-height:28vh;object-fit:contain}
.intro-bottom{position:absolute;bottom:2.3rem;left:50%;width:80%;transform:translateX(-50%);text-align:center}
.intro-bottom p{margin:1.4rem 0 0;font-size:.56rem;line-height:1.6;letter-spacing:.06em;text-transform:uppercase}
.intro-line{display:block;position:relative;width:1px;height:4.5rem;margin:auto;background:#ffffff25;overflow:hidden}
.intro-line>span{position:absolute;inset:0;background:white;transform-origin:top;animation:intro-line-fill 2.1s .4s cubic-bezier(.45,0,.2,1) both}
.intro-skip{position:fixed;bottom:1.5rem;right:2rem;z-index:21;min-height:44px;border:0;background:transparent;color:white;font: .65rem var(--body);letter-spacing:.08em;cursor:pointer}
.intro-skip:focus-visible{outline:2px solid white;outline-offset:4px}
.intro-running{overflow:hidden}
.intro-running .hero-copy,.intro-running .hero-media img{animation:none}
.intro-running .hero-copy,.intro-running .site-header,.intro-running .hero-bottom{opacity:0}
.intro-opening .intro-scene{opacity:0;transform:translateY(-3rem)}
.intro-reveal .hero-copy,.intro-reveal .site-header,.intro-reveal .hero-bottom{opacity:1;transition:opacity 1s ease}
.intro-reveal .hero-media img{animation:intro-image-settle 1.7s cubic-bezier(.2,.7,.3,1) both;transform-origin:center}
@keyframes intro-brand-in{from{opacity:0;transform:translateY(1.4rem)}to{opacity:1;transform:translateY(0)}}
@keyframes intro-side-in{from{opacity:0;letter-spacing:1em}to{opacity:1;letter-spacing:.65em}}
@keyframes intro-line-fill{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes intro-image-settle{from{transform:scale(1.1)}to{transform:scale(1)}}
@media(max-width:47.99rem){.intro-center{inset:30% 8% 30%;grid-template-columns:1fr 1fr;row-gap:2rem}.intro-identity{grid-column:1/-1;grid-row:1}.intro-word{font-size:clamp(2.8rem,12vw,5rem)}.intro-side{font-size:.5rem}.intro-signature{font-size:2.5rem}.intro-top{top:2rem}.intro-bottom{bottom:4rem}.intro-skip{bottom:1rem;right:1.5rem}.intro-line{height:3.5rem}}
@media(prefers-reduced-motion:reduce){.site-intro,.intro-skip{display:none!important}.intro-reveal .hero-media img{animation:none}.intro-reveal .hero-copy,.intro-reveal .site-header,.intro-reveal .hero-bottom{transition:none}}
