*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Montserrat', sans-serif; -webkit-font-smoothing: antialiased; background: #fff; color: #1a2640; }

/* ── TOKENS ── */
:root {
  --navy:      #0A1F44;
  --navy-2:    #0e2650;
  --accent:    #2563EB;
  --accent-lt: rgba(37,99,235,0.10);
  --accent-md: rgba(37,99,235,0.18);
  --gray-bg:   #F5F7FB;
  --gray-line: #E2E8F4;
  --gray-txt:  #64748B;
  --green:     #16A34A;
  --green-bg:  #DCFCE7;
  --amber:     #B45309;
  --amber-bg:  #FEF3C7;
  --red:       #DC2626;
  --red-bg:    #FEF2F2;
}

/* ── WRAPPER ── */
.wrap {
  width: 100%; max-width: 1280px;
  margin-left: auto; margin-right: auto;
  padding-left: clamp(20px,5vw,60px);
  padding-right: clamp(20px,5vw,60px);
}

/* ── UTILS ── */
.section-pad   { padding: 80px 0; }
.section-navy  { background: var(--navy); }
.section-gray  { background: var(--gray-bg); }
.section-white { background: #fff; }
.eyebrow-blue  { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); margin-bottom: 12px; }
.eyebrow-white { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.35); margin-bottom: 12px; }
.section-h2       { font-size: clamp(22px,3vw,34px); font-weight: 800; line-height: 1.12; letter-spacing: -.025em; color: var(--navy); margin-bottom: 10px; }
.section-h2-white { font-size: clamp(22px,3vw,34px); font-weight: 800; line-height: 1.12; letter-spacing: -.025em; color: #fff; margin-bottom: 10px; }
.section-sub       { font-size: 15px; color: var(--gray-txt); line-height: 1.7; max-width: 480px; }
.section-sub-white { font-size: 15px; color: rgba(255,255,255,.45); line-height: 1.7; max-width: 480px; }

/* ── DISCLAIMER ── */
.disclaimer {
  background: var(--amber-bg); border-bottom: 1px solid #fde68a;
  text-align: center; padding: 0 20px;
  font-size: 11px; font-weight: 600; color: var(--amber); letter-spacing: .01em;
  height: 34px;
  display: flex; align-items: center; justify-content: center;
}

/* ── NAVBAR ── */
.navbar {
  position: sticky; top: 0; z-index: 50;
  background: #fff; border-bottom: 1px solid var(--gray-line);
  height: 62px; display: flex; align-items: center;
}
.nav-inner { display: flex; align-items: center; justify-content: space-between; height: 100%; }
.nav-logo { font-size: 18px; font-weight: 800; color: var(--navy); letter-spacing: -0.03em; text-decoration: none; margin-right: auto;}
.nav-logo span { font-weight: 300; color: var(--accent); }
.nav-links { display: flex; gap: 28px; align-items: center; margin-right: 25px;; }
.nav-links a { font-size: 13px; font-weight: 600; color: var(--gray-txt); text-decoration: none; transition: color .18s; }
.nav-links a:hover { color: var(--accent); }
.nav-links a.active { color: var(--navy); border-bottom: 2px solid var(--accent); padding-bottom: 1px; }
.nav-btns { display: flex; gap: 8px; }
.btn-ghost { font-family: 'Montserrat',sans-serif; text-decoration:none; font-size: 12px; font-weight: 600; line-height: 1.2; color: var(--navy); background: transparent; border: 1.5px solid var(--gray-line); border-radius: 8px; padding: 8px 16px; cursor: pointer; transition: border-color .18s, color .18s; }
.btn-ghost:hover { border-color: var(--accent); color: var(--accent); }
.btn-nav { font-family: 'Montserrat',sans-serif; text-decoration: none;font-size: 12px; font-weight: 700; line-height: 1.2;color: #fff; background: var(--accent); border: none; border-radius: 8px; padding: 9px 18px; cursor: pointer; transition: opacity .18s, transform .18s; }
.btn-nav:hover { opacity: .88; transform: translateY(-1px); }
.hamburger { display: none; background: none; border: none; cursor: pointer; color: var(--navy); padding: 6px; }
.mobile-menu { display: none; position: absolute; top: 62px; left: 0; right: 0; background: #fff; border-bottom: 1px solid var(--gray-line); padding: 16px clamp(20px,5vw,60px); flex-direction: column; gap: 12px; z-index: 49; }
.mobile-menu.open { display: flex; }
.mobile-menu a:not(.btn-ghost):not(.btn-nav) { font-size: 14px; font-weight: 600; color: var(--navy); text-decoration: none; padding: 8px 0; }
.mob-btn { font-family: 'Montserrat',sans-serif; font-size: 13px; font-weight: 700; padding: 12px; border-radius: 8px; cursor: pointer; text-align: center; width: 100%; border: none; }

/* ── FOOTER ── */
.footer { background: var(--navy); padding: 56px 0 0; }
.footer-top { display: flex; justify-content: space-between; gap: 48px; flex-wrap: wrap; padding-bottom: 40px; }
.footer-logo { font-size: 18px; font-weight: 800; color: #fff; letter-spacing: -.03em; }
.footer-logo span { font-weight: 300; color: var(--accent); }
.footer-tagline { font-size: 10px; font-weight: 700; letter-spacing: .10em; text-transform: uppercase; color: rgba(255,255,255,.25); margin: 4px 0 12px; }
.footer-brand-desc { font-size: 12px; color: rgba(255,255,255,.28); line-height: 1.7; max-width: 200px; }
.footer-col-wrap { display: flex; gap: 44px; flex-wrap: wrap; }
.footer-col { display: flex; flex-direction: column; gap: 10px; }
.footer-col-title { font-size: 10px; font-weight: 700; letter-spacing: .10em; text-transform: uppercase; color: rgba(255,255,255,.22); margin-bottom: 4px; }
.footer-col a { font-size: 13px; color: rgba(255,255,255,.42); text-decoration: none; transition: color .18s; }
.footer-col a:hover { color: rgba(255,255,255,.80); }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.07); padding: 20px 0 28px; }
.footer-disclaimer { font-size: 11px; color: rgba(255,255,255,.20); line-height: 1.7; max-width: 580px; margin-bottom: 14px; }
.footer-copy { font-size: 11px; color: rgba(255,255,255,.20); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px; }
