:root{--navy:#1f3a4d;--paper:#f4f6f3;--ink:#1c2a33;--muted:#45545c;--brick:#c4532d;--mist:#e6ece8;--line:#b9c4c2}
*{box-sizing:border-box}
body{margin:0;font-family:"Public Sans",system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:17px;line-height:1.55}
h1,h2{font-family:"Fraunces",Georgia,serif;font-weight:600;text-wrap:balance;margin:0}
h1{font-size:clamp(32px,5vw,48px);line-height:1.08}
h2{font-size:clamp(26px,3.5vw,34px)}
h3{margin:0;font-size:19px}
p{margin:0}
a{color:var(--navy)}a:hover{color:var(--brick)}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
.narrow{max-width:760px;display:grid;gap:12px}
.row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.split{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start}
.split>*{flex:1 1 340px;min-width:0}
.top{background:var(--navy);color:var(--paper);padding-block:20px}
.logo{font-family:"Fraunces",Georgia,serif;font-size:22px;font-weight:600;color:var(--paper);text-decoration:none}
.tag{font-size:14px;opacity:.85}
.hero{background:var(--navy);color:var(--paper);padding-block:40px 72px}
.intro{flex:999 1 420px;display:grid;gap:20px}
.lead{font-size:19px;max-width:34em;opacity:.92}
.pills{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.pills li{border:1px solid var(--paper);border-radius:99px;padding:4px 14px;font-size:14px;font-weight:600}
.card{background:#fff;color:var(--ink);border-radius:14px;padding:28px;box-shadow:0 12px 40px rgba(10,25,35,.25)}
form{display:grid;gap:8px}
form h2{font-size:26px;margin-bottom:8px}
label{font-size:14px;font-weight:600}
input[type=text],input:not([type]),input[type=tel]{font:inherit;padding:12px 14px;border:1px solid var(--line);border-radius:8px;min-height:48px;width:100%;margin-bottom:8px}
input:focus,button:focus,a:focus{outline:3px solid var(--brick);outline-offset:2px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:var(--muted);margin-block:4px 8px}
.consent input{width:20px;height:20px;margin-top:2px;flex:none}
.consent label{font-weight:400;font-size:13px}
button{font:inherit;font-weight:700;background:var(--brick);color:#fff;border:0;border-radius:8px;min-height:52px;cursor:pointer}
button[disabled]{opacity:.6;cursor:wait}
.small{font-size:13px;color:var(--muted)}
.err{color:#a3361a;font-size:14px;font-weight:600}
.band{padding-block:72px}
.band .wrap{display:grid;gap:28px}
.band.alt{background:var(--mist)}
.band.alt .wrap{display:flex}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;counter-reset:s}
.steps li{display:grid;gap:8px;counter-increment:s}
.steps li::before{content:counter(s);font-family:"Fraunces",Georgia,serif;font-size:40px;color:var(--brick)}
.steps p,.narrow p{color:var(--muted)}
.facts{display:grid;gap:14px}
.facts p{background:#fff;border-radius:10px;padding:18px 20px}
.areas{columns:4 180px;column-gap:24px;list-style:none;margin:0;padding:0}
.areas li{break-inside:avoid;padding-block:3px}
.foot{background:var(--navy);color:var(--paper);padding-block:32px;font-size:14px}
.foot a{color:var(--paper)}
