:root {
  color-scheme: light;
  --red: #8d1823;
  --gold: #e4b45e;
  --cream: #fff8ec;
  --white: #fffdf8;
}

* { box-sizing: border-box; }
html, body { width: 100%; min-width: 320px; min-height: 100%; margin: 0; }
body { background: #52121a; color: var(--white); font-family: 'DM Sans', sans-serif; }
a { color: inherit; text-decoration: none; }

.launch-screen {
  position: relative;
  display: flex;
  min-height: 100svh;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  isolation: isolate;
  padding: 34px clamp(24px, 6vw, 92px) 31px;
  background: #52121a;
}
.hero-photo, .hero-wash, .frame { position: absolute; inset: 0; pointer-events: none; }
.hero-photo {
  z-index: -3;
  background: url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=2400&q=90') center 55% / cover no-repeat;
  animation: arrive 1.25s ease-out both;
}
.hero-wash {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(52, 9, 18, .80) 0%, rgba(71, 13, 22, .62) 39%, rgba(70, 14, 24, .18) 76%, rgba(45, 12, 19, .18) 100%),
    linear-gradient(0deg, rgba(40, 9, 15, .58) 0%, rgba(56, 12, 19, .08) 30%, rgba(52, 10, 17, .25) 100%);
}
.frame { z-index: -1; inset: 17px; border: 1px solid rgba(255, 248, 236, .2); }

.masthead, .footline { display: flex; align-items: center; justify-content: space-between; }
.masthead { min-height: 58px; }
.brand { display: inline-flex; align-items: center; gap: 13px; font: 500 16px 'Playfair Display', serif; letter-spacing: .01em; }
.brand img { width: 48px; height: 48px; object-fit: contain; border-radius: 50%; box-shadow: 0 4px 22px rgba(20, 0, 3, .19); }
.brand b { color: var(--white); font-weight: 500; }
.top-note { display: flex; align-items: center; gap: 10px; color: rgba(255,253,248,.82); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.top-note i { width: 6px; height: 6px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 4px rgba(228,180,94,.15); }

.hero-copy { width: min(760px, 78vw); margin: auto 0; padding: 34px 0 45px; transform: translateY(-8px); animation: rise .85s .15s ease-out both; }
.eyebrow { display: flex; align-items: center; gap: 13px; margin: 0 0 23px; color: #f5d9ad; font-size: 10px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.eyebrow-line { width: 33px; height: 1px; background: var(--gold); }
h1 { margin: 0; color: var(--white); font: 500 clamp(54px, 7.8vw, 108px)/.99 'Playfair Display', Georgia, serif; letter-spacing: -.052em; }
h1 em { color: #f3c975; font-weight: 500; }
.intro { max-width: 435px; margin: 25px 0 31px; color: rgba(255,253,248,.84); font-size: 15px; line-height: 1.8; }
.launch-status { display: flex; align-items: center; gap: 10px; color: #fffaf1; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 4px rgba(228,180,94,.16); }
.status-rule { width: 34px; height: 1px; margin: 0 4px; background: rgba(255,248,236,.5); }
.status-caption { color: rgba(255,253,248,.7); font-size: 9px; font-weight: 400; letter-spacing: .13em; }

.footline { min-height: 36px; color: rgba(255,253,248,.8); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.trust strong { margin-right: 8px; color: var(--gold); font: 600 17px 'Playfair Display', serif; letter-spacing: .01em; }
.foot-note { display: flex; align-items: center; gap: 10px; }
.sun-mark { color: var(--gold); font-size: 15px; }
.side-mark { position: absolute; top: 50%; right: 36px; color: rgba(255,253,248,.65); font-size: 8px; letter-spacing: .24em; writing-mode: vertical-rl; transform: translateY(-50%); }

@keyframes rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(-8px); } }
@keyframes arrive { from { opacity: .72; transform: scale(1.035); } to { opacity: 1; transform: scale(1); } }
@media (max-width: 700px) {
  .launch-screen { padding: 24px 25px 25px; }
  .frame { inset: 10px; }
  .hero-photo { background-position: 58% center; }
  .hero-wash { background: linear-gradient(90deg, rgba(48,8,16,.77), rgba(58,10,18,.44)), linear-gradient(0deg, rgba(37,7,13,.66), rgba(52,10,17,.1) 75%); }
  .brand { gap: 10px; font-size: 14px; }
  .brand img { width: 42px; height: 42px; }
  .top-note { max-width: 105px; font-size: 8px; line-height: 1.6; letter-spacing: .13em; }
  .hero-copy { width: 100%; padding: 30px 0; transform: translateY(-12px); }
  .eyebrow { margin-bottom: 20px; font-size: 9px; letter-spacing: .16em; }
  h1 { font-size: clamp(49px, 13.6vw, 76px); }
  .intro { max-width: 340px; margin: 20px 0 26px; font-size: 14px; }
  .launch-status { flex-wrap: wrap; font-size: 10px; }
  .status-caption { width: 100%; margin: 3px 0 0 17px; }
  .footline { align-items: flex-end; gap: 16px; font-size: 8px; letter-spacing: .08em; }
  .trust { white-space: nowrap; }
  .trust strong { font-size: 15px; }
  .foot-note { max-width: 155px; text-align: right; line-height: 1.5; }
  .side-mark { display: none; }
}
@media (max-width: 370px) {
  .top-note { max-width: 90px; }
  .footline { font-size: 7px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}
