:root{--bg:#fff;--ink:#0f1a14;--muted:#5b6b62;--line:#e3e9e5;--soft:#f4f8f5;--brand:#0b7a4b;--brand-ink:#075a37;--accent:#d4a017;--radius:14px;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--serif:Georgia, "Times New Roman", serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font:17px/1.65 var(--font);color:var(--ink);background:var(--bg);margin:0}img{border-radius:var(--radius);max-width:100%;height:auto;display:block}a{color:var(--brand);text-underline-offset:3px}a:hover{color:var(--brand-ink)}h1,h2,h3{letter-spacing:-.01em;line-height:1.2}h1{margin:.4em 0 .3em;font-size:clamp(2rem,4.5vw,3rem)}h2{margin-top:2em;font-size:1.55rem}.wrap{max-width:1140px;margin:0 auto;padding:0 20px}.narrow{max-width:760px}.muted{color:var(--muted)}.small{font-size:.88rem}.center{text-align:center}.lead{color:var(--muted);max-width:680px;font-size:1.15rem}.skip{position:absolute;left:-999px}.skip:focus{z-index:9;background:#fff;padding:8px;top:10px;left:10px}.site-header{border-bottom:1px solid var(--line);z-index:10;backdrop-filter:blur(8px);background:#fffffff0;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;height:64px;display:flex}.logo{color:var(--ink);letter-spacing:-.02em;font-size:1.4rem;font-weight:800;text-decoration:none}.logo span{color:var(--brand)}.top-nav{gap:22px;display:flex}.top-nav a{color:var(--ink);font-size:.95rem;font-weight:500;text-decoration:none}.top-nav a:hover{color:var(--brand)}.menu{display:none;position:relative}.menu summary{cursor:pointer;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-weight:600;list-style:none}.menu summary::-webkit-details-marker{display:none}.menu nav{border:1px solid var(--line);border-radius:var(--radius);background:#fff;width:270px;padding:10px;display:grid;position:absolute;top:46px;right:0;box-shadow:0 12px 30px #00000014}.menu nav a{color:var(--ink);border-radius:8px;padding:9px 10px;text-decoration:none}.menu nav a:hover{background:var(--soft)}@media (width<=860px){.top-nav{display:none}.menu{display:block}}.hero{background:linear-gradient(180deg, var(--soft), #fff);border-bottom:1px solid var(--line);padding:64px 0 40px}.accent{color:var(--brand)}.hero-cta{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.btn{background:var(--brand);color:#fff;border-radius:999px;padding:12px 20px;font-weight:600;text-decoration:none;display:inline-block}.btn:hover{background:var(--brand-ink);color:#fff}.btn-ghost{color:var(--brand);border:1.5px solid var(--brand);background:0 0}.btn-ghost:hover{background:var(--soft);color:var(--brand-ink)}.section-title{margin-top:52px}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.cat{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);gap:6px;padding:18px;text-decoration:none;transition:border-color .15s,transform .15s;display:grid}.cat:hover{border-color:var(--brand);color:var(--ink);transform:translateY(-2px)}.cat span{color:var(--muted);font-size:.93rem}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-direction:column;display:flex;overflow:hidden}.card img{aspect-ratio:16/9;object-fit:cover;border-radius:0}.card-body{padding:18px}.card h3{margin:10px 0 6px;font-size:1.15rem}.card h3 a{color:var(--ink);text-decoration:none}.card h3 a:hover{color:var(--brand)}.card p{color:var(--muted);margin:0 0 10px;font-size:.95rem}.pill{text-transform:uppercase;letter-spacing:.05em;color:var(--brand);background:var(--soft);border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:700;text-decoration:none;display:inline-block}.post{padding-top:24px;padding-bottom:20px}.crumbs{color:var(--muted);margin-top:12px;font-size:.88rem}.crumbs a{color:var(--muted)}.meta{font-size:.92rem}.hero-img{margin:20px 0}.notice{background:#fffaeb;border:1px solid #f1e2b0;border-radius:10px;padding:12px 16px;font-size:.93rem}.toc{background:var(--soft);border-radius:var(--radius);margin:22px 0;padding:14px 20px}.toc summary{cursor:pointer;font-weight:700}.toc ol{margin:10px 0 0;padding-left:20px}.prose{font-family:var(--serif);font-size:1.1rem}.prose h2,.prose h3{font-family:var(--font)}.prose blockquote{border-left:4px solid var(--accent);background:var(--soft);border-radius:0 10px 10px 0;margin:1.5em 0;padding:4px 18px}.prose table,.table{border-collapse:collapse;width:100%;font-family:var(--font);margin:1.4em 0;font-size:.95rem}.prose th,.prose td,.table th,.table td{border-bottom:1px solid var(--line);text-align:left;padding:10px 8px}.prose th,.table th{background:var(--soft)}.prose code{background:var(--soft);border-radius:6px;padding:2px 6px;font-size:.9em}.big-link{font-size:1.3rem;font-weight:700}.ad{min-height:100px;margin:28px 0}.ad-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:center;margin-bottom:4px;font-size:.7rem;display:block}.calc{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:24px 0;padding:20px;display:grid}.calc label{gap:6px;min-width:0;font-size:.9rem;font-weight:600;display:grid}.calc input{width:100%;min-width:0;font:inherit;border:1px solid var(--line);border-radius:10px;padding:10px 12px}.calc input:focus{outline:2px solid var(--brand);border-color:#0000}.results{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.results div{background:var(--soft);border-radius:var(--radius);padding:16px;display:grid}.results span{color:var(--muted);font-size:.85rem}.results strong{color:var(--brand-ink);font-variant-numeric:tabular-nums;font-size:1.5rem}.table td{font-variant-numeric:tabular-nums}.site-footer{border-top:1px solid var(--line);background:var(--soft);margin-top:72px;padding:40px 0 20px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;display:grid}.footer-grid h4{text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;font-size:.9rem}.footer-grid a:not(.logo){color:var(--ink);padding:3px 0;font-size:.93rem;text-decoration:none;display:block}.footer-grid a:hover{color:var(--brand)}.fine{color:var(--muted);border-top:1px solid var(--line);margin-top:28px;padding-top:16px;font-size:.82rem}@media (width<=760px){.footer-grid{grid-template-columns:1fr 1fr}}
