:root {
  --navy: #0b2d4a;
  --navy2: #123f65;
  --blue: #176b9c;
  --orange: #f28c28;
  --orange-dark: #d96f0b;
  --pale: #f3f8fb;
  --gold: #f28c28;
}

body { background: #fff; }

.topbar { border-top: 5px solid var(--orange); }
.topbar nav a:not(.nav-cta):hover { color: var(--orange-dark); }
.nav-cta { background: var(--orange); color: var(--navy); }

.hero {
  background:
    radial-gradient(circle at 82% 18%, rgba(242,140,40,.16), transparent 25%),
    linear-gradient(135deg, #f5fafe 0%, #fff 55%, #edf6fb 100%);
}
.eyebrow { color: var(--orange-dark); }
.primary { background: var(--orange); border-color: var(--orange); color: var(--navy); }
.primary:hover, .nav-cta:hover { background: var(--orange-dark); color: #fff; }
.secondary:hover { border-color: var(--orange); color: var(--orange-dark); }
.trust li:before { color: var(--orange); }

.mission-card { background: var(--navy); box-shadow: 24px 24px 0 var(--orange); }
.mission-card > span { border-color: #315a78; }
.mission-detail strong { color: #fff; }

.proof { background: var(--blue); }
.proof p { color: #fff; }

article { border-top: 5px solid transparent; }
article:hover { border-top-color: var(--orange); }
article:last-child:hover { border-top: 5px solid var(--orange); }
article b { color: var(--orange-dark); }
.case-grid p:before { color: var(--orange); }

.systems { background: linear-gradient(135deg, var(--navy), var(--navy2)); }
.system-list span { color: var(--orange); }
.private { border-left-color: var(--orange); background: #fff7ef; }

.cta { background: linear-gradient(135deg, var(--navy), #114f78); border-top: 8px solid var(--orange); }
.cta .eyebrow { color: #ffc47f; }
.cta .white { background: var(--orange); border-color: var(--orange); color: var(--navy); }
.cta .white:hover { background: #fff; border-color: #fff; }

@media (max-width: 620px) {
  .mission-card { box-shadow: 12px 12px 0 var(--orange); }
}

footer a { font-weight: 700; text-underline-offset: 3px; }
.legal-topbar { position: relative; }
.legal-page { max-width: 980px; margin: 0 auto; padding: 80px 28px 110px; }
.legal-page h1 { font-size: clamp(3rem, 7vw, 5rem); margin-bottom: 12px; }
.legal-intro { color: var(--muted); margin-bottom: 50px; }
.legal-page section { padding: 28px 0; border-top: 1px solid var(--line); }
.legal-page section h2 { font-size: clamp(1.55rem, 3vw, 2.15rem); margin-bottom: 12px; }
.legal-page section p, .legal-page li { font-size: 1rem; }
.legal-page a { color: var(--blue); }
