:root{--bg:#f7f8fb;--card:#fff;--ink:#14182b;--muted:#5b6279;--brand:#2f5bea;--brand-d:#2347c4;--accent:#14b8a6;--line:#e3e6ef;--warn:#b45309;--ok:#15803d;--bad:#b91c1c;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--brand)}a:hover{color:var(--brand-d)}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
header.site{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:60px;gap:16px}
.logo{font-weight:800;font-size:20px;color:var(--ink);text-decoration:none;letter-spacing:-.02em}.logo span{color:var(--brand)}
nav.main a{margin-left:18px;color:var(--ink);text-decoration:none;font-size:15px;font-weight:500}nav.main a:hover{color:var(--brand)}
nav.main a.cta{background:var(--brand);color:#fff;padding:7px 14px;border-radius:9px}
.hero{padding:56px 0 36px;text-align:center}
.hero h1{font-size:clamp(30px,5vw,48px);line-height:1.15;margin:0 0 14px;letter-spacing:-.03em}
.hero p.lead{font-size:19px;color:var(--muted);max-width:660px;margin:0 auto 24px}
.btn{display:inline-block;background:var(--brand);color:#fff;border:0;border-radius:10px;padding:11px 20px;font-size:16px;font-weight:600;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--brand-d);color:#fff}.btn.sec{background:#fff;color:var(--brand);border:1px solid var(--brand)}.btn.sec:hover{background:#eef2ff}
.btn.small{padding:7px 12px;font-size:14px}
.badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px}.badges span{background:#eaf0ff;color:#27408f;border-radius:99px;padding:4px 12px;font-size:13px;font-weight:600}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px}
a.card{text-decoration:none;color:inherit;display:block;transition:.15s}a.card:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:0 6px 20px rgba(47,91,234,.1)}
.card h3{margin:0 0 6px;font-size:18px}.card p{margin:0;color:var(--muted);font-size:15px}
section.block{padding:30px 0}section.block h2{font-size:28px;letter-spacing:-.02em;margin:0 0 16px}
.crumbs{font-size:14px;color:var(--muted);padding:18px 0 0}.crumbs a{color:var(--muted)}
h1.page{font-size:clamp(28px,4vw,38px);line-height:1.2;margin:10px 0 10px;letter-spacing:-.025em}
p.sub{color:var(--muted);font-size:18px;margin:0 0 22px;max-width:740px}
.tool{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:20px;align-items:start}
@media(max-width:820px){.tool{grid-template-columns:1fr}nav.main a:not(.cta){display:none}}
label{display:block;font-weight:600;font-size:14px;margin:12px 0 4px}
input[type=text],input[type=date],input[type=number],select,textarea{width:100%;padding:10px 12px;border:1px solid #cfd4e3;border-radius:9px;font:inherit;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid #b9c8ff;border-color:var(--brand)}
textarea{resize:vertical;min-height:120px}textarea.out{min-height:420px;font-family:Georgia,"Times New Roman",serif;font-size:16px;line-height:1.55}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex;gap:8px;align-items:center;margin:12px 0 0;font-weight:500}.check input{width:auto}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pro{border:1px dashed #9bb0ff;background:#f3f6ff;border-radius:var(--r);padding:14px 16px;margin-top:14px;font-size:14.5px}.pro strong{color:#27408f}
.results{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:14px}
.stat{background:#f3f6ff;border-radius:12px;padding:14px}.stat b{display:block;font-size:22px;letter-spacing:-.02em}.stat span{font-size:13px;color:var(--muted)}
.note{background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12;border-radius:10px;padding:10px 14px;margin-top:12px;font-size:14.5px}
.score{font-size:54px;font-weight:800;letter-spacing:-.04em;line-height:1}.score.good{color:var(--ok)}.score.mid{color:var(--warn)}.score.low{color:var(--bad)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 14px}.chip{padding:3px 10px;border-radius:99px;font-size:13.5px;font-weight:600}.chip.ok{background:#dcfce7;color:#166534}.chip.no{background:#fee2e2;color:#991b1b}
ul.checks{list-style:none;padding:0;margin:8px 0}ul.checks li{padding:6px 0;border-bottom:1px solid var(--line);font-size:15px}ul.checks li:before{content:"\2714";color:var(--ok);margin-right:8px}ul.checks li.bad:before{content:"\2716";color:var(--bad)}ul.checks small{display:block;color:var(--muted);margin-left:22px}
article.prose{max-width:760px}article.prose h2{margin:28px 0 8px;font-size:24px}article.prose h3{margin:20px 0 6px}article.prose li{margin:4px 0}
details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin:8px 0}summary{cursor:pointer;font-weight:600}details p{margin:8px 0 0;color:var(--muted)}
.sample{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 22px;font-family:Georgia,serif;white-space:pre-wrap;font-size:15.5px;line-height:1.55}
.price{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.price .card.hl{border:2px solid var(--brand)}.price .amt{font-size:34px;font-weight:800;letter-spacing:-.03em}.price ul{padding-left:20px;color:var(--muted)}
footer.site{margin-top:50px;background:#fff;border-top:1px solid var(--line);padding:30px 0 40px;font-size:14.5px;color:var(--muted)}footer.site .cols{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}footer.site h4{margin:0 0 8px;color:var(--ink)}footer.site a{display:block;color:var(--muted);text-decoration:none;margin:3px 0}footer.site a:hover{color:var(--brand)}
@media print{header.site,footer.site,.noprint,.crumbs{display:none!important}body{background:#fff}.printonly{display:block!important}}
.printonly{display:none;white-space:pre-wrap;font-family:Georgia,serif;font-size:13pt;line-height:1.5}
