@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');

:root {
  --black:      #030108;
  --black-mid:  #0b0416;
  --black-soft: #16092a;
  --gold:       #d4af7a;
  --gold-dim:   #8b6a3e;
  --gold-dark:  #4a3020;
  --gold-faint: #2e1d0e;
  --purple:     #9b7fc2;
  --teal:       #7fc2ae;
  --text-muted: #6b5030;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  background: radial-gradient(ellipse at 50% 0%, #1c0830 0%, #0b0416 45%, #030108 100%) fixed;
  background-attachment: fixed;
  color: var(--gold);
  font-family: 'Cormorant Garamond', serif;
  min-height: 100vh;
  overflow-x: hidden;
}

/* ── Stars ─────────────────────────────────────── */
.star {
  position: fixed;
  border-radius: 50%;
  background: var(--gold);
  pointer-events: none;
  z-index: 0;
  animation: twinkle var(--duration, 3s) var(--delay, 0s) infinite alternate;
}

/* ── Keyframes ──────────────────────────────────── */
@keyframes twinkle    { from { opacity: .04 } to { opacity: .75 } }
@keyframes fadeUp     { from { opacity: 0; transform: translateY(18px) } to { opacity: 1; transform: translateY(0) } }
@keyframes cardReveal { from { opacity: 0; transform: translateY(20px) } to { opacity: 1; transform: translateY(0) } }
@keyframes spin       { to { transform: rotate(360deg) } }
@keyframes spinR      { to { transform: rotate(-360deg) } }
@keyframes pulse      { 0%,100% { opacity: .7 } 50% { opacity: 1 } }
@keyframes dotPulse   { 0%,80%,100% { opacity: 0 } 40% { opacity: 1 } }
@keyframes shimmer    { 0% { background-position: -200% center } 100% { background-position: 200% center } }

/* ── Card Flip ──────────────────────────────────── */
.card-scene  { perspective: 1200px; }
.card-inner  { transform-style: preserve-3d; transition: transform 1.2s cubic-bezier(.4,0,.2,1); }
.card-inner.flipped { transform: rotateY(180deg); }
.card-face   { backface-visibility: hidden; position: absolute; inset: 0; }
.card-front  { transform: rotateY(180deg); }

/* ── Buttons ────────────────────────────────────── */
.btn-gold {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 36px;
  border: 1px solid var(--gold);
  background: transparent;
  color: var(--gold);
  font-family: 'Cinzel', serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 1.5px;
  cursor: pointer;
  transition: background .3s, box-shadow .3s, transform .2s;
  text-decoration: none;
  white-space: nowrap;
}
.btn-gold:hover {
  background: rgba(212,175,122,.12);
  box-shadow: 0 0 28px rgba(212,175,122,.35);
  transform: translateY(-1px);
}

/* ── Sections ───────────────────────────────────── */
section { position: relative; z-index: 1; }

/* ── Gold gradient text ─────────────────────────── */
.gold-gradient {
  background: linear-gradient(135deg, #e8d4a0 0%, #d4af7a 40%, #b8892e 70%, #d4af7a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── Ornament ───────────────────────────────────── */
.ornament {
  font-size: 14px;
  letter-spacing: 16px;
  color: var(--gold-dim);
  font-family: 'Cinzel', serif;
  margin-bottom: 20px;
  display: block;
}

/* ── Responsive ─────────────────────────────────── */
@media (max-width: 640px) {
  .btn-gold { padding: 13px 24px; font-size: 14px; }
}
