:root { --navy: #071522; --navy-lower: #082139; --white: #f1f1ee; --rule: rgba(241, 241, 238, .72); }
* { box-sizing: border-box; }
html, body { min-height: 100%; }
body { margin: 0; overflow: hidden; background: var(--navy); color: var(--white); font-family: "Avenir Next", Avenir, "Helvetica Neue", Helvetica, sans-serif; }
.holding-page { position: relative; min-height: 100svh; overflow: hidden; isolation: isolate; background: linear-gradient(180deg, var(--navy) 0%, #071725 55%, var(--navy-lower) 100%); }
.path-lines { position: absolute; z-index: -1; top: 13.2%; left: -8%; width: 116%; height: auto; max-width: none; pointer-events: none; animation: reveal-lines 1.6s cubic-bezier(.2,.72,.2,1) both; }
.brand-lockup { position: absolute; inset: 0; text-align: center; }
.brand-logo { position: absolute; top: 29.4%; left: 50%; width: clamp(22rem, 27.9vw, 29.5rem); height: auto; filter: invert(1) grayscale(1) brightness(1.16); transform: translateX(-50%); opacity: 0; animation: appear .9s .12s ease-out forwards; }
.slogan-row { position: absolute; top: 53.6%; left: 50%; display: grid; grid-template-columns: 3.8rem auto 3.8rem; align-items: center; gap: 1.35rem; transform: translateX(-50%); opacity: 0; animation: appear .9s .38s ease-out forwards; }
.slogan-row span { display: block; height: 1px; background: var(--rule); }
h1 { margin: 0; font-size: clamp(1.75rem, 2.12vw, 2.25rem); font-weight: 400; letter-spacing: -.025em; line-height: 1; white-space: nowrap; }
.profile { position: absolute; top: 76.8%; left: 50%; display: flex; align-items: center; justify-content: center; gap: clamp(1.75rem, 2.15vw, 2.3rem); width: min(60rem, 90vw); color: rgba(241, 241, 238, .59); transform: translateX(-50%); opacity: 0; animation: appear .9s .62s ease-out forwards; }
.profile p { margin: 0; font-size: clamp(.92rem, 1.3vw, 1.3rem); font-weight: 400; line-height: 1.2; white-space: nowrap; }
.profile p:nth-of-type(2) { text-transform: uppercase; }
.profile p:nth-of-type(3) { font-size: clamp(.82rem, 1.12vw, 1.1rem); }
.profile i { display: block; width: 1px; height: 2rem; flex: 0 0 1px; background: rgba(241, 241, 238, .38); }
.coming-soon { position: absolute; top: 84.7%; left: 50%; margin: 0; color: rgba(241, 241, 238, .43); font-size: clamp(.95rem, 1.3vw, 1.25rem); font-weight: 400; letter-spacing: .005em; white-space: nowrap; transform: translateX(-50%); opacity: 0; animation: appear .9s .8s ease-out forwards; }
@keyframes appear { from { opacity: 0; translate: 0 .65rem; } to { opacity: 1; translate: 0 0; } }
@keyframes reveal-lines { from { opacity: 0; clip-path: inset(0 48% 0 48%); } to { opacity: 1; clip-path: inset(0); } }
@media (max-width: 700px) {
  .path-lines { top: 23%; left: 50%; width: 180%; transform: translateX(-50%); }
  .brand-logo { top: 23%; width: min(74vw, 19rem); }
  .slogan-row { top: 48.2%; grid-template-columns: minmax(1.5rem, 9vw) auto minmax(1.5rem, 9vw); gap: .8rem; }
  h1 { font-size: clamp(1.42rem, 6.3vw, 1.85rem); }
  .profile { top: 63%; width: 88vw; flex-direction: column; gap: .55rem; }
  .profile p, .profile p:nth-of-type(3) { font-size: .8rem; }
  .profile i { width: 2rem; height: 1px; }
  .coming-soon { top: auto; bottom: max(14vh, env(safe-area-inset-bottom)); font-size: .9rem; }
}
@media (max-height: 620px) and (orientation: landscape) {
  .brand-logo { top: 17%; width: 14rem; }
  .slogan-row { top: 50%; }
  .profile { top: 68%; }
  .coming-soon { top: 85%; bottom: auto; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-delay: 0ms !important; } }
