/* Exam Prep marketing pages. Loaded after fw-features.css.
   The shared components (.btn, .faq, .see-link) all read var(--violet), so remapping
   it here recolors every one of them to the Exam Prep blue in a single place, which
   is how these pages read as a distinct product without forking the component CSS. */
:root{
  --violet:#1D4ED8;      /* Exam Prep blue, replaces the fieldwork violet */
  --violet-d:#1E40AF;
  --exam:#1D4ED8;
  --exam-tint:#DCE7FB;
  --exam-deep:#12307F;
  --navy:#001B54;
  --ink:#001B54;
  --muted:#001B54;
  --line:#E6ECF5;
  --green:#1f9d55;
  --gold:#F5A623;
}

/* The shared FAQ block hardcodes violet glows. Recolor them for these pages. */
.faq details[open]{border-color:#bcd0f6;box-shadow:0 18px 38px -28px rgba(29,78,216,.45)}
.faq details:hover{border-color:#c8d8f8}
.faq-art::before{background:radial-gradient(circle at 50% 45%,rgba(29,78,216,.14),rgba(29,78,216,0) 68%)}

/* Hero */
.ex-hero{background:linear-gradient(180deg,#EAF0FD 0%,#EEF3FE 38%,#F7FAFF 70%,#fff 100%);padding:58px 0 40px}
.ex-hero-in{max-width:1350px;margin:0 auto}
.ex-hero-narrow{max-width:860px}
.ex-eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--exam-tint);color:var(--exam-deep);font-weight:800;font-size:14px;letter-spacing:.1em;text-transform:uppercase;padding:6px 13px;border-radius:999px;margin-bottom:18px}
.ex-h1{font-size:52px;line-height:1.08;font-weight:800;color:var(--navy);letter-spacing:-.01em;margin:0 0 18px}
.ex-h1 .acc{color:var(--exam)}
.ex-lead{font-size:20px;font-weight:700;color:var(--navy);margin:0 0 12px}
.ex-sub{font-size:17px;line-height:1.6;color:var(--navy);margin:0 0 24px;max-width:760px}
.ex-cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ex-trial{font-size:14px;color:var(--navy);margin-top:12px}

/* Sections */
.ex-sec{padding:54px 0}
.ex-sec.alt{background:#F6F9FF}
.ex-head{max-width:820px;margin:0 auto 34px;text-align:center}
.ex-h2{font-size:34px;line-height:1.16;font-weight:800;color:var(--navy);letter-spacing:-.01em;margin:0 0 14px}
.ex-h3{font-size:19px;font-weight:800;color:var(--navy);margin:0 0 8px}
.ex-p{font-size:16px;line-height:1.62;color:var(--navy);margin:0 0 14px}
.ex-p:last-child{margin-bottom:0}

/* Cards */
.ex-grid{display:grid;gap:20px}
.ex-grid-2{grid-template-columns:repeat(2,1fr)}
.ex-grid-3{grid-template-columns:repeat(3,1fr)}
.ex-grid-4{grid-template-columns:repeat(4,1fr)}
.ex-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 22px 24px}
.ex-card .ic{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:var(--exam-tint);color:var(--exam-deep);margin-bottom:14px}
.ex-card .ic svg{width:20px;height:20px}
.ex-card p{font-size:15px;line-height:1.58;color:var(--navy);margin:0}
.ex-card.link{display:block;transition:.15s}
.ex-card.link:hover{border-color:#bcd0f6;box-shadow:0 16px 32px -26px rgba(29,78,216,.5)}
.ex-card .more{display:inline-block;margin-top:12px;font-size:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--exam)}

/* Tables (domain weights, readiness signals) */
.ex-tbl{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.ex-tbl th,.ex-tbl td{text-align:left;padding:12px 16px;font-size:15px;color:var(--navy);border-bottom:1px solid var(--line)}
.ex-tbl th{background:#F2F6FE;font-weight:800;font-size:14px;letter-spacing:.04em;text-transform:uppercase}
.ex-tbl tr:last-child td{border-bottom:0}
.ex-tbl td.num{text-align:right;font-weight:700;white-space:nowrap}
.ex-tbl tfoot td{font-weight:800;background:#F8FBFF}
.ex-tbl-wrap{overflow-x:auto;max-width:900px;margin:0 auto}

/* Sample question */
.ex-q{max-width:820px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px}
.ex-q .stem{font-size:16px;line-height:1.6;font-weight:700;color:var(--navy);margin:0 0 18px}
.ex-opt{border:1px solid var(--line);border-radius:11px;padding:14px 16px;margin-bottom:10px}
.ex-opt .lab{display:flex;gap:10px;font-size:15px;font-weight:700;color:var(--navy)}
.ex-opt .why{font-size:14px;line-height:1.55;color:var(--navy);margin:8px 0 0;padding-left:26px}
.ex-opt.right{border-color:#9ed3b4;background:#F2FBF6}
.ex-opt.right .tag{color:var(--green)}
.ex-opt .tag{font-size:14px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#A03030}

/* Readiness bands */
.ex-bands{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;max-width:900px;margin:0 auto}
.ex-band{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff;text-align:center}
.ex-band b{display:block;font-size:15px;color:var(--navy);margin-bottom:4px}
.ex-band span{font-size:14px;color:var(--navy)}
.ex-band.ready{border-color:#9ed3b4;background:#F2FBF6}

/* Bottom CTA */
.ex-ctaband{background:linear-gradient(135deg,#12307F 0%,#1D4ED8 100%);padding:52px 0}
.ex-ctaband .in{max-width:760px;margin:0 auto;text-align:center}
.ex-ctaband h2{font-size:32px;font-weight:800;color:#fff;margin:0 0 12px;line-height:1.16}
.ex-ctaband p{font-size:16px;line-height:1.6;color:#EAF0FD;margin:0 0 22px}
.ex-ctaband .btn-primary{background:#fff;color:var(--exam-deep)}
.ex-ctaband .btn-primary:hover{background:#EAF0FD}
.ex-ctaband .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.ex-ctaband .btn-ghost:hover{border-color:#fff}

/* Small print */
.ex-note{font-size:14px;line-height:1.6;color:var(--navy);max-width:820px;margin:22px auto 0;padding:14px 16px;background:#F6F9FF;border:1px solid var(--line);border-radius:12px}

/* Term index */
.ex-az{display:flex;flex-wrap:wrap;gap:8px;max-width:900px;margin:0 auto 28px}
.ex-az a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:15px;font-weight:700;color:var(--navy)}
.ex-az a:hover{border-color:var(--exam);color:var(--exam)}
.ex-terms{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ex-terms a{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:15px;color:var(--navy)}
.ex-terms a:hover{border-color:#bcd0f6;color:var(--exam)}
.ex-group{margin-bottom:30px}
.ex-group h3{font-size:22px;font-weight:800;color:var(--exam);margin:0 0 12px}

@media(max-width:980px){
  .ex-h1{font-size:38px}
  .ex-h2{font-size:28px}
  .ex-grid-3,.ex-grid-4,.ex-terms{grid-template-columns:repeat(2,1fr)}
  .ex-bands{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .ex-h1{font-size:31px}
  .ex-grid-2,.ex-grid-3,.ex-grid-4,.ex-terms{grid-template-columns:1fr}
  .ex-bands{grid-template-columns:1fr}
  .ex-sec{padding:38px 0}
}
