/* Shared tokens for all 4 homepage directions */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
:root {
  /* Brand navy — anchored to logo #375073 */
  --navy-50:#f3f5f8; --navy-100:#d6dce6; --navy-200:#aebac9; --navy-300:#8595ad;
  --navy-400:#5e7191; --navy-500:#375073; --navy-600:#2e4361; --navy-700:#25364e;
  --navy-800:#1c293b; --navy-900:#131c28; --navy-950:#0a0e15;
  --red-400:#e4685a; --red-500:#d63e37; --red-600:#af362f;
  --neutral-50:#fafafa; --neutral-100:#f4f4f5; --neutral-200:#e4e4e7;
  --neutral-300:#d4d4d8; --neutral-400:#a1a1aa; --neutral-500:#71717a;
  --neutral-600:#52525b; --neutral-700:#3f3f46; --neutral-900:#18181b;
  --rule:#ededf0;
  --font-sans:"Inter",system-ui,sans-serif;
  --font-mono:"JetBrains Mono",monospace;
  --ease:cubic-bezier(0.16,1,0.3,1);
  --max:1280px;
}
body { font-family: var(--font-sans); color: var(--navy-900); font-size: 16px; line-height: 1.5; font-feature-settings: "cv11","ss01","ss03"; background:#fff; }
*:focus-visible { outline: 2px solid var(--red-500); outline-offset: 3px; border-radius: 2px; }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation: none !important; transition: none !important; } html { scroll-behavior: auto; } }
.container { max-width: var(--max); margin: 0 auto; padding: 0 32px; }
.btn { display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border-radius:8px; font:600 14px/1 var(--font-sans); cursor:pointer; border:1px solid transparent; transition:all 150ms var(--ease); text-decoration:none; }
.btn-primary { background:var(--red-500); color:#fff; }
.btn-primary:hover { background:var(--red-600); }
.btn-ghost-light { background:transparent; color:#fff; border-color:rgba(255,255,255,0.3); }
.btn-ghost-light:hover { border-color:#fff; background:rgba(255,255,255,0.06); }
.btn-secondary { background:transparent; color:var(--navy-500); border-color:var(--navy-500); }
.btn-secondary:hover { background:var(--navy-500); color:#fff; }
.btn-lg { padding:14px 24px; font-size:16px; }
.eyebrow { display:inline-flex; align-items:center; gap:12px; font:600 11px/1 var(--font-mono); text-transform:uppercase; letter-spacing:0.12em; color:var(--red-500); }
.eyebrow::before { content:''; width:32px; height:1px; background:currentColor; }
.fade-up { opacity:0; transform: translateY(16px); transition: opacity 600ms var(--ease), transform 600ms var(--ease); }
.fade-up.in { opacity:1; transform:none; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.marquee { display:flex; gap:64px; width:max-content; animation: marquee 40s linear infinite; }
.marquee:hover { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .marquee { animation: none; } }

/* ============ NAV DROPDOWN (shared across all pages) ============ */
.nav-dropdown { position: relative; }
.nav-dropdown-trigger {
  background: none; border: none; padding: 0; cursor: pointer; font: inherit;
  font-size: 14px; color: var(--navy-500); font-weight: 500;
  display: inline-flex; align-items: center; gap: 6px;
  text-decoration: none;
  transition: color 150ms var(--ease);
}
.nav-dropdown-trigger:hover,
.nav-dropdown:hover .nav-dropdown-trigger,
.nav-dropdown:focus-within .nav-dropdown-trigger { color: var(--red-500); }
.nav-dropdown.is-active .nav-dropdown-trigger { color: var(--red-500); }
.nav-dropdown-trigger svg { transition: transform 200ms var(--ease); }
.nav-dropdown:hover .nav-dropdown-trigger svg,
.nav-dropdown:focus-within .nav-dropdown-trigger svg { transform: rotate(180deg); }
.nav-dropdown-menu {
  position: absolute; top: 100%; left: 50%;
  transform: translateX(-50%) translateY(6px);
  background: #fff; border: 1px solid var(--rule); border-radius: 14px;
  box-shadow: 0 14px 36px -8px rgba(13,17,24,0.14), 0 4px 14px -4px rgba(13,17,24,0.06);
  padding: 10px; min-width: 280px;
  opacity: 0; visibility: hidden;
  transition: opacity 180ms var(--ease), transform 180ms var(--ease), visibility 180ms;
  z-index: 60;
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu {
  opacity: 1; visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.nav-dropdown-menu a {
  display: block; padding: 11px 14px; border-radius: 8px;
  font: 500 14px/1.35 var(--font-sans); color: var(--navy-700); text-decoration: none;
  transition: background 150ms var(--ease), color 150ms var(--ease);
}
.nav-dropdown-menu a:hover { background: var(--navy-50); color: var(--red-500); }
.nav-dropdown-menu a.is-active { background: var(--navy-50); color: var(--red-500); }
.nav-dropdown-menu .nav-dropdown-meta {
  display: block; font: 600 10px/1 var(--font-mono); text-transform: uppercase;
  letter-spacing: 0.12em; color: var(--neutral-400); padding: 12px 14px 6px;
}
