:root{--ink:#12203D;--paper:#F5F6F3;--card:#fff;--teal:#0F6E63;--teal-dark:#0B564C;--amber:#E8A93B;--slate:#5B6472;--coral:#D65A4A;--line:#DDE2DC;--tint:#E7F0EE}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:'IBM Plex Sans',system-ui,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:600;letter-spacing:-.01em;line-height:1.2}
a{color:var(--teal)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.topbar{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.brand{text-decoration:none;color:var(--ink);display:block}
.brand b{font-size:19px;font-weight:600}.brand small{display:block;font-size:11px;color:var(--slate);letter-spacing:.06em}
nav a{display:inline-block;padding:8px 14px;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:500;font-size:15px}
nav a:hover{background:var(--tint)}nav a[aria-current=page]{background:var(--teal);color:#fff}
.hero{background:var(--teal-dark);color:#fff;padding:64px 0 72px;border-bottom:6px solid var(--amber)}
.hero h1{font-size:clamp(2rem,5vw,3.2rem);max-width:17em}
.hero p{max-width:40em;margin-top:16px;color:#CFE6E1;font-size:1.08rem}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-block;padding:12px 22px;border-radius:10px;font:600 15px 'IBM Plex Sans',sans-serif;text-decoration:none;border:2px solid var(--amber);background:var(--amber);color:var(--ink);cursor:pointer}
.btn.ghost{background:transparent;color:#fff;border-color:#8FC2BA}
.btn:hover{filter:brightness(1.06)}
section.block{padding:56px 0}
section.block h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:14px}
.lead{max-width:44em;color:#2B3650}
.two{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}
.panel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:28px}
.rows>div{padding:18px 0;border-top:1px solid var(--line)}
.rows>div:first-child{border-top:0;padding-top:0}
.rows h3{font-size:1.1rem;margin-bottom:4px;color:var(--teal-dark)}
.rows p{color:#2B3650}
.stack{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:14px;background:var(--card);overflow:hidden}
.stack>div{padding:26px;border-left:1px solid var(--line)}.stack>div:first-child{border-left:0}
.stack h3{font-size:1.15rem;margin-bottom:8px}
.exams{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.exams span{background:var(--tint);color:var(--teal-dark);padding:6px 14px;border-radius:999px;font-weight:600;font-size:14px}
.founder{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}
.mono{width:84px;height:84px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font:600 28px 'Fraunces',serif;border:4px solid var(--amber)}
label{display:block;font-weight:600;font-size:14px;margin:16px 0 6px}
input,select,textarea{width:100%;padding:11px 13px;border:1px solid #BFC8C2;border-radius:9px;font:16px 'IBM Plex Sans',sans-serif;background:#fff;color:var(--ink)}
textarea{min-height:140px;resize:vertical}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.err{color:var(--coral);font-weight:600;margin-top:12px;display:none}.err.show{display:block}
.ok{background:var(--tint);border-left:5px solid var(--teal);padding:20px;border-radius:10px;display:none}.ok.show{display:block}
form button{margin-top:22px;width:100%}
form button:disabled{opacity:.6;cursor:wait}
.faq details{border-top:1px solid var(--line);padding:14px 0}.faq summary{cursor:pointer;font-weight:600}.faq p{margin-top:8px;color:#2B3650}
footer{background:var(--ink);color:#C9D2E4;padding:34px 0;margin-top:30px;font-size:14px;text-align:center}
footer a{color:#fff;margin:0 8px}
@media(max-width:760px){.two,.stack{grid-template-columns:1fr}.stack>div{border-left:0;border-top:1px solid var(--line)}.stack>div:first-child{border-top:0}.hero{padding:44px 0 52px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
