/* Visual continuity at the landing page's next steps. No account or payment logic. */
.cv-journey{--cv-purple:#1f7a55;--cv-deep:#39946a;--cv-ink:#242a27;--cv-muted:#60616c;--cv-paper:#fafbfb;--cv-line:#dfe4e2}
.cv-journey :focus-visible{outline:3px solid #4268c9;outline-offset:4px}
.cv-journey .cv-clickable:focus-within{outline:none}
.cv-journey .cv-clickable:has(:focus-visible){outline:3px solid #4268c9;outline-offset:5px}
.cv-journey .cv-clickable a:focus-visible{outline:none}
.cv-journey .cv-button,.cv-journey .cv-header .cv-button{background:#1f7a55;border-radius:11px;min-height:54px;padding:14px 25px;box-shadow:0 2px 4px #1b362910,0 6px 14px #43c88818;font-size:17px}
.cv-journey .cv-button:hover{background:#3da675;box-shadow:0 5px 16px #43c8882a;transform:translateY(-2px)}
.cv-journey .cv-header .cv-button{min-height:44px;padding:10px 18px;font-size:15px;white-space:nowrap;flex-shrink:0}
.cv-journey .cv-header.is-scrolled{background:#fffffff0;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.cv-journey .cv-button-outline{background:#fff;color:#39946a!important;box-shadow:inset 0 0 0 1px #dde5e1}
.cv-journey .cv-page-hero h1{letter-spacing:-.045em;line-height:1.08;color:#242a27;text-wrap:balance}
.cv-journey .cv-page-hero>p:not(.cv-eyebrow){color:#60616c;line-height:1.65}
.cv-journey .cv-tone{background:#f5f8f7}
.cv-journey [data-exam-picker] button{border-radius:9px;color:#595863}
.cv-journey [data-exam-picker] button[aria-pressed=true]{background:#1f7a55;border-color:#1f7a55;color:#fff;box-shadow:0 2px 5px #247c521c}
.cv-journey .cv-chooser-upgraded{background:#eff2f1;border-radius:13px;padding:20px}
.cv-journey .cv-chooser-upgraded>label{font-size:18px;color:#2e3934;margin-bottom:15px}
.cv-journey [data-exam-picker] button:not([aria-pressed=true]){background:#fff;border-color:#dfe4e2}
.cv-journey .cv-plan{border-radius:18px;box-shadow:0 3px 10px #212d2708}
.cv-journey .cv-prep-intro>div>h1{letter-spacing:-.04em!important;line-height:1.12!important;color:#242a27!important}
.cv-journey .cv-prep-intro>div>p{color:#60616c!important}
.cv-journey .cv-prep-proof{background:#f5f7f6!important;border:1px solid #e2e7e5;border-radius:18px}
.cv-journey .cv-prep-proof p{color:#60616c!important;line-height:1.6}
.cv-journey .cv-prep-proof strong{color:#2f443a}
.cv-journey .cv-prep-proof>div+div{border-color:#dee4e1}
.cv-journey #prepStartCta{background:#1f7a55!important;border-radius:11px!important;box-shadow:0 5px 14px #43c88822!important;font-weight:600!important;min-height:54px}
.cv-journey #prepBuyCta{background:#eff7f3!important;border-radius:9px!important;color:#39946a!important;min-height:44px;display:inline-flex!important;align-items:center;padding:10px 18px!important}
.cv-journey .section-card{border:1px solid #dfe4e2!important;border-radius:15px!important;box-shadow:0 3px 9px #212d2705}
.cv-journey #questionWrap{border-color:#dfe4e2!important;border-radius:18px!important;box-shadow:0 4px 14px #212d2705}
.cv-journey #questionSubtopic{color:#60616c!important;font-size:12px!important}
.cv-journey #questionText{color:#242a27!important;font-size:22px!important;line-height:1.5!important;letter-spacing:-.015em}
.cv-journey .option-btn{font-size:16px!important;line-height:1.5!important;min-height:50px;border-radius:10px!important}
.cv-journey #explanation{background:#f1f5fd!important;border-color:#d7e0ef!important;padding:20px!important;border-radius:12px!important}
.cv-journey #explanationText{color:#454c59!important;font-size:16px!important;line-height:1.7!important}
.cv-journey #explanation p:not(#explanationText){color:#52627d!important}
.cv-journey .cv-form-panel{border:1px solid #dfe4e2;border-radius:18px;box-shadow:0 4px 16px #212d2707}
.cv-journey .cv-account-note{background:#eaf2ec;color:#4a5650;border-radius:12px}
.cv-journey .cv-form-panel .cv-small,.cv-journey .cv-form-panel .cv-muted{color:#60616c;line-height:1.65}
.cv-journey .cv-order-check{line-height:1.65;color:#474e4b}
.cv-journey .cv-order-check input{accent-color:#1f7a55}
.cv-journey #checkoutButton{width:100%;margin-top:24px}
@media(max-width:700px){
 .cv-journey .cv-header .cv-button{padding:10px 14px;font-size:14px}
 .cv-journey .cv-page-hero h1{font-size:clamp(36px,9vw,48px)}
 .cv-journey .cv-prep-intro>div>h1{font-size:clamp(32px,8.7vw,44px)!important}
 .cv-journey #questionText{font-size:19px!important}
 .cv-journey .option-btn{font-size:15px!important}
 .cv-journey #explanation{padding:17px!important}
 .cv-journey .cv-form-panel{padding:22px}
}
@media(max-width:360px){
 .cv-journey .cv-header .cv-brand{font-size:23px;gap:6px}
 .cv-journey .cv-header .cv-nav{gap:8px}
 .cv-journey .cv-header .cv-nav-actions{gap:4px}
 .cv-journey .cv-header .cv-button{padding-inline:12px}
}
@media(prefers-reduced-motion:reduce){.cv-journey .cv-button{transition:none;transform:none!important}}
/* Checkout: what the pass covers */
.cv-checkout .cv-cover{font-size:15px;line-height:1.45;font-weight:600;color:#17613f;margin:10px 0 0}
.cv-checkout .cv-cover[data-covers=false]{color:#9a4a12}

/* Checkout: the 6-month nudge when a 3-month pass ends before the sitting, and group-pass options */
.cv-upgrade{margin:10px 0 0;font-size:14px;line-height:1.5;color:#4a5650}
.cv-upgrade button{display:inline-block;margin:0 6px 4px 0;padding:8px 14px;border-radius:999px;border:1px solid #1f7a55;background:#fff;color:#39946a;font-family:inherit;font-weight:600;font-size:14px;line-height:1.2;cursor:pointer}
.cv-upgrade button:hover,.cv-upgrade button:focus-visible{background:#1f7a55;color:#fff}
.cv-group-options{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.cv-group-options[hidden]{display:none}
@media(max-width:520px){.cv-group-options{grid-template-columns:1fr}}
/* Checkout polish (QA 3 Oct): primary button weight like every other primary; exam names never break mid-name */
.cv-journey #checkoutButton{font-weight:600}
.cv-journey [data-exam-picker] button strong{white-space:nowrap}
.cv-journey .cv-upgrade{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline}
.cv-checkout [data-exam-picker]{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media(max-width:600px){.cv-checkout [data-exam-picker]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.cv-fee-line{margin:10px 0 0;font-size:14px;line-height:1.5;color:#4a5650}
.cv-promo{display:block;width:fit-content;max-width:100%;margin:10px 0 14px;padding:6px 12px;border-radius:10px;background:#eaf2ec;color:#17613f;font-size:13px;line-height:1.35;font-weight:600}
