:root{font-family:Georgia,"Times New Roman",serif;color:#18394d;background:#f5f8f8;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}.checkout-shell{max-width:1160px;margin:0 auto;padding:24px 30px 30px}.checkout-top,.checkout-footer{display:flex;align-items:center;justify-content:space-between}.checkout-top{min-height:48px;border-bottom:1px solid #d7e3e7;padding-bottom:14px}.wordmark{font:800 15px/1.1 Arial,sans-serif;letter-spacing:.16em;text-decoration:none;color:#16394e}.wordmark span{color:#438da0}.environment-badge{border:1px solid;border-radius:3px;padding:6px 9px;font:800 10px/1 Arial,sans-serif;letter-spacing:.12em}.environment-test{color:#7d5510;border-color:#d0a447;background:#fff5d9}.environment-live{color:#9f2934;border-color:#d68186;background:#fff0f1}.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.91fr);gap:clamp(40px,8vw,110px);align-items:start;padding:62px 2px 70px}.checkout-intro{max-width:520px;padding-top:30px}.eyebrow{margin:0 0 12px;font:800 10px/1.4 Arial,sans-serif;letter-spacing:.19em;color:#47889a}.checkout-intro h1{max-width:510px;margin:0;color:#15394e;font-size:clamp(42px,6vw,68px);font-weight:500;line-height:.99;letter-spacing:-.045em}.lead{max-width:430px;margin:25px 0 0;color:var(--co-muted);font:17px/1.65 Arial,sans-serif}.benefit-list{display:grid;gap:15px;margin:35px 0 0;padding:0;list-style:none;color:#284b5b;font:14px/1.5 Arial,sans-serif}.benefit-list li{display:flex;align-items:flex-start;gap:12px}.benefit-list li:before{content:"";width:7px;height:7px;margin-top:6px;border-radius:50%;background:#c59c48;box-shadow:0 0 0 4px #f2ead7}.free-note{display:flex;align-items:center;gap:9px;margin-top:44px;color:#73858d;font:12px Arial,sans-serif}.free-dot{width:8px;height:8px;border-radius:50%;background:#5f9a7c}.free-note a{color:#326f83;text-decoration:none}.checkout-panel{border:1px solid #d8e3e6;border-radius:18px;background:#fff;padding:26px;box-shadow:0 20px 60px #193f4d0d}.panel-heading{display:flex;align-items:center;gap:14px;margin:0 0 22px}.step-index{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e7f2f4;color:#347a89;font:700 12px Arial,sans-serif}.panel-heading .eyebrow{margin:0 0 4px}.panel-heading h2{margin:0;color:#193d51;font-size:20px;font-weight:500;line-height:1.2}.checkout-panel fieldset{display:grid;gap:10px;margin:0;padding:0;border:0}.offer-card{display:flex;align-items:center;gap:12px;min-height:76px;padding:12px 14px;border:1px solid #dae4e7;border-radius:11px;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}.offer-card:hover{border-color:#7eabb6;transform:translateY(-1px)}.offer-card.is-selected{border-color:#48899a;background:#f0f7f7;box-shadow:inset 0 0 0 1px #48899a}.offer-card input{width:16px;height:16px;accent-color:#347e8f;flex:0 0 auto}.offer-copy,.offer-price{display:grid;gap:5px}.offer-copy{flex:1}.offer-copy strong{font:700 14px Arial,sans-serif;color:#23495b}.offer-copy small,.offer-price small{font:11px/1.35 Arial,sans-serif;color:#71838b}.offer-price{text-align:right}.offer-price strong{font:700 18px Arial,sans-serif;color:var(--co-ink)}.primary-button{text-decoration:none;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;margin-top:17px;padding:0 17px;border:0;border-radius:8px;background:#173d52;color:#fff;font:700 13px Arial,sans-serif;cursor:pointer;transition:background .18s,transform .18s}.primary-button:hover:not(:disabled){background:#245d72;transform:translateY(-1px)}.primary-button:disabled,button:disabled{opacity:.58;cursor:not-allowed}.status-message{min-height:20px;margin:16px 0 0;color:#5e737d;font:12px/1.5 Arial,sans-serif}.status-message.error{color:#a43c43}.status-message.success{color:var(--co-good)}.small-print{margin:10px 0 0;color:var(--co-muted);font:11px/1.6 Arial,sans-serif}.restore-box{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid #e1e9eb}.restore-box .eyebrow{margin-bottom:5px}.restore-box strong{font:12px/1.4 Arial,sans-serif;color:#347251}.text-button{border:0;background:transparent;color:#347e8f;font:700 12px Arial,sans-serif;text-align:right;cursor:pointer}.text-button:hover{text-decoration:underline}.checkout-footer{padding-top:14px;border-top:1px solid #d7e3e7;color:#8b999f;font:9px Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #d0a447;outline-offset:3px}@media(max-width:760px){.checkout-shell{padding:18px 18px 22px}.checkout-layout{grid-template-columns:1fr;gap:32px;padding:34px 0}.checkout-intro{padding-top:4px}.checkout-intro h1{font-size:clamp(42px,12vw,58px)}.lead{margin-top:17px}.benefit-list{margin-top:25px}.free-note{margin-top:26px}.checkout-panel{padding:20px 17px}.checkout-footer{font-size:8px}}@media(max-width:380px){.offer-card{padding:11px 9px;gap:8px}.offer-copy strong{font-size:12px}.offer-copy small{font-size:10px}.offer-price strong{font-size:16px}.checkout-panel{padding:17px 13px}}
.auth-shell{max-width:760px;margin:0 auto;padding:24px 30px}.auth-card{max-width:510px;margin:clamp(36px,9vh,90px) auto;padding:clamp(24px,5vw,44px);border:1px solid #d8e3e6;border-radius:18px;background:#fff;box-shadow:0 20px 60px #193f4d0d}.auth-card h1{margin:0;font-size:clamp(36px,5vw,52px);font-weight:500;line-height:1.05;letter-spacing:-.04em}.auth-card .lead{margin:15px 0 28px}.auth-channel{display:flex;gap:10px;margin:0 0 23px;padding:0;border:0}.auth-channel legend{margin-bottom:10px;color:var(--co-muted);font:12px Arial,sans-serif}.auth-channel label{display:flex;align-items:center;gap:8px;flex:1;padding:12px;border:1px solid #dae4e7;border-radius:9px;font:700 13px Arial,sans-serif}.auth-channel input{accent-color:#347e8f}.auth-label{display:block;margin-bottom:8px;font:700 12px Arial,sans-serif}.auth-card input[type=email],.auth-card input[type=tel],.auth-card input[name=code]{width:100%;min-height:48px;padding:0 13px;border:1px solid #cbdce1;border-radius:8px;font:15px Arial,sans-serif}.auth-card [hidden]{display:none}@media(max-width:760px){.auth-shell{padding:18px}.auth-card{margin:32px auto;padding:24px 19px}}
.checkout-panel{overflow:hidden}.checkout-steps{display:flex;gap:8px;margin:0 0 24px;padding:0 0 18px;border-bottom:1px solid #e1e9eb;list-style:none;font:700 11px Arial,sans-serif;letter-spacing:.06em;color:#8b999f;text-transform:uppercase}.checkout-steps li{display:flex;align-items:center;gap:8px;flex:1}.checkout-steps li:not(:last-child):after{content:"";flex:1;height:1px;background:#dae4e7}.checkout-steps span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid #cbdce1;font-size:10px;letter-spacing:0}.checkout-steps .is-current{color:#173d52}.checkout-steps .is-current span{border-color:#173d52;background:#173d52;color:#fff}.checkout-steps .is-done{color:#347e8f}.checkout-steps .is-done span{border-color:#347e8f;background:#e7f2f4;color:#347e8f}
.slide-forward{animation:stage-in-right .38s cubic-bezier(.2,.8,.2,1) both}.slide-back{animation:stage-in-left .38s cubic-bezier(.2,.8,.2,1) both}@keyframes stage-in-right{from{opacity:0;transform:translateX(48px)}to{opacity:1;transform:none}}@keyframes stage-in-left{from{opacity:0;transform:translateX(-48px)}to{opacity:1;transform:none}}
.back-button{display:inline-flex;align-items:center;gap:6px;margin:0 0 16px;padding:6px 0;border:0;background:transparent;color:#347e8f;font:700 12px Arial,sans-serif;cursor:pointer}.back-button:hover:not(:disabled){text-decoration:underline}
.order-summary{display:flex;justify-content:space-between;gap:16px;margin:0 0 20px;padding:16px;border:1px solid #d3e4e8;border-radius:11px;background:#f0f7f7}.order-summary>div{display:grid;gap:5px}.order-summary .eyebrow{margin:0}.order-summary strong{font:700 15px Arial,sans-serif;color:var(--co-ink)}.order-summary small{font:11px/1.4 Arial,sans-serif;color:#71838b}.order-total{text-align:right}.order-total strong{font-size:24px}.payment-element{min-height:120px;margin:0 0 4px}
.primary-button.is-busy:after{content:"";width:14px;height:14px;margin-left:10px;border:2px solid #ffffff66;border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.done-stage{display:grid;justify-items:center;text-align:center;padding:10px 0 4px}.done-stage h2{margin:18px 0 0;color:#193d51;font-size:26px;font-weight:500;line-height:1.2}.done-stage .lead{margin:10px 0 0;font-size:14px}.done-stage .lead:empty{display:none}.done-stage .primary-button{margin-top:22px}.done-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#e7f2f4;color:#fff;font:700 28px Arial,sans-serif;position:relative}.done-mark:not(.is-active):after{content:"";width:26px;height:26px;border:3px solid #b9d5dc;border-top-color:#347e8f;border-radius:50%;animation:spin .9s linear infinite}.done-mark.is-active{background:#2f7d58;animation:pop .4s cubic-bezier(.2,1.4,.4,1) both}@keyframes pop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
@media(max-width:380px){.checkout-steps{font-size:9px;gap:5px}.order-summary{padding:13px}.order-total strong{font-size:20px}}@media(prefers-reduced-motion:reduce){.slide-forward,.slide-back,.done-mark.is-active{animation:none}}
.done-stage .status-message:empty{display:none}
.offer-price s,.order-total s{color:#8a9aa1;font:600 11px Arial,sans-serif}.founder-note{margin:-6px 0 14px;color:#5a5140;font:12px/1.5 Arial,sans-serif}.founder-badge{display:inline-block;margin-right:4px;padding:3px 8px;border-radius:999px;background:#fbf1dc;color:#7d5510;font:800 10px/1.4 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.checkout-legal a{color:inherit;text-underline-offset:3px}

/* CDL Coach design system (docs/DESIGN-SYSTEM.md, approved desktop board D-Checkout): the same colours, fonts and
   cards as the app, with the app navigation removed. Only the look changes; the checkout flow stays as it is. */
:root{--co-ground:#F4F6F3;--co-surface:#FFFFFF;--co-raised:#ECEFEA;--co-ink:#15201B;--co-muted:#55605A;--co-line:#DCE1DA;--co-accent:#1F4B99;--co-accent-soft:#E3EAF6;--co-hl:#F2B705;--co-hl-soft:#FCF1CD;--co-good:#11774F;--co-bad:#B3261E;
 --co-display:Rajdhani,'Exo 2',system-ui,sans-serif;--co-body:'Exo 2',system-ui,sans-serif;--co-brand:Audiowide,'Exo 2',sans-serif;font-family:var(--co-body);color:var(--co-ink);background:var(--co-ground)}
body{background:var(--co-ground)}
.checkout-shell,.auth-shell{max-width:1360px;padding:24px 40px 32px}
.checkout-top{border-bottom:1px solid var(--co-line)}
.wordmark{font:400 20px/1.1 var(--co-brand);letter-spacing:.04em;color:var(--co-ink)}.wordmark span{color:var(--co-accent)}
.checkout-layout{grid-template-columns:minmax(0,1.3fr) minmax(380px,1fr);gap:40px;padding:40px 0 48px}
.checkout-intro{max-width:none;padding-top:8px}
.eyebrow{font:700 12px/1.4 var(--co-body);letter-spacing:.06em;color:var(--co-accent)}
.checkout-intro h1,.auth-card h1{font-family:var(--co-display);font-weight:400;font-size:clamp(34px,4vw,46px);line-height:1.1;letter-spacing:-.01em;color:var(--co-ink)}
.lead{max-width:560px;color:var(--co-muted);font:17px/1.55 var(--co-body)}
.benefit-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;color:var(--co-ink);font:15px/1.5 var(--co-body)}
.benefit-list li:before{width:18px;height:18px;margin-top:2px;flex:none;box-shadow:none;background:var(--co-good) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/12px no-repeat}
.free-note{margin-top:28px;padding:14px 18px;border-radius:16px;background:var(--co-surface);border:1px solid var(--co-line);color:var(--co-ink);font:15px var(--co-body)}
.free-dot{background:var(--co-good)}
.free-note a{color:var(--co-accent);font-weight:700}
.checkout-panel,.auth-card{border:1px solid var(--co-line);border-radius:20px;background:var(--co-surface);padding:26px;box-shadow:0 1px 2px rgba(16,24,20,.05),0 10px 28px rgba(16,24,20,.07)}
.panel-heading h2,.done-stage h2{font-family:var(--co-display);font-weight:400;font-size:24px;color:var(--co-ink)}
.checkout-steps{border-bottom-color:var(--co-line);font:700 12px var(--co-body);letter-spacing:.04em;color:var(--co-muted)}
.checkout-steps li:not(:last-child):after{background:var(--co-line)}
.checkout-steps span{border-color:var(--co-line)}
.checkout-steps .is-current{color:var(--co-ink)}.checkout-steps .is-current span{border-color:var(--co-accent);background:var(--co-accent)}
.checkout-steps .is-done{color:var(--co-accent)}.checkout-steps .is-done span{border-color:var(--co-accent);background:var(--co-accent-soft);color:var(--co-accent)}
.offer-card{min-height:84px;padding:14px 16px;border:1px solid var(--co-line);border-radius:16px}
.offer-card:hover{border-color:var(--co-accent)}
.offer-card.is-selected{border-color:var(--co-accent);background:var(--co-accent-soft);box-shadow:inset 0 0 0 1px var(--co-accent)}
.offer-card input,.auth-channel input{accent-color:var(--co-accent);width:20px;height:20px}
.offer-copy strong{font:700 17px var(--co-body);color:var(--co-ink)}
.offer-copy small,.offer-price small{font:13px/1.4 var(--co-body);color:var(--co-muted)}
.offer-price strong{font:400 28px var(--co-display);color:var(--co-ink)}
.offer-price s,.order-total s{color:var(--co-muted);font:600 13px var(--co-body)}
.primary-button{justify-content:center;gap:10px;min-height:56px;border-radius:16px;background:var(--co-accent);font:700 17px var(--co-body)}
.primary-button:hover:not(:disabled){background:#095a43}
.status-message{color:var(--co-muted);font:14px/1.5 var(--co-body)}.status-message.error{color:var(--co-bad)}.status-message.success{color:var(--co-good)}
.small-print{color:var(--co-muted);font:13px/1.55 var(--co-body)}
.small-print a,.checkout-legal a{color:var(--co-accent)}
.restore-box{border-top-color:var(--co-line)}.restore-box strong{font:14px/1.4 var(--co-body);color:var(--co-good)}
.text-button,.back-button{color:var(--co-accent);font:700 14px var(--co-body)}
.order-summary{border:1px solid var(--co-line);border-radius:16px;background:var(--co-raised)}
.order-summary strong{font:700 17px var(--co-body);color:var(--co-ink)}.order-summary small{font:13px/1.4 var(--co-body);color:var(--co-muted)}
.order-total strong{font:400 30px var(--co-display)}
.done-mark{background:var(--co-accent-soft)}.done-mark.is-active{background:var(--co-good)}
.founder-note{margin:-4px 0 16px;padding:12px 14px;border-radius:14px;background:var(--co-hl-soft);color:var(--co-ink);font:14px/1.5 var(--co-body)}
.founder-badge{background:var(--co-hl);color:#10150F;font:800 11px/1.4 var(--co-body)}
.environment-test{color:#6b4a00;border-color:var(--co-hl);background:var(--co-hl-soft)}
.checkout-footer{border-top-color:var(--co-line);color:var(--co-muted);font:13px var(--co-body);letter-spacing:0;text-transform:none;flex-wrap:wrap;gap:10px}
.auth-channel legend,.auth-label{font:700 14px var(--co-body);color:var(--co-ink)}
.auth-channel label{border:1px solid var(--co-line);border-radius:12px;font:700 15px var(--co-body)}
.auth-card input[type=email],.auth-card input[type=tel],.auth-card input[name=code]{min-height:52px;border:1px solid var(--co-line);border-radius:12px;font:17px var(--co-body)}
button:focus-visible,a:focus-visible,input:focus-visible{outline-color:var(--co-hl)}
@media(max-width:900px){.checkout-layout{grid-template-columns:1fr;gap:28px;padding:28px 0}.benefit-list{grid-template-columns:1fr}}
@media(max-width:760px){.checkout-shell,.auth-shell{padding:16px}.checkout-footer{font-size:12px}}
.parent-note{margin:24px 0 0;padding:14px 18px;border-radius:16px;background:var(--co-surface);border:1px solid var(--co-line);color:var(--co-ink);font:15px/1.5 var(--co-body)}
.parent-note + .free-note{margin-top:12px}

.parent-pay-entry{text-align:center;margin:18px 0}.parent-pay-entry a{font-weight:700;text-underline-offset:4px}

.parent-pay-entry a{display:flex;align-items:center;justify-content:center;min-height:50px;padding:12px 18px;border:2px solid #087153;border-radius:16px;background:#fffaf0;color:#07533e;font-weight:750;line-height:1.35;text-decoration:none;box-shadow:0 3px 0 #cbdccc}.parent-pay-entry a:hover{background:#e2f0e4}.parent-pay-entry a:focus-visible{outline:3px solid #edb900;outline-offset:4px}

.purchase-choice{display:flex;gap:16px;align-items:flex-start;margin:28px 0 18px;padding:22px;background:#e5f0e7;border:1px solid #c4d9ca;border-radius:22px;box-shadow:0 4px 0 #d6e4d7}.purchase-choice-icon{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:50%;background:#0b6b50;color:#fff9e9;font:700 24px/1 system-ui}.purchase-choice h2{margin:0 0 8px;color:#104b39;font:750 21px/1.25 system-ui;letter-spacing:-.02em}.purchase-choice p{margin:0;color:#375a4b;font:400 15px/1.65 system-ui}.parent-pay-entry{padding:18px;background:#faf6e8;border:1px solid #e5ddc5;border-radius:20px;margin:16px 0}.parent-pay-entry a{gap:14px;background:#fffdf6;box-shadow:0 3px 0 #d6ddc8}.parent-pay-entry p{margin:12px auto 0;max-width:380px;color:#486254;font-size:14px;line-height:1.55;text-align:center}@media(max-width:600px){.purchase-choice{padding:18px;gap:12px}.purchase-choice h2{font-size:19px}.parent-pay-entry{padding:14px}}
.discount-box{display:grid;gap:8px;margin-top:14px;font:14px/1.5 var(--co-body)}
.discount-box>.text-button{justify-self:start;text-align:left;color:var(--co-accent);font:700 14px var(--co-body)}
.discount-box label{font-weight:700;color:var(--co-ink)}
.discount-row{display:flex;gap:10px;align-items:center}
.discount-row input{flex:1;min-width:0;min-height:44px;padding:0 12px;border:1px solid var(--co-line);border-radius:10px;font:600 15px var(--co-body);letter-spacing:.06em;text-transform:uppercase;color:var(--co-ink);background:var(--co-surface)}
.discount-row .text-button{min-height:44px;padding:0 12px;color:var(--co-accent);font:700 14px var(--co-body)}
.discount-note{margin:0;color:var(--co-bad)}
.discount-box.is-applied{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:var(--co-hl-soft)}
.discount-box.is-applied p{margin:0;font-weight:700;color:var(--co-ink)}

.plan-summary{display:grid;gap:6px;margin:0 0 24px;padding:16px 18px;border:1px solid var(--co-line);border-radius:12px;background:var(--co-accent-soft)}.plan-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.plan-summary .eyebrow{margin:0}.plan-price{display:flex;align-items:baseline;gap:8px;margin:0}.plan-price strong{font:700 26px/1 var(--co-body,Arial,sans-serif);color:var(--co-ink)}.plan-regular s{font:14px var(--co-body,Arial,sans-serif);color:var(--co-muted)}.plan-summary h2{margin:2px 0 0;font:700 17px/1.3 var(--co-body,Arial,sans-serif);color:var(--co-ink)}.plan-detail{margin:0;color:var(--co-muted);font:13px/1.5 var(--co-body,Arial,sans-serif)}.plan-once{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0 0;color:var(--co-good);font:700 12px/1.4 var(--co-body,Arial,sans-serif)}.plan-badge{padding:3px 8px;border-radius:99px;background:var(--co-hl-soft);color:var(--co-ink);font:800 10px/1.2 var(--co-body,Arial,sans-serif);letter-spacing:.06em;text-transform:uppercase}.plan-change{margin:0;color:var(--co-muted);font:11px/1.5 var(--co-body,Arial,sans-serif)}
.free-practice{display:flex;align-items:center;justify-content:center;margin-top:28px;min-height:48px;padding:12px 20px;border:2px solid var(--co-accent);border-radius:12px;background:var(--co-surface);color:var(--co-accent);font:700 16px var(--co-body);text-decoration:none}.free-practice:hover{background:var(--co-accent);color:#fff}.free-practice:focus-visible{outline:3px solid var(--co-accent);outline-offset:3px}
.expired-note{margin:0 0 16px;padding:12px 14px;border:1.5px solid var(--co-bad);border-radius:12px;background:#fbe9e5;color:var(--co-bad);font-weight:600;line-height:1.45}
/* Add a phone or email before payment (account-contacts.mjs): the sign-in card's look, the plan summary's box for another account. */
.contact-card .contact-quiet{display:block;margin:16px auto 0;text-align:center}.contact-facts{display:grid;gap:6px;margin:8px 0 0;font:14px/1.4 var(--co-body,Arial,sans-serif)}.contact-facts div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.contact-facts dt{color:var(--co-muted)}.contact-facts dd{margin:0;font-weight:700;color:var(--co-ink)}
