*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body { width: 100%; height: 100%; overflow: hidden; font-family: 'Segoe UI', system-ui, sans-serif; }
body { background: #0B1E3D; }
#particles { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 0; }
.splash { position: relative; z-index: 1; width: 100%; height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 2rem; }
.logo-wrap { display: flex; align-items: center; justify-content: center; margin-bottom: 1.5rem; opacity: 0; transform: scale(0.5); transition: opacity 0.7s cubic-bezier(.34,1.56,.64,1), transform 0.7s cubic-bezier(.34,1.56,.64,1); }
.logo-wrap.v { opacity: 1; transform: scale(1); }
.splash-logo-img { width: min(340px, 68vw); height: auto; display: block; }
.brand-wrap { text-align: center; margin-bottom: 1.75rem; opacity: 0; transform: translateY(20px); transition: opacity .6s, transform .6s; transition-delay: .35s; }
.brand-wrap.v { opacity: 1; transform: translateY(0); }
.brand-super { font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: #C9A84C; margin-bottom: 8px; }
.brand-name { font-size: clamp(42px,7vw,68px); font-weight: 700; letter-spacing: -.02em; line-height: 1; }
.brand-name .w { color: #fff; } .brand-name .g { color: #C9A84C; }
.punchline { text-align: center; margin-bottom: 2.5rem; display: flex; flex-direction: column; gap: 6px; align-items: center; }
.line { font-size: clamp(16px,2.5vw,22px); font-weight: 300; color: rgba(255,255,255,.7); overflow: hidden; white-space: nowrap; max-width: 0; transition: max-width .9s cubic-bezier(.4,0,.2,1); }
.line.v { max-width: 600px; }
.line em { font-style: normal; font-weight: 500; color: #C9A84C; }
.cta-wrap { display: flex; flex-direction: column; align-items: center; gap: 12px; opacity: 0; transform: translateY(16px); transition: opacity .5s, transform .5s; }
.cta-wrap.v { opacity: 1; transform: translateY(0); }
.cta-btn { display: inline-flex; align-items: center; gap: 10px; padding: 13px 32px; background: #C9A84C; color: #0B1E3D; font-weight: 700; text-decoration: none; border-radius: 50px; }
.cta-btn:hover { background: #D4B560; }
.cta-sub { font-size: 12px; color: rgba(255,255,255,.4); }
