:root{--primary:#1e3a8a;--ink:#111827;--paper:#ffffff;--line:#d1d5db;--soft:#eef2ff}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);background:var(--paper);font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--primary)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2}
h1{font-size:clamp(30px,5vw,44px);margin:0 0 12px;letter-spacing:0}
h2{font-size:24px;margin:36px 0 16px}
.site-head{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--paper);padding:18px 24px;border-bottom:4px solid var(--primary)}
.site-head a{color:var(--ink)}
.brand{font-weight:800;text-decoration:none;font-size:19px;font-family:Georgia,"Times New Roman",serif}
.brand small{display:block;font-weight:400;font-size:13px;opacity:.75}
.main-nav{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.main-nav a{text-decoration:none}
main,.site-foot{max-width:980px;margin:auto;padding:20px}
.hero{padding:24px 0}
.hero-split{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.5fr);gap:32px;align-items:start}
.hero-banner{background:var(--soft);border-radius:2px;padding:24px 20px;text-align:left}
.hero-stack{max-width:780px}
.lead{font-size:19px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-bottom:28px}
.list{display:flex;flex-direction:column;gap:8px;margin-bottom:28px}
.cols{columns:3;column-gap:24px;margin-bottom:28px}.cols .card{break-inside:avoid;margin-bottom:10px}
.card{display:block;padding:12px;background:#fff;border:1px solid var(--line);border-radius:2px;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
.card:hover{outline:2px solid var(--primary)}
.card-t{display:block;font-weight:700;font-size:18px}
.card-s{display:block;font-size:14px;opacity:.75}
.cta-box{padding:24px;border-radius:2px;background:var(--soft);align-self:start}
.hero-split.box-left .cta-box{order:-1}
.hero-cover{background:linear-gradient(rgba(10,10,10,.62),rgba(10,10,10,.38)),var(--bg) center/cover;color:#fff;padding:40px 28px;border-radius:2px;margin-top:16px}
.hero-cover label{color:#fff}.hero-cover .cta-box{color:var(--ink);background:var(--paper);border:0}.hero-cover .cta-box .btn{background:var(--primary);color:#fff !important}
.pic{margin:0 0 20px}.pic img{display:block;width:100%;height:auto;border-radius:2px}
.wide img{max-height:420px;object-fit:cover}
.float{float:right;width:42%;margin:4px 0 16px 28px}
.box-pic{margin:-24px -24px 18px}.box-pic img{max-height:190px;object-fit:cover;border-radius:2px 2px 0 0}
.aside-pic img{max-height:300px;object-fit:cover}
.prose::after{content:"";display:block;clear:both}
.cta-title{font-weight:800;font-size:20px;margin:0 0 8px}
.cta-bar{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding:18px 22px;border-radius:2px;background:var(--soft);margin:24px 0}
.cta-bar p{margin:0}
.btn{display:inline-block;padding:10px 16px;border-radius:2px;background:var(--primary);color:#fff !important;text-decoration:none;font-weight:700}
.site-head .btn{}
.breadcrumbs{font-size:14px;margin:14px 0}
.demo{padding:10px 24px;background:#fff0be;color:#533b00;text-align:center;font-size:14px}
label{display:block;font-weight:700;margin-top:20px}
input{padding:13px;width:100%;max-width:560px;border:1px solid var(--line);border-radius:2px;font:inherit}
#city-results{margin:8px 0;display:grid;gap:6px}#city-results a{display:block;padding:9px;background:#fff;border-radius:6px}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:20px 0;padding:0;list-style:none}
.facts li{background:#fff;border:1px solid var(--line);border-radius:2px;padding:16px}
.facts strong{display:block;font-size:24px;color:var(--primary);line-height:1.1}
.prose{max-width:760px}.prose li{margin:6px 0}
.faq details{border-bottom:1px solid var(--line);padding:12px 0}.faq summary{font-weight:700;cursor:pointer}
.small{font-size:14px;opacity:.8}
.site-foot{border-top:1px solid var(--line);font-size:14px;margin-top:40px}
a:focus-visible,input:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
@media(max-width:720px){.float{float:none;width:100%;margin:0 0 16px}.hero-split.box-left .cta-box{order:0}.site-head{display:block;text-align:left}.main-nav{margin-top:12px}.hero-split{grid-template-columns:1fr}main,.site-foot{padding:16px}.grid{grid-template-columns:1fr}.cols{columns:1}}
