:root{--hero-ink:#F5F1E8;--hero-scrim:#0C1F14;--forest:#1F4D2F;--forest-deep:#143522;--wood:#A66E3C;--cream:#F5F1E8;--ink:#1A2118;--muted:#3E4A40;}
.site-header{background:var(--forest);color:var(--cream);display:flex;align-items:center;justify-content:space-between;gap:1rem 1.5rem;flex-wrap:wrap;padding:.9rem max(1.25rem,calc((100% - 1180px) / 2));position:sticky;top:0;z-index:8;box-shadow:0 2px 0 rgba(0,0,0,.15);}
.site-header :focus-visible,.hero-copy :focus-visible,.process :focus-visible,.review-band :focus-visible,.site-footer :focus-visible,.utility :focus-visible{outline-color:#F5F1E8;}
.nav-main{display:flex;flex-wrap:wrap;gap:.45rem 1.15rem;}
.nav-main a{color:var(--cream);text-decoration:none;font-weight:600;font-size:1rem;}
.nav-main a:hover{color:#E4C4A4;}
.header-call{background:var(--cream);color:var(--forest);text-decoration:none;font-weight:700;padding:.75rem 1rem;border-radius:4px;}
blockquote footer{margin-top:1.1rem;font-family:'Barlow',sans-serif;font-size:1.02rem;font-weight:700;letter-spacing:.04em;color:#E4C4A4;}
.site-footer{background:#0C1F14;color:var(--cream);padding:3.1rem 0 1.4rem;}
.footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr 1.2fr;gap:1.5rem;}
.footer-brand{font-family:'Barlow Condensed',sans-serif;font-size:2rem;margin:0 0 .45rem;letter-spacing:.03em;text-transform:uppercase;}
.footer-label{margin:0 0 .4rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#E4C4A4;font-weight:700;}
.site-footer a{color:var(--cream);font-weight:700;}
.site-footer p{margin:.25rem 0;}
.site-footer a:hover,.contact-facts a:hover{text-decoration:underline;}
@media (max-width:980px){.steps,.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:720px){.card-grid,.why-grid,.steps,.towns,.trust ul,.footer-grid,.review-layout,.area-layout,.contact-layout,.why-layout{grid-template-columns:1fr;}}
@media (max-width:720px){.site-header{align-items:flex-start;}}
@media (max-width:720px){.header-call{width:100%;text-align:center;}}
button,input,textarea{font:inherit;}
.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;padding:.9rem 1.15rem;border-radius:4px;border:2px solid transparent;line-height:1.2;}
.btn-solid{background:var(--hero-ink);color:#0C1F14;}
.btn-ghost{background:transparent;color:var(--hero-ink);border-color:var(--hero-ink);}
.btn-forest{background:var(--forest);color:var(--cream);border-color:var(--forest);}
.spring .btn{margin-top:1rem;}
.contact-form button{margin-top:.75rem;font-weight:700;background:var(--forest);color:var(--cream);border:0;padding:1rem 1rem;border-radius:4px;cursor:pointer;}
.contact-form button:hover{background:var(--forest-deep);}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Barlow',sans-serif;color:var(--ink);background:var(--cream);font-size:1.0625rem;line-height:1.6;}
img{max-width:100%;display:block;}
a{color:inherit;}
h1,h2{text-wrap:balance;}
:focus-visible{outline:3px solid #1F4D2F;outline-offset:2px;}
.skip{position:absolute;left:1rem;top:-4rem;background:var(--cream);color:var(--forest);padding:.5rem 1rem;z-index:20;}
.skip:focus{top:1rem;}
.utility{background:var(--forest-deep);color:var(--cream);display:flex;justify-content:space-between;gap:.75rem 1.5rem;flex-wrap:wrap;align-items:center;padding:.6rem max(1.25rem,calc((100% - 1180px) / 2));font-size:.95rem;}
.utility p{margin:0;}
.utility a{color:var(--cream);font-weight:700;text-decoration:none;}
.brand{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.8rem;letter-spacing:.04em;text-decoration:none;text-transform:uppercase;line-height:1;color:var(--cream);}
.brand span{display:block;font-family:'Barlow',sans-serif;font-size:.72rem;letter-spacing:.14em;font-weight:600;text-transform:uppercase;margin-top:.28rem;color:#E4C4A4;}
.wrap{width:min(1180px,calc(100% - 3rem));margin-inline:auto;}
section,[id]{scroll-margin-top:5.5rem;}
.eyebrow,.kicker{margin:0 0 .45rem;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
h1{margin:0;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(3rem,5.6vw,5.2rem);line-height:.92;letter-spacing:.02em;text-transform:uppercase;}
.tagline{font-family:'Barlow Condensed',sans-serif;font-size:clamp(1.45rem,2.3vw,2.15rem);line-height:1.15;font-weight:600;margin:.8rem 0 .5rem;}
.trust{background:#fff;border-bottom:1px solid rgba(31,77,47,.12);}
.trust ul{width:min(1180px,calc(100% - 3rem));margin:0 auto;padding:1.4rem 0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.trust li{display:flex;flex-direction:column;gap:.2rem;padding-left:.9rem;border-left:4px solid var(--wood);}
.trust strong{font-size:1.12rem;}
.trust span{color:var(--muted);font-size:.98rem;}
.band,.faq{background:#EFE8DC;padding:4.8rem 0;}
.why,.area,.contact{background:var(--cream);padding:4.8rem 0;}
.process{background:var(--forest-deep);color:var(--cream);padding:4.8rem 0;}
.review-band{background:var(--forest);color:var(--cream);padding:4.8rem 0;}
.kicker{color:var(--forest);}
.process .kicker,.review-band .kicker{color:#E4C4A4;}
.section-head{max-width:44rem;margin-bottom:1.75rem;}
.section-head p,.why-copy p,.area p,.contact-copy p,.spring p{font-size:1.08rem;}
h2{margin:0 0 .65rem;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(2.2rem,4vw,3.5rem);line-height:.98;letter-spacing:.01em;}
h3{margin:0;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:1.9rem;line-height:1.05;}
.card-grid,.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
.card,.why-card{background:#fff;color:var(--ink);min-height:250px;padding:1.8rem 1.6rem 1.55rem;box-shadow:0 14px 34px rgba(20,53,34,.07);display:flex;flex-direction:column;gap:.6rem;transition:transform .2s ease;}
.card{border-top:8px solid var(--forest);}
.why-card{border-left:8px solid var(--wood);}
.card:hover,.why-card:hover{transform:translateY(-3px);}
.card p,.why-card p{margin:0;}
.card-note{margin-top:auto;padding-top:.9rem;font-weight:700;color:var(--forest);}
.why-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:1.6rem 2rem;align-items:center;}
.why-grid{grid-column:1 / -1;margin-top:.5rem;}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.steps li{background:rgba(245,241,232,.08);border:1px solid rgba(245,241,232,.22);padding:1.5rem 1.25rem 1.6rem;min-height:260px;}
.steps span{font-family:'Barlow Condensed',sans-serif;font-size:2.6rem;color:#E4C4A4;display:block;line-height:1;margin-bottom:.6rem;}
.steps p{margin:.5rem 0 0;}
.process h2,.process h3,.review-band h2,.review-band p{color:var(--cream);}
.review-layout,.area-layout,.contact-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;align-items:center;}
blockquote{margin:0;font-family:'Barlow Condensed',sans-serif;font-size:clamp(1.75rem,2.7vw,2.4rem);line-height:1.18;font-weight:600;}
.towns{list-style:none;padding:0;margin:1.25rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:.85rem 1.5rem;}
.towns li{font-family:'Barlow Condensed',sans-serif;font-size:clamp(1.9rem,3vw,2.8rem);font-weight:600;line-height:1;border-bottom:4px solid var(--wood);padding-bottom:.45rem;}
.faq-list details{background:#fff;margin-bottom:.8rem;border-left:8px solid var(--forest);}
.faq-list summary{cursor:pointer;padding:1.2rem 1.3rem;font-weight:700;font-size:1.18rem;display:flex;justify-content:space-between;gap:1rem;align-items:center;list-style:none;}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list summary::after{content:'+';font-family:'Barlow Condensed',sans-serif;font-size:2rem;line-height:1;color:var(--forest);}
.faq-list details[open] summary::after{content:'-';}
.faq-list details p{margin:0;padding:0 1.3rem 1.3rem;font-size:1.06rem;}
.contact-facts{list-style:none;padding:0;margin:1.25rem 0 0;display:grid;gap:.5rem;font-size:1.08rem;}
.contact-facts a{color:var(--forest);font-weight:700;}
.contact-form{background:#fff;padding:1.8rem;border-radius:6px;display:grid;gap:.4rem;box-shadow:0 16px 40px rgba(12,31,20,.08);border-top:8px solid var(--forest);}
.contact-form label{font-weight:700;color:var(--forest-deep);margin-top:.4rem;}
.contact-form input,.contact-form textarea{width:100%;padding:.85rem .9rem;border:1px solid #C9C1B2;border-radius:4px;background:#FFFcf7;color:var(--ink);}
.legal{width:min(1180px,calc(100% - 3rem));margin:1.8rem auto 0;padding-top:1rem;border-top:1px solid rgba(245,241,232,.16);font-size:.92rem;}
@media (max-width:980px){.why-layout,.review-layout,.area-layout,.contact-layout{grid-template-columns:1fr;}}
@media (max-width:980px){.why-grid{grid-column:1 / -1;}}
@media (max-width:720px){.band,.why,.process,.review-band,.area,.faq,.contact{padding:3rem 0;}}
@media (max-width:720px){.card,.why-card,.steps li{min-height:0;}}
@media (max-width:720px){.wrap{width:min(1180px,calc(100% - 2rem));}}
.card{padding:0 0 1.55rem;overflow:hidden;}
.card h3{margin:1.15rem 1.5rem 0;}
.card > p{margin:.55rem 1.5rem 0;}
.card .card-note{margin:auto 1.5rem 0;padding-top:.9rem;}
.hero-frame{display:grid;grid-template-columns:minmax(16.5rem,38%) minmax(0,1fr);grid-template-areas:'copy media';width:100%;min-height:34rem;background:var(--hero-scrim);align-items:stretch;}
.hero-media{grid-area:media;position:relative;min-height:100%;}
.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
.hero-scrim{display:none;}
.hero-copy{grid-area:copy;justify-self:stretch;align-self:stretch;display:flex;flex-direction:column;justify-content:center;width:auto;max-width:none;min-width:0;z-index:1;color:var(--hero-ink);background:var(--hero-scrim);border-right:8px solid var(--wood);padding:2.6rem 1.5rem 2.8rem clamp(1.25rem,calc((100vw - 1180px) / 2),4rem);overflow-wrap:break-word;}
.hero-copy h1,.hero-copy p{color:var(--hero-ink);}
.hero-copy h1{font-size:clamp(2.2rem,3vw,4.4rem);}
.hero-copy .eyebrow{color:#E4C4A4;}
.hero-copy p{margin:.45rem 0 0;max-width:40rem;}
.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.3rem;}
@media (max-width:900px){.hero-frame{grid-template-columns:minmax(15rem,44%) minmax(0,1fr);min-height:28rem;}}
@media (max-width:900px){.hero-copy h1{font-size:clamp(2rem,4.2vw,2.8rem);}}
@media (max-width:720px){.hero-frame{grid-template-columns:1fr;grid-template-areas:'media' 'copy';min-height:0;}}
@media (max-width:720px){.hero-media{min-height:0;aspect-ratio:16/9;}}
@media (max-width:720px){.hero-copy{border-right:0;padding:2rem 1.25rem 2.5rem;}}
figure{margin:0;}
.why-photo img,.area figure img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;border-radius:4px;}
.card-photo{margin:0;overflow:hidden;}
.card-photo img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;transition:transform .35s ease;}
.card:hover .card-photo img{transform:scale(1.045);}
.process-photo{margin:0 0 1.5rem;overflow:hidden;border-left:8px solid #E4C4A4;}
.process-photo img{width:100%;aspect-ratio:21/9;object-fit:cover;display:block;max-height:340px;}
.faq-photo{margin:0 0 1.35rem;}
.faq-photo img{width:100%;aspect-ratio:21/8;object-fit:cover;display:block;border-radius:4px;}
.contact-photo{margin:1.15rem 0 0;}
.contact-photo img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;border-radius:4px;}
.contact-form .service-picks{border:0;margin:.85rem 0 .15rem;padding:0;min-inline-size:0;}
.contact-form .service-picks legend{font-weight:700;color:var(--forest-deep);padding:0;margin:0 0 .45rem;}
.contact-form .service-options{display:grid;grid-template-columns:1fr 1fr;gap:.45rem .8rem;}
.contact-form .service-options label{display:flex;align-items:flex-start;gap:.55rem;font-weight:600;margin:0;color:var(--ink);line-height:1.35;}
.contact-form .service-options input{width:1.15rem;height:1.15rem;min-width:1.15rem;padding:0;margin:.2rem 0 0;flex:none;accent-color:var(--forest);}
@media (max-width:520px){.contact-form .service-options{grid-template-columns:1fr;}}
/* horizon-content-width */
html {
  overflow-x: clip;
}
html body {
  width: min(100%, 1440px);
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
}
html body [data-hero],
html body .hero,
html body .hero-frame,
html body .hero-photo {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}
/* /horizon-content-width */
