/* Shared site chrome — nav & footer (vertical pages) */

:root {
  --bg: #0a0a0a;
  --bg-elevated: #131313;
  --fg: #f5f5f4;
  --fg-muted: rgba(245, 245, 244, 0.62);
  --fg-faint: rgba(245, 245, 244, 0.32);
  --line: rgba(245, 245, 244, 0.12);
  --line-strong: rgba(245, 245, 244, 0.24);
  --gold: #c9a24a;
  --gold-light: #e8c97a;
  --gold-glow: rgba(201, 162, 74, 0.22);
  --gold-line: rgba(201, 162, 74, 0.18);
  --glow-gold: rgba(201, 162, 74, 0.12);
  --glow-gold-soft: rgba(201, 162, 74, 0.07);
  --glow-cyan: rgba(94, 228, 247, 0.05);
  --t-xs: 11px;
  --t-sm: 13px;
  --s-2: 8px;
  --s-3: 16px;
  --s-4: 24px;
  --s-5: 40px;
  --s-6: 64px;
  --s-7: 96px;
  --s-8: 144px;
  --font-display: "Fraunces", "Times New Roman", serif;
  --font-body: "Inter Tight", -apple-system, BlinkMacSystemFont, sans-serif;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast: 200ms;
}

/* Ambient page glow — inspired by layered radial washes (HVT-style) */
@keyframes ambientGlowBreathe {
  0%, 100% { opacity: 0.72; transform: translateX(-50%) scale(1); }
  50% { opacity: 1; transform: translateX(-50%) scale(1.06); }
}

.page-ambient {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  overflow: hidden;
}

.page-ambient__wash {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 58% 68% at 62% 38%, var(--glow-gold) 0%, transparent 72%),
    radial-gradient(ellipse 36% 48% at 10% 78%, var(--glow-cyan) 0%, transparent 72%),
    radial-gradient(ellipse 32% 42% at 88% 18%, var(--glow-gold-soft) 0%, transparent 68%);
}

.page-ambient__pulse {
  position: absolute;
  top: -8%;
  left: 50%;
  width: min(920px, 125vw);
  height: 620px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse 52% 46% at 50% 0%, rgba(201, 162, 74, 0.14) 0%, transparent 72%);
  animation: ambientGlowBreathe 6s ease-in-out infinite;
}

.section-ambient {
  position: relative;
  overflow: hidden;
}

.section-ambient::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse 70% 55% at 50% 40%, var(--glow-gold-soft) 0%, transparent 68%);
}

.section-ambient > .section-inner,
.section-ambient > .vertical-main {
  position: relative;
  z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
  .page-ambient__pulse,
  .vertical-hero::before {
    animation: none;
  }
}

.brand-logo {
  display: block;
  height: auto;
  object-fit: contain;
  user-select: none;
}

.nav .brand-logo--mark {
  display: block;
  height: 70px;
  width: auto;
  min-width: 54px;
  max-height: 70px;
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 2px 20px rgba(201, 162, 74, 0.35));
}

.nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  height: 76px;
  padding: 0 var(--s-5);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-4);
  background: #0a0a0a;
  border-bottom: 1px solid var(--gold-line);
}

.nav-logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  height: 100%;
  text-decoration: none;
  line-height: 0;
}

.nav-end {
  display: flex;
  align-items: center;
  gap: clamp(var(--s-3), 3vw, var(--s-5));
  margin-left: auto;
}

.nav-links {
  display: flex;
  gap: clamp(var(--s-3), 3vw, var(--s-5));
  list-style: none;
}

.nav-links a {
  color: var(--fg);
  text-decoration: none;
  font-size: var(--t-xs);
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  transition: opacity var(--dur-fast) var(--ease-out);
}

.nav-links a:hover { opacity: 0.55; }

.brand-logo--footer {
  width: min(280px, 62vw);
  margin: 0 auto var(--s-5);
  opacity: 0.92;
  filter: drop-shadow(0 4px 32px var(--gold-glow));
}

.site-footer {
  border-top: 1px solid var(--gold-line);
  padding: var(--s-7) var(--s-5) var(--s-5);
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(201, 162, 74, 0.06), transparent 55%),
    var(--bg);
}

.site-footer-inner { max-width: 960px; margin: 0 auto; }

.footer-brand {
  display: block;
  text-align: center;
  text-decoration: none;
  line-height: 0;
  margin-bottom: var(--s-2);
}

.site-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-4) var(--s-5);
  margin-bottom: var(--s-5);
  list-style: none;
}

.site-footer-links a {
  font-size: var(--t-xs);
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--fg-muted);
  text-decoration: none;
}

.site-footer-links a:hover { color: var(--gold-light); }

.site-footer-support {
  font-size: var(--t-sm);
  line-height: 1.6;
  color: var(--fg-muted);
  margin-bottom: var(--s-4);
}

.site-footer-support a {
  color: var(--gold-light);
  text-decoration: none;
}

.site-footer-support a:hover {
  text-decoration: underline;
}

.site-footer-copy {
  font-size: var(--t-sm);
  color: var(--fg-muted);
  margin-bottom: var(--s-4);
}

.site-footer-risk {
  font-size: var(--t-xs);
  line-height: 1.65;
  color: var(--fg-faint);
}

.nav-login.nav-login--secondary {
  color: var(--gold-light);
  background: transparent;
  border: 1px solid var(--gold);
  box-shadow: none;
}

.nav-login.nav-login--secondary:hover {
  filter: none;
  background: rgba(201, 162, 74, 0.08);
}

@media (max-width: 900px) {
  .nav-links { display: none; }
}

@media (max-width: 720px) {
  .nav { height: auto; min-height: 64px; padding: 10px var(--s-4); }
  .nav .brand-logo--mark { height: 52px; max-height: 52px; }
}
