:root{--forest:#0E3B26;--leaf:#17934A;--maroon:#A3222B;--lime:#B5D334;--paper:#F5F8F4;--ink:#12201A;--mute:#5B6B63;--line:#DCE5DE;--card:#fff;--r:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:400 16px/1.6 'Public Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper)}
h1,h2,h3{font-family:'Bricolage Grotesque',sans-serif;line-height:1.1;margin:0;letter-spacing:-.02em}
a{color:inherit}.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
header.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:'Bricolage Grotesque';font-weight:700;font-size:15px;line-height:1.15}
.brand img{height:48px;width:auto;object-fit:contain}
nav{display:flex;align-items:center;gap:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid var(--forest);background:var(--forest);color:#fff;padding:10px 20px;border-radius:999px;font:600 15px 'Public Sans';text-decoration:none;cursor:pointer;transition:transform .18s,background .18s,color .18s,box-shadow .18s}
.btn:hover{background:var(--maroon);border-color:var(--maroon);transform:translateY(-2px);box-shadow:0 8px 18px -8px var(--maroon)}
.btn.ghost{background:transparent;color:var(--forest)}.btn.ghost:hover{background:var(--forest);color:#fff;border-color:var(--forest);box-shadow:none}
.btn.sm{padding:6px 14px;font-size:14px}.btn.lime{background:var(--lime);border-color:var(--lime);color:var(--forest)}.btn[disabled]{opacity:.5;pointer-events:none}
.hero{background:var(--forest);color:#fff;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;padding-top:72px;padding-bottom:72px}
.hero h1{font-size:clamp(38px,6vw,68px);font-weight:800}.hero p{font-size:19px;max-width:520px;color:#CFE3D6}
.hero .badge{background:#fff;border-radius:50%;aspect-ratio:1;display:grid;place-items:center;padding:12px;box-shadow:0 0 0 12px rgba(181,211,52,.25);transition:transform .6s}
.hero .badge:hover{transform:rotate(-6deg) scale(1.03)}.hero .badge img{width:100%;border-radius:50%}
section.block{padding:72px 0}section.block h2{font-size:clamp(28px,4vw,42px);margin-bottom:8px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-top:32px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;position:relative;overflow:hidden;transition:transform .22s,box-shadow .22s,border-color .22s}
.card::before{content:"";position:absolute;left:0;top:0;height:4px;width:0;background:var(--maroon);transition:width .35s}
.card.hov:hover{transform:translateY(-6px);box-shadow:0 18px 36px -18px rgba(14,59,38,.45);border-color:var(--leaf)}.card.hov:hover::before{width:100%}
.course h3{font-size:21px;margin-bottom:10px}.price{font-family:'Bricolage Grotesque';font-size:30px;font-weight:800;color:var(--forest)}
.muted{color:var(--mute);font-size:14px}.chip{display:inline-block;padding:3px 12px;border-radius:999px;font-size:13px;font-weight:600;background:#E8F1EA;color:var(--forest)}
.chip.ok{background:#DDF3E4;color:#0B6B31}.chip.warn{background:#FFF1CC;color:#7A5300}.chip.bad{background:#FBE1E2;color:var(--maroon)}
.tag{display:block;margin:10px 0;padding:8px 12px;border-left:4px solid var(--lime);background:#F3F8E4;font-size:14px}
form.stack{display:grid;gap:14px}label{display:grid;gap:6px;font-weight:600;font-size:14px}
input,select,textarea{font:inherit;padding:11px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;width:100%;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--leaf);box-shadow:0 0 0 4px rgba(23,147,74,.15)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:12px}.plan{border:2px solid var(--line);border-radius:14px;padding:14px;cursor:pointer;display:block;transition:border-color .15s,background .15s}
.plan:hover{border-color:var(--leaf)}.plan:has(input:checked){border-color:var(--maroon);background:#FDF3F3}.plan input{width:auto;margin-right:6px}
.narrow{max-width:560px;margin:48px auto}.err{color:var(--maroon);font-weight:600;min-height:22px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.stat{background:var(--paper);border-radius:12px;padding:12px}
.stat b{display:block;font-family:'Bricolage Grotesque';font-size:22px}.bar{height:8px;background:var(--line);border-radius:9px;overflow:hidden;margin:6px 0 14px}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--leaf),var(--lime))}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.dash{display:grid;grid-template-columns:1fr 340px;gap:20px;margin:32px 0}
.bell{position:relative;background:none;border:0;cursor:pointer;padding:8px;border-radius:50%;transition:background .15s}.bell:hover{background:#E8F1EA}
.bell b{position:absolute;top:0;right:0;background:var(--maroon);color:#fff;font-size:11px;min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center}
.pop{position:absolute;right:0;top:56px;width:min(360px,92vw);max-height:70vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 24px 48px -20px rgba(0,0,0,.35);padding:8px;display:none}.pop.open{display:block}
.pop article{padding:12px;border-radius:10px}.pop article.new{background:#F3F8E4}.pop article+article{border-top:1px solid var(--line)}.pop h4{margin:0 0 2px}.pop p{margin:0;font-size:14px}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-top:28px}.tabs button{background:none;border:0;padding:12px 18px;font:600 15px 'Public Sans';color:var(--mute);cursor:pointer;border-bottom:3px solid transparent}
.tabs button.on{color:var(--forest);border-color:var(--maroon)}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r);overflow:hidden}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);font-size:14px}th{background:#EEF4EF}tbody tr{cursor:pointer;transition:background .15s}tbody tr:hover{background:#F3F8E4}
.scroll{overflow-x:auto;margin-top:20px;border-radius:var(--r);border:1px solid var(--line)}
dialog{border:0;border-radius:var(--r);padding:28px;width:min(720px,94vw);max-height:90vh}dialog::backdrop{background:rgba(14,59,38,.55)}
.pick{max-height:220px;overflow:auto;border:1.5px solid var(--line);border-radius:12px;padding:6px}.pick label{display:flex;gap:10px;align-items:center;padding:6px 8px;font-weight:500}.pick input{width:auto}
#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--forest);color:#fff;padding:12px 22px;border-radius:999px;opacity:0;transition:.25s;z-index:99}#toast.show{opacity:1;transform:translateX(-50%)}#toast.bad{background:var(--maroon)}
footer{background:var(--forest);color:#CFE3D6;padding:32px 0;font-size:14px}
@media(max-width:820px){.hero .wrap,.dash{grid-template-columns:1fr}.hero .badge{max-width:260px}.two,.plans,.stats{grid-template-columns:1fr}.brand span{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
