:root{
  --bg:#fbfaf7; --bg2:#f1eee7; --fg:#1c2226; --muted:#5d666c; --accent:#0e7c86; --accent2:#c2703d;
  --card:#ffffff; --border:#e3ded3; --max:1040px;
}
@media (prefers-color-scheme: dark){
  :root{--bg:#101416; --bg2:#161c1f; --fg:#e9eceb; --muted:#9aa5aa; --accent:#4cc2cc; --accent2:#e59a68; --card:#1a2125; --border:#2a3439;}
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.7 Georgia,"Iowan Old Style",serif}
h1,h2,h3,nav,.btn,.eyebrow,th,summary,footer{font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--accent)}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--card);padding:8px;z-index:99}
header.site{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
header.site .in{max-width:var(--max);margin:auto;display:flex;justify-content:space-between;align-items:center;padding:12px 24px;flex-wrap:wrap;gap:8px}
.logo{font:700 1.3rem system-ui;text-decoration:none;color:var(--fg)}
.logo span{color:var(--accent)}
nav ul{list-style:none;display:flex;gap:18px;margin:0;padding:0;flex-wrap:wrap}
nav a{text-decoration:none;color:var(--muted);font-size:.95rem}
nav a:hover,nav a[aria-current]{color:var(--accent)}
main{max-width:var(--max);margin:auto;padding:0 24px 60px}
.hero{padding:80px 0 50px;max-width:780px}
.eyebrow{color:var(--accent2);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;margin:0}
h1{font-size:clamp(2.2rem,5.5vw,3.6rem);line-height:1.1;margin:.3em 0}
h2{font-size:1.75rem;margin:2.4em 0 .5em;line-height:1.2}
h3{font-size:1.15rem;margin:1.6em 0 .3em}
.lead{font-size:1.25rem;color:var(--muted)}
.btn{display:inline-block;padding:11px 22px;border-radius:999px;background:var(--accent);color:#fff;text-decoration:none;font-weight:600;border:0;cursor:pointer;font-size:1rem}
.btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--border)}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:24px 0}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:22px}
.card h3{margin-top:0}
.card p{margin:.3em 0;color:var(--muted);font-size:.97rem}
.card a.more{font:600 .9rem system-ui}
.band{background:var(--bg2);border-block:1px solid var(--border);margin:50px -24px;padding:10px 24px 40px}
.band>*{max-width:var(--max);margin-inline:auto}
.callout{border-left:4px solid var(--accent2);background:var(--card);padding:14px 20px;border-radius:0 10px 10px 0;margin:22px 0}
.formula{font-family:ui-monospace,Consolas,monospace;background:var(--card);border:1px solid var(--border);padding:14px 18px;border-radius:10px;overflow-x:auto}
table{width:100%;border-collapse:collapse;margin:20px 0;font-size:.95rem;background:var(--card)}
th,td{border:1px solid var(--border);padding:10px 12px;text-align:left;vertical-align:top}
th{background:var(--bg2)}
article{max-width:760px}
details{border-bottom:1px solid var(--border);padding:12px 0}
summary{cursor:pointer;font-weight:600}
label{display:block;font:600 .9rem system-ui;margin:14px 0 4px}
input[type=text],input[type=email],input[type=tel],textarea{width:100%;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--fg);font:inherit}
footer{border-top:1px solid var(--border);padding:28px 24px;text-align:center;color:var(--muted);font-size:.9rem}
footer p{margin:.3em auto;max-width:800px}
.pagehead{padding:60px 0 10px;max-width:780px}
.crumb{font:.85rem system-ui;color:var(--muted)}
