/* Generated from the approved mockups (Botonomy workspace: docs/clients/rico-clinic/academy-mockups/build_mockups.py). Do not edit by hand. */

:root{--paper:#fffdf9;--ink:#1e1e1c;--soft-ink:#5f626b;--line:#e2e0db;--line2:#c4c4c4;
--soft:#f7f6f3;--brand:#0c0c0b;--brand-soft:#efefeb;--tip-bg:#eef4f0;--tip-line:#b7d0c1;
--tip:#357a54;--warn-bg:#f6eeee;--warn-line:#d6bcbc;--warn:#3b0b0b;--r:14px}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:'Satoshi',system-ui,sans-serif;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.display{font-family:'Switzer',system-ui,sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1.12}
h1{font-size:clamp(34px,5.2vw,60px)} h2{font-size:clamp(26px,3.2vw,38px)} h3{font-size:20px}
a{color:inherit} img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft-ink);font-weight:500}
.muted{color:var(--soft-ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border-radius:999px;font-weight:700;font-size:15px;text-decoration:none;border:1.5px solid var(--brand);cursor:pointer;font-family:inherit;white-space:nowrap}
.btn-dark{background:var(--brand);color:var(--paper)} .btn-line{background:transparent;color:var(--brand)}
.btn-sm{height:38px;padding:0 16px;font-size:14px}
.btn-block{width:100%}
.tag{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--brand-soft);color:var(--ink)}
.tag-dark{background:var(--brand);color:var(--paper)}
.slot{background:repeating-linear-gradient(135deg,var(--soft) 0 14px,var(--brand-soft) 14px 28px);border:1.5px dashed var(--line2);border-radius:var(--r);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--soft-ink);font-size:14px;padding:20px}
.slot b{display:block;color:var(--ink);font-size:15px;margin-bottom:4px}
.photo{width:100%;display:block;object-fit:cover;border-radius:var(--r);background:var(--soft)}
.player img.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75}
.outcomes{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start;margin-top:64px} .outcomes .photo{aspect-ratio:4/5}
.auth-split{display:grid;grid-template-columns:minmax(0,520px) 440px;gap:28px;align-items:stretch;width:100%;max-width:988px} .auth-photo{height:100%;min-height:560px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px}
.mock-note{position:fixed;right:12px;bottom:12px;z-index:50;background:var(--brand);color:var(--paper);font-size:12px;padding:6px 12px;border-radius:999px;opacity:.85}
/* public header */
.top{position:sticky;top:0;z-index:20;background:rgba(255,253,249,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:28px;height:72px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:'Switzer';font-weight:700;font-size:15px}
.logo img{height:30px;width:auto} .logo span{padding-left:10px;border-left:1px solid var(--line2);color:var(--soft-ink);font-weight:600}
.nav{display:flex;gap:26px;margin-left:auto;align-items:center;font-weight:500;font-size:15px}
.nav a{text-decoration:none} .nav a:hover{text-decoration:underline}
.lang{font-size:13px;font-weight:700;color:var(--soft-ink)} .lang b{color:var(--ink)}
.burger{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--line2);border-radius:12px;background:#fff;font-size:20px}
/* sections */
section{padding:88px 0} .sec-soft{background:var(--soft)}
.hero{padding:72px 0 64px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero p.lead{font-size:19px;color:var(--soft-ink);margin:22px 0 32px;max-width:560px}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts > div{padding:26px 24px;border-right:1px solid var(--line)} .facts > div:last-child{border:0}
.facts .display{font-size:28px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.step .n{width:36px;height:36px;border-radius:50%;background:var(--brand);color:var(--paper);display:grid;place-items:center;font-weight:700;margin-bottom:16px}
.mods{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:40px}
.mod{display:flex;gap:14px;align-items:flex-start} .mod .num{font-family:'Switzer';font-weight:700;font-size:22px;color:var(--line2);min-width:30px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.band{background:var(--brand);color:var(--paper);border-radius:24px;padding:56px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.band .btn{background:var(--paper);color:var(--brand);border-color:var(--paper)}
.faq details{border-bottom:1px solid var(--line);padding:18px 0} .faq summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between}
.faq summary::after{content:'+';font-size:22px;line-height:1} .faq details[open] summary::after{content:'–'}
.faq p{margin-top:10px;color:var(--soft-ink)}
footer{border-top:1px solid var(--line);padding:40px 0;font-size:14px;color:var(--soft-ink)}
footer .wrap{display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between} footer nav{display:flex;gap:20px;flex-wrap:wrap}
/* course page */
.course-grid{display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:start}
.sticky{position:sticky;top:96px}
.curr details{border:1px solid var(--line);border-radius:var(--r);margin-bottom:10px;background:#fff}
.curr summary{padding:18px 20px;cursor:pointer;list-style:none;display:flex;gap:14px;align-items:center;font-weight:700}
.curr summary .meta{margin-left:auto;font-weight:500;font-size:14px;color:var(--soft-ink)}
.curr ol{list-style:none;border-top:1px solid var(--line)}
.curr li{display:flex;gap:12px;align-items:center;padding:12px 20px;border-bottom:1px solid var(--line);font-size:15px} .curr li:last-child{border:0}
.curr li .ix{color:var(--soft-ink);font-size:13px;min-width:34px} .curr li .tag{margin-left:auto}
.ticks{list-style:none;display:grid;gap:12px} .ticks li{display:flex;gap:12px} .ticks li::before{content:'✓';font-weight:700}
.notice{border:1.5px solid var(--brand);border-radius:var(--r);padding:18px 20px;background:#fff}
/* pricing */
.plans{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:860px;margin:40px auto 0}
.plans3{grid-template-columns:repeat(3,1fr);max-width:1080px;align-items:start} .plans3 .price{font-size:38px}
.community{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center} .community .cprice{text-align:right;white-space:nowrap}
.plan .price{font-family:'Switzer';font-weight:700;font-size:48px;margin:12px 0 4px}
.plan ul{list-style:none;margin:20px 0 26px;display:grid;gap:10px} .plan li::before{content:'✓  ';font-weight:700}
.plan.feature{border:2px solid var(--brand)}
/* auth */
.auth{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:48px 20px;background:var(--soft)}
.auth .card{width:100%;max-width:440px;padding:36px}
label{display:block;font-weight:700;font-size:14px;margin:16px 0 6px}
input[type=text],input[type=email],input[type=password],textarea,select{width:100%;height:48px;border:1.5px solid var(--line2);border-radius:12px;padding:0 14px;font:inherit;background:#fff;color:var(--ink)}
textarea{height:110px;padding:12px 14px;resize:vertical}
input:focus,textarea:focus{outline:none;border-color:var(--brand)}
.or{display:flex;align-items:center;gap:12px;color:var(--soft-ink);font-size:13px;margin:22px 0} .or::before,.or::after{content:'';flex:1;height:1px;background:var(--line)}
.prov{display:grid;gap:10px} .prov .btn{background:#fff;border-color:var(--line2);color:var(--ink);font-weight:600;white-space:normal;height:auto;min-height:48px;padding:10px 18px;text-align:center}
.prov .ico{width:20px;height:20px;border-radius:5px;display:grid;place-items:center;font-size:12px;font-weight:800;color:#fff}
.small{font-size:13px}
/* app shell */
.app{display:grid;grid-template-columns:248px 1fr;min-height:100vh}
.side{background:#fff;border-right:1px solid var(--line);padding:22px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}
.side .logo{padding:0 8px 24px}
.side nav{display:grid;gap:4px}
.side nav a{display:flex;gap:12px;align-items:center;padding:11px 12px;border-radius:10px;text-decoration:none;font-weight:500;color:var(--soft-ink)}
.side nav a.on{background:var(--brand);color:var(--paper)} .side nav a:hover:not(.on){background:var(--soft)}
.side .me{margin-top:auto;display:flex;gap:10px;align-items:center;padding:12px 8px;border-top:1px solid var(--line);font-size:14px}
.avatar{width:38px;height:38px;border-radius:50%;background:var(--brand-soft);display:grid;place-items:center;font-weight:700;flex:none}
.main{padding:36px 44px 80px;max-width:1120px}
.dash-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;margin-top:28px}
.resume{background:var(--brand);color:var(--paper);border:0} .resume .muted{color:#c9c7c2}
.resume .btn{background:var(--paper);color:var(--brand);border-color:var(--paper)}
.bar{height:8px;background:var(--brand-soft);border-radius:99px;overflow:hidden} .bar i{display:block;height:100%;background:var(--brand)}
.resume .bar{background:#3a3a37} .resume .bar i{background:var(--paper)}
.ring{width:132px;height:132px;border-radius:50%;display:grid;place-items:center;margin:8px auto 14px}
.ring div{width:104px;height:104px;border-radius:50%;background:#fff;display:grid;place-items:center;font-family:'Switzer';font-weight:700;font-size:28px}
.modrow{display:grid;grid-template-columns:28px 1fr 120px 48px;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.modrow:last-child{border:0}
.list{list-style:none} .list li{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px} .list li:last-child{border:0}
.dot{width:10px;height:10px;border-radius:50%;flex:none}
/* lesson */
.lesson-top{display:flex;align-items:center;gap:16px;padding:14px 24px;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:10}
.lesson-prog{margin-left:auto;display:flex;align-items:center;gap:12px;min-width:220px}
.lesson-grid{display:grid;grid-template-columns:1fr 340px;min-height:calc(100vh - 66px)}
.lesson-main{padding:28px 44px 80px;max-width:860px;width:100%;margin:0 auto}
.player{aspect-ratio:16/9;background:#0c0c0b;border-radius:var(--r);position:relative;overflow:hidden;display:grid;place-items:center}
.player .poster{position:absolute;left:8%;top:22%;right:30%} .player .play{position:absolute!important;right:8%;top:50%;transform:translateY(-50%)}
.player .play{position:relative;width:76px;height:76px;border-radius:50%;background:var(--brand);color:var(--paper);display:grid;place-items:center;font-size:26px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.player .ctrl{position:absolute;left:0;right:0;bottom:0;padding:12px 16px;background:linear-gradient(transparent,rgba(12,12,11,.85));color:#fff;font-size:13px;display:flex;gap:12px;align-items:center}
.player .ctrl .bar{flex:1;background:rgba(255,255,255,.3)} .player .ctrl .bar i{background:#fff}
.player .badge{position:absolute;top:12px;left:12px;background:rgba(12,12,11,.8);color:#fff;font-size:12px;padding:4px 10px;border-radius:99px}
.prose{margin-top:28px} .prose > *+*{margin-top:16px} .prose h3{margin-top:30px;font-size:22px}
.prose ul{padding-left:22px;display:grid;gap:8px} .prose .lead{font-size:19px;color:var(--soft-ink)}
.prose figure{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff} .prose figcaption{padding:12px 16px;font-size:14px;color:var(--soft-ink);border-top:1px solid var(--line)}
.cite{color:var(--soft-ink);font-size:.7em}
.box{border-radius:var(--r);padding:16px 18px;border:1.5px solid} .box b.k{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
.box.warn{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn)}
.box.tip{background:var(--tip-bg);border-color:var(--tip-line);color:var(--tip)}
.box.proto{background:#fff;border-color:var(--brand)}
.lesson-nav{display:flex;gap:12px;justify-content:space-between;margin-top:40px;padding-top:24px;border-top:1px solid var(--line);flex-wrap:wrap}
.lesson-nav .btn{white-space:normal;height:auto;min-height:48px;padding:10px 20px;text-align:center}
.outline{border-left:1px solid var(--line);background:#fff;padding:22px 0;overflow:auto}
.outline h4{padding:0 22px 12px;font-size:15px}
.outline a{display:flex;gap:12px;padding:10px 22px;text-decoration:none;font-size:14px;align-items:flex-start}
.outline a.on{background:var(--soft);font-weight:700;box-shadow:inset 3px 0 0 var(--brand)}
.chk{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line2);flex:none;margin-top:2px;display:grid;place-items:center;font-size:11px}
.chk.done{background:var(--brand);border-color:var(--brand);color:#fff}
/* settings */
.set-grid{display:grid;grid-template-columns:200px 1fr;gap:36px;margin-top:28px}
.subnav{display:grid;gap:2px;align-content:start;position:sticky;top:24px} .subnav a{padding:9px 12px;border-radius:10px;text-decoration:none;font-size:15px;color:var(--soft-ink)}
.subnav a.on{background:var(--soft);color:var(--ink);font-weight:700}
.set-grid .card{margin-bottom:20px} .set-grid h3{margin-bottom:4px}
.row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)} .row:last-child{border:0}
.danger{border-color:var(--warn-line)} .btn-danger{background:#fff;color:var(--warn);border-color:var(--warn-line)}
.tabbar{display:none}
/* responsive */
@media (max-width:900px){
 .nav{display:none} .burger{display:block}
 .hero-grid,.split,.course-grid,.dash-grid,.plans,.plans3{grid-template-columns:1fr}
 .hero-grid .slot{min-height:260px} .steps,.facts{grid-template-columns:1fr} .facts > div{border-right:0;border-bottom:1px solid var(--line)}
 section{padding:60px 0} .band{padding:36px 28px}
 .app{grid-template-columns:1fr} .side{display:none}
 .main{padding:24px 16px 110px}
 .tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);z-index:30;padding:6px 0 10px}
 .tabbar a{display:grid;justify-items:center;gap:2px;font-size:11px;text-decoration:none;color:var(--soft-ink);padding:6px 0} .tabbar a.on{color:var(--ink);font-weight:700} .tabbar span{font-size:18px}
 .lesson-grid{grid-template-columns:1fr} .lesson-main{padding:18px 16px 110px} .outline{border-left:0;border-top:1px solid var(--line)}
 .set-grid{grid-template-columns:1fr} .subnav{position:static;grid-auto-flow:column;overflow-x:auto;grid-auto-columns:max-content}
 .modrow{grid-template-columns:24px 1fr 56px} .modrow .bar{display:none}
 .community{grid-template-columns:1fr} .outcomes{grid-template-columns:1fr} .outcomes .photo{aspect-ratio:16/9} .auth-split{grid-template-columns:1fr} .auth-photo{display:none} .community .cprice{text-align:left}
 .wrap{padding:0 16px} .sticky{position:static} .lesson-top .hide-sm{display:none}
 .lesson-nav .btn{flex:1 1 100%} .lesson-nav .btn-dark{order:-1}
}

/* ===== Site theme layer: matches ricoclinic.com (rico-design.css, measured 2026-11-03) ===== */
:root{--char:#0c0c0b;--char2:#1a1a18;--char3:#252523;--green:#61c28d;--g3:#c4c4c4;--g4:#8c8c8c;--light:#f7f6f3;--r:4px}
h1,h2,h3,.display{text-transform:uppercase;letter-spacing:-.01em;line-height:1.06}
h1{font-size:clamp(2.6rem,6vw,5.6rem)} h2{font-size:clamp(1.9rem,3.5vw,2.9rem)} h3{font-size:clamp(1.1rem,1.6vw,1.45rem)}
.prose h3,.faq summary{text-transform:none}
.eyebrow{display:flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:.08em;color:var(--g4);font-weight:500}
.eyebrow::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--green);flex:none}
.btn{border-radius:3.2px;font-family:'Switzer',sans-serif;font-weight:600;height:50px;padding:0 26px}
.btn.arrow::after{content:"\2192";margin-left:2px}
.btn-dark{background:var(--char);border-color:var(--char);color:var(--paper)}
.btn-light{background:var(--paper);border-color:var(--paper);color:#000}
.btn-ghost{background:transparent;border-color:rgba(255,253,249,.5);color:var(--paper)}
.tag{border-radius:0;background:transparent;border:1px solid var(--g4);color:var(--g4);text-transform:uppercase;font-weight:500;font-size:12px;letter-spacing:.04em;padding:3px 8px}
.tag-dark{background:var(--char);border-color:var(--char);color:var(--paper)}
.more{text-transform:uppercase;font-size:14px;color:var(--g3);text-decoration:none;letter-spacing:.04em}
.more::after{content:" \2192"}
.card{border-radius:var(--r)}
.photo{border-radius:2px}
/* dark bands */
.dark{background:var(--char);color:var(--paper)} .black{background:#000;color:var(--paper)} .light{background:var(--light)}
.dark .muted,.black .muted{color:#a9a9a6} .dark .card,.black .card{background:var(--char2);border-color:var(--char3);color:var(--paper)}
.dark .eyebrow,.black .eyebrow{color:var(--g3)}
/* header + footer: dark, like the site */
.top{background:var(--char);border-bottom:1px solid var(--char3);backdrop-filter:none}
.top .logo img{height:34px} .top .logo span{color:var(--g3);border-color:#3a3a37}
.top .nav a{color:var(--paper)} .top .lang{color:#8c8c8c} .top .lang b{color:var(--paper)}
.top .nav .btn{background:var(--paper);color:#000;border-color:var(--paper)}
.top .burger{background:transparent;border-color:#3a3a37;color:var(--paper)}
.top.over{position:absolute;left:0;right:0;background:linear-gradient(rgba(0,0,0,.55),transparent);border:0}
footer{background:var(--char);color:#a9a9a6;border-top:1px solid var(--char3)} footer a{color:var(--g3)}
/* home hero: full-bleed photo, white uppercase headline */
.hero-full{position:relative;min-height:92vh;display:flex;align-items:flex-end;color:#fff;background:#000;overflow:hidden;padding:0}
.hero-full img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62}
.hero-full::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,.25) 60%,rgba(0,0,0,.1)),linear-gradient(0deg,rgba(0,0,0,.6),transparent 45%)}
.hero-full .wrap{position:relative;z-index:1;padding-bottom:96px;width:100%}
.hero-full h1{max-width:900px;color:#fff} .hero-full .lead{color:#e2e7f0;font-size:18px;max-width:560px;margin:22px 0 30px}
.hero-full .eyebrow{color:#e2e7f0}
/* stats band */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:56px 0}
.stat{border:1px solid var(--char3);padding:30px;text-align:center} .stat .display{font-size:clamp(2.4rem,4vw,3.4rem);text-transform:none}
.stat .lbl{text-transform:uppercase;font-size:13px;letter-spacing:.06em;color:#a9a9a6;margin-top:6px}
/* step boxes + module cards */
.stepbox{border:1px solid var(--g3);padding:28px;background:var(--paper)} .stepbox .sn{font-family:'Switzer';font-weight:700;font-size:40px;color:var(--g3);text-transform:uppercase;line-height:1;margin-bottom:18px}
.stepbox h3{font-size:16px;margin-bottom:8px}
.modcard{background:var(--char2);border:1px solid var(--char3);padding:24px;display:flex;flex-direction:column;gap:10px;min-height:170px}
.modcard .num{font-family:'Switzer';font-weight:700;font-size:34px;color:#3a3a37;line-height:1}
.modcard h3{font-size:17px} .modcard p{color:#a9a9a6;font-size:14px;margin-top:auto}
.tiercard{background:var(--char2);border:1px solid var(--char3);padding:26px;display:flex;flex-direction:column;gap:12px}
.tiercard .price{font-family:'Switzer';font-weight:700;font-size:30px}
/* pricing: featured Masterclass inverted */
.plan.feature{background:var(--char);color:var(--paper);border-color:var(--char)} .plan.feature .muted{color:#a9a9a6}
.plan.feature .btn-dark{background:var(--paper);color:#000;border-color:var(--paper)}
/* course hero dark */
.course-hero{background:var(--char);color:var(--paper)} .course-hero .muted{color:#a9a9a6}
.course-hero .card{color:var(--ink)}
.course-hero .curr details{background:var(--char2);border-color:var(--char3)} .course-hero .curr ol,.course-hero .curr li{border-color:var(--char3)}
.course-hero .curr .meta,.course-hero .curr li .ix{color:#8c8c8c} .course-hero .curr .tag{color:var(--g3);border-color:#5a5a57}
.course-hero .curr .tag-dark{background:var(--paper);color:#000;border-color:var(--paper)}
.course-hero .notice{background:var(--char2);border-color:var(--char3)}
.course-hero .sticky .card .btn-line{color:var(--char);border-color:var(--char)}
[style*="text-align:center"] .eyebrow{justify-content:center}
h1,h2{overflow-wrap:break-word;hyphens:auto}
/* Martin 2026-11-03: on the site only the menu (and footer) is black; page bodies are light */
.stat{border:1px solid var(--line);background:#fff} .stat .lbl{color:var(--soft-ink)}
.modcard{background:#fff;border:1px solid var(--line);color:var(--ink)} .modcard .num{color:var(--g3)} .modcard p{color:var(--soft-ink)}
/* Vlad 2026-11-05: a brief description of each module on hover (tap on touch screens) */
.modcard{position:relative;cursor:default;outline:none}
.modcard .desc{position:absolute;top:-1px;left:-1px;right:-1px;min-height:calc(100% + 2px);z-index:5;margin:0;padding:30px 32px;background:var(--char);color:var(--paper);font-size:14px;line-height:1.6;box-shadow:0 18px 40px rgba(0,0,0,.25);
  opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s}
.modcard:hover .desc,.modcard:focus .desc,.modcard:focus-within .desc{opacity:1;visibility:visible}
.modcard:focus-visible{box-shadow:0 0 0 2px var(--char)}
.tiercard{background:#fff;border:1px solid var(--line);color:var(--ink)} .tiercard .muted{color:var(--soft-ink)}
.more{color:var(--ink)} .light .more{color:var(--ink)}
.plan.feature{background:#fff;color:var(--ink);border:2px solid var(--char)} .plan.feature .muted{color:var(--soft-ink)}
.plan.feature .btn-dark{background:var(--char);color:var(--paper);border-color:var(--char)}
#waitlist .btn-light{background:var(--char);color:var(--paper);border-color:var(--char)}
.ladder{font-size:14px} .rung{border:1px solid var(--g3);padding:16px 16px 10px;background:#fff}
.rung.r3{border:2px solid var(--char)} .rung.r2{background:var(--light);margin-top:8px} .rung.r1{background:#fff;margin-top:8px}
.rung .rh{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.mlist{list-style:none;display:grid;gap:4px;margin:6px 0} .mlist li{display:flex;gap:10px} .mlist .mn{font-family:'Switzer';font-weight:700;color:var(--g4);min-width:22px}
.tier-sec{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start} .incl{font-weight:700;margin-bottom:14px}
.tablewrap{overflow-x:auto;margin-top:28px} .cmp{width:100%;border-collapse:collapse;background:#fff;font-size:15px;min-width:640px}
.cmp th,.cmp td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top} .cmp thead th{font-family:'Switzer';text-transform:uppercase;font-size:13px;background:var(--light)}
.cmp tbody th{font-weight:500;color:var(--soft-ink);width:30%} .cmp td:last-child,.cmp thead th:last-child{background:#fbfaf7;font-weight:600}
@media (max-width:900px){.tier-sec{grid-template-columns:1fr;gap:24px}}
/* Martin 2026-11-03: images too zoomed in. Show every photo at its own 4:3 frame. */
.photo{aspect-ratio:4/3 !important;object-fit:cover;height:auto}
.outcomes .photo{aspect-ratio:4/3 !important} .auth-photo{height:auto !important;min-height:0 !important;align-self:start}
.player img.cover{object-fit:contain;opacity:.85;background:#000}
.hero .lead{color:var(--soft-ink)} .hero-grid h1{font-size:clamp(2.3rem,4.4vw,4.4rem)}
h1,h2{hyphens:manual} .course-grid h1{font-size:clamp(1.7rem,3.5vw,3.2rem)}
.resume{background:#fff;color:var(--ink);border:2px solid var(--char)} .resume .muted,.resume .eyebrow{color:var(--soft-ink)}
.resume .btn{background:var(--char);color:var(--paper);border-color:var(--char)} .resume .bar{background:var(--brand-soft)} .resume .bar i{background:var(--char)}
@media (max-width:900px){.course-grid h1{font-size:clamp(1.6rem,7.4vw,2.6rem)}}
.course-grid{grid-template-columns:minmax(0,1fr) 360px} .course-hero h1{font-size:clamp(2rem,4.4vw,4rem)}
.tiercard .tag{align-self:flex-start}
.hero-full img{object-position:center 22%;opacity:.72}
@media (min-width:1100px){.mods.five{grid-template-columns:repeat(5,1fr)}}
@media (max-width:900px){.course-grid{grid-template-columns:minmax(0,1fr)} h1{font-size:clamp(2rem,9vw,3rem)}}
/* app shell: dark sidebar */
.side{background:var(--char);border-color:var(--char3)} .side .logo span{color:var(--g3);border-color:#3a3a37}
.side nav a{color:#a9a9a6;border-radius:3px} .side nav a:hover:not(.on){background:var(--char2)}
.side nav a.on{background:var(--char2);color:#fff;box-shadow:inset 3px 0 0 var(--green)}
.side .me{border-color:var(--char3);color:var(--paper)} .side .me .muted{color:#8c8c8c} .side .avatar{background:#3a3a37;color:#fff}
.lesson-top{background:var(--char);color:var(--paper);border-color:var(--char3)} .lesson-top .muted{color:#a9a9a6}
.lesson-top .btn-line{color:var(--paper);border-color:#3a3a37} .lesson-top .bar{background:#3a3a37} .lesson-top .bar i{background:var(--green)}
.chk.done{background:var(--green);border-color:var(--green)}
.ring div{text-transform:none}
@media (max-width:900px){
 .stats{grid-template-columns:1fr} .hero-full{min-height:86vh} .hero-full .wrap{padding-bottom:56px}
 .tabbar{background:var(--char);border-color:var(--char3)} .tabbar a{color:#8c8c8c} .tabbar a.on{color:#fff}
}
