@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:wght@600;700&display=swap");

:root { --wine: #b51e40; --wine-deep: #8f1732; --gold: #cda066; --ink: #30251f; --cream: #fffaf2; }
* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; }
body {
  color: var(--ink);
  background: radial-gradient(circle at 48% 42%, rgba(255,255,255,.96) 0 20%, transparent 55%), linear-gradient(145deg, #fffdf9 0%, var(--cream) 52%, #f8ecdc 100%);
  font-family: "DM Sans", Arial, sans-serif;
}
.coming-soon { position: relative; isolation: isolate; display: grid; min-height: 100svh; place-items: center; overflow: hidden; padding: 48px 24px 72px; }
.coming-soon::before { position: absolute; inset: 22px; z-index: -1; border: 1px solid rgba(205,160,102,.28); border-radius: 32px; content: ""; }
.content { width: min(760px, 100%); text-align: center; animation: arrive 900ms cubic-bezier(.2,.75,.25,1) both; }
.logo { display: block; width: min(390px, 78vw); height: auto; margin: 0 auto 36px; }
.divider { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 30px; }
.divider::before, .divider::after { width: 52px; height: 1px; background: rgba(181,30,64,.35); content: ""; }
.divider span { width: 8px; height: 8px; border: 2px solid var(--gold); transform: rotate(45deg); }
.eyebrow { margin: 0 0 14px; color: var(--wine); font-size: clamp(.76rem, 2vw, .9rem); font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
h1 { margin: 0; color: var(--wine-deep); font-family: "Playfair Display", Georgia, serif; font-size: clamp(3.5rem, 10vw, 7.2rem); font-weight: 700; letter-spacing: -.045em; line-height: .95; }
.message { margin: 24px 0 0; color: rgba(48,37,31,.7); font-size: clamp(1rem, 2.5vw, 1.2rem); letter-spacing: .02em; }
.glow { position: absolute; z-index: -2; border-radius: 999px; filter: blur(2px); opacity: .38; }
.glow-one { top: -18vw; right: -12vw; width: 46vw; height: 46vw; background: radial-gradient(circle, rgba(205,160,102,.34), transparent 68%); }
.glow-two { bottom: -20vw; left: -14vw; width: 52vw; height: 52vw; background: radial-gradient(circle, rgba(181,30,64,.16), transparent 68%); }
.footer { position: absolute; bottom: 40px; left: 50%; margin: 0; color: rgba(48,37,31,.46); font-size: .78rem; letter-spacing: .11em; transform: translateX(-50%); white-space: nowrap; }
@keyframes arrive { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 600px) {
  .coming-soon { padding: 40px 28px 68px; }
  .coming-soon::before { inset: 12px; border-radius: 24px; }
  .logo { margin-bottom: 30px; }
  .eyebrow { line-height: 1.6; }
  .footer { bottom: 27px; }
}
@media (prefers-reduced-motion: reduce) { .content { animation: none; } }
