:root { --cream: #faf6f0; --white: #fff; --deep: #173b32; --teal: #247e8f; --teal-ink: #1d6878; --blush: #f3c7c0; --muted: #5d6b67;
  --serif: "Cormorant Garamond", Georgia, serif; --script: "Allura", "Snell Roundhand", cursive; --sans: "Manrope", "Helvetica Neue", Arial, sans-serif; }
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--deep); color: var(--deep); font: 400 16px/1.6 var(--sans); -webkit-font-smoothing: antialiased; }
.soon { position: relative; min-height: 100vh; min-height: 100svh; display: grid; place-items: center; padding: 48px 16px 72px; overflow: hidden; }
.bg { position: absolute; inset: 0; }
.bg img { width: 100%; height: 100%; object-fit: cover; display: block; animation: drift 24s cubic-bezier(.45, 0, .55, 1) infinite alternate; }
.soon::before { content: ""; position: absolute; inset: 0; z-index: 1; background: radial-gradient(ellipse 60% 70% at 50% 50%, rgba(23, 59, 50, .28), rgba(23, 59, 50, .05) 70%); }
.card { position: relative; z-index: 2; width: min(560px, 100%); text-align: center; padding: clamp(28px, 5vw, 48px) clamp(22px, 5vw, 52px);
  background: rgba(250, 246, 240, .94); border-radius: 32px; box-shadow: 0 30px 60px -30px rgba(15, 33, 29, .55); animation: rise 1.1s cubic-bezier(.22, 1, .36, 1) both; }
.logo { width: min(260px, 72%); height: auto; display: block; margin: 0 auto 10px; }
.script { display: block; font: 400 2rem/1 var(--script); color: var(--teal); }
h1 { margin: 2px 0 14px; font: 600 clamp(2.8rem, 8vw, 4.2rem)/1 var(--serif); letter-spacing: -.01em; color: var(--deep); }
p { margin: 0 auto 12px; max-width: 30em; color: var(--muted); }
.talk { color: var(--deep); font-weight: 600; margin-top: 18px; }
.acts { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 18px 0 20px; }
.btn { display: inline-block; padding: 13px 24px; border-radius: 99px; font-weight: 700; text-decoration: none; transition: background .3s ease, color .3s ease, border-color .3s ease; }
.btn.primary { background: var(--teal); color: #fff; }
.btn.primary:hover { background: var(--deep); }
.btn.ghost { border: 1px solid rgba(23, 59, 50, .28); color: var(--deep); }
.btn.ghost:hover { border-color: var(--deep); }
.social { list-style: none; display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; padding: 16px 0 0; margin: 0; border-top: 1px solid rgba(23, 59, 50, .1); }
.social a { display: inline-block; padding: 6px 14px; border-radius: 99px; background: #fbebe7; color: var(--teal-ink); font-weight: 700; font-size: .85rem; text-decoration: none; }
.social a:hover { background: var(--blush); }
.foot { position: absolute; z-index: 2; left: 0; right: 0; bottom: 14px; margin: 0; max-width: none; text-align: center; font-size: .8rem; color: rgba(255, 255, 255, .88); text-shadow: 0 1px 8px rgba(15, 33, 29, .6); }
.foot a { color: #fff; }
@keyframes rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes drift { from { transform: scale(1.04) translate3d(0, 0, 0); } to { transform: scale(1.1) translate3d(-1.5%, -1%, 0); } }
@media (prefers-reduced-motion: reduce) { .card, .bg img { animation: none; } }
