*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f5f7fa;color:#0b1830;padding-bottom:86px}.topbar{position:sticky;top:0;z-index:20;height:74px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid #dbe1ea}.brand{display:flex;align-items:center;gap:10px;color:#091a35;text-decoration:none}.brand img{width:52px;height:52px;object-fit:contain}.brand strong{display:block;font-size:14px;letter-spacing:.08em}.brand span{font-size:11px;color:#657086}#menuBtn,#closeBtn{border:0;background:none;font-size:28px}.drawer{position:fixed;z-index:50;top:0;right:-330px;width:300px;height:100%;background:#07182f;color:#fff;padding:22px;transition:.25s}.drawer.open{right:0}.drawer #closeBtn{color:white;float:right}.drawer nav{display:grid;gap:6px;margin-top:70px}.drawer a{color:#fff;text-decoration:none;padding:14px;border-radius:10px;background:#0e2749}.shade{position:fixed;inset:0;background:#0008;z-index:40;display:none}.shade.show{display:block}.hero{background:linear-gradient(160deg,#06152b 0%,#0b2748 70%,#b80f19 140%);color:#fff;padding:36px 18px 42px;min-height:74vh;display:flex;flex-direction:column;justify-content:center}.hero-logo img{width:min(240px,65vw);filter:drop-shadow(0 8px 22px #0008)}.eyebrow,.section-head span,.pillar>span{font-weight:800;letter-spacing:.18em;font-size:12px;color:#e2232e}.hero h1{font-size:clamp(46px,14vw,86px);line-height:.88;margin:16px 0 20px;letter-spacing:-.055em}.lead{font-size:18px;line-height:1.55;max-width:720px;color:#e7edf6}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.btn{border:0;border-radius:12px;padding:15px 18px;font-weight:900;text-decoration:none;cursor:pointer}.primary{background:#e01c28;color:#fff}.ghost{background:#fff1;color:#fff;border:1px solid #ffffff35}.progress-card{background:#fff;color:#081a34;border-radius:16px;padding:16px;max-width:680px}.progress-card span{display:block;font-size:12px;color:#637083;margin-top:3px}.bar{height:8px;background:#e6e9ee;border-radius:99px;margin-top:12px;overflow:hidden}.bar i{display:block;height:100%;width:0;background:#df1f2b}.section{padding:48px 16px;max-width:1100px;margin:auto}.section-head h2{font-size:clamp(32px,9vw,54px);line-height:1;margin:10px 0 12px}.section-head p{color:#58657a;line-height:1.5}.roadmap{display:grid;gap:12px}.roadmap article{background:white;border-radius:16px;padding:18px;border:1px solid #e0e5eb;box-shadow:0 8px 28px #07182f0d}.roadmap b{color:#df1f2b}.roadmap h3{margin:8px 0 4px}.roadmap p{margin:0;color:#697589}.filters{display:flex;gap:8px;overflow:auto;padding:8px 0 16px;position:sticky;top:74px;background:#f5f7fa;z-index:10}.filters button{white-space:nowrap;border:1px solid #cfd6e0;background:#fff;border-radius:999px;padding:10px 13px;font-weight:800}.filters button.active{background:#07182f;color:#fff}.lesson-list{display:grid;gap:10px}.lesson{background:#fff;border:1px solid #dfe5ec;border-radius:14px;padding:16px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.lesson.done{opacity:.68}.day{width:50px;height:50px;border-radius:12px;background:#07182f;color:#fff;display:grid;place-items:center;font-weight:900}.lesson h3{margin:0 0 5px;font-size:17px}.lesson small{color:#738096}.lesson button{border:0;background:#e01c28;color:#fff;border-radius:10px;padding:10px 12px;font-weight:900}.pillar{padding:50px 18px;background:#07182f;color:#fff;border-top:1px solid #ffffff12}.pillar:nth-of-type(even){background:#0c2343}.pillar h2{font-size:clamp(36px,11vw,62px);line-height:.94;margin:10px 0}.pillar p{color:#cfd7e4}.pillar a{color:#fff;font-weight:900}.bottom{position:fixed;z-index:25;bottom:0;left:0;right:0;height:76px;background:#fff;border-top:1px solid #d8dee7;display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:env(safe-area-inset-bottom)}.bottom a,.bottom button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:transparent;color:#13223a;text-decoration:none;font-weight:900;font-size:17px}.bottom span{font-size:10px}.bottom button{color:#df1f2b}.modal{position:fixed;z-index:60;inset:0;background:#000b;display:none;align-items:flex-end}.modal.show{display:flex}.modal-card{background:#fff;width:100%;max-height:92vh;overflow:auto;border-radius:22px 22px 0 0;padding:22px 18px 32px}.modal-card>button{float:right;border:0;background:#edf0f4;border-radius:99px;width:38px;height:38px;font-size:24px}.lesson-detail .kicker{color:#df1f2b;font-weight:900;letter-spacing:.12em;font-size:12px}.lesson-detail h2{font-size:34px;line-height:1;margin:10px 0 20px}.lesson-detail .box{background:#f3f5f8;border-radius:14px;padding:16px;margin:12px 0}.lesson-detail .box b{display:block;margin-bottom:6px}.complete{width:100%;padding:15px;border:0;border-radius:12px;background:#07182f;color:#fff;font-weight:900;margin-top:12px}@media(min-width:760px){.hero{padding-left:max(40px,calc((100vw - 1100px)/2))}.roadmap{grid-template-columns:repeat(5,1fr)}.lesson-list{grid-template-columns:1fr 1fr}.bottom{left:50%;transform:translateX(-50%);max-width:620px;border-radius:18px 18px 0 0}.modal{align-items:center;justify-content:center}.modal-card{max-width:680px;border-radius:22px;max-height:86vh}}
.access-badge{display:inline-flex;margin:8px 0 12px;padding:7px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.12em;background:rgba(255,255,255,.08)}
.lesson.locked{opacity:.82;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025))}
.lesson.locked .day{filter:grayscale(1)}
.lesson.locked button{background:#152842;border-color:#31445f;color:#fff}
.paywall{position:fixed;inset:0;z-index:1000;background:rgba(2,9,20,.88);backdrop-filter:blur(10px);display:none;align-items:flex-end;justify-content:center;padding:0}
.paywall.show{display:flex}
.paywall-card{width:min(100%,560px);position:relative;background:#081a31;border:1px solid rgba(255,255,255,.12);border-radius:24px 24px 0 0;padding:28px 22px calc(28px + env(safe-area-inset-bottom));box-shadow:0 -24px 60px rgba(0,0,0,.45);text-align:center}
.paywall-card img{width:150px;max-height:72px;object-fit:contain;margin:0 auto 10px}
.paywall-kicker{display:block;color:#ef3b3b;font-size:11px;font-weight:900;letter-spacing:.14em;margin-bottom:8px}
.paywall-card h2{font-size:30px;line-height:.98;margin:0 auto 12px;max-width:430px}
.paywall-card p{color:#d8e2ef;margin:8px auto;max-width:470px}.paywall-card .paywall-copy{color:#9fb0c4;font-size:14px;line-height:1.5}
.paywall-options{display:grid;gap:10px;margin:20px 0 12px}.full{width:100%}.paywall-card small{display:block;color:#7f91a6;font-size:11px}
.paywall-close{position:absolute;right:14px;top:12px;border:0;background:transparent;color:#fff;font-size:30px;line-height:1;cursor:pointer}
@media(min-width:700px){.paywall{align-items:center;padding:24px}.paywall-card{border-radius:24px;padding:32px}}
.member-status{min-height:0;margin:12px 0;border-radius:12px;font-size:13px;line-height:1.45;text-align:left}.member-status:not(:empty){padding:12px;background:#122844;color:#dbe6f2;border:1px solid #29415f}.member-status.success{background:#0d3326;border-color:#1a684b;color:#dcfff1}.member-status.warn{background:#3b2e0c;border-color:#725c1d;color:#fff2c5}.member-status.error{background:#40171b;border-color:#762d34;color:#ffe2e4}.magic-form{display:grid;gap:8px;margin:18px 0 10px;text-align:left}.magic-form label{font-size:12px;font-weight:900;color:#d9e4f0}.magic-form input,.admin-panel input{width:100%;border:1px solid #cad3df;background:#fff;color:#07182f;border-radius:12px;padding:14px;font-size:16px}.paywall-card .ghost{border-color:#425771}.text-btn{border:0;background:transparent;color:#a9bad0;font-weight:900;padding:10px;cursor:pointer}.auth-page,.admin-page{min-height:100vh;background:#07182f;color:#fff;padding:24px}.auth-card{max-width:520px;margin:12vh auto;background:#fff;color:#07182f;border-radius:22px;padding:26px;text-align:center}.auth-card img{width:180px;max-height:100px;object-fit:contain}.admin-wrap{max-width:1050px;margin:auto}.admin-header{display:flex;gap:18px;align-items:center;margin:12px 0 28px}.admin-header img{width:110px;background:#fff;border-radius:12px;padding:7px}.admin-header span{color:#ef3b3b;font-weight:900;letter-spacing:.14em;font-size:11px}.admin-header h1{margin:5px 0 0}.admin-grid{display:grid;gap:16px}.admin-panel{background:#fff;color:#07182f;border-radius:18px;padding:20px;margin-bottom:16px}.admin-panel h2{margin-top:0}.admin-panel p{color:#607087}.admin-panel label{display:grid;gap:6px;font-size:12px;font-weight:900;margin:12px 0}.admin-actions,.admin-title-row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.danger{background:#7e151d;color:#fff}.dark{background:#07182f;color:#fff}.admin-result{margin-top:12px;min-height:20px;font-size:13px;font-weight:700}.admin-result a{color:#be111c}.entitlement-table{display:grid;gap:8px}.entitlement-table article{border:1px solid #dfe5ec;border-radius:12px;padding:12px;display:flex;justify-content:space-between;gap:12px}.entitlement-table span{display:block;color:#68768a;font-size:11px;margin-top:4px}.ok{color:#117246}.off{color:#a31d27}@media(min-width:760px){.admin-grid{grid-template-columns:1fr 1fr}}

/* AHD native registration */
.register-page{padding-bottom:0;background:linear-gradient(160deg,#06152b,#0b2748 70%,#6e0b13 145%);min-height:100vh}.register-home-link{color:#07182f;text-decoration:none;font-size:11px;font-weight:900;letter-spacing:.08em}.register-wrap{max-width:920px;margin:auto;padding:30px 16px 70px}.register-intro{color:#fff;padding:16px 2px 24px}.register-kicker{color:#ef3b46;font-weight:900;letter-spacing:.15em;font-size:11px}.register-intro h1{font-size:clamp(40px,10vw,72px);line-height:.92;letter-spacing:-.045em;margin:10px 0 16px}.register-intro p{color:#dce6f2;max-width:720px;font-size:17px;line-height:1.55}.register-open-badge{display:inline-block;padding:10px 13px;border-radius:12px;background:#11385e;color:#e7f1fb;border:1px solid #2b5379;font-size:12px;font-weight:800}.register-card{background:#fff;border-radius:22px;padding:20px;box-shadow:0 24px 60px #0004}.register-card label{display:grid;gap:7px;font-size:12px;font-weight:900;color:#142440;margin:12px 0}.register-card label>span{color:#db1f2a}.register-card label small{font-weight:600;color:#718096}.register-card input,.register-card select,.register-card textarea{width:100%;border:1px solid #cfd7e2;background:#fff;color:#07182f;border-radius:12px;padding:14px;font:inherit;font-size:16px}.register-card textarea{resize:vertical;min-height:105px}.form-grid{display:grid;gap:0 14px}.register-consent{grid-template-columns:auto 1fr!important;align-items:flex-start;line-height:1.4;font-weight:650!important}.register-consent input{width:20px!important;height:20px;margin:0}.register-submit{margin-top:8px}.register-submit:disabled{opacity:.6}.register-status{margin-top:14px;min-height:18px;border-radius:12px;font-size:13px;line-height:1.5}.register-status:not(:empty){padding:13px;background:#eef2f7}.register-status.success{background:#e8f7ef;color:#0b613a;border:1px solid #a9dec3}.register-status.error{background:#fff0f1;color:#8f1821;border:1px solid #e7b6bb}.register-fineprint{font-size:11px;line-height:1.45;color:#718096;text-align:center}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.registration-table{display:grid;gap:8px}.registration-table article{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dfe5ec;border-radius:12px;padding:12px}.registration-person b,.registration-person span,.registration-person small{display:block}.registration-person span{color:#5f6f83;font-size:12px;margin-top:3px}.registration-person small{color:#7d8898;margin-top:4px}.registration-table .btn{padding:10px 12px;font-size:11px;white-space:nowrap}@media(min-width:700px){.register-wrap{padding-top:48px}.register-card{padding:28px}.form-grid.two{grid-template-columns:1fr 1fr}}

.video-placeholder{aspect-ratio:16/9;width:100%;border-radius:16px;background:linear-gradient(145deg,#07182f,#102f57);color:#fff;display:flex;align-items:center;justify-content:center;gap:16px;padding:22px;margin:0 0 18px;box-shadow:0 10px 30px #07182f24;border:1px solid #ffffff18}.video-placeholder .video-play{width:58px;height:58px;border-radius:50%;background:#e01c28;display:grid;place-items:center;font-size:24px;padding-left:4px;box-shadow:0 8px 20px #0005;flex:0 0 auto}.video-placeholder strong{display:block;font-size:14px;letter-spacing:.12em}.video-placeholder span{display:block;font-size:20px;font-weight:900;margin-top:4px}.video-placeholder small{display:block;color:#cdd7e5;margin-top:4px;line-height:1.35}@media(max-width:520px){.video-placeholder{justify-content:flex-start;padding:18px}.video-placeholder .video-play{width:50px;height:50px;font-size:20px}.video-placeholder span{font-size:17px}}

/* ===== v6: UX fixes + Quit Guessing ===== */
body{padding-bottom:calc(86px + env(safe-area-inset-bottom))}
body.no-scroll{overflow:hidden}
.register-page,.auth-page,.admin-page{padding-bottom:0}
[id]{scroll-margin-top:84px}
#course{scroll-margin-top:74px}
:focus-visible{outline:3px solid #e01c28;outline-offset:2px}
.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;color:#07182f;padding:10px 14px;border-radius:10px;font-weight:900}
.skip-link:focus{left:8px}
button{font:inherit;cursor:pointer}
#menuBtn,#closeBtn{min-width:44px;min-height:44px;color:inherit}
.drawer{right:auto;left:100%;width:min(300px,86vw);overflow-y:auto;visibility:hidden;transition:transform .25s,visibility .25s}
.drawer.open{right:auto;transform:translateX(-100%);visibility:visible}
.drawer .drawer-sms{background:#e01c28;font-weight:900}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;text-align:center;line-height:1.15}
.btn:disabled{opacity:.6;cursor:default}
.btn.light{background:#edf0f4;color:#07182f}
.btn.outline{background:transparent;color:#fff;border:2px solid #fff}
@media(max-width:520px){.hero-actions .btn{flex:1 1 100%}}

/* Quit Guessing band */
.quit{background:#e01c28;color:#fff;padding:52px 18px;position:relative;overflow:hidden}
.quit::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 22px,rgba(0,0,0,.05) 22px 44px);pointer-events:none}
.quit-inner{position:relative;max-width:1100px;margin:auto}
.quit h2{font-size:clamp(52px,17vw,120px);line-height:.85;letter-spacing:-.05em;margin:0 0 14px;font-weight:900;text-shadow:0 4px 0 #07182f}
.quit-sub{font-size:clamp(20px,5.4vw,30px);line-height:1.2;font-weight:800;max-width:760px;margin:0 0 26px}
.quit-steps{list-style:none;counter-reset:q;padding:0;margin:0 0 26px;display:grid;gap:10px;max-width:760px}
.quit-steps li{counter-increment:q;background:#07182f;border-radius:14px;padding:14px 16px 14px 56px;position:relative;line-height:1.45;color:#dbe4ef}
.quit-steps li::before{content:counter(q);position:absolute;left:14px;top:13px;width:28px;height:28px;border-radius:50%;background:#e01c28;color:#fff;display:grid;place-items:center;font-weight:900;font-size:14px}
.quit-steps b{color:#fff}
.quit-actions{display:flex;gap:10px;flex-wrap:wrap}
.quit .btn.primary{background:#07182f}
@media(max-width:520px){.quit-actions .btn{flex:1 1 100%}}
@media(min-width:760px){.quit{padding:72px 40px}.quit-steps{grid-template-columns:repeat(3,1fr);max-width:none}}

/* Roadmap cards are now tappable */
.roadmap a{display:block;background:#fff;border-radius:16px;padding:18px;border:1px solid #e0e5eb;box-shadow:0 8px 28px #07182f0d;color:inherit;text-decoration:none}
.roadmap a:hover{border-color:#e01c28}
.roadmap a p{margin:0;color:#697589}

/* Lesson list */
.loading{color:#58657a}
.lesson button{min-height:44px;white-space:nowrap}
.lesson.done{opacity:1}
.lesson.done .day{background:#117246;font-size:22px}
.lesson.locked{background:#f8f9fb}
.lesson.locked h3{color:#4d5b70}
.pillar a{display:inline-block;padding:12px 0}

/* Lesson modal */
.modal-card>button{position:sticky;top:0;z-index:2}
.lesson-detail .box.cue{background:#07182f;color:#fff}
.complete.is-done{background:#117246}
.lesson-nav{display:flex;justify-content:space-between;gap:10px;margin-top:12px}
.lesson-nav .btn{flex:1}
.modal-card{padding-bottom:calc(32px + env(safe-area-inset-bottom))}

/* Bottom nav */
.bottom{height:auto;min-height:64px;padding-top:6px;padding-bottom:max(6px,env(safe-area-inset-bottom))}
.bottom a,.bottom button{min-height:52px}

/* Toast */
.toast{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));transform:translate(-50%,20px);background:#07182f;color:#fff;padding:12px 16px;border-radius:12px;font-weight:800;font-size:14px;z-index:1100;opacity:0;pointer-events:none;transition:.2s;max-width:calc(100vw - 32px);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* Paywall */
.paywall-card{max-height:100dvh;overflow-y:auto}
.paywall-step{text-align:left;background:#0e2442;border:1px solid #1f3a5d;border-radius:16px;padding:14px;margin:14px 0}
.paywall-step>b{display:block;font-size:15px}
.paywall-step>p{margin:4px 0 10px;color:#9fb0c4;font-size:14px;line-height:1.45}
.paywall-enroll{display:grid;grid-template-columns:1fr auto;gap:8px}
.paywall-step .magic-form{margin:8px 0}
.paywall-step .text-btn{display:block;margin:4px auto 0}

/* Auth callback */
.auth-card a.btn{margin-top:10px}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.register-next{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.register-next .btn{flex:1 1 160px}
.paywall-card{color:#fff}
.section-head p span{font-weight:inherit;letter-spacing:normal;font-size:inherit;color:inherit}
.quit h2{font-size:clamp(48px,14.5vw,120px)}
[hidden]{display:none!important}
.quit-sub{font-size:clamp(18px,4.6vw,24px);font-weight:700;line-height:1.35}
.hero .lead{font-size:clamp(20px,5.4vw,28px);font-weight:800;line-height:1.25;color:#fff}

/* ===== v7: tabs, Remote Training, Courses ===== */
.topbar{gap:12px}
.brand{flex:0 0 auto}
.tabs{display:flex;gap:4px}
.tabs a{color:#07182f;text-decoration:none;font-weight:800;font-size:14px;padding:10px 12px;border-radius:10px;white-space:nowrap}
.tabs a:hover{background:#eef1f5}
.tabs a.active{background:#07182f;color:#fff}
.topbar .tabs{display:none}
.tabs-mobile{position:sticky;top:74px;z-index:19;background:#fff;border-bottom:1px solid #dbe1ea;overflow-x:auto;padding:6px 10px;scrollbar-width:none}
.tabs-mobile::-webkit-scrollbar{display:none}
.tabs-mobile a{font-size:13px;padding:9px 12px}
.filters{top:126px}
[id]{scroll-margin-top:136px}
#course{scroll-margin-top:126px}
@media(min-width:900px){.topbar .tabs{display:flex;margin-left:auto}.tabs-mobile{display:none}.filters{top:74px}[id]{scroll-margin-top:84px}#course{scroll-margin-top:74px}#menuBtn{margin-left:4px}}
.bottom a.active{color:#e01c28}
.bottom a.today{color:#df1f2b}
.register-page .bottom{border-radius:0}
.register-page{padding-bottom:calc(86px + env(safe-area-inset-bottom))}

.page-hero{background:linear-gradient(160deg,#06152b 0%,#0b2748 70%,#b80f19 140%);color:#fff;padding:40px 18px 44px}
.page-hero>*{max-width:1100px;margin-left:auto;margin-right:auto}
.page-hero h1{font-size:clamp(38px,11vw,72px);line-height:.92;letter-spacing:-.045em;margin:12px auto 16px}
.page-hero .lead{font-size:18px;font-weight:500;color:#dce6f2;line-height:1.5}
@media(min-width:760px){.page-hero{padding:64px 40px}}

.tier-jump{display:flex;gap:8px;overflow-x:auto;padding:0 0 18px;scrollbar-width:none}
.tier-jump::-webkit-scrollbar{display:none}
.tier-jump a{white-space:nowrap;border:1px solid #cfd6e0;background:#fff;border-radius:999px;padding:10px 13px;font-weight:800;font-size:13px;color:#07182f;text-decoration:none}

.checks{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:8px}
.checks li{position:relative;padding-left:28px;line-height:1.45;color:#27364d}
.checks li::before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:#e01c28;color:#fff;font-size:12px;font-weight:900;display:grid;place-items:center}

.tiers{display:grid;gap:14px}
.tier{background:#fff;border:1px solid #dfe5ec;border-radius:18px;padding:20px;box-shadow:0 8px 28px #07182f0d;display:flex;flex-direction:column}
.tier .btn{margin-top:auto;font-size:13px}
.tier-top{display:flex;gap:12px;align-items:flex-start}
.tier-num{flex:0 0 40px;height:40px;border-radius:12px;background:#07182f;color:#fff;display:grid;place-items:center;font-weight:900}
.tier h2{margin:0;font-size:24px;line-height:1.05}
.tier-tag{margin:4px 0 0;color:#e01c28;font-weight:800;font-size:13px}
.tier-fit{color:#58657a;line-height:1.5;margin:14px 0}
.tier-live{background:#07182f;color:#fff;border-color:#07182f}
.tier-live .tier-num{background:#e01c28}
.tier-live .tier-fit,.tier-live .checks li{color:#cfd7e4}
@media(min-width:760px){.tiers{grid-template-columns:1fr 1fr}}
@media(min-width:1100px){.tiers{grid-template-columns:repeat(4,1fr)}}

.compare-wrap{overflow-x:auto;background:#fff;border:1px solid #dfe5ec;border-radius:16px}
.compare{width:100%;border-collapse:collapse;min-width:520px}
.compare th,.compare td{padding:12px 10px;border-bottom:1px solid #eef1f5;text-align:center;font-size:14px}
.compare thead th{background:#07182f;color:#fff;font-size:12px;letter-spacing:.06em}
.compare tbody th{text-align:left;font-weight:700;color:#27364d}
.compare td{font-weight:900;color:#117246}
.compare tr:last-child>*{border-bottom:0}

.course-grid{display:grid;gap:16px}
.course-card{background:#fff;border:1px solid #dfe5ec;border-radius:20px;padding:20px;box-shadow:0 8px 28px #07182f0d}
.course-card.flagship{border:2px solid #07182f}
.course-head h2{margin:10px 0 2px;font-size:clamp(26px,7vw,34px);line-height:1}
.course-sub{margin:0;color:#697589;font-weight:700}
.access{display:inline-block;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.access.free-start{background:#e01c28;color:#fff}
.access.free{background:#117246;color:#fff}
.access.paid{background:#07182f;color:#fff}
.course-desc{color:#3d4b60;line-height:1.55}
.course-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 18px}
.course-stats div{background:#f3f5f8;border-radius:12px;padding:10px;text-align:center}
.course-stats b{display:block;font-size:20px;color:#07182f}
.course-stats span{font-size:11px;color:#697589;font-weight:700}
.mini{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#07182f;margin:6px 0 10px}
.phases{display:grid;gap:8px;margin-bottom:18px}
.phase{border:1px solid #dfe5ec;border-radius:12px;background:#fbfcfd}
.phase summary{list-style:none;cursor:pointer;padding:13px 40px 13px 14px;position:relative;display:grid;gap:2px}
.phase summary::-webkit-details-marker{display:none}
.phase summary::after{content:"+";position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:900;color:#e01c28}
.phase[open] summary::after{content:"–"}
.phase summary span{font-size:12px;color:#697589;font-weight:700}
.phase[open]{background:#fff}
.phase-lessons,.phase-topics{margin:0;padding:0 14px 12px 14px;list-style:none;display:grid;gap:0}
.phase-lessons li,.phase-topics li{padding:8px 0;border-top:1px solid #eef1f5;font-size:14px;color:#27364d;line-height:1.35}
.phase-lessons .pd{display:inline-block;min-width:58px;font-weight:800;color:#697589;font-size:12px}
.phase-lessons em{font-style:normal;background:#e01c28;color:#fff;font-size:10px;font-weight:900;padding:2px 6px;border-radius:6px;margin-left:6px}
.phase-topics li::before{content:"•";color:#e01c28;font-weight:900;margin-right:8px}
.course-actions{display:flex;gap:8px;flex-wrap:wrap}
.course-actions .btn{flex:1 1 200px;font-size:13px}
@media(min-width:900px){.course-grid{grid-template-columns:1fr 1fr}.course-card.flagship{grid-column:1/-1}}

/* ===== v8: athlete watermarks (baseball boy + softball girl in AHD gear) ===== */
.hero,.page-hero,.quit{position:relative;overflow:hidden;isolation:isolate}
.hero>*,.page-hero>*,.quit-inner{position:relative;z-index:1}
.hero::after,.page-hero::after,.quit::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:url("assets/hitter-baseball.svg"),url("assets/hitter-softball.svg");
  background-repeat:no-repeat,no-repeat;
  background-position:right -70px bottom 0,left -90px bottom 0;
  background-size:auto 58%,auto 52%;
  opacity:.2;
}
.hero::after{background-size:auto 46%,auto 40%;background-position:right -80px bottom 150px,left -110px bottom 170px;opacity:.22}
.quit::after{opacity:.16;filter:brightness(1.4)}
@media(min-width:760px){
  .hero::after{background-position:right 2% bottom 0,right 30% bottom 0;background-size:auto 88%,auto 80%;opacity:.26}
  .page-hero::after{background-position:right 3% bottom -10px,right 26% bottom -10px;background-size:auto 105%,auto 96%;opacity:.24}
  .quit::after{background-position:right 2% bottom -20px,right 26% bottom -20px;background-size:auto 95%,auto 86%;opacity:.18}
}
.pillar h2{font-size:clamp(30px,9vw,62px);overflow-wrap:break-word}
.lesson>div:nth-child(2){min-width:0}
.lesson h3{overflow-wrap:break-word}
.quit::after{opacity:.24}
@media(min-width:760px){.quit::after{opacity:.22}}
.access-badge{align-self:flex-start}
@media(min-width:760px){
  .hero::after{background-position:right 1% bottom 0,right 36% bottom 0}
  .page-hero::after{background-position:right 1% bottom -10px,right 33% bottom -10px}
  .quit::after{background-position:right 1% bottom -20px,right 33% bottom -20px}
}
@media(min-width:760px){
  .hero::after{background-position:right 1% bottom 0,right 42% bottom 0}
  .page-hero::after{background-position:right 1% bottom -10px,right 40% bottom -10px}
  .quit::after{background-position:right 1% bottom -20px,right 40% bottom -20px}
}
@media(min-width:1400px){
  .hero::after,.page-hero::after,.quit::after{background-position:right 4% bottom 0,right 34% bottom 0}
}

/* ===== v9: photo background for the home hero ===== */
.hero::after{display:none}
.hero{
  background-color:#07182f;
  background-image:linear-gradient(180deg,rgba(7,24,47,.35) 0%,rgba(7,24,47,.55) 45%,rgba(7,24,47,.75) 100%),url("assets/hero-athletes-mobile.jpg");
  background-image:linear-gradient(180deg,rgba(7,24,47,.35) 0%,rgba(7,24,47,.55) 45%,rgba(7,24,47,.75) 100%),image-set(url("assets/hero-athletes-mobile.webp") type("image/webp"),url("assets/hero-athletes-mobile.jpg") type("image/jpeg"));
  background-size:cover;background-position:center top;background-repeat:no-repeat;
}
.hero h1,.hero .lead,.hero .eyebrow{text-shadow:0 2px 18px rgba(0,0,0,.65)}
@media(min-width:900px){
  .hero{
    background-image:linear-gradient(90deg,rgba(7,24,47,0) 22%,rgba(7,24,47,.55) 40%,rgba(7,24,47,.55) 60%,rgba(7,24,47,0) 78%),url("assets/hero-athletes.jpg");
    background-image:linear-gradient(90deg,rgba(7,24,47,0) 22%,rgba(7,24,47,.55) 40%,rgba(7,24,47,.55) 60%,rgba(7,24,47,0) 78%),image-set(url("assets/hero-athletes.webp") type("image/webp"),url("assets/hero-athletes.jpg") type("image/jpeg"));
    background-size:cover;background-position:center center;
    align-items:center;text-align:center;
    padding-left:24px;padding-right:24px;
    min-height:min(56.25vw,860px);
  }
  .hero>*{max-width:560px}
  .hero .lead{margin-left:auto;margin-right:auto}
  .hero .access-badge{align-self:center}
  .hero-actions{justify-content:center}
  .hero .progress-card{width:100%;text-align:left}
  .hero-logo img{width:170px}
}
.hero{background-image:linear-gradient(180deg,rgba(7,24,47,.15) 0%,rgba(7,24,47,.4) 45%,rgba(7,24,47,.7) 100%),url("assets/hero-athletes-mobile.jpg");background-image:linear-gradient(180deg,rgba(7,24,47,.15) 0%,rgba(7,24,47,.4) 45%,rgba(7,24,47,.7) 100%),image-set(url("assets/hero-athletes-mobile.webp") type("image/webp"),url("assets/hero-athletes-mobile.jpg") type("image/jpeg"))}
@media(min-width:900px){
  .hero{background-image:linear-gradient(90deg,rgba(7,24,47,0) 24%,rgba(7,24,47,.5) 40%,rgba(7,24,47,.5) 60%,rgba(7,24,47,0) 76%),url("assets/hero-athletes.jpg");background-image:linear-gradient(90deg,rgba(7,24,47,0) 24%,rgba(7,24,47,.5) 40%,rgba(7,24,47,.5) 60%,rgba(7,24,47,0) 76%),image-set(url("assets/hero-athletes.webp") type("image/webp"),url("assets/hero-athletes.jpg") type("image/jpeg"));background-position:center 35%;padding-top:28px;padding-bottom:32px}
  .hero-logo img{width:120px}
  .hero h1{margin:10px 0 14px}
  .hero-actions{max-width:720px;flex-wrap:nowrap;margin:18px 0}
  .hero .progress-card{max-width:520px}
}
@media(min-width:560px) and (max-width:899px){.hero{background-position:center 42%}}
.nowrap{white-space:nowrap}
.hero h1{font-size:clamp(40px,11.5vw,78px);line-height:.9}
.hero .lead{font-size:clamp(17px,4.6vw,22px);font-weight:700;line-height:1.4}
@media(min-width:900px){.hero>*{max-width:600px}.hero h1{font-size:clamp(52px,5.2vw,74px)}}
.h1-line{display:block;white-space:nowrap}
.hero h1{font-size:clamp(34px,9.2vw,80px);line-height:.95}
@media(min-width:900px){.hero h1{font-size:clamp(56px,4.8vw,72px)}}
.hero h1{font-size:clamp(30px,8.4vw,80px)}@media(min-width:900px){.hero h1{font-size:clamp(52px,4.4vw,68px)}}

/* ===== v11: photo watermark on the home "90 Days" band ===== */
#quit-guessing{
  background-color:#07182f;
  background-image:linear-gradient(180deg,rgba(7,24,47,.05) 0%,rgba(7,24,47,.25) 16%,rgba(7,24,47,.82) 30%,rgba(7,24,47,.9) 100%),url("assets/band-athletes.jpg?v=2");
  background-image:linear-gradient(180deg,rgba(7,24,47,.05) 0%,rgba(7,24,47,.25) 16%,rgba(7,24,47,.82) 30%,rgba(7,24,47,.9) 100%),image-set(url("assets/band-athletes.webp?v=2") type("image/webp"),url("assets/band-athletes.jpg?v=2") type("image/jpeg"));
  background-repeat:no-repeat;background-size:100% 100%,135% auto;background-position:0 0,center top;
  padding-top:calc(76vw * .56);
}
#quit-guessing::before,#quit-guessing::after{display:none}
#quit-guessing h2{text-shadow:0 3px 0 #e01c28,0 6px 24px rgba(0,0,0,.6)}
#quit-guessing .quit-sub{color:#e7edf6;text-shadow:0 2px 12px rgba(0,0,0,.6)}
#quit-guessing .quit-steps li{background:rgba(7,24,47,.78);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(4px)}
#quit-guessing .btn.primary{background:#e01c28}
#quit-guessing{border-top:4px solid #e01c28}
@media(min-width:760px){
  #quit-guessing{
    padding-top:80px;padding-bottom:80px;
    background-image:linear-gradient(90deg,rgba(7,24,47,.92) 0%,rgba(7,24,47,.8) 38%,rgba(7,24,47,.35) 62%,rgba(7,24,47,.2) 100%),url("assets/band-athletes.jpg?v=2");
    background-image:linear-gradient(90deg,rgba(7,24,47,.92) 0%,rgba(7,24,47,.8) 38%,rgba(7,24,47,.35) 62%,rgba(7,24,47,.2) 100%),image-set(url("assets/band-athletes.webp?v=2") type("image/webp"),url("assets/band-athletes.jpg?v=2") type("image/jpeg"));
    background-size:100% 100%,cover;background-position:0 0,center 30%;
  }
  #quit-guessing .quit-inner>h2,#quit-guessing .quit-sub,#quit-guessing .quit-actions{max-width:620px}
  #quit-guessing .quit-steps{max-width:900px}
}
#quit-guessing{padding-top:64vw;background-image:linear-gradient(180deg,rgba(7,24,47,0) 0%,rgba(7,24,47,.15) 22%,rgba(7,24,47,.85) 38%,rgba(7,24,47,.92) 100%),url("assets/band-athletes.jpg?v=2");background-image:linear-gradient(180deg,rgba(7,24,47,0) 0%,rgba(7,24,47,.15) 22%,rgba(7,24,47,.85) 38%,rgba(7,24,47,.92) 100%),image-set(url("assets/band-athletes.webp?v=2") type("image/webp"),url("assets/band-athletes.jpg?v=2") type("image/jpeg"));background-size:100% 100%,140% auto;background-position:0 0,40% top}
@media(min-width:760px){
  #quit-guessing{padding-top:80px;background-image:linear-gradient(90deg,rgba(7,24,47,.92) 0%,rgba(7,24,47,.78) 40%,rgba(7,24,47,.3) 62%,rgba(7,24,47,.12) 100%),url("assets/band-athletes.jpg?v=2");background-image:linear-gradient(90deg,rgba(7,24,47,.92) 0%,rgba(7,24,47,.78) 40%,rgba(7,24,47,.3) 62%,rgba(7,24,47,.12) 100%),image-set(url("assets/band-athletes.webp?v=2") type("image/webp"),url("assets/band-athletes.jpg?v=2") type("image/jpeg"));background-size:100% 100%,cover;background-position:0 0,center 30%}
  #quit-guessing h2{font-size:clamp(48px,5.4vw,82px)}
  #quit-guessing .quit-inner>h2,#quit-guessing .quit-sub,#quit-guessing .quit-actions{max-width:640px}
}
/* v13: band text on the right so the player on the left is visible (desktop/tablet) */
@media(min-width:760px){
  #quit-guessing{background-image:linear-gradient(270deg,rgba(7,24,47,.92) 0%,rgba(7,24,47,.8) 40%,rgba(7,24,47,.3) 62%,rgba(7,24,47,.05) 100%),url("assets/band-athletes.jpg?v=2");background-image:linear-gradient(270deg,rgba(7,24,47,.92) 0%,rgba(7,24,47,.8) 40%,rgba(7,24,47,.3) 62%,rgba(7,24,47,.05) 100%),image-set(url("assets/band-athletes.webp?v=2") type("image/webp"),url("assets/band-athletes.jpg?v=2") type("image/jpeg"))}
  #quit-guessing .quit-inner{display:flex;flex-direction:column;align-items:flex-end;margin-right:0;margin-left:auto;max-width:none}
  #quit-guessing .quit-inner>h2,#quit-guessing .quit-sub,#quit-guessing .quit-actions,#quit-guessing .quit-steps{width:min(640px,52vw);max-width:none}
  #quit-guessing .quit-steps{grid-template-columns:1fr}
}
.hero .hero-tagline{margin:0 0 6px;font-size:clamp(20px,5.4vw,30px);font-weight:900;line-height:1.15;color:#fff;letter-spacing:-.01em;text-shadow:0 2px 18px rgba(0,0,0,.7)}
.hero .hero-tagline::after{content:"";display:block;width:64px;height:4px;background:#e01c28;border-radius:2px;margin:10px 0 0}
.hero .hero-tagline+.lead{margin-top:10px}
@media(min-width:900px){.hero .hero-tagline::after{margin:10px auto 0}}
.hero .hero-tagline{text-wrap:balance;font-size:clamp(19px,5vw,30px)}

/* ===================================================================
   v20 — Close-to-done build: About, SwingChecker, testimonials, footer,
   mobile UX pass
   =================================================================== */
:root{--navy:#07182f;--navy2:#0c2343;--red:#e01c28;--ink:#0b1830;--muted:#58657a;--line:#dfe5ec;--soft:#f5f7fa}
body{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto}
a{color:inherit}
p a,li a{color:var(--red);font-weight:800}

/* Header: compact on phones; tab strip scrolls away so more screen is content */
.topbar{height:64px;padding:8px 14px;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
.brand img{width:46px;height:auto}
.brand strong{font-size:13px}
.tabs-mobile{position:relative;top:auto}
.tabs-mobile::after{content:"";position:sticky;right:-10px;flex:0 0 24px;margin-left:-24px;background:linear-gradient(90deg,rgba(255,255,255,0),#fff);pointer-events:none}
.filters{top:64px}
[id]{scroll-margin-top:76px}
#course{scroll-margin-top:64px}
.topbar-cta{display:none;margin-left:10px;background:var(--red);color:#fff;text-decoration:none;font-weight:900;font-size:13px;padding:10px 14px;border-radius:10px;white-space:nowrap}
@media(min-width:600px){.topbar-cta{display:inline-flex}.topbar{height:72px}.brand img{width:52px}.filters{top:72px}[id]{scroll-margin-top:84px}#course{scroll-margin-top:72px}}
@media(min-width:900px){.topbar .tabs{display:none}.tabs-mobile{display:flex}}
@media(min-width:1100px){.topbar .tabs{display:flex;margin-left:auto}.tabs-mobile{display:none}.topbar-cta{margin-left:14px}}

/* Bottom nav: 5 items, 44px+ targets */
.bottom{grid-template-columns:repeat(5,1fr)}
.bottom a,.bottom button{font-size:inherit;gap:2px;color:#13223a}
.bottom i{font-style:normal;font-size:18px;line-height:1;font-weight:900}
.bottom span{font-size:10.5px;font-weight:800}
.bottom a.active{color:var(--red)}
.bottom .today{color:var(--red)}
@media(min-width:760px){.bottom{max-width:680px}}

/* Buttons: consistent sizing on phones */
.btn.light{background:#edf0f4;color:var(--navy)}
.btn.ghost{color:#fff}
.hero-actions .btn,.quit-actions .btn{min-height:50px}

/* Footer */
.site-footer{background:#041224;color:#b8c5d6;padding:40px 18px calc(24px + env(safe-area-inset-bottom))}
.footer-inner{max-width:1100px;margin:auto;display:grid;gap:26px}
.footer-brand{display:flex;align-items:center;gap:14px}
.footer-brand img{width:64px;background:#fff;border-radius:12px;padding:6px}
.footer-brand p{margin:0;color:#fff;font-weight:900;font-size:17px;line-height:1.25;max-width:220px}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}
.footer-links a{color:#dbe4ef;text-decoration:none;font-weight:700;padding:8px 0}
.footer-contact{display:grid;gap:8px;justify-items:start}
.footer-contact span{font-size:13px}
.footer-legal{max-width:1100px;margin:24px auto 0;padding-top:18px;border-top:1px solid #ffffff1a;font-size:12px;color:#7f91a6}
@media(min-width:760px){.footer-inner{grid-template-columns:1.2fr 1.4fr 1fr;align-items:start}.footer-links{grid-template-columns:repeat(3,auto)}}

/* Testimonials */
.t-section{max-width:1180px}
.t-track{display:grid;grid-auto-flow:column;grid-auto-columns:86%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px;margin:0 -16px;padding-left:16px;padding-right:16px;scrollbar-width:none;overscroll-behavior-x:contain}
.t-track::-webkit-scrollbar{display:none}
.t-card{scroll-snap-align:start;margin:0;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 28px #07182f0d}
.t-card img{width:100%;aspect-ratio:637/325;object-fit:cover;object-position:center 30%;display:block;background:#dfe5ec}
.t-card blockquote{margin:0;padding:16px 16px 8px;color:#27364d;line-height:1.55;font-size:15px;flex:1}
.t-card figcaption{padding:4px 16px 18px}
.t-card figcaption b{display:block;color:var(--navy);font-size:16px}
.t-card figcaption span{display:block;color:var(--red);font-size:12px;font-weight:800;margin-top:2px}
@media(min-width:760px){.t-track{grid-auto-flow:row;grid-template-columns:repeat(2,1fr);overflow:visible;margin:0;padding:4px 0 0}}
@media(min-width:1100px){.t-track{grid-template-columns:repeat(3,1fr)}}

/* SwingChecker promo on Home */
.sc-promo-card{background:var(--navy);color:#fff;border-radius:22px;padding:24px 20px;display:grid;gap:20px;box-shadow:0 20px 50px #07182f33;position:relative;overflow:hidden}
.sc-promo-card::before{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;border:26px solid #e01c2826;pointer-events:none}
.sc-promo-kicker{display:inline-block;background:var(--red);color:#fff;font-weight:900;font-size:11px;letter-spacing:.1em;padding:6px 10px;border-radius:999px}
.sc-promo-card h2{font-size:clamp(30px,8vw,48px);line-height:1;margin:12px 0 10px;letter-spacing:-.03em}
.sc-promo-card p{color:#cfd9e6;line-height:1.55;margin:0 0 6px;max-width:620px}
@media(min-width:760px){.sc-promo-card{grid-template-columns:1.6fr 1fr;align-items:center;padding:36px}}

/* Flow chips (See it → Trace it → Fix it → Retest) */
.sc-flow{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px;counter-reset:f}
.sc-flow li{counter-increment:f;display:flex;align-items:center;gap:8px;border:1px solid #ffffff40;border-radius:999px;padding:8px 12px 8px 8px;font-weight:900;font-size:13px;color:#fff}
.sc-flow li::before{content:counter(f);width:22px;height:22px;border-radius:50%;background:var(--red);display:grid;place-items:center;font-size:12px}
.sc-flow.dark{margin:0;display:grid;gap:8px}
.sc-flow.dark li{background:#ffffff0d}

/* SwingChecker page */
.sc-modes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px auto 0}
.sc-modes a{display:block;text-decoration:none;color:#fff;border:1px solid #ffffff33;border-radius:14px;padding:12px;background:#ffffff0d}
.sc-modes a b{display:block;font-size:15px}
.sc-modes a span{display:block;font-size:11px;color:#b9c6d6;margin-top:3px;line-height:1.3}
.sc-modes a.active{background:#fff;color:var(--navy);border-color:#fff}
.sc-modes a.active span{color:#58657a}
.sc-section{padding-top:24px;padding-bottom:20px}
.sc-groups{display:grid;gap:10px}
.sc-group{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.sc-group-head{width:100%;display:flex;align-items:center;gap:12px;border:0;background:#fff;padding:14px;text-align:left;min-height:64px;color:var(--navy)}
.sc-group-num{flex:0 0 36px;height:36px;border-radius:10px;background:#edf1f6;display:grid;place-items:center;font-weight:900;font-size:13px}
.sc-group-title{flex:1;min-width:0}
.sc-group-title b{display:block;font-size:16px;line-height:1.2}
.sc-group-title small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.sc-group-count{min-width:24px;height:24px;border-radius:12px;padding:0 7px;font-size:12px;font-weight:900;display:grid;place-items:center}
.sc-group-count.on{background:var(--red);color:#fff}
.sc-chev{font-size:24px;font-weight:900;color:var(--red);width:20px;text-align:center;transition:transform .2s}
.sc-group.open .sc-chev{transform:rotate(45deg)}
.sc-items{display:none;padding:0 12px 12px;gap:8px}
.sc-group.open .sc-items{display:grid}
.sc-item{position:relative;display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;min-height:54px;font-weight:700;color:#1c2b42;background:#fbfcfd;cursor:pointer;-webkit-tap-highlight-color:transparent;line-height:1.3}
.sc-item input{position:absolute;opacity:0;width:1px;height:1px}
.sc-box{flex:0 0 24px;height:24px;border-radius:7px;border:2px solid #a8b6c4;display:grid;place-items:center;color:transparent;font-size:14px;font-weight:900;background:#fff}
.sc-item:has(input:checked){border-color:var(--red);background:#fff4f5;color:#7d1119}
.sc-item input:checked+.sc-box{background:var(--red);border-color:var(--red);color:#fff}
.sc-item input:focus-visible+.sc-box{outline:3px solid var(--red);outline-offset:2px}
@media(min-width:760px){.sc-items{grid-template-columns:1fr 1fr}}
.sc-bar{position:sticky;bottom:calc(72px + env(safe-area-inset-bottom));z-index:15;margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px;display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;box-shadow:0 -6px 30px #07182f1f}
.sc-bar #scCount{font-weight:900;color:var(--navy);font-size:14px;padding-left:6px}
.sc-bar .btn{min-height:46px;padding:10px 14px;font-size:13px}
.sc-bar.ready #scCount{color:var(--red)}
@media(min-width:760px){.sc-bar{bottom:calc(84px + env(safe-area-inset-bottom))}}
.sc-results{padding-top:10px}
.sc-cards{display:grid;gap:14px}
@media(min-width:900px){.sc-cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}
.sc-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px #07182f12}
.sc-card header{display:flex;justify-content:space-between;align-items:center;background:var(--navy);color:#fff;padding:12px 16px;font-weight:900;font-size:12px;letter-spacing:.1em}
.sc-card header b{font-size:22px;letter-spacing:0}
.sc-card.first header{background:var(--red)}
.sc-card-body{padding:16px}
.sc-card h3{margin:0;font-size:22px;line-height:1.1;color:var(--navy)}
.sc-checkpoint{margin:6px 0 10px;color:var(--red);font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.sc-meter{height:6px;background:#e4eaf0;border-radius:99px;overflow:hidden}
.sc-meter i{display:block;height:100%;background:var(--red)}
.sc-card h4{margin:16px 0 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#6c7b8d}
.sc-card p,.sc-card li{color:#34455a;line-height:1.5;font-size:15px;margin:0}
.sc-card ul{margin:0;padding-left:18px;display:grid;gap:4px}
.sc-why li{color:#7d1119}
.sc-days{display:grid;gap:6px}
.sc-days a{display:block;text-decoration:none;background:#f3f5f8;border-radius:10px;padding:10px 12px;font-weight:800;color:var(--navy);font-size:14px}
.sc-next{margin-top:16px;background:var(--navy);color:#fff;border-radius:18px;padding:20px;display:grid;gap:14px}
.sc-next h3{margin:0 0 4px;font-size:22px}
.sc-next p{margin:0;color:#cfd9e6;line-height:1.5}
.sc-next-actions{display:grid;gap:8px}
.sc-next .btn.light{background:#ffffff14;color:#fff;border:1px solid #ffffff33}
@media(min-width:760px){.sc-next{grid-template-columns:1fr auto;align-items:center}.sc-next-actions{grid-auto-flow:column}}
.sc-switch{text-align:center;color:var(--muted);margin:18px 0 0}

/* About */
.about-hero-grid{display:grid;gap:24px;align-items:center}
.about-logo{display:none}
@media(min-width:900px){.about-hero-grid{grid-template-columns:1.5fr 1fr}.about-logo{display:block;background:#fff;border-radius:24px;padding:28px;box-shadow:0 30px 60px #0006}}
.story-grid,.standard{display:grid;gap:24px}
@media(min-width:900px){.story-grid,.standard{grid-template-columns:1fr 1fr;align-items:start}}
.timeline{list-style:none;margin:0;padding:0 0 0 22px;border-left:3px solid var(--red);display:grid;gap:18px}
.timeline li{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.timeline li::before{content:"";position:absolute;left:-32px;top:18px;width:15px;height:15px;border-radius:50%;background:#fff;border:3px solid var(--red)}
.timeline b{color:var(--navy)}
.timeline p{margin:4px 0 0;color:var(--muted);line-height:1.5}
.values{display:grid;gap:12px}
.values article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;border-top:4px solid var(--red)}
.values h3{margin:0 0 6px;color:var(--navy)}
.values p{margin:0;color:var(--muted);line-height:1.55}
@media(min-width:760px){.values{grid-template-columns:1fr 1fr}}
@media(min-width:1100px){.values{grid-template-columns:repeat(4,1fr)}}
.section-head p+p{margin-top:0}
.systems-card{background:var(--navy);color:#fff;border-radius:20px;padding:24px}
.systems-card h3{font-size:34px;line-height:.95;margin:0 0 16px}
.systems-card ol{margin:0 0 14px;padding-left:22px;display:grid;gap:6px;font-weight:800;font-size:18px}
.systems-card ol li::marker{color:var(--red)}
.systems-card p{margin:0;color:#cfd9e6}

/* Page-hero tidy for text-heavy heroes on phones */
.page-hero .lead{font-size:17px}
.page-hero h1{text-wrap:balance}

/* Lesson modal: easier reading on phones */
.lesson-detail .box{font-size:16px;line-height:1.6}
.lesson-detail h2{font-size:clamp(28px,8vw,36px)}
.modal-card{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
/* v20 mobile refinements */
@media(max-width:599px){
  .hero .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .hero .hero-actions .btn{grid-column:span 2}
  .hero .hero-actions a[href="/remote-training.html"],.hero .hero-actions a[href="/courses.html"]{grid-column:span 1;font-size:13px;padding:12px 8px}
  .sc-hero .sc-flow,.sc-promo-card .sc-flow{display:none}
  .compare{min-width:0}
  .compare th,.compare td{padding:10px 4px;font-size:12px}
  .compare thead th{font-size:10px;letter-spacing:0}
  .compare tbody th{width:40%;font-size:12.5px}
}
#quit-guessing .quit-steps a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.show-all{display:block;width:100%;margin:12px 0 0;min-height:52px;border:2px solid var(--navy);background:#fff;color:var(--navy);border-radius:14px;font-weight:900;font-size:14px}
@media(min-width:900px){
  .hero .hero-actions{flex-wrap:wrap;justify-content:center;max-width:640px;margin-left:auto;margin-right:auto}
  .hero .hero-actions .btn{flex:0 0 auto;white-space:nowrap}
}
.pillar{padding:36px max(18px,calc((100vw - 1100px)/2))}
.pillar h2{margin:6px 0}
.pillar p{margin:4px 0}
@media(min-width:760px){.pillar{padding-top:44px;padding-bottom:44px}}

/* ===== v22: real athlete photos replace the drawn silhouettes ===== */
.photo-bg::after,.photo-band::after,.photo-band::before{display:none}
.photo-bg{--img:url("assets/photo-baseball-cage.jpg");--pos-m:70% top;--pos-d:right center;
  background-color:#07182f;background-repeat:no-repeat;background-size:cover;
  background-image:linear-gradient(180deg,rgba(7,24,47,.08) 0%,rgba(7,24,47,.5) 30%,rgba(7,24,47,.93) 55%),var(--img);
  background-position:0 0,var(--pos-m);padding-top:230px}
.ph-baseball{--img:url("assets/photo-baseball-cage.jpg");--pos-m:68% top}
.ph-softball{--img:url("assets/photo-softball-cage.jpg");--pos-m:80% top}
.ph-hose{--img:url("assets/band-athletes.jpg?v=2");--pos-m:40% top}
@supports (background-image:image-set(url("a.webp") type("image/webp"))){
  .ph-baseball{--img:image-set(url("assets/photo-baseball-cage.webp") type("image/webp"),url("assets/photo-baseball-cage.jpg") type("image/jpeg"))}
  .ph-softball{--img:image-set(url("assets/photo-softball-cage.webp") type("image/webp"),url("assets/photo-softball-cage.jpg") type("image/jpeg"))}
  .ph-hose{--img:image-set(url("assets/band-athletes.webp?v=2") type("image/webp"),url("assets/band-athletes.jpg?v=2") type("image/jpeg"))}
}
.photo-bg h1,.photo-bg .lead,.photo-bg .eyebrow{text-shadow:0 2px 16px rgba(0,0,0,.55)}
.sc-hero.photo-bg{padding-top:200px}
@media(min-width:760px){
  .photo-bg{padding-top:72px;background-image:linear-gradient(90deg,rgba(7,24,47,.95) 0%,rgba(7,24,47,.84) 40%,rgba(7,24,47,.25) 66%,rgba(7,24,47,.05) 100%),var(--img);background-position:0 0,var(--pos-d)}
  .sc-hero.photo-bg{padding-top:56px}
  .ph-hose{background-image:linear-gradient(90deg,rgba(7,24,47,.94) 0%,rgba(7,24,47,.8) 45%,rgba(7,24,47,.35) 70%,rgba(7,24,47,.2) 100%),var(--img)}
}

/* Red CTA bands: photo under a brand-red wash, text stays crisp */
.photo-band{--img:url("assets/photo-baseball-cage.jpg");background-color:#e01c28;background-repeat:no-repeat;background-size:cover;
  background-image:linear-gradient(180deg,rgba(224,28,40,.55) 0%,rgba(200,20,32,.9) 45%),var(--img);background-position:0 0,var(--pos-m,center top)}
.photo-band .quit-steps li{background:rgba(7,24,47,.85)}
@media(min-width:760px){
  .photo-band{background-image:linear-gradient(90deg,rgba(210,22,34,.96) 0%,rgba(210,22,34,.85) 45%,rgba(210,22,34,.35) 75%,rgba(210,22,34,.2) 100%),var(--img);background-position:0 0,right center}
}

/* Courses page additions */
.how-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:s}
.how-steps li{counter-increment:s;position:relative;background:#fff;border:1px solid var(--line,#dfe5ec);border-radius:16px;padding:16px 16px 16px 60px;box-shadow:0 8px 28px #07182f0d}
.how-steps li::before{content:counter(s);position:absolute;left:16px;top:16px;width:30px;height:30px;border-radius:50%;background:#07182f;color:#fff;display:grid;place-items:center;font-weight:900}
.how-steps b{display:block;color:#07182f;font-size:17px}
.how-steps span{display:block;color:#58657a;line-height:1.5;margin-top:3px}
@media(min-width:900px){.how-steps{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}
.match-list{display:grid;gap:8px}
.match-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #dfe5ec;border-left:5px solid #e01c28;border-radius:14px;padding:14px 16px;text-decoration:none;min-height:60px}
.match-list span{color:#27364d;line-height:1.35}
.match-list b{color:#07182f;white-space:nowrap;font-size:14px}
.match-list b::after{content:" ›";color:#e01c28}
@media(max-width:520px){.match-list a{flex-direction:column;align-items:flex-start;gap:4px}.match-list b{white-space:normal}}
@media(min-width:900px){.match-list{grid-template-columns:1fr 1fr}}
.course-best{background:#f3f5f8;border-radius:12px;padding:10px 12px;color:#27364d;line-height:1.45;margin:0 0 4px}
.course-best b{color:#e01c28}
.faq{display:grid;gap:8px;max-width:820px}
.faq details{background:#fff;border:1px solid #dfe5ec;border-radius:14px}
.faq summary{list-style:none;cursor:pointer;padding:16px 44px 16px 16px;font-weight:800;color:#07182f;position:relative;min-height:56px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#e01c28;font-size:22px;font-weight:900}
.faq details[open] summary::after{content:"–"}
.faq p{margin:0;padding:0 16px 16px;color:#3d4b60;line-height:1.55}
@media(max-width:759px){
  .photo-bg{background-size:100% 100%,auto 500px;padding-top:250px}
  .photo-bg{background-image:linear-gradient(180deg,rgba(7,24,47,.05) 0px,rgba(7,24,47,.45) 200px,rgba(7,24,47,.92) 400px,#07182f 500px),var(--img)}
  .sc-hero.photo-bg{padding-top:220px}
  .photo-band{background-size:100% 100%,auto 420px;background-image:linear-gradient(180deg,rgba(224,28,40,.45) 0px,rgba(214,24,36,.88) 260px,#d61824 420px),var(--img)}
}
@media(min-width:760px){
  .photo-bg:not(.about-hero){padding-left:max(24px,calc((100vw - 1100px)/2));padding-right:24px}
  .photo-bg:not(.about-hero)>*{margin-left:0;margin-right:0;max-width:640px}
  .photo-bg:not(.about-hero) h1{font-size:clamp(42px,4.6vw,66px)}
  .photo-bg .hero-actions{justify-content:flex-start}
  .sc-hero.photo-bg .sc-modes{max-width:560px}
}

/* v23: SwingChecker hero uses the stadium baseball/softball photo */
.ph-stadium{--img:url("assets/hero-athletes-mobile.jpg")}
@supports (background-image:image-set(url("a.webp") type("image/webp"))){.ph-stadium{--img:image-set(url("assets/hero-athletes-mobile.webp") type("image/webp"),url("assets/hero-athletes-mobile.jpg") type("image/jpeg"))}}
@media(max-width:759px){
  .sc-hero.ph-stadium{padding-top:170px;background-size:100% 100%,cover;background-position:0 0,center top;
    background-image:linear-gradient(180deg,rgba(7,24,47,.05) 0%,rgba(7,24,47,.35) 18%,rgba(7,24,47,.78) 42%,rgba(7,24,47,.9) 100%),var(--img)}
}
@media(min-width:760px){
  .ph-stadium{--img:url("assets/hero-athletes.jpg")}
  @supports (background-image:image-set(url("a.webp") type("image/webp"))){.ph-stadium{--img:image-set(url("assets/hero-athletes.webp") type("image/webp"),url("assets/hero-athletes.jpg") type("image/jpeg"))}}
  .sc-hero.ph-stadium{padding-left:24px;padding-right:24px;text-align:center;align-items:center;background-position:0 0,center 30%;
    background-image:linear-gradient(90deg,rgba(7,24,47,.1) 18%,rgba(7,24,47,.6) 38%,rgba(7,24,47,.6) 62%,rgba(7,24,47,.1) 82%),var(--img)}
  .sc-hero.ph-stadium>*{margin-left:auto!important;margin-right:auto!important;max-width:600px}
  .sc-hero.ph-stadium .sc-flow{justify-content:center}
  .sc-hero.ph-stadium .sc-modes{text-align:left}
}
@media(max-width:759px){.sc-hero.ph-stadium{background-image:linear-gradient(180deg,rgba(7,24,47,0) 0%,rgba(7,24,47,.3) 20%,rgba(7,24,47,.62) 42%,rgba(7,24,47,.78) 100%),var(--img)}}

/* v24: About logo panel framed in the logo's own red */
@media(min-width:900px){
  .about-logo{border:8px solid #be0104;box-shadow:0 0 0 3px #fff inset,0 30px 60px #0006;padding:24px}
}

/* v27: phones — center the home hero text */
@media(max-width:899px){
  .hero{align-items:center;text-align:center}
  .hero>*{margin-left:auto;margin-right:auto}
  .hero-logo{display:flex;justify-content:center}
  .hero .access-badge{align-self:center}
  .hero .hero-tagline::after{margin:10px auto 0}
  .hero .lead{margin-left:auto;margin-right:auto}
  .hero .hero-actions{justify-content:center;width:100%}
  .hero .progress-card{width:100%;text-align:left}
}
