:root {
  --ink:#112637; --muted:#445b66; --sky:#0A84E0; --green:#0B6B1E;
  --line:#dce8eb; --tint:#f1f8fa; --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;font-size:16px;line-height:1.6}
img{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #1684b1;outline-offset:4px}
.skip{position:absolute;left:12px;top:10px;transform:translateY(-150%);background:#fff;padding:10px;z-index:10}
.skip:focus{transform:none}
.wrap{width:min(1190px,calc(100% - 72px));margin-inline:auto}
header{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid var(--line)}
.header{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:inline-flex;align-items:center;text-decoration:none;line-height:0}
.brand-logo{display:block;width:auto;height:44px;max-width:min(200px,52vw)}
@media (min-width:900px){.brand-logo{height:52px;max-width:240px}}
.header nav{display:flex;gap:clamp(12px,2vw,27px);align-items:center}
.header nav a,footer nav a{text-decoration:none;font-weight:650;font-size:14px}
nav a:hover,.email:hover,footer a:hover{text-decoration:underline;text-underline-offset:4px}
.menu{display:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;border:1px solid transparent;border-radius:9px;padding:10px 19px;background:var(--sky);color:#fff;font-weight:750;text-decoration:none;line-height:1.3}
.button:hover{background:#075574}
.button span{font-size:18px}
.header-cta{font-size:14px;min-height:43px}
.button.secondary{color:var(--ink);background:#fff;border-color:#b9d0da}
.button.secondary:hover{background:#e8f3f7}
.hero{background:linear-gradient(120deg,#eef8fb,#f7fbf6);padding:52px 0 59px}
.hero-grid,.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(25px,5vw,72px)}
.eyebrow{display:flex;align-items:center;gap:9px;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.13em;margin:0 0 14px}
.eyebrow span,.image-tag span{width:8px;height:8px;flex:none;background:#43a25d;border-radius:50%}
h1,h2,h3,p{margin:0}
h1,h2,h3{line-height:1.12}
h1{font-size:clamp(2.55rem,5.25vw,4.75rem);letter-spacing:-.066em}
h1 strong{display:block;color:var(--sky);font-size:.88em;margin-top:5px}
h2{font-size:clamp(2.1rem,4vw,3.35rem);letter-spacing:-.055em}
h3{font-size:1.18rem;letter-spacing:-.022em}
.lede,.intro>p:last-child{font-size:1.1rem;color:var(--muted);margin-top:17px;max-width:55ch}
.actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:26px}
.hero-image{position:relative}
.hero-image img{width:100%;height:clamp(335px,39vw,500px);object-fit:cover;border-radius:22px;box-shadow:0 18px 45px #17374518}
.image-tag{position:absolute;left:16px;bottom:16px;display:flex;align-items:center;gap:9px;background:#fff;border-radius:8px;padding:9px 13px;font-size:13px;font-weight:750}
.section{padding-block:clamp(56px,7vw,96px)}
.intro{margin-bottom:30px}
.tint{background:var(--tint)}
.services{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}
.service,.remodel,.steps li,form{border:1px solid var(--line);border-radius:15px;background:#fff}
.service{padding:19px 15px}
.service p,.remodel p,.steps p{margin-top:9px;font-size:.93rem;color:var(--muted)}
.icon{display:grid;place-items:center;width:43px;height:43px;margin-bottom:15px;border-radius:10px;color:var(--sky);background:#eaf5fa}
.icon svg{width:23px;height:23px}
.service:nth-child(even) .icon{color:var(--green);background:#eaf6eb}
.remodels{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.remodel{overflow:hidden}
.remodel img{width:100%;height:auto;aspect-ratio:1.35;object-fit:cover}
.remodel div{padding:18px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:0;padding:0;list-style:none}
.steps li{padding:23px}
.steps span{display:inline-block;color:var(--sky);font-weight:850;font-size:1.35rem;margin-bottom:13px}
.dark{background:#122e40;color:#fff}
.dark .eyebrow{color:#a8e6b5}
.checks,.cities{list-style:none;margin:0;padding:0}
.checks{display:grid;gap:12px}
.checks li{padding:10px 13px;background:#ffffff0f;border-radius:8px}
.checks li::before{content:"✓";color:#a8e6b5;font-weight:bold;margin-right:10px}
.cities{display:flex;flex-wrap:wrap;gap:9px}
.cities li{padding:7px 13px;border:1px solid var(--line);border-radius:8px;background:#f7fbfa;font-weight:650}
.quote{align-items:start}
.email{display:inline-block;margin-top:18px;font-weight:750;color:var(--sky);overflow-wrap:anywhere}
form{padding:clamp(18px,3vw,32px);box-shadow:0 10px 24px #1737450a}
.form-note,.fields label small{color:var(--muted);font-size:.86rem}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0 19px}
.fields label{display:block;min-width:0;font-weight:700;font-size:.92rem}
.full{grid-column:1/-1}
input,select,textarea{display:block;width:100%;min-height:45px;margin-top:5px;border:1px solid #9db5bf;border-radius:7px;padding:8px 10px;background:#fff;color:var(--ink);font-weight:400}
textarea{resize:vertical}
.trap{display:none}
.status:not(:empty){margin-top:14px;font-weight:650}
.status[data-error]{color:#9f2721}
.status a{color:inherit}
button:disabled{cursor:wait;opacity:.7}
footer{padding:40px 0 18px;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:22px}
footer h2{font-size:1rem;letter-spacing:0;margin-bottom:10px}
footer nav{display:flex;flex-wrap:wrap;gap:7px 16px}
footer p{font-size:.9rem;color:var(--muted);margin-top:8px}
footer a{overflow-wrap:anywhere}
.copyright{border-top:1px solid var(--line);margin-top:24px;padding-top:14px;font-size:.82rem}
@media(max-width:1000px){
  .wrap{width:calc(100% - 48px)}
  .services{grid-template-columns:repeat(3,1fr)}
  .remodels{grid-template-columns:repeat(2,1fr)}
  .header-cta{display:none}
}
@media(max-width:700px){
  html{scroll-padding-top:79px}
  .wrap{width:calc(100% - 34px)}
  .header{min-height:64px;flex-wrap:wrap;gap:0}
  .menu{display:block;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:7px 12px;font-weight:750}
  .header nav{display:none;flex-basis:100%;align-items:stretch;gap:0;padding-bottom:10px}
  .header nav.open{display:flex;flex-direction:column}
  .header nav a{padding:9px 4px}
  .desktop{display:none}
  .hero{padding:34px 0}
  .hero-grid,.split,.footer-grid{grid-template-columns:1fr}
  .hero-image img{height:clamp(235px,64vw,385px)}
  .services{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:1fr}
}
@media(max-width:440px){
  .remodels,.fields{grid-template-columns:1fr}
  .service{padding:14px 12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
