:root{--primary:#0d6b74;--ink:#18252a;--paper:#f6f9f9;--line:#d3e0e1;--soft:#e3f0f0}
*{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:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;line-height:1.2}
h1{font-size:clamp(32px,5vw,52px);margin:0 0 14px;letter-spacing:-.02em}
h2{font-size:27px;margin:36px 0 16px}
.site-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;border-bottom:1px solid var(--line)}
.site-head a{color:var(--ink)}
.brand{font-weight:800;text-decoration:none;font-size:21px;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.brand small{display:block;font-weight:400;font-size:13px;opacity:.75}
.main-nav{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.main-nav a{text-decoration:none}
main,.site-foot{max-width:1120px;margin:auto;padding:24px}
.hero{padding:34px 0}
.hero-split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.9fr);gap:32px;align-items:start}
.hero-banner{background:var(--soft);border-radius:14px;padding:34px 24px;text-align:left}
.hero-stack{max-width:780px}
.lead{font-size:19px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;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:16px;background:#fff;border:1px solid var(--line);border-radius:14px;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:14px;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:50px 32px;border-radius:14px;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:14px}
.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:14px 14px 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:14px;background:var(--soft);margin:24px 0}
.cta-bar p{margin:0}
.btn{display:inline-block;padding:12px 18px;border-radius:10px;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:10px;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:14px;padding:16px}
.facts strong{display:block;font-size:26px;color:var(--primary);line-height:1.1}
.prose{max-width:780px}.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}}
