/* Unified navy and blue palette for the full landing page. */
:root {
  --navy: #0d2744;
  --navy-2: #163b61;
  --navy-3: #245778;
  --blue: #1e6a9b;
  --lime: #91dce3;
  --lime-hover: #bceef1;
  --paper: #f4f8fc;
  --ink: #18334e;
  --muted: #587086;
  --line: #d9e6ef;
  --shadow: 0 18px 48px rgba(13, 39, 68, .11);
}

body { background: #fff; }
main>section:not(.hero)::before { opacity: .07; }
main>section:not(.hero)::after { color: rgba(35, 119, 157, .045); }
main>section.framework::after, main>section.cta-section::after { color: rgba(154, 224, 232, .055); }
.site-header { background: rgba(11, 35, 61, .97); border-bottom-color: rgba(176, 220, 236, .16); }
.brand small { color: var(--lime); }
.brand-mark span { color: var(--lime); }
.desktop-nav { display: flex; gap: 23px; }
.desktop-nav a:hover, .footer-grid a:hover, .text-link:hover { color: var(--lime); }
.button-primary { min-height: 54px; padding-inline: 23px; border-radius: 11px; background: #ff9060; color: #112b40; box-shadow: 0 8px 22px rgba(236, 101, 51, .2); transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.button-primary:hover { background: #ffac80; color: #10293f; box-shadow: 0 13px 32px rgba(236, 101, 51, .31); transform: translateY(-3px); }
.button-primary:active { transform: translateY(0); box-shadow: 0 5px 14px rgba(236, 101, 51, .2); }
.button-primary span[aria-hidden="true"] { display: inline-block; transition: transform .2s ease; }
.button-primary:hover span[aria-hidden="true"] { transform: translateX(4px); }
.site-header .nav-cta { color: #10293f; background: #ff9060; border: 1px solid rgba(255, 212, 187, .65); box-shadow: 0 5px 17px rgba(244, 100, 49, .19); }
.site-header .nav-cta:hover { background: #ffac80; box-shadow: 0 9px 25px rgba(244, 100, 49, .29); }
.button:focus-visible, .review-toggle:focus-visible, a:focus-visible, summary:focus-visible, .icon-button:focus-visible { outline-color: #ffb688; }

/* Hero: the pale blue action and restrained orange mascot sit on a blue base. */
.hero { background: radial-gradient(ellipse at 23% 18%, #1a4169 0, transparent 42%), radial-gradient(ellipse at 82% 72%, #123f61 0, transparent 44%), #091d35; }
.hero::before, .hero::after { filter: hue-rotate(145deg); }
.hero .eyebrow, .hero-points li span, .hero-price i { color: #91e1e8; }
.hero h1 em, .hero-code { color: #ff9a6e; }
.hero-code::after { background: #ff9a6e; }
.hero .lead { color: #cfdeea; }
.hero .lead strong { color: #fff; font-weight: 780; box-shadow: inset 0 -.18em rgba(255, 151, 101, .2); }
.hero-program { color: #e0eaf3; }
.hero .button-primary { background: #ff9060; color: #09263f; box-shadow: 0 10px 30px rgba(240, 103, 52, .28); }
.hero .button-primary:hover { background: #ffac80; box-shadow: 0 15px 37px rgba(240, 103, 52, .38); }
.hero .text-link { color: #cce0ea; }
.hero-status { background: rgba(57, 158, 163, .13); border-color: rgba(142, 227, 224, .38); color: #a7ede3; }
.hero-status span { background: #95e7d6; box-shadow: 0 0 12px #69d9c5; }
.hero-trust { color: #bbcfdd; }
.mascot-frame { border-color: rgba(130, 211, 226, .42); background: radial-gradient(circle at 50% 46%, rgba(64, 170, 201, .19), transparent 49%), linear-gradient(145deg, #0b2b43, #081b31 72%, #091c2e); box-shadow: 0 20px 70px rgba(11, 35, 65, .28), inset 0 0 45px rgba(105, 202, 223, .09); }
.mascot-frame::before, .mascot-frame::after { border-color: rgba(129, 216, 229, .19); }
.mascot-chip { color: #9fdfec; border-color: rgba(116, 202, 223, .35); }
.orbit-one { background: #87ddea; box-shadow: 0 0 12px #87ddea; }
.visual-footer { color: #c0d1df; }
.visual-footer strong { color: #f3f8fb; }

/* Clear vertical rhythm: outcome, method, course detail, support and proof. */
.section { padding: 96px 0; }
.section-intro { max-width: 700px; margin-bottom: 36px; }
.section-kicker { color: #247ba3; font-size: 11px; letter-spacing: .17em; }
.section h2 { font-size: clamp(34px, 3.7vw, 49px); line-height: 1.13; margin-bottom: 16px; }
.section h2 span { color: #176e9d; background: linear-gradient(transparent 76%, rgba(116, 201, 220, .3) 76%); box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.section-intro p:last-child { color: var(--muted); font-size: 17px; max-width: 650px; }

.outcomes { background: #f3f8fc; }
.outcome-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.outcome-card { min-height: 202px; padding: 25px 27px; display: grid; grid-template-columns: 64px minmax(0, 1fr); grid-template-rows: auto auto 1fr; grid-template-areas: "number number" "icon title" "icon body"; column-gap: 17px; align-items: start; border-color: #d8e7f0; border-radius: 17px; box-shadow: 0 10px 28px rgba(13, 44, 72, .045); }
.card-no { grid-area: number; color: #6c8ca2; }
.card-icon { grid-area: icon; margin: 20px 0 0; width: 54px; height: 54px; background: #e7f4f7; border-color: #cae5ec; color: #247699; }
.outcome-card h3 { grid-area: title; margin: 19px 0 7px; font-size: 19px; }
.outcome-card p { grid-area: body; max-width: 410px; }
.outcome-card:first-child { background: #153b60; border-color: #153b60; color: #fff; }
.outcome-card:first-child .card-no { color: #a4c5d9; }
.outcome-card:first-child p { color: #d6e6ef; }
.outcome-card:first-child .card-icon { background: rgba(141, 222, 229, .16); border-color: rgba(141, 222, 229, .36); color: #b9ecf1; }

.method { background: #fff; }
.method-grid { gap: 68px; }
.method-step b { color: #247ba3; }
.method-step h3 { color: var(--ink); }
.method-image { box-shadow: 0 25px 55px rgba(13, 39, 68, .15); }

.curriculum { background: #f4f8fc; }
.curriculum-layout { grid-template-columns: 292px minmax(0, 1fr); gap: 28px; }
.curriculum-aside { background: linear-gradient(150deg, #123b60, #0b2946); box-shadow: 0 20px 45px rgba(12, 45, 72, .16); }
.curriculum-aside a, .aside-label { color: #a4e8ec; }
.module { border-color: #d7e5ed; box-shadow: 0 4px 16px rgba(11, 48, 78, .025); }
.module[open] { border-color: #9acbd8; }
.module-code, .lesson-list li span { color: #247ba3; }
.module-plus { background: #e6f3f8; color: #1c7197; }

.support { background: #fff; }
.support-lead strong { color: #176e9d; font-weight: 800; }
.support-grid { gap: 70px; }
.support-features { border-color: #d5e5ed; }
.support-features article { border-color: #d5e5ed; }
.support-icon { background: #e7f5f8; color: #207da0; }
.support-panel { background: linear-gradient(145deg, #174b72, #0d2b4a 75%); }
.support-panel-top, .support-number { color: #a6e8ed; }
.online-mark { background: #98e5d9; box-shadow: 0 0 0 5px rgba(152, 229, 217, .13); }
.support-panel li:before { color: #a6e8ed; }
.support-panel .button-primary, .framework .button-primary, .cta-section .button-primary { background: #ff9060; color: #10293f; }
.support-panel .button-primary:hover, .framework .button-primary:hover, .cta-section .button-primary:hover { background: #ffac80; }

.instructor { background: #f4f8fc; }
.instructor-grid { gap: 65px; }
.instructor-photo { background: #123755; }
.achievement-list b { color: #236c98; }

.framework { background: linear-gradient(130deg, #0d2947, #143c61); }
.framework-grid { gap: 62px; }
.framework .section-kicker { color: #a1e6eb; }
.framework h2 span { color: #ffb492; background: linear-gradient(transparent 77%, rgba(255, 151, 101, .18) 77%); }
.framework p:not(.section-kicker) { color: #d5e5ef; }
.framework-list li { background: rgba(217, 241, 248, .07); border-color: rgba(207, 237, 245, .2); }
.framework-list li:before { color: #a1e6eb; }

.reviews { background: #f4f8fc; }
.review-card { border-color: #d6e5ed; box-shadow: 0 9px 24px rgba(16, 54, 82, .06); }
.review-card .review-cat, .review-toggle, .review-links { color: #236f97; }
.review-impact { background: #eaf5f9; border-left-color: #3d99b2; }
.reviews-more { border-color: #25799d; color: #1c6488; }
.reviews-more:hover { background: #1f729a; color: #fff; border-color: #1f729a; box-shadow: 0 9px 23px rgba(31, 114, 154, .18); }

.cta-section { background: linear-gradient(130deg, #103354, #0d2745); }
.cta-grid { gap: 68px; }
.cta-section .section-kicker { color: #a1e6eb; }
.cta-section h2 span { color: #ffb492; background: linear-gradient(transparent 77%, rgba(255, 151, 101, .18) 77%); }
.cta-section .button-outline { border-color: rgba(210, 234, 243, .55); color: #eff9fc; }
.cta-section .button-outline:hover { background: rgba(184, 228, 238, .14); border-color: #c4eaf2; }
.cta-card { box-shadow: 0 27px 62px rgba(3, 22, 40, .22); }
.cta-card>span, .cta-card li:before { color: #247fa4; }
.price-placeholder { background: #edf5f9; }

.faq { background: #fff; }
.faq-grid { grid-template-columns: .72fr 1.28fr; gap: 74px; }
.faq-list summary:after { color: #247ba3; }
.site-footer { background: #091e34; }
.footer-grid>div>span { color: #9bdee7; }

.lead-dialog { border-color: #b6d4e2; }
.lead-form input:focus, .lead-form textarea:focus, .lead-form select:focus { border-color: #2d89ad; box-shadow: 0 0 0 3px #d9f0f6; }
.back-button { color: #1e7097; }
@media (prefers-reduced-motion: reduce) {
  .button-primary, .button-primary span[aria-hidden="true"] { transition: none; }
  .button-primary:hover { transform: none; }
}

@media (max-width: 980px) {
  .desktop-nav { display: none; }
  .curriculum-layout { grid-template-columns: 1fr; }
  .method-grid, .support-grid, .instructor-grid, .framework-grid, .cta-grid { grid-template-columns: 1fr; }
  .method-grid, .support-grid, .instructor-grid, .framework-grid, .cta-grid, .faq-grid { gap: 38px; }
  .faq-grid { grid-template-columns: 1fr; }
  .support-panel, .cta-card { max-width: 550px; }
  .instructor-photo { max-width: 440px; }
}
@media (max-width: 700px) {
  .section { padding: 74px 0; }
  .section h2 { font-size: clamp(31px, 8vw, 40px); }
  .section-intro p:last-child { font-size: 16px; }
  .outcome-grid { grid-template-columns: 1fr; }
  .outcome-card { min-height: 0; padding: 23px; }
  .outcome-card h3 { font-size: 18px; }
  .curriculum-aside { padding: 23px; }
  .method-grid, .support-grid, .instructor-grid, .framework-grid, .cta-grid, .faq-grid { gap: 30px; }
}
