

:root{--ink:#14231f;--sub:#63726c;--green:#0f7455;--green2:#e7f5ef;--lime:#dff36c;--cream:#fbfbf7;--line:#dce5e0;--white:#fff;--danger:#a83c36;--shadow:0 18px 60px rgba(21,49,40,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream);line-height:1.55}button,input{font:inherit}a{color:inherit}.topbar{height:72px;position:sticky;top:0;z-index:20;background:rgba(251,251,247,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(20px,calc((100vw - 1180px)/2));gap:30px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}.brandmark{width:40px;height:40px;border-radius:12px;background:var(--green);color:white;display:grid;place-items:center;font-weight:900;font-size:1.25rem}.brand b,.brand small{display:block;line-height:1.05}.brand small{font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;color:var(--sub);margin-top:4px}.topbar nav{display:flex;gap:24px}.topbar nav a{text-decoration:none;font-size:.92rem;font-weight:700}.btn{border:0;background:var(--green);color:white;padding:13px 20px;border-radius:12px;font-weight:800;cursor:pointer;box-shadow:none}.btn:hover{filter:brightness(.96);transform:translateY(-1px)}.btn.secondary{background:white;color:var(--ink);border:1px solid var(--line)}.btn.ghost{background:transparent;color:var(--green);border:1px solid #9fc7b9}.btn.danger{background:var(--danger)}.btn.small{padding:10px 15px}.menuBtn{display:none;background:transparent;border:0;font-size:1.3rem}.shell{width:min(1180px,calc(100% - 36px));margin:auto}.hero{padding:78px 0 62px;background:radial-gradient(circle at 80% 10%,#d6f2e5 0,transparent 28%),linear-gradient(180deg,#fff,var(--cream))}.heroGrid{display:grid;grid-template-columns:1.17fr .83fr;gap:62px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--green)}.eyebrow:before{content:"";width:22px;height:2px;background:var(--green)}h1,h2,h3{line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(3.1rem,6.3vw,5.7rem);margin:18px 0 20px;max-width:850px}h2{font-size:clamp(2.25rem,4.2vw,3.8rem);margin:12px 0 18px}h3{font-size:1.35rem}.lead{font-size:1.17rem;color:var(--sub);max-width:680px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.metricRow{display:flex;gap:32px;flex-wrap:wrap;margin-top:40px;padding-top:25px;border-top:1px solid var(--line)}.metric b{font-size:1.45rem;display:block}.metric span{font-size:.8rem;color:var(--sub)}.courseCard,.panel,.lessonCard,.examCard{background:white;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.courseCard{padding:30px}.courseCard .badge{display:inline-block;background:var(--lime);padding:7px 10px;border-radius:99px;font-size:.75rem;font-weight:900}.checklist{list-style:none;padding:0;margin:22px 0}.checklist li{padding:10px 0;border-bottom:1px solid var(--line)}.checklist li:before{content:"✓";color:var(--green);font-weight:900;margin-right:10px}.section{padding:82px 0}.section.alt{background:#f1f5f2}.section.dark{background:#10251e;color:white}.sectionHead{max-width:720px;margin-bottom:32px}.featureGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.feature{background:white;border:1px solid var(--line);border-radius:18px;padding:22px}.feature .icon{font-size:1.6rem}.feature p{color:var(--sub);font-size:.92rem}.moduleGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.moduleTile{background:white;border:1px solid var(--line);border-radius:18px;padding:22px;cursor:pointer;transition:.2s}.moduleTile:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.moduleNum{font-size:.72rem;color:var(--green);font-weight:900;letter-spacing:.1em}.moduleTile ul{color:var(--sub);padding-left:20px}.certGrid{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.certMock{background:white;color:var(--ink);padding:42px;border-radius:24px;text-align:center;border:8px double #d9e5df}.certSeal{width:92px;height:92px;border:4px solid var(--green);border-radius:50%;margin:auto;display:grid;place-items:center;font-weight:950;color:var(--green)}.resourceGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.resource{padding:20px;background:white;border:1px solid var(--line);border-radius:15px;text-align:left}.resource button{margin-top:8px}.pricing{display:grid;grid-template-columns:1fr .7fr;gap:42px;align-items:start}.priceCard{background:var(--ink);color:white;border-radius:24px;padding:30px}.price{font-size:4rem;font-weight:950;letter-spacing:-.06em}.fine{font-size:.8rem;color:#93a49d}.pageHero{padding:55px 0 25px}.crumb{font-size:.78rem;color:var(--sub)}.dashboardLayout{display:grid;grid-template-columns:260px 1fr;gap:24px;padding:35px 0 80px}.sidebar{background:white;border:1px solid var(--line);border-radius:20px;padding:18px;height:max-content;position:sticky;top:92px}.sidebar button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:11px;border-radius:10px;cursor:pointer;font-weight:700}.sidebar button:hover,.sidebar button.active{background:var(--green2);color:var(--green)}.progressWrap{height:10px;background:#e5ece8;border-radius:99px;overflow:hidden}.progressBar{height:100%;background:var(--green);transition:.3s}.dashboardCards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 26px}.statCard{background:white;border:1px solid var(--line);padding:18px;border-radius:16px}.statCard b{font-size:1.55rem;display:block}.lessonList{display:grid;gap:10px}.lessonRow{display:flex;gap:14px;align-items:center;background:white;border:1px solid var(--line);border-radius:14px;padding:15px;cursor:pointer}.lessonRow .done{width:26px;height:26px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-size:.8rem}.lessonRow.complete .done{background:var(--green);border-color:var(--green);color:white}.lessonRow span:last-child{margin-left:auto;color:var(--sub);font-size:.8rem}.lessonCard{padding:30px}.lessonCard p{color:#4e5e58}.callout{background:var(--green2);border-left:4px solid var(--green);padding:16px 18px;border-radius:10px;margin:20px 0}.lessonNav{display:flex;justify-content:space-between;gap:12px;margin-top:30px}.quizQ{background:white;border:1px solid var(--line);border-radius:16px;padding:20px;margin:13px 0}.option{display:block;border:1px solid var(--line);padding:11px 12px;border-radius:10px;margin:8px 0;cursor:pointer}.option:has(input:checked){border-color:var(--green);background:var(--green2)}.option input{margin-right:8px}.result{padding:18px;border-radius:14px;margin:18px 0;background:var(--green2)}.locked{opacity:.55}.loginWrap{min-height:68vh;display:grid;place-items:center;padding:50px 18px}.loginCard{width:min(470px,100%);background:white;border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:var(--shadow)}label{font-weight:800;font-size:.85rem}input[type=text],input[type=email],input[type=password]{width:100%;padding:13px;border:1px solid var(--line);border-radius:11px;margin:7px 0 15px;background:white}.notice{font-size:.82rem;background:#fff8df;padding:12px;border-radius:10px;color:#635622}.examTop{display:flex;justify-content:space-between;gap:18px;align-items:center;position:sticky;top:72px;background:var(--cream);padding:14px 0;z-index:8}.certificatePage{background:white;border:10px double #d4dfda;padding:58px 35px;text-align:center;max-width:900px;margin:20px auto;min-height:610px;display:grid;place-items:center}.certificatePage h1{font-size:3.6rem}.certificateName{font-family:Georgia,serif;font-style:italic;font-size:2.5rem;border-bottom:1px solid var(--ink);padding:0 40px 8px;margin:20px auto}.toast{position:fixed;right:20px;bottom:20px;background:var(--ink);color:white;padding:13px 18px;border-radius:12px;opacity:0;pointer-events:none;transform:translateY(12px);transition:.25s;z-index:99}.toast.show{opacity:1;transform:none}footer{background:#0c1814;color:#d8e3de;padding:35px max(20px,calc((100vw - 1180px)/2));display:grid;grid-template-columns:1fr 2fr auto;gap:25px;align-items:start}footer span{display:block;color:#8fa199;font-size:.8rem}footer p{font-size:.78rem;color:#8fa199;margin:0}@media(max-width:900px){.heroGrid,.certGrid,.pricing,.dashboardLayout{grid-template-columns:1fr}.featureGrid,.resourceGrid{grid-template-columns:repeat(2,1fr)}.sidebar{position:relative;top:auto}.topbar nav{display:none;position:absolute;top:71px;left:0;right:0;background:white;padding:20px;border-bottom:1px solid var(--line);flex-direction:column}.topbar nav.open{display:flex}.menuBtn{display:block}.dashboardCards{grid-template-columns:1fr 1fr}footer{grid-template-columns:1fr}}@media(max-width:600px){h1{font-size:2.85rem}.featureGrid,.resourceGrid,.moduleGrid,.dashboardCards{grid-template-columns:1fr}.topbar .small{display:inline-flex}.section{padding:60px 0}.hero{padding:55px 0}.courseCard{padding:22px}.certMock{padding:25px}.certificatePage{padding:30px 18px}.certificatePage h1{font-size:2.5rem}.certificateName{font-size:1.8rem;padding:0 10px}.examTop{top:72px}.metricRow{gap:20px}}

.checkoutShell{width:min(1050px,calc(100% - 36px));margin:0 auto;padding:48px 0 82px}.checkoutGrid{display:grid;grid-template-columns:1.12fr .88fr;gap:28px;align-items:start}.checkoutCard,.orderCard,.legalPage{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.checkoutCard,.orderCard{padding:28px}.orderCard{position:sticky;top:96px}.orderLine{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line)}.orderTotal{font-size:1.35rem;font-weight:900}.secureBadge{display:flex;align-items:center;gap:9px;background:var(--green2);padding:12px 14px;border-radius:12px;margin:16px 0;font-size:.88rem}.legalCheck{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-size:.9rem}.legalCheck input{margin-top:4px}.legalCheck a,.legalPage a,footer a{color:var(--green);font-weight:800}.paymentButton{width:100%;font-size:1rem;padding:15px 18px}.testPay{width:100%;margin-top:10px}.setupNotice{background:#fff7df;border:1px solid #ead99a;padding:13px;border-radius:12px;font-size:.84rem;margin-top:14px}.legalPage{width:min(900px,calc(100% - 36px));margin:48px auto 82px;padding:38px}.legalPage h1{font-size:clamp(2.5rem,5vw,4.2rem)}.legalPage h2{font-size:1.55rem;margin-top:32px}.legalPage p,.legalPage li{color:#4e5e58}.legalMeta{padding:13px 15px;background:#f4f8f6;border-radius:12px;margin:18px 0}.paidPill{display:inline-flex;background:var(--green2);color:var(--green);font-weight:900;padding:7px 10px;border-radius:99px;font-size:.78rem}.checkoutHero{padding:46px 0 10px;text-align:center}.checkoutHero h1{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:10px}@media(max-width:800px){.checkoutGrid{grid-template-columns:1fr}.orderCard{position:static}}
@media print{.topbar,footer,.actions,.btn,.sidebar,.toast{display:none!important}.certificatePage{border:10px double #333;min-height:90vh;margin:0;box-shadow:none}.shell{width:100%}}


.lessonMeta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 26px}.lessonMeta div{background:#f4f7f5;border:1px solid var(--line);border-radius:12px;padding:13px}.lessonSection{padding:22px 0;border-top:1px solid var(--line)}.lessonSection:first-of-type{border-top:0}.lessonSection h3{margin:0 0 12px}.learningList,.stepList,.takeawayList{padding-left:22px}.learningList li,.stepList li,.takeawayList li{margin:9px 0}.mistakeBox{background:#fff7ef;border:1px solid #efd9c3;border-radius:14px;padding:18px}.scenarioBox{background:#f4f2ff;border:1px solid #ddd7f5;border-radius:14px;padding:18px}.quizActions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}@media(max-width:600px){.lessonMeta{grid-template-columns:1fr}}

.authHero{min-height:calc(100vh - 72px);display:grid;align-items:center;padding:60px 0;background:radial-gradient(circle at 15% 10%,#def2e9 0,transparent 32%),linear-gradient(180deg,#fff,var(--cream))}.authGrid{display:grid;grid-template-columns:1.05fr .75fr;gap:70px;align-items:center}.authIntro h1{font-size:clamp(3rem,6vw,5.4rem);margin:16px 0}.authFeatures{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:30px}.authFeatures>div{padding:16px;border:1px solid var(--line);background:rgba(255,255,255,.75);border-radius:14px}.authFeatures b{display:block;font-size:1.45rem}.authFeatures span{font-size:.75rem;color:var(--sub)}.authPanel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:var(--shadow)}.authTabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#f1f5f2;border-radius:12px;padding:5px;margin-bottom:22px}.authTab{border:0;background:transparent;border-radius:9px;padding:11px 8px;font-weight:800;cursor:pointer;color:var(--sub)}.authTab.active{background:white;color:var(--green);box-shadow:0 3px 12px rgba(0,0,0,.06)}.statusPill{display:inline-block;float:right;padding:5px 9px;border-radius:99px;font-size:.68rem;font-weight:900}.statusPill.complete{background:var(--green2);color:var(--green)}.statusPill.in-progress{background:#fff5cc;color:#755d00}.statusPill.not-started{background:#eef1ef;color:#69756f}.statusText{font-size:.74rem;font-weight:900;color:var(--green)}.miniProgress{height:6px;background:#e6ede9;border-radius:99px;margin-top:8px;overflow:hidden}.miniProgress span{display:block;height:100%;background:var(--green)}
@media(max-width:900px){.authGrid{grid-template-columns:1fr}.authFeatures{grid-template-columns:repeat(2,1fr)}}

/* v4 simplified student-access homepage */
.simpleHome{min-height:calc(100vh - 72px);padding:72px 0;background:radial-gradient(circle at 50% 5%,#e1f3ec 0,transparent 34%),linear-gradient(180deg,#ffffff 0%,#f7faf8 52%,#fbfbf7 100%)}
.simpleHomeInner{width:min(620px,calc(100% - 36px));display:flex;flex-direction:column;align-items:center;gap:34px}
.welcomeBlock{text-align:center;max-width:590px}
.welcomeMark{width:72px;height:72px;border-radius:22px;background:var(--green);color:#fff;display:grid;place-items:center;margin:0 auto 20px;font-size:2rem;font-weight:950;box-shadow:0 14px 34px rgba(15,116,85,.20)}
.welcomeKicker{display:block;color:var(--green);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em;margin-bottom:10px}
.welcomeBlock h1{font-size:clamp(2.65rem,7vw,4.35rem);margin:0 0 14px;max-width:none}
.welcomeBlock p{margin:0 auto;color:var(--sub);font-size:1.05rem;max-width:520px}
.simpleAuthPanel{width:min(500px,100%);padding:30px;border-radius:26px}
.simpleAuthPanel h2{font-size:1.75rem!important;margin:0 0 8px}
.simpleAuthPanel .fine{color:var(--sub);font-size:.86rem}
.simpleAuthPanel input[type=text],.simpleAuthPanel input[type=email],.simpleAuthPanel input[type=password]{padding:14px 15px;border-radius:12px;background:#fcfdfc}
.simpleAuthPanel .btn{padding:14px 18px}
@media(max-width:600px){.simpleHome{padding:48px 0}.simpleHomeInner{gap:26px}.simpleAuthPanel{padding:22px}.welcomeMark{width:62px;height:62px;border-radius:18px}.welcomeBlock p{font-size:.98rem}}

.authPanel input[type=date],.accountSettingsGrid input[type=date]{width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:#fcfdfc;font:inherit;color:var(--ink)}
.panel select,.panel textarea,.panel input[type=text],.panel input[type=email],.panel input[type=password],.panel input[type=tel],.panel input[type=date]{width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:#fcfdfc;font:inherit;color:var(--ink)} table th,table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}
body{min-height:100vh}.prod-wrap{width:min(1100px,calc(100% - 36px));margin:40px auto 80px}
.prod-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 14px 40px rgba(15,48,38,.08)}
.prod-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.prod-input,select,textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;margin:6px 0 14px}
.flash{padding:14px 16px;border-radius:12px;margin-bottom:18px;background:#eef8f3;border:1px solid #b9ddcf}.flash.err{background:#fff3f2;border-color:#efc1bc}
.lesson-content p{line-height:1.75}.lesson-content li{margin:8px 0}.question{padding:20px;border:1px solid var(--line);border-radius:14px;margin:18px 0}.question label{display:block;padding:8px 0}
@media(max-width:760px){.prod-grid{grid-template-columns:1fr}}


/* PTRH compact production homepage */
.ptrh-home{padding:54px 0 70px;background:
  radial-gradient(circle at 50% 0%,rgba(25,132,96,.08),transparent 38%),
  var(--cream,#f7f7f2);min-height:calc(100vh - 160px)}
.home-shell{width:min(760px,calc(100% - 34px));margin:0 auto}
.home-hero{text-align:center;max-width:700px;margin:0 auto 28px}
.home-eyebrow{display:inline-block;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--green,#157c5b);margin-bottom:12px}
.home-hero h1{font-size:clamp(2.6rem,6vw,4.4rem);line-height:.98;letter-spacing:-.055em;margin:0 0 16px;color:var(--ink,#0d231c)}
.home-hero p{font-size:1.08rem;line-height:1.65;color:var(--muted,#5e6e68);max-width:610px;margin:0 auto 18px}
.home-meta{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.home-meta span{background:#fff;border:1px solid var(--line,#dbe4df);border-radius:999px;padding:8px 13px;font-size:.84rem;color:var(--ink,#0d231c)}
.student-access-card{width:min(560px,100%);margin:0 auto;background:#fff;border:1px solid var(--line,#dbe4df);border-radius:20px;padding:18px;box-shadow:0 18px 50px rgba(15,48,38,.09)}
.access-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f2f5f3;border-radius:12px;padding:4px;margin-bottom:20px}
.access-tab{appearance:none;border:0;background:transparent;border-radius:9px;padding:11px 12px;font:inherit;font-weight:800;color:#66736e;cursor:pointer}
.access-tab.active{background:#fff;color:var(--ink,#0d231c);box-shadow:0 2px 10px rgba(15,48,38,.08)}
.access-panel{display:none;padding:2px 10px 8px}
.access-panel.active{display:block}
.access-heading{text-align:left;margin-bottom:16px}
.access-heading h2{font-size:1.55rem;margin:0 0 4px;letter-spacing:-.025em}
.access-heading p{margin:0;color:var(--muted,#69766f);font-size:.92rem;line-height:1.45}
.student-access-card label{font-size:.85rem;font-weight:750}
.student-access-card .prod-input{margin:5px 0 12px;padding:11px 12px;min-height:44px}
.access-primary{width:100%;margin-top:3px;padding:12px 16px}
.forgot-link{display:block;text-align:center;margin-top:12px;font-size:.9rem}
.form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.optional{font-weight:500;color:#8a9691;font-size:.78rem}
.account-checks{display:grid;gap:8px;margin:3px 0 15px}
.account-checks label{display:flex;align-items:flex-start;gap:8px;font-weight:500;line-height:1.35;font-size:.82rem}
.account-checks input{margin-top:2px}
.home-footnote{text-align:center;color:var(--muted,#6b7873);font-size:.85rem;margin:16px auto 0}
@media(max-width:620px){
  .ptrh-home{padding:34px 0 54px}
  .home-hero h1{font-size:2.65rem}
  .student-access-card{padding:14px}
  .access-panel{padding:0 4px 5px}
  .form-two{grid-template-columns:1fr;gap:0}
  .home-meta{gap:7px}
}
