/*
 * ASVAB course landing page — namespaced under .asvab-lp.
 * Rendered by templates/asvab-course-landing.php on /courses/air-force-asvab (#174102).
 * Converted from docs/superpowers/specs/assets/asvab-course-2026-source.html on 2026-07-23.
 * Enqueued by functions.php:pt_enqueue_asvab_landing_assets (theme 2.9.4).
 *
 * 2026-07-23 v2-design-system refinement pass: two-column hero-grid, lime SVG
 * play facade, canonical --shadow-hero on the video frame, contextual eyebrow
 * colors, serif h2 accents on dark bands, single-card pricing (dead 3-tier
 * rules removed), modal above the sticky nav, focus-visible states, .rv
 * stagger delays (reveal primitives live in the global assets/new/css/nav.css).
 */

:root {
  --brand-teal: #0089AC;
  --brand-teal-dark: #145976;
  --brand-teal-darker: #0B3C52;
  --brand-lime: #9DD64F;
  --brand-lime-soft: #D9F89F;
  --brand-amber: #F69C08;
  --brand-trust: #00b67a;
  --brand-red: #DC2626;
  --brand-green: #16A34A;
  --ink: #0A0E14;
  --ink-2: #1F252E;
  --ink-3: #4A525D;
  --ink-4: #8A929D;
  --bg: #FFFFFF;
  --bg-soft: #F7F7F5;
  --rule: #EDEEF0;
  --rule-2: #E4E5E7;
  --dark-bg: #0B1116;
  --dark-bg-2: #0F1820;
  --dark-ink-2: rgba(243, 239, 230, .7);
  --dark-ink-3: rgba(243, 239, 230, .42);
  --dark-rule: rgba(243, 239, 230, .14);
  --sans: 'Onest', system-ui, -apple-system, sans-serif;
  --serif: 'Instrument Serif', Georgia, serif;
  --ease: cubic-bezier(.22, .61, .36, 1);
  --shadow-sm: 0 1px 2px rgba(10,14,20,.04), 0 2px 8px rgba(10,14,20,.04);
  --shadow-md: 0 4px 12px rgba(10,14,20,.06), 0 12px 32px rgba(10,14,20,.06);
  --shadow-lg: 0 12px 24px rgba(10,14,20,.08), 0 32px 80px rgba(10,14,20,.1);
  --shadow-hero: 0 24px 48px rgba(20,89,118,.12), 0 48px 120px rgba(20,89,118,.16);
  --r-sm: 12px;
  --r-md: 20px;
  --r-lg: 28px;
  --r-pill: 999px;
}

html { scroll-behavior: smooth; }

.asvab-lp *, .asvab-lp *::before, .asvab-lp *::after { box-sizing: border-box; margin: 0; padding: 0; }
.asvab-lp { font-family: var(--sans); color: var(--ink-2); background: var(--bg); line-height: 1.6; -webkit-font-smoothing: antialiased; }
.asvab-lp .wrap { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 24px; }
.asvab-lp .wrap-narrow { max-width: 820px; }
.asvab-lp h1, .asvab-lp h2, .asvab-lp h3 { color: var(--ink); line-height: 1.12; font-weight: 800; letter-spacing: -.02em; }
.asvab-lp h1 { font-size: clamp(2rem, 4.6vw, 3.4rem); }
.asvab-lp h2 { font-size: clamp(1.6rem, 3.4vw, 2.5rem); }
.asvab-lp h3 { font-size: 1.15rem; font-weight: 700; }
.asvab-lp p { color: var(--ink-3); }
.asvab-lp em { font-family: var(--serif); font-style: italic; color: var(--brand-teal-dark); }
.asvab-lp a { color: var(--brand-teal); text-decoration: none; }
.asvab-lp section { padding: 64px 0; }
.asvab-lp .eyebrow { font-weight: 700; text-transform: uppercase; letter-spacing: .07em; font-size: .8rem; color: var(--brand-teal); margin-bottom: 14px; display: block; }
.asvab-lp .section-intro { max-width: 62ch; margin-top: 14px; }
.asvab-lp .section-note { max-width: 62ch; margin-top: 26px; }
.asvab-lp .fine-note { margin-top: 22px; font-size: .9rem; color: var(--ink-4); }
.asvab-lp .micro { font-size: .82rem; margin-top: 16px; }
.asvab-lp .center { text-align: center; }
.asvab-lp .center .section-intro { margin-left: auto; margin-right: auto; }

/* Focus states (the global chrome ships its own; the LP namespace needs them too) */
.asvab-lp :is(a, button, summary):focus-visible { outline: 2px solid var(--brand-teal); outline-offset: 2px; }
.asvab-lp :is(.correction, .free, .final) :is(a, button):focus-visible { outline-color: var(--brand-lime); }

/* Stagger delays for the site-wide .rv reveal (base primitives in assets/new/css/nav.css) */
.asvab-lp .rv.d1 { transition-delay: .08s; }
.asvab-lp .rv.d2 { transition-delay: .16s; }
.asvab-lp .rv.d3 { transition-delay: .24s; }

.asvab-lp .btn { display: inline-flex; align-items: center; gap: 8px; font-family: var(--sans); font-weight: 700; font-size: 1rem; border: 0; cursor: pointer; border-radius: var(--r-sm); padding: 15px 30px; transition: transform .2s var(--ease), box-shadow .2s var(--ease); }
.asvab-lp .btn svg { flex-shrink: 0; }
.asvab-lp .btn-lime { background: var(--brand-lime); color: var(--ink); box-shadow: var(--shadow-sm); }
.asvab-lp .btn-lime:hover { transform: translateY(-1px); box-shadow: var(--shadow-md); }
.asvab-lp .btn-dark { background: var(--brand-teal-darker); color: #fff; }
.asvab-lp .btn-dark:hover { transform: translateY(-1px); box-shadow: var(--shadow-md); }
.asvab-lp .btn-lg { padding: 19px 42px; font-size: 1.06rem; border-radius: var(--r-md); }

/* HERO */
.asvab-lp .hero { background: linear-gradient(180deg, #F4FAFB 0%, #FFFFFF 100%); padding: 56px 0 48px; }
.asvab-lp .hero-grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: 40px; align-items: center; }
.asvab-lp .hero-trust { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; font-size: .92rem; color: var(--ink-3); font-weight: 600; margin-bottom: 18px; }
.asvab-lp .hero-trust .stars { color: var(--brand-amber); letter-spacing: 1px; }
.asvab-lp .hero-trust b { color: var(--ink); }
.asvab-lp .hero-trust .dot { width: 4px; height: 4px; border-radius: 50%; background: var(--rule-2); display: inline-block; }
.asvab-lp .hero h1 { max-width: 21ch; margin-bottom: 18px; }
.asvab-lp .hero .lead { font-size: 1.15rem; max-width: 56ch; margin-bottom: 26px; }
.asvab-lp .hero-cta { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.asvab-lp .hero-meta { display: flex; gap: 22px; margin-top: 22px; flex-wrap: wrap; font-size: .88rem; color: var(--ink-4); font-weight: 600; }
.asvab-lp .hero-meta span::before { content: "✓ "; color: var(--brand-green); font-weight: 800; }
/* Hero video slot (click-to-play facade) */
.asvab-lp .hero-video { margin: 0; }
.asvab-lp .hv-frame { position: relative; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; border: 1px solid var(--rule-2); background: linear-gradient(135deg, #0B3C52 0%, #0089AC 100%); background-size: cover; background-position: center; box-shadow: var(--shadow-hero); cursor: pointer; }
.asvab-lp .hv-frame video, .asvab-lp .hv-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; object-fit: cover; background: #0B3C52; }
.asvab-lp .hv-placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; text-align: center; color: #fff; padding: 20px; }
.asvab-lp .hv-play { width: 84px; height: 84px; border-radius: 50%; background: var(--brand-lime); color: var(--ink); display: flex; align-items: center; justify-content: center; padding-left: 4px; box-shadow: 0 8px 24px rgba(10,14,20,.30); border: 3px solid #fff; transition: transform .2s var(--ease); }
.asvab-lp .hv-frame:hover .hv-play { transform: scale(1.06); }
.asvab-lp .hv-play svg { display: block; }
.asvab-lp .hero-video figcaption { text-align: center; font-size: .82rem; color: var(--ink-4); margin-top: 8px; }

/* URGENCY BAR */
.asvab-lp .urg-bar { background: var(--brand-teal-darker); color: rgba(255,255,255,.92); text-align: center; padding: 12px 20px; font-size: .95rem; font-weight: 600; }
.asvab-lp .urg-bar b { color: var(--brand-lime); }

/* BRANCH SELECTOR */
.asvab-lp .branch-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 32px; }
.asvab-lp .branch { background: #fff; border: 1px solid var(--rule); border-radius: var(--r-lg); padding: 26px; box-shadow: var(--shadow-sm); }
.asvab-lp .branch .role { font-weight: 800; color: var(--ink); font-size: 1.15rem; }
.asvab-lp .branch .sys { font-size: .8rem; font-weight: 700; color: var(--brand-teal); text-transform: uppercase; letter-spacing: .05em; margin-top: 4px; }
.asvab-lp .branch ul { margin: 12px 0 0; padding-left: 0; list-style: none; color: var(--ink-3); font-size: .93rem; }
.asvab-lp .branch li { margin-bottom: 6px; padding-left: 20px; position: relative; }
.asvab-lp .branch li::before { content: "→"; position: absolute; left: 0; color: var(--brand-teal); font-weight: 700; }

/* CORRECTION BAND */
.asvab-lp .correction { background: var(--brand-teal-darker); color: #fff; }
.asvab-lp .correction .eyebrow { color: var(--brand-lime); }
.asvab-lp .correction h2 { color: #fff; }
.asvab-lp .correction h2 em { color: var(--brand-lime); }
.asvab-lp .correction p { color: var(--dark-ink-2); }
.asvab-lp .correction .grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 30px; }
.asvab-lp .correction .card { background: var(--dark-bg-2); border: 1px solid var(--dark-rule); border-radius: var(--r-md); padding: 24px; }
.asvab-lp .correction .card h3 { color: var(--brand-lime); margin-bottom: 8px; }
.asvab-lp .correction .card p { color: var(--dark-ink-2); }
.asvab-lp .tag-old { color: #FCA5A5; font-weight: 700; }
.asvab-lp .tag-new { color: var(--brand-lime); font-weight: 700; }

/* TWO GATES */
.asvab-lp .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 32px; }
.asvab-lp .pcard { background: #fff; border: 1px solid var(--rule); border-radius: var(--r-lg); padding: 30px; box-shadow: var(--shadow-sm); }
.asvab-lp .pcard .num { display: inline-flex; width: 36px; height: 36px; border-radius: var(--r-pill); background: var(--brand-teal); color: #fff; font-weight: 800; align-items: center; justify-content: center; margin-bottom: 12px; }
.asvab-lp .pcard ul { margin: 12px 0 0 0; padding-left: 18px; color: var(--ink-3); }
.asvab-lp .pcard li { margin-bottom: 6px; }
.asvab-lp .formula { font-family: var(--serif); font-size: 1.45rem; color: var(--brand-teal-dark); margin: 8px 0 4px; }

/* FEATURES */
.asvab-lp .soft { background: var(--bg-soft); }
.asvab-lp .feat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 32px; }
.asvab-lp .feat { background: #fff; border: 1px solid var(--rule); border-radius: var(--r-md); padding: 22px; }
.asvab-lp .feat h3 { margin-bottom: 8px; font-size: 1.02rem; }
.asvab-lp .feat p { font-size: .94rem; }

/* FREE TEST BAND */
.asvab-lp .free { background: linear-gradient(135deg, var(--brand-teal) 0%, var(--brand-teal-dark) 100%); color: #fff; text-align: center; }
.asvab-lp .free .eyebrow { color: var(--brand-lime-soft); }
.asvab-lp .free h2 { color: #fff; }
.asvab-lp .free p { color: rgba(255,255,255,.85); max-width: 52ch; margin: 14px auto 26px; }
.asvab-lp .free .micro { margin: 16px auto 0; }

/* REVIEWS */
.asvab-lp .reviews-row { display: flex; gap: 20px; flex-wrap: wrap; margin-top: 30px; }
.asvab-lp .review { background: #fff; border: 1px solid var(--rule); border-radius: var(--r-md); padding: 22px; flex: 1; min-width: 260px; }
.asvab-lp .review .stars { color: var(--brand-amber); font-weight: 700; }
.asvab-lp .review p { font-size: .94rem; color: var(--ink-2); margin: 10px 0; }
.asvab-lp .review .who { font-size: .84rem; color: var(--ink-4); font-weight: 600; }

/* PRICING — single live $68/90 card (sitewide single-tier mandate, 2026-07-18) */
.asvab-lp .price-grid { display: grid; grid-template-columns: minmax(280px, 420px); justify-content: center; margin-top: 36px; }
.asvab-lp .price { background: #fff; border: 1px solid var(--brand-teal); border-radius: var(--r-lg); padding: 28px; text-align: center; box-shadow: var(--shadow-md); }
.asvab-lp .price .term { font-weight: 700; color: var(--ink); font-size: 1.08rem; }
.asvab-lp .price .amt { font-size: 2.3rem; font-weight: 800; color: var(--ink); margin: 8px 0; }
.asvab-lp .price .amt .woocommerce-Price-amount { font-size: inherit; font-weight: inherit; color: inherit; }
.asvab-lp .price form { margin: 0; }
.asvab-lp .price .btn { width: 100%; justify-content: center; margin-top: 16px; }
.asvab-lp .guarantee-line { margin-top: 22px; font-size: .95rem; color: var(--ink-3); }
.asvab-lp .guarantee-line b { color: var(--ink); }

/* EXPERT */
.asvab-lp .about-card { display: flex; gap: 22px; align-items: flex-start; background: #fff; border: 1px solid var(--rule); border-radius: var(--r-lg); padding: 28px; margin-top: 28px; box-shadow: var(--shadow-sm); max-width: 720px; }
.asvab-lp .avatar { width: 64px; height: 64px; border-radius: 50%; background: var(--brand-teal); color: #fff; font-weight: 800; font-size: 1.3rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.asvab-lp .about-card .cred { font-size: .85rem; color: var(--ink-4); font-weight: 600; margin: 4px 0 10px; }

/* FAQ */
.asvab-lp .faq-list { margin-top: 26px; }
.asvab-lp .faq-item { border-bottom: 1px solid var(--rule); padding: 20px 0; }
.asvab-lp .faq-item summary { font-weight: 700; color: var(--ink); cursor: pointer; font-size: 1.05rem; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.asvab-lp .faq-item summary::-webkit-details-marker { display: none; }
.asvab-lp .faq-item summary::after { content: "+"; color: var(--brand-teal); font-size: 1.4rem; line-height: 1; }
.asvab-lp .faq-item[open] summary::after { content: "\2013"; }
.asvab-lp .faq-item p { margin-top: 12px; }

/* FINAL */
.asvab-lp .final { background: var(--dark-bg); color: var(--dark-ink-2); text-align: center; }
.asvab-lp .final .eyebrow { color: var(--brand-lime); }
.asvab-lp .final h2 { color: #fff; max-width: 24ch; margin: 0 auto 16px; }
.asvab-lp .final h2 em { color: var(--brand-lime); }
.asvab-lp .final p { color: var(--dark-ink-2); max-width: 48ch; margin: 0 auto 26px; }

/* LEGAL */
.asvab-lp .legal { padding: 28px 0; }
.asvab-lp .legal p { font-size: .82rem; line-height: 1.6; color: var(--ink-4); }

/* ===== QUIZ MODAL ===== */
/* z-index 1100: above the sticky chrome (nav#nav 100, mega 110, skip-link 1000). */
.asvab-lp .qm-overlay { position: fixed; inset: 0; background: rgba(10,14,20,.55); backdrop-filter: blur(3px); z-index: 1100; display: none; align-items: flex-start; justify-content: center; padding: 4vh 16px; overflow-y: auto; }
.asvab-lp .qm-overlay.open { display: flex; }
.asvab-lp .qm { background: #fff; border-radius: var(--r-lg); width: 100%; max-width: 680px; box-shadow: var(--shadow-lg); overflow: hidden; }
.asvab-lp .qm-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 22px; border-bottom: 1px solid var(--rule); }
.asvab-lp .qm-head .t { font-weight: 800; color: var(--ink); font-size: 1.05rem; line-height: 1.3; }
.asvab-lp .qm-head .t small { display: block; font-weight: 600; color: var(--ink-4); font-size: .8rem; }
.asvab-lp .qm-tools { display: flex; gap: 10px; align-items: center; }
.asvab-lp .qm-timer { font-weight: 800; font-variant-numeric: tabular-nums; color: var(--brand-teal-dark); background: var(--bg-soft); border: 1px solid var(--rule); border-radius: var(--r-pill); padding: 6px 14px; font-size: .95rem; }
.asvab-lp .qm-timer.low { color: var(--brand-red); border-color: var(--brand-red); }
.asvab-lp .qm-close { background: none; border: 0; font-size: 1.2rem; cursor: pointer; color: var(--ink-4); width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; }
.asvab-lp .qm-body { padding: 22px; max-height: 74vh; overflow-y: auto; }
.asvab-lp .qm-progress { height: 6px; background: var(--bg-soft); border-radius: var(--r-pill); margin-bottom: 16px; overflow: hidden; }
.asvab-lp .qm-progress i { display: block; height: 100%; background: var(--brand-teal); border-radius: var(--r-pill); transition: width .25s var(--ease); }
.asvab-lp .qm-tag { display: inline-block; font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--brand-teal); background: #F2FAFC; border: 1px solid #D5EDF4; border-radius: var(--r-pill); padding: 4px 12px; margin-bottom: 12px; }
.asvab-lp .qm-passage { background: var(--bg-soft); border: 1px solid var(--rule); border-radius: var(--r-md); padding: 16px; font-size: .96rem; color: var(--ink-2); margin-bottom: 14px; }
.asvab-lp .qm-stem { font-weight: 700; color: var(--ink); margin-bottom: 14px; font-size: 1.02rem; }
.asvab-lp .qm-choice { display: flex; gap: 12px; align-items: flex-start; width: 100%; text-align: left; background: #fff; border: 1px solid var(--rule-2); border-radius: var(--r-sm); padding: 13px 15px; margin-bottom: 9px; cursor: pointer; font-family: var(--sans); font-size: .96rem; color: var(--ink-2); transition: border-color .15s var(--ease), background .15s var(--ease); }
.asvab-lp .qm-choice:hover { border-color: var(--brand-teal); background: #F7FCFD; }
.asvab-lp .qm-choice .l { font-weight: 800; color: var(--brand-teal); flex-shrink: 0; }
.asvab-lp .qm-foot { margin-top: 12px; font-size: .8rem; color: var(--ink-4); }
.asvab-lp .qm-start { text-align: center; padding: 12px 6px 6px; }
.asvab-lp .qm-start .clock { font-size: 2.4rem; font-weight: 800; color: var(--brand-teal-dark); font-variant-numeric: tabular-nums; margin: 10px 0; }
.asvab-lp .qm-start p { max-width: 44ch; margin: 0 auto 18px; font-size: .96rem; }
.asvab-lp .qm-score { text-align: center; padding: 8px 4px 18px; border-bottom: 1px solid var(--rule); margin-bottom: 18px; }
.asvab-lp .qm-score .big { font-size: 3rem; font-weight: 800; color: var(--ink); }
.asvab-lp .qm-score .line { font-weight: 700; margin: 4px 0 12px; }
.asvab-lp .qm-score .line.pass { color: var(--brand-green); }
.asvab-lp .qm-score .line.fail { color: var(--brand-red); }
.asvab-lp .qm-score p { max-width: 52ch; margin: 0 auto; font-size: .96rem; }
.asvab-lp .qm-weak { display: inline-block; background: #FFF7E8; border: 1px solid #F5D9A8; color: #8A5B00; border-radius: var(--r-pill); font-weight: 700; font-size: .85rem; padding: 6px 16px; margin: 12px 0 4px; }
.asvab-lp .qm-cta-row { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 16px; }
.asvab-lp .qm-review details { border: 1px solid var(--rule); border-radius: var(--r-sm); padding: 12px 14px; margin-bottom: 8px; }
.asvab-lp .qm-review summary { cursor: pointer; font-weight: 700; color: var(--ink); font-size: .93rem; list-style: none; }
.asvab-lp .qm-review summary::-webkit-details-marker { display: none; }
.asvab-lp .qm-review summary .ok { color: var(--brand-green); }
.asvab-lp .qm-review summary .bad { color: var(--brand-red); }
.asvab-lp .qm-review p { font-size: .9rem; margin-top: 8px; }

/* RESPONSIVE */
@media (max-width: 860px) {
  .asvab-lp .hero-grid { grid-template-columns: 1fr; gap: 28px; }
  .asvab-lp .branch-grid { grid-template-columns: 1fr; }
  .asvab-lp .feat-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .asvab-lp .correction .grid { grid-template-columns: 1fr; }
  .asvab-lp .two-col { grid-template-columns: 1fr; }
}

/* ── Free-test modal: email gate + AI coach analysis (2.9.8) ─────────────
   Both blocks are siblings of #qm-body inside .qm. Scoped under .qm so they
   cannot leak into the rest of the page. */
.qm .qm-gate{padding:20px 22px;border-top:1px solid var(--dark-rule);background:var(--dark-bg-2)}
.qm .qm-gate-h{font-weight:700;font-size:1.02rem;color:#fff;margin-bottom:4px}
.qm .qm-gate-p{font-size:.86rem;color:var(--dark-ink-2);margin-bottom:12px}
.qm .qm-gate form{display:flex;gap:8px;flex-wrap:wrap}
.qm .qm-gate input[type=email]{flex:1 1 220px;min-width:0;padding:11px 13px;border-radius:9px;border:1px solid var(--dark-rule);background:var(--dark-bg);color:#fff;font:inherit;font-size:.92rem}
.qm .qm-gate input[type=email]::placeholder{color:var(--dark-ink-3)}
.qm .qm-gate input[type=email]:focus{outline:2px solid var(--brand-lime);outline-offset:1px}
.qm .qm-gate button{flex:0 0 auto}
.qm .qm-gate button[disabled]{opacity:.6;cursor:default}
.qm .qm-gate-err{min-height:18px;margin-top:7px;font-size:.82rem;color:var(--brand-red)}
.qm .qm-gate-fine{margin-top:6px;font-size:.74rem;color:var(--dark-ink-3)}

.qm .qm-ai{padding:20px 22px;border-top:1px solid var(--dark-rule)}
.qm .qm-ai-card{background:var(--dark-bg-2);border:1px solid var(--dark-rule);border-radius:12px;padding:16px 17px}
.qm .qm-ai-badge{display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--brand-lime);margin-bottom:9px}
.qm .qm-ai-letter{font-size:.9rem;line-height:1.65;color:var(--dark-ink-2);margin:0 0 13px}
.qm .qm-ai-wait{font-size:.88rem;color:var(--dark-ink-3);margin:0}
.qm .qm-dots i{display:inline-block;width:4px;height:4px;margin-left:3px;border-radius:50%;background:currentColor;animation:qmDot 1.2s infinite ease-in-out}
.qm .qm-dots i:nth-child(2){animation-delay:.18s}
.qm .qm-dots i:nth-child(3){animation-delay:.36s}
@keyframes qmDot{0%,60%,100%{opacity:.25}30%{opacity:1}}
@media (prefers-reduced-motion:reduce){.qm .qm-dots i{animation:none;opacity:.6}}

.qm .qm-ai-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px}
.qm .qm-ai-cat{border:1px solid var(--dark-rule);border-left-width:3px;border-radius:9px;padding:10px 11px;background:var(--dark-bg)}
.qm .qm-ai-cat .h{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.qm .qm-ai-cat .h b{font-size:.84rem;color:#fff}
.qm .qm-ai-cat .h span{font-size:.8rem;color:var(--dark-ink-3);white-space:nowrap}
.qm .qm-ai-cat .s{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-top:3px}
.qm .qm-ai-cat p{font-size:.79rem;line-height:1.5;color:var(--dark-ink-2);margin:6px 0 0}
.qm .qm-ai-cat.is-good{border-left-color:var(--brand-lime)}
.qm .qm-ai-cat.is-good .s{color:var(--brand-lime)}
.qm .qm-ai-cat.is-warn{border-left-color:var(--brand-amber)}
.qm .qm-ai-cat.is-warn .s{color:var(--brand-amber)}
.qm .qm-ai-cat.is-bad{border-left-color:var(--brand-red)}
.qm .qm-ai-cat.is-bad .s{color:var(--brand-red)}

.qm .qm-ai-plan{margin:13px 0 0;padding-left:18px}
.qm .qm-ai-plan li{font-size:.84rem;line-height:1.55;color:var(--dark-ink-2);margin-bottom:5px}
.qm .qm-ai-plan li b{color:#fff}

/* ── Kill the injected button text-shadow (2.9.9) ────────────────────────
   Elementor's global kit injects, sitewide from an inline <style>:
     .elementor-kit-5 button, … .elementor-button { text-shadow: 0 0 10px rgba(0,0,0,.3) }
   Every button here — hero CTAs, the start button, all 12 answer choices, the
   gate submit — is a <button>, so the blur lands everywhere.

   The `body ` prefix is load-bearing: Elementor's kit is an inline <style>
   rendered AFTER this stylesheet and its selectors are (0,1,1). A bare
   `.asvab-lp button` ties at (0,1,1) and loses on source order.
   `body .asvab-lp button` is (0,1,2) and wins — no !important needed. */
body .asvab-lp button,
body .asvab-lp input[type="button"],
body .asvab-lp input[type="submit"],
body .asvab-lp .btn,
body .asvab-lp .elementor-button{text-shadow:none}

/* Answer-review container. A sibling of #qm-body (see the template comment),
   so it needs #qm-body's own horizontal padding to line up with the score
   above it. */
.qm .qm-review-host{padding:0 22px 22px}
