:root {
  --ink: #f7fbff;
  --ink-soft: #edf6fd;
  --panel: rgba(255,255,255,.9);
  --panel-strong: #ffffff;
  --line: rgba(9,68,130,.13);
  --cyan: #08aee7;
  --cyan-strong: #078edf;
  --green: #23c879;
  --green-strong: #16b567;
  --white: #071f4e;
  --muted: #536984;
  --shadow: 0 24px 70px rgba(28,89,145,.14);
}
body {
  color: #071f4e;
  background:
    radial-gradient(circle at 92% 8%, rgba(40,173,244,.10), transparent 25rem),
    linear-gradient(#fff, #f6fbff);
}
body::before {
  opacity: .5;
  background-image:
    linear-gradient(rgba(8,142,223,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8,142,223,.035) 1px, transparent 1px);
}
.site-header { background: rgba(255,255,255,.9); border-color: rgba(9,68,130,.09); box-shadow: 0 8px 28px rgba(23,77,128,.06); }
.brand img, .footer-inner img { filter: invert(16%) sepia(83%) saturate(1600%) hue-rotate(196deg) brightness(72%); }
.brand-tag { color: #607692; border-color: rgba(9,68,130,.14); }
.main-nav a { color: #173968; font-weight: 700; }
.nav-cta { color: #fff !important; border: 0; background: linear-gradient(135deg, #087ee4, #08b9e7); box-shadow: 0 9px 24px rgba(8,126,228,.18); }
.menu-toggle { color: #0a3974; background: #f3f9ff; border-color: rgba(9,68,130,.14); }

.hero {
  position: relative;
  min-height: 760px;
  padding: 88px 0 76px;
  background-image: linear-gradient(90deg, transparent 38%, rgba(255,255,255,.26) 50%, rgba(255,255,255,.94) 69%, #fff 100%), url('images/hero-flight.png');
  background-size: cover;
  background-position: center;
  border-bottom: 1px solid rgba(9,68,130,.08);
}
.hero::after { content: ""; position: absolute; inset: auto 0 0; height: 150px; pointer-events: none; background: linear-gradient(transparent, rgba(255,255,255,.94)); }
.hero-grid { position: relative; z-index: 1; display: block; }
.hero-copy { width: min(550px, 48%); margin-inline-start: auto; padding: 34px 0; }
.eyebrow { color: #078edf; }
.hero h1 { color: #08285d; font-size: clamp(3.4rem, 6.2vw, 6.2rem); line-height: .94; text-shadow: 0 3px 20px rgba(255,255,255,.5); }
.hero h1 span { margin-top: 10px; color: #087fdd; -webkit-text-stroke: 0; text-shadow: none; font-size: .61em; line-height: 1.02; letter-spacing: -.035em; }
.hero-lead { color: #284b72; font-size: 1.2rem; }
.button-primary { color: #fff; background: linear-gradient(135deg, #087ee4, #08b9e7); box-shadow: 0 14px 34px rgba(8,126,228,.23); }
.button-secondary { color: #0b4d8d; border-color: rgba(8,126,228,.22); background: rgba(255,255,255,.8); }
.hero-meta { color: #4d6784; }
.hero-meta li::before { color: #078edf; }

.signal-strip { position: relative; z-index: 2; margin-top: -34px; border: 0; background: transparent; }
.signal-grid { overflow: hidden; border: 1px solid rgba(9,68,130,.1); border-radius: 22px; background: rgba(255,255,255,.94); box-shadow: 0 20px 60px rgba(27,83,135,.13); backdrop-filter: blur(16px); }
.signal-item { border-color: rgba(9,68,130,.1); text-align: center; }
.signal-number { color: #078edf; text-align: center; }
.signal-item span:last-child { color: #294d77; font-weight: 700; }

.section-heading p, .prose p, .step p, .module p, .audience-copy p, .audience-card span, .contact-aside p { color: #536984; }
.feature-image { border-color: rgba(9,68,130,.12); background: #fff; }
.feature-image::before { color: #087ee4; background: rgba(255,255,255,.92); }
.check-list li { color: #183c65; }
.check-list li::before { color: #fff; background: #08aee7; }
.steps { gap: 18px; }
.step { border-color: rgba(9,68,130,.11); background: linear-gradient(150deg, #fff, #f1f8fe); box-shadow: 0 14px 38px rgba(28,89,145,.08); }
.step::before { color: #078edf; }
.step::after { border-color: rgba(8,142,223,.18); box-shadow: 0 0 0 18px rgba(8,142,223,.025), 0 0 0 36px rgba(8,142,223,.018); }
.modules { gap: 18px; }
.module { border-color: rgba(9,68,130,.1); background: #fff; box-shadow: 0 12px 32px rgba(28,89,145,.07); }
.module:hover { border-color: rgba(8,142,223,.36); box-shadow: 0 18px 44px rgba(28,89,145,.12); }
.module-code { color: #0875ce; background: #eaf6ff; }

.education-panel { overflow: hidden; border: 1px solid rgba(9,68,130,.11); border-radius: 30px; background: #fff; box-shadow: var(--shadow); }
.education-visual { min-height: 420px; background: linear-gradient(90deg, rgba(255,255,255,.03), rgba(255,255,255,.85)), url('images/challenge-map.png') center/cover no-repeat; }
.education-copy { padding: clamp(34px, 6vw, 74px); }
.education-copy h2 { margin: 0 0 18px; font-size: clamp(2.2rem,4.4vw,4.2rem); line-height: 1.03; }
.education-points { display: grid; grid-template-columns: repeat(5,1fr); margin-top: 30px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.education-point { padding: 22px 16px; border-inline-end: 1px solid var(--line); }
.education-point:last-child { border-inline-end: 0; }
.education-point strong { display: block; margin-bottom: 5px; color: #0875ce; }
.education-point span { color: #60718a; font-size: .87rem; }

.audience { border-color: rgba(9,68,130,.12); background: linear-gradient(120deg,#f6fbff,#fff); }
.audience-grid { border-color: rgba(9,68,130,.1); }
.audience-card { border-color: rgba(9,68,130,.1); }
.audience-card strong { color: #0875ce; }
.forms-section::before { background: linear-gradient(180deg, transparent, rgba(8,142,223,.055), transparent); }
.form-shell { border-color: rgba(9,68,130,.11); background: #fff; }
.contact-aside { border-color: rgba(9,68,130,.11); background: linear-gradient(145deg,#eaf6ff,#fff); }
.contact-email { color: #0875ce; }
.site-footer { border-color: rgba(9,68,130,.1); color: #536984; background: #f1f8fe; }
.fallback { border-color: rgba(8,142,223,.28); color: #536984; }

@media (max-width: 980px) {
  .hero { min-height: 700px; background-position: 42% center; background-image: linear-gradient(90deg, transparent 20%, rgba(255,255,255,.45) 48%, rgba(255,255,255,.96) 74%, #fff 100%), url('images/hero-flight.png'); }
  .hero-copy { width: 56%; }
  .education-points { grid-template-columns: 1fr 1fr; }
  .education-point { border-bottom: 1px solid var(--line); }
}
@media (max-width: 760px) {
  .main-nav { background: rgba(255,255,255,.99); border-color: rgba(9,68,130,.1); }
  .hero { min-height: 760px; padding-top: 44px; background-position: 34% center; background-image: linear-gradient(180deg, rgba(255,255,255,.98) 0, rgba(255,255,255,.9) 43%, rgba(255,255,255,.18) 70%, rgba(255,255,255,.7) 100%), url('images/hero-flight.png'); }
  .hero-copy { width: 100%; padding: 12px 0; }
  .hero h1 { font-size: clamp(3.1rem,14vw,4.8rem); }
  .hero-lead { max-width: 93%; }
  .signal-strip { margin-top: -26px; }
  .education-visual { min-height: 270px; }
  .education-points { grid-template-columns: 1fr; }
  .education-point { border-inline-end: 0; }
}
