/* CBP course landing styles — extracted from cbp-course-landing.html (2026-07-18).
   Every rule is namespaced under .cbp-lp so it cannot restyle the site header/
   footer/nav that now wrap this page. Only :root custom properties stay global
   (harmless), and html{scroll-behavior} stays global (the only place it works;
   affects no visual chrome). The old .nav/.logo rules are kept but inert — their
   markup was dropped in favour of the theme header/footer. */

    :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);

      --r-sm: 12px;
      --r-md: 20px;
      --r-lg: 28px;
      --r-pill: 999px;
    }

    html { scroll-behavior: smooth; }

    .cbp-lp, .cbp-lp *, .cbp-lp *::before, .cbp-lp *::after { box-sizing: border-box; margin: 0; padding: 0; }
    .cbp-lp { font-family: var(--sans); color: var(--ink-2); background: var(--bg); line-height: 1.6; -webkit-font-smoothing: antialiased; }
    .cbp-lp .wrap { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 24px; }
    .cbp-lp h1, .cbp-lp h2, .cbp-lp h3 { color: var(--ink); line-height: 1.12; font-weight: 800; letter-spacing: -.02em; }
    .cbp-lp h1 { font-size: clamp(2rem, 4.6vw, 3.4rem); }
    .cbp-lp h2 { font-size: clamp(1.7rem, 3.5vw, 2.5rem); }
    .cbp-lp h3 { font-size: 1.15rem; font-weight: 700; }
    .cbp-lp p { color: var(--ink-3); }
    .cbp-lp em { font-family: var(--serif); font-style: italic; }
    .cbp-lp a { color: var(--brand-teal); text-decoration: none; }
    .cbp-lp section { padding: 72px 0; }
    .cbp-lp .eyebrow { display:block; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; font-size: .8rem; color: var(--brand-teal); margin-bottom: 14px; }

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

    .cbp-lp .badge { display:inline-block; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; padding:4px 12px; border-radius:var(--r-pill); }
    .cbp-lp .badge-both { background: var(--brand-lime-soft); color: var(--brand-teal-darker); }
    .cbp-lp .badge-officer { background: #E0F2F7; color: var(--brand-teal-dark); }
    .cbp-lp .badge-agent { background: #FEF3E2; color: #B45309; }
    .cbp-lp .badge-new { background: var(--brand-teal); color: #fff; }

    /* NAV (inert — page nav dropped; theme header used) */
    .cbp-lp .nav { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.92); backdrop-filter: blur(10px); border-bottom: 1px solid var(--rule); }
    .cbp-lp .nav .wrap { display: flex; align-items: center; justify-content: space-between; height: 68px; }
    .cbp-lp .logo { font-weight: 800; font-size: 1.25rem; color: var(--ink); }
    .cbp-lp .logo span { color: var(--brand-teal); }
    .cbp-lp .nav-links { display: flex; gap: 26px; align-items: center; }
    .cbp-lp .nav-links a { color: var(--ink-3); font-weight: 600; font-size: .95rem; }
    @media (max-width: 760px){ .cbp-lp .nav-links a:not(.btn){ display:none; } }

    /* HERO */
    .cbp-lp .hero { background: linear-gradient(180deg, #F4FAFB 0%, #FFFFFF 100%); padding: 60px 0 48px; }
    .cbp-lp .hero-trust { display:flex; gap:14px; flex-wrap:wrap; align-items:center; font-size:.9rem; color:var(--ink-3); margin-bottom:20px; }
    .cbp-lp .hero-trust .stars { color: var(--brand-amber); }
    .cbp-lp .hero-trust b { color: var(--ink); }
    .cbp-lp .hero-trust .dot { width:4px; height:4px; border-radius:50%; background:var(--ink-4); display:inline-block; }
    .cbp-lp .hero h1 { max-width: 22ch; margin-bottom: 18px; }
    .cbp-lp .hero .lead { font-size: 1.18rem; max-width: 56ch; margin-bottom: 26px; }
    .cbp-lp .hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }
    .cbp-lp .hero-meta { display:flex; gap:22px; flex-wrap:wrap; margin-top:20px; font-size:.88rem; color:var(--ink-4); font-weight:600; }
    .cbp-lp .hero-meta span::before { content:"✓ "; color: var(--brand-green); }
    /* Two-column hero with credited CBP photo on the right */
    .cbp-lp .hero-grid { display:grid; grid-template-columns: 1.15fr .85fr; gap:44px; align-items:center; }
    .cbp-lp .hero-copy { min-width:0; }
    .cbp-lp .hero-media { min-width:0; }
    .cbp-lp .hero-photo { position:relative; margin:0; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-lg); }
    .cbp-lp .hero-photo img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
    .cbp-lp .hero-credit { position:absolute; left:0; right:0; bottom:0; margin:0; padding:9px 13px; font-size:.72rem; line-height:1.3; color:rgba(255,255,255,.82); background:linear-gradient(180deg, rgba(10,14,20,0), rgba(10,14,20,.5)); transition: background .25s var(--ease), color .25s var(--ease); }
    .cbp-lp .hero-photo:hover .hero-credit, .cbp-lp .hero-photo:focus-within .hero-credit { color:#fff; background:linear-gradient(180deg, rgba(10,14,20,.12), rgba(10,14,20,.82)); }
    .cbp-lp .hero-credit a { color:inherit; text-decoration:underline; }
    @media (max-width: 860px){ .cbp-lp .hero-grid { grid-template-columns: 1fr; gap:28px; } .cbp-lp .hero-photo img { aspect-ratio:16/9; } }

    /* urgency bar */
    .cbp-lp .urg-bar { background: var(--ink); color: #fff; text-align:center; padding: 12px 20px; font-size:.92rem; }
    .cbp-lp .urg-bar b { color: var(--brand-lime); }

    /* TRACK SELECTOR */
    .cbp-lp .tracks .grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:36px; }
    @media (max-width: 820px){ .cbp-lp .tracks .grid{ grid-template-columns:1fr; } }
    .cbp-lp .track { background:#fff; border:2px solid var(--rule-2); border-radius:var(--r-lg); padding:32px; box-shadow:var(--shadow-sm); }
    .cbp-lp .track.agent { border-color: var(--brand-teal); }
    .cbp-lp .track .role { font-size:1.35rem; font-weight:800; color:var(--ink); margin:10px 0 6px; }
    .cbp-lp .track ul { list-style:none; margin:18px 0; }
    .cbp-lp .track li { padding:10px 0; border-bottom:1px solid var(--rule); color:var(--ink-2); font-weight:600; }
    .cbp-lp .track li small { display:block; color:var(--ink-4); font-weight:500; }
    .cbp-lp .track li:last-child { border-bottom:0; }
    .cbp-lp .track .stat { font-size:.9rem; color:var(--ink-3); margin-bottom:16px; }
    .cbp-lp .track .stat b { color:var(--ink); }

    /* CORRECTION dark band */
    .cbp-lp .correction { background: var(--brand-teal-darker); }
    .cbp-lp .correction h2, .cbp-lp .correction h3 { color:#fff; }
    .cbp-lp .correction p { color: var(--dark-ink-2); }
    .cbp-lp .correction .grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:30px; }
    @media (max-width: 760px){ .cbp-lp .correction .grid{ grid-template-columns:1fr; } }
    .cbp-lp .correction .card { background: var(--dark-bg-2); border:1px solid var(--dark-rule); border-radius:var(--r-md); padding:26px; }
    .cbp-lp .tag-old { color:#FCA5A5; font-weight:700; }
    .cbp-lp .tag-new { color: var(--brand-lime); font-weight:700; }

    /* COURSE CONTENT */
    .cbp-lp .soft { background: var(--bg-soft); }
    .cbp-lp .cc-list { margin-top:32px; border:1px solid var(--rule-2); border-radius:var(--r-md); background:#fff; overflow:hidden; }
    .cbp-lp .cc-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 26px; border-bottom:1px solid var(--rule); flex-wrap:wrap; }
    .cbp-lp .cc-row:last-child { border-bottom:0; }
    .cbp-lp .cc-row .t { font-weight:700; color:var(--ink); }
    .cbp-lp .cc-row .t small { display:block; font-weight:500; color:var(--ink-4); font-size:.85rem; }
    .cbp-lp .cc-row .b { display:flex; gap:8px; flex-wrap:wrap; }

    /* free test band */
    .cbp-lp .free { background: linear-gradient(135deg, var(--brand-teal) 0%, var(--brand-teal-dark) 100%); text-align:center; }
    .cbp-lp .free h2 { color:#fff; }
    .cbp-lp .free p { color: rgba(255,255,255,.85); max-width:52ch; margin:14px auto 26px; }
    .cbp-lp .free .row { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

    /* reviews */
    .cbp-lp .reviews-row { display:flex; gap:22px; flex-wrap:wrap; margin-top:32px; }
    .cbp-lp .review { background:#fff; border:1px solid var(--rule); border-radius:var(--r-md); padding:22px; flex:1; min-width:260px; }
    .cbp-lp .review .stars { color: var(--brand-trust); font-weight:700; letter-spacing:2px; }
    .cbp-lp .review p { font-size:.95rem; margin:10px 0; color:var(--ink-2); }
    .cbp-lp .review .who { font-size:.85rem; color:var(--ink-4); font-weight:600; }

    /* pricing (legacy grid — inert; single .cbp-offer card used instead) */
    .cbp-lp .price-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:40px; }
    @media (max-width: 860px){ .cbp-lp .price-grid{ grid-template-columns:1fr; max-width:420px; margin-inline:auto; } }
    .cbp-lp .price { background:#fff; border:1px solid var(--rule-2); border-radius:var(--r-lg); padding:30px; text-align:center; position:relative; }
    .cbp-lp .price.feature { border-color:var(--brand-teal); box-shadow:var(--shadow-md); transform:scale(1.03); }
    .cbp-lp .price .pop { position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--brand-teal); color:#fff; font-size:.72rem; font-weight:700; padding:5px 14px; border-radius:var(--r-pill); text-transform:uppercase; letter-spacing:.05em; }
    .cbp-lp .price .term { font-weight:700; color:var(--ink); font-size:1.1rem; }
    .cbp-lp .price .amt { font-size:2.4rem; font-weight:800; color:var(--ink); margin:8px 0; }
    .cbp-lp .price .was { color:var(--ink-4); text-decoration:line-through; font-weight:600; }
    .cbp-lp .price .btn { width:100%; justify-content:center; margin-top:18px; }

    /* single-offer card (replaces the 3-tier grid) */
    .cbp-lp .cbp-offer { max-width:420px; margin:26px auto 0; padding:28px 26px; border:1px solid var(--rule-2); border-radius:16px; background:var(--bg); box-shadow:0 10px 30px rgba(10,14,20,.06); }
    .cbp-lp .cbp-offer-name { font-weight:700; font-size:1.05rem; color:var(--ink-2); }
    .cbp-lp .cbp-offer-amt { font-family:var(--serif); font-size:3rem; line-height:1.05; color:var(--ink); margin:6px 0 2px; }
    .cbp-lp .cbp-offer-amt .woocommerce-Price-amount { font-family:inherit; }
    .cbp-lp .cbp-offer-term { color:var(--ink-3); margin-bottom:18px; }
    .cbp-lp .cbp-offer form { margin:0; }
    .cbp-lp .cbp-offer .btn-lime { width:100%; justify-content:center; font-size:1.05rem; padding:14px 20px; }
    .cbp-lp .cbp-offer-note { margin-top:12px; font-size:.85rem; color:var(--ink-4); }

    /* about / expert */
    .cbp-lp .about-card { display:flex; gap:26px; align-items:flex-start; background:#fff; border:1px solid var(--rule); border-radius:var(--r-lg); padding:32px; margin-top:32px; flex-wrap:wrap; }
    .cbp-lp .about-card .avatar { width:84px; height:84px; border-radius:50%; background:var(--brand-teal-darker); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:1.6rem; flex-shrink:0; }
    .cbp-lp .about-card h3 { margin-bottom:4px; }
    .cbp-lp .about-card .cred { font-size:.9rem; color:var(--ink-4); font-weight:600; margin-bottom:12px; }

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

    /* final */
    .cbp-lp .final { background: var(--dark-bg); text-align:center; }
    .cbp-lp .final h2 { color:#fff; max-width:22ch; margin:0 auto 18px; }
    .cbp-lp .final p { color: var(--dark-ink-2); max-width:50ch; margin:0 auto 28px; }

    .cbp-lp footer { background:#07090C; color:var(--dark-ink-3); padding:48px 0 36px; font-size:.9rem; }
    .cbp-lp footer .disc { border-top:1px solid var(--dark-rule); margin-top:28px; padding-top:22px; font-size:.82rem; line-height:1.6; }

    /* ===== QUIZ MODAL ===== */
    .cbp-lp .qm-overlay { position:fixed; inset:0; background:rgba(10,14,20,.65); backdrop-filter:blur(4px); z-index:100; display:none; align-items:center; justify-content:center; padding:20px; }
    .cbp-lp .qm-overlay.open { display:flex; }
    .cbp-lp .qm { background:#fff; border-radius:var(--r-lg); width:100%; max-width:680px; max-height:92vh; overflow-y:auto; box-shadow:var(--shadow-lg); }
    .cbp-lp .qm-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 26px; border-bottom:1px solid var(--rule); position:sticky; top:0; background:#fff; z-index:2; }
    .cbp-lp .qm-head .t { font-weight:800; color:var(--ink); font-size:1.02rem; }
    .cbp-lp .qm-head .t small { display:block; font-weight:600; color:var(--ink-4); font-size:.78rem; }
    .cbp-lp .qm-timer { font-weight:800; font-variant-numeric:tabular-nums; color:var(--brand-teal-darker); background:var(--brand-lime-soft); padding:6px 14px; border-radius:var(--r-pill); font-size:.95rem; }
    .cbp-lp .qm-timer.low { background:#FEE2E2; color:var(--brand-red); }
    .cbp-lp .qm-close { border:0; background:var(--bg-soft); width:34px; height:34px; border-radius:50%; font-size:1.1rem; cursor:pointer; color:var(--ink-3); flex-shrink:0; }
    .cbp-lp .qm-body { padding:26px; }
    .cbp-lp .qm-progress { height:6px; background:var(--rule); border-radius:var(--r-pill); overflow:hidden; margin-bottom:20px; }
    .cbp-lp .qm-progress i { display:block; height:100%; background:var(--brand-teal); border-radius:var(--r-pill); transition:width .3s var(--ease); }
    .cbp-lp .qm-tag { display:inline-block; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--brand-teal); margin-bottom:10px; }
    .cbp-lp .qm-passage { background:var(--bg-soft); border-left:3px solid var(--brand-teal); border-radius:0 var(--r-sm) var(--r-sm) 0; padding:14px 18px; font-size:.96rem; color:var(--ink-2); margin-bottom:14px; }
    .cbp-lp .qm-stem { font-weight:700; color:var(--ink); font-size:1.04rem; margin-bottom:16px; }
    .cbp-lp .qm-choice { display:flex; gap:12px; align-items:flex-start; width:100%; text-align:left; background:#fff; border:2px solid var(--rule-2); border-radius:var(--r-sm); padding:13px 16px; margin-bottom:10px; cursor:pointer; font:inherit; font-size:.96rem; color:var(--ink-2); transition:border-color .15s var(--ease), background .15s var(--ease); }
    .cbp-lp .qm-choice:hover { border-color:var(--brand-teal); background:#F4FAFB; }
    .cbp-lp .qm-choice .l { font-weight:800; color:var(--brand-teal); flex-shrink:0; }
    .cbp-lp .qm-foot { display:flex; justify-content:space-between; align-items:center; margin-top:8px; font-size:.85rem; color:var(--ink-4); font-weight:600; }
    .cbp-lp .qm-role-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:20px; }
    @media (max-width:560px){ .cbp-lp .qm-role-grid{ grid-template-columns:1fr; } }
    .cbp-lp .qm-role { border:2px solid var(--rule-2); border-radius:var(--r-md); padding:22px; cursor:pointer; background:#fff; font:inherit; text-align:left; transition:border-color .15s var(--ease); }
    .cbp-lp .qm-role:hover { border-color:var(--brand-teal); }
    .cbp-lp .qm-role b { display:block; color:var(--ink); font-size:1.05rem; margin-bottom:4px; }
    .cbp-lp .qm-role span { font-size:.88rem; color:var(--ink-3); }
    .cbp-lp .qm-score { text-align:center; padding:10px 0 4px; }
    .cbp-lp .qm-score .big { font-size:3rem; font-weight:800; color:var(--ink); }
    .cbp-lp .qm-score .line { font-weight:700; margin:6px 0 2px; }
    .cbp-lp .qm-score .line.pass { color:var(--brand-green); }
    .cbp-lp .qm-score .line.fail { color:var(--brand-red); }
    .cbp-lp .qm-score p { max-width:44ch; margin:10px auto 18px; font-size:.96rem; }
    .cbp-lp .qm-review { margin-top:22px; text-align:left; }
    .cbp-lp .qm-review details { border:1px solid var(--rule); border-radius:var(--r-sm); margin-bottom:8px; padding:12px 16px; }
    .cbp-lp .qm-review summary { cursor:pointer; font-weight:700; font-size:.92rem; color:var(--ink); list-style:none; display:flex; gap:10px; align-items:center; }
    .cbp-lp .qm-review summary::-webkit-details-marker { display:none; }
    .cbp-lp .qm-review .ok { color:var(--brand-green); } .cbp-lp .qm-review .bad { color:var(--brand-red); }
    .cbp-lp .qm-review p { font-size:.9rem; margin-top:10px; }
    .cbp-lp .qm-cta-row { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:20px; }

/* ── Free-test modal: email gate + AI coach analysis (2.9.9) ─────────────
   Both blocks are siblings of #qm-body inside .qm, which itself sits inside
   .cbp-lp. Namespaced under .cbp-lp to match every other rule in this file so
   they cannot restyle the shared theme header/footer. */
    .cbp-lp .qm-gate { padding:20px 22px; border-top:1px solid var(--dark-rule); background:var(--dark-bg-2); }
    .cbp-lp .qm-gate-h { font-weight:700; font-size:1.02rem; color:#fff; margin-bottom:4px; }
    .cbp-lp .qm-gate-p { font-size:.86rem; color:var(--dark-ink-2); margin-bottom:12px; }
    .cbp-lp .qm-gate form { display:flex; gap:8px; flex-wrap:wrap; }
    .cbp-lp .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; }
    .cbp-lp .qm-gate input[type=email]::placeholder { color:var(--dark-ink-3); }
    .cbp-lp .qm-gate input[type=email]:focus { outline:2px solid var(--brand-lime); outline-offset:1px; }
    .cbp-lp .qm-gate button { flex:0 0 auto; }
    .cbp-lp .qm-gate button[disabled] { opacity:.6; cursor:default; }
    .cbp-lp .qm-gate-err { min-height:18px; margin-top:7px; font-size:.82rem; color:var(--brand-red); }
    .cbp-lp .qm-gate-fine { margin-top:6px; font-size:.74rem; color:var(--dark-ink-3); }

    .cbp-lp .qm-ai { padding:20px 22px; border-top:1px solid var(--dark-rule); }
    .cbp-lp .qm-ai-card { background:var(--dark-bg-2); border:1px solid var(--dark-rule); border-radius:12px; padding:16px 17px; }
    .cbp-lp .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; }
    .cbp-lp .qm-ai-letter { font-size:.9rem; line-height:1.65; color:var(--dark-ink-2); margin:0 0 13px; }
    .cbp-lp .qm-ai-wait { font-size:.88rem; color:var(--dark-ink-3); margin:0; }
    .cbp-lp .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; }
    .cbp-lp .qm-dots i:nth-child(2) { animation-delay:.18s; }
    .cbp-lp .qm-dots i:nth-child(3) { animation-delay:.36s; }
    @keyframes qmDot { 0%,60%,100% { opacity:.25 } 30% { opacity:1 } }
    @media (prefers-reduced-motion:reduce) { .cbp-lp .qm-dots i { animation:none; opacity:.6; } }

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

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

/* ── Kill the injected button text-shadow (2.9.9) ────────────────────────
   Elementor's global kit injects, sitewide and from an inline <style>:

     .elementor-kit-5 button,
     .elementor-kit-5 input[type="button"],
     .elementor-kit-5 input[type="submit"],
     .elementor-kit-5 .elementor-button { text-shadow: 0 0 10px rgba(0,0,0,.3) }

   Every button on this page — the hero CTAs, the role chooser, all 8 answer
   choices, the gate submit — is a <button>, so the blur lands everywhere and
   fights the flat design system.

   The `body ` prefix is load-bearing, not decoration. Elementor's kit is an
   inline <style> that renders AFTER this stylesheet, and its selectors are
   (0,1,1). A bare `.cbp-lp button` is also (0,1,1), so it would tie and lose
   on source order. `body .cbp-lp button` is (0,1,2) and wins outright — no
   !important needed. Same trick as assets/new/css/nav.css does for the
   redesigned chrome. */
    body .cbp-lp button,
    body .cbp-lp input[type="button"],
    body .cbp-lp input[type="submit"],
    body .cbp-lp .btn,
    body .cbp-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-review keeps its 22px top margin for separation from the
   gate / AI card. */
    .cbp-lp .qm-review-host { padding:0 26px 26px; }
