/* ── Base ── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }

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

:root {
  --navy: #0f1c3f;
  --navy-light: #1a2d56;
  --gold: #d4a843;
  --gold-dark: #b8862d;
}

/* ── Nav ── */
#nav {
  background: transparent;
  color: #fff;
}
#nav.scrolled {
  background: rgba(9, 18, 41, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 1px 0 rgba(255,255,255,0.05);
}
#nav.scrolled .nav-link { color: rgba(255,255,255,0.7); }
#nav.scrolled .nav-link:hover { color: #d4a843; }
#nav.scrolled #nav-logo-text { color: #fff; }

.nav-link {
  color: rgba(255,255,255,0.6);
  text-decoration: none;
  transition: color 0.3s ease;
}
.nav-link:hover { color: #d4a843; }

/* ── Mobile menu ── */
#mobile-menu.open {
  opacity: 1;
  pointer-events: all;
}
#mobile-menu.open .mobile-link {
  animation: fadeUp 0.4s ease forwards;
  opacity: 1;
}
.mobile-link {
  color: rgba(255,255,255,0.7);
  text-decoration: none;
  transition: color 0.3s ease;
}
.mobile-link:hover { color: #d4a843; }

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ── Hero animations ── */
.hero-anim {
  opacity: 0;
  transform: translateY(24px);
  animation: heroIn 0.8s ease forwards;
}
.hero-anim:nth-child(2) { animation-delay: 0.15s; }
.hero-anim:nth-child(3) { animation-delay: 0.3s; }
.hero-anim:nth-child(4) { animation-delay: 0.45s; }

@keyframes heroIn {
  to { opacity: 1; transform: translateY(0); }
}

/* ── Scroll reveal ── */
.reveal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: no-preference) {
  .reveal {
    opacity: 0;
    transform: translateY(28px);
  }
}

/* ── Selection ── */
::selection {
  background: rgba(212, 168, 67, 0.25);
  color: #0f1c3f;
}

/* ── Form select arrow ── */
select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.4)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
}

/* ── Scrollbar ── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #0f1c3f; }
::-webkit-scrollbar-thumb { background: rgba(212,168,67,0.4); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(212,168,67,0.6); }
