:root{color-scheme:light;--ink:#182321;--muted:#485653;--paper:#f9faf6;--soft:#eef1e9;--dark:#121b1a;--accent:#d9f375;--border:#d9e1d7;--radius:20px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.58 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit}
a:focus-visible,summary:focus-visible{outline:3px solid #6d8e1c;outline-offset:4px}
img{display:block;width:100%;object-fit:cover}
svg{flex:none;vertical-align:middle}
h1,h2,h3,p{margin:0}
h1,h2,h3{line-height:1.07;letter-spacing:-.048em}
h1{font-size:clamp(2.65rem,6vw,5rem);font-weight:760}
h2{font-size:clamp(1.85rem,3.7vw,3.1rem);font-weight:750}
h3{font-size:1.47rem;font-weight:730}
p{color:var(--muted)}
.wrap{width:min(1200px,calc(100% - 72px));margin-inline:auto}
.skip{position:fixed;left:10px;top:10px;z-index:10;transform:translateY(-180%);background:#fff;padding:10px}
.skip:focus{transform:none}
.site-head{position:relative;z-index:3;background:var(--dark);color:#f4f7ef}
.head{min-height:78px;display:flex;align-items:center;gap:30px}
.brand{display:inline-flex;align-items:center;gap:10px;flex:none;text-decoration:none;letter-spacing:-.043em;font-size:1.22rem;line-height:1.1}
.brand>span{width:37px;height:37px;display:grid;place-items:center;border-radius:10px;background:var(--accent);color:var(--ink)}
.brand strong span{font-weight:550}
.desktop-nav{display:flex;gap:26px;margin-left:auto}
.desktop-nav a,.mobile-nav a{text-decoration:none;font-size:.92rem;font-weight:600;color:#e6ebe4}
.desktop-nav a:hover,.mobile-nav a:hover,.site-foot a:hover{color:var(--accent)}
.header-call{display:inline-flex;gap:8px;align-items:center;text-decoration:none;font-weight:720;white-space:nowrap;color:var(--accent);font-size:.94rem}
.header-call svg,.button svg,.foot-call svg{width:18px;height:18px}
.mobile-nav{display:none}
.hero{min-height:590px;position:relative;isolation:isolate;display:flex;align-items:center;color:#f8faf4;background:#222e2b;overflow:hidden}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-position:center 52%;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#111a19 2%,rgba(17,26,25,.96) 23%,rgba(17,26,25,.68) 47%,rgba(17,26,25,.11) 90%)}
.hero-inner{padding-block:80px}
.eyebrow{display:flex;align-items:center;gap:9px;color:#edf7cf;font-size:.76rem;font-weight:740;letter-spacing:.12em;margin-bottom:20px}
.eyebrow span{width:8px;height:8px;background:var(--accent);border-radius:50%}
.hero h1{font-size:clamp(3.1rem,7.1vw,6.45rem);line-height:.98;letter-spacing:-.066em}
.hero-copy{max-width:510px;color:#ecf0e9;margin-top:24px;font-size:clamp(1rem,2vw,1.17rem)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:49px;padding:10px 17px;border:1px solid transparent;border-radius:9px;font-size:.93rem;font-weight:735;text-decoration:none}
.primary{background:var(--accent);color:#17211b}
.primary:hover{background:#c7e65b}
.glass{color:white;background:#202a27aa;border-color:#c8d3c17c}
.glass:hover{background:#34423b}
.outline{border-color:#a7b4a7;color:var(--ink)}
.outline:hover{background:#e5ecdd}
.trust{background:#e8eee0;border-bottom:1px solid var(--border)}
.trust-row{display:flex;justify-content:space-between;gap:14px 25px;flex-wrap:wrap;padding-block:17px;font-size:.89rem;font-weight:680}
.trust-row>*{display:flex;align-items:center;gap:9px}
.trust-row svg{width:19px;height:19px}
.trust-row a{text-decoration:none}
.trust-row a:hover{text-decoration:underline}
.section{padding-block:65px}
.section h2{margin-bottom:25px}
.section-heading{margin-bottom:27px}
.section-heading h2{margin-bottom:10px}
.soft{background:var(--soft)}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.service-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;text-decoration:none}
.service-card:hover{border-color:#748a61}
.service-card>img{aspect-ratio:4/2.7}
.card-copy{padding:18px;display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:10px}
.card-copy>svg{margin-top:auto}
.tile-icon{display:inline-grid;place-items:center;width:40px;height:40px;background:#edf3de;border-radius:10px;color:#30482c}
.tile-icon svg{width:22px;height:22px}
.card-copy p{font-size:.94rem}
.two,.three{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.two article,.three article{padding:25px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}
article h3{margin-bottom:11px}
article a{display:inline-flex;gap:6px;align-items:center;margin-top:14px;font-weight:680;text-underline-offset:4px}
article a svg{width:17px}
article ul{padding-left:21px;margin-bottom:0;color:var(--muted)}
article li+li{margin-top:8px}
.local .tile-icon{margin-bottom:14px}
.coverage{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}
.coverage p,.reading p{margin-bottom:16px}
.chips{display:flex;gap:9px;flex-wrap:wrap}
.chips a{border:1px solid var(--border);border-radius:100px;padding:8px 14px;text-decoration:none;background:#fff;font-size:.93rem}
.chips a:hover{border-color:#758864;background:#edf3de}
.faq{max-width:820px}
.faq details{border-top:1px solid #c6d1c2}
.faq details:last-child{border-bottom:1px solid #c6d1c2}
.faq summary{cursor:pointer;font-weight:710;padding:15px 0}
.faq details p{padding:0 0 16px}
.cta{padding:clamp(22px,4.5vw,48px);background:var(--dark);color:#f4f7ee;border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:18px 30px;flex-wrap:wrap}
.cta h2{margin-bottom:10px;font-size:clamp(1.6rem,3.4vw,2.75rem)}
.cta p{color:#cbd5c9}
.site-foot{background:var(--dark);color:#f4f7ee;padding-top:43px}
.site-foot p{color:#c0cbc1;font-size:.91rem;margin-top:12px}
.foot-grid{display:grid;grid-template-columns:1.45fr .7fr .8fr 1fr;gap:22px;padding-bottom:33px}
.foot-grid h2{font-size:1rem;letter-spacing:-.018em;margin:0 0 12px}
.foot-grid>div>a:not(.brand){display:block;text-decoration:none;font-size:.91rem;margin-bottom:4px}
.foot-call{color:var(--accent);font-weight:700}
.foot-call svg{margin-right:7px}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;border-top:1px solid #42514b;padding:15px 0;font-size:.83rem;color:#c0cbc1}
.intro{padding:22px 0 49px;background:var(--soft);border-bottom:1px solid var(--border)}
.crumbs{display:flex;gap:9px;flex-wrap:wrap;font-size:.85rem;color:#495650;margin-bottom:30px}
.crumbs a{text-underline-offset:3px}
.intro-grid{display:grid;align-items:center;gap:30px}
.intro-grid.with-image{grid-template-columns:1.05fr 1fr}
.intro-grid h1{max-width:930px}
.intro-grid p{max-width:710px;margin-top:18px;font-size:1.12rem}
.intro-img{aspect-ratio:4/2.65;border-radius:var(--radius)}
.areas{padding-top:25px}
.area-group{margin-top:28px}
.area-group h2{font-size:clamp(1.48rem,3vw,2.15rem);margin-bottom:14px}
.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:0;padding:0;list-style:none}
.area-grid li a{position:relative;display:flex;min-height:78px;height:100%;justify-content:center;flex-direction:column;border-radius:12px;border:1px solid var(--border);background:#fff;padding:10px 37px 10px 14px;text-decoration:none}
.area-grid li a:hover{border-color:#748a61;background:#edf3de}
.area-grid li span{color:var(--muted);font-size:.86rem}
.area-grid svg{position:absolute;right:11px;top:calc(50% - 9px);width:17px;height:17px}
.reading{max-width:760px}
@media(max-width:900px){
 .wrap{width:calc(100% - 44px)}
 .desktop-nav{gap:15px}
 .head{gap:17px}
 .service-grid,.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:740px){
 .desktop-nav{display:none}
 .header-call{margin-left:auto}
 .mobile-nav{display:block}
 .mobile-nav summary{display:block;cursor:pointer;border:1px solid #596960;border-radius:7px;padding:5px 8px;font-size:.85rem}
 .mobile-nav summary::-webkit-details-marker{display:none}
 .mobile-nav nav{position:absolute;top:100%;left:0;right:0;background:var(--dark);display:grid;padding:10px 22px 18px}
 .mobile-nav a{padding:9px 0}
 .hero{min-height:520px}
 .hero::after{background:linear-gradient(90deg,#111a19ed,rgba(17,26,25,.58) 90%)}
 .section{padding-block:44px}
 .coverage,.three,.intro-grid.with-image{grid-template-columns:1fr}
 .intro-img{max-height:360px}
 .area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
 .wrap{width:calc(100% - 32px)}
 .head{min-height:66px;gap:8px}
 .brand{font-size:1rem;gap:6px}
 .brand>span{width:29px;height:29px}
 .brand svg{width:20px;height:20px}
 .header-call{font-size:.76rem;gap:3px}
 .header-call svg{display:none}
 .mobile-nav summary{font-size:.75rem;padding:4px 6px}
 .hero-inner{padding-block:56px}
 .hero{min-height:460px}
 .hero-photo{object-position:61% center}
 .two,.area-grid{grid-template-columns:1fr}
 .service-grid{gap:10px}
 .card-copy{padding:12px}
 .card-copy h3{font-size:1.15rem}
 .card-copy p{font-size:.85rem}
 .trust-row{display:grid;gap:8px}
 .intro{padding-bottom:34px}
 .crumbs{margin-bottom:21px}
}
@media(max-width:345px){.head>.brand strong{max-width:65px}.head>.brand strong span{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.local-detail h3{margin-bottom:12px}

.quote-panel{max-width:760px;padding:clamp(18px,4vw,35px);background:#fff;border:1px solid var(--border);border-radius:var(--radius)}
.quote-panel>p{margin-bottom:18px}
.quote-form,.quote-grid{display:grid;gap:17px}
.quote-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.quote-form label{display:grid;gap:5px;font-weight:650}
.quote-form input,.quote-form select,.quote-form textarea{width:100%;min-width:0;padding:10px;border:1px solid #8b9b91;border-radius:7px;background:#fff;color:var(--ink);font:inherit;font-weight:400}
.quote-form textarea{resize:vertical}
.quote-form button{justify-self:start;cursor:pointer;font-family:inherit}
.quote-check{max-width:230px}
.quote-errors{padding:15px;margin-bottom:19px;background:#fcf0e8;border-radius:9px}
.quote-errors h2{font-size:1.2rem;margin-bottom:5px}
.quote-errors ul{margin:0;padding-left:20px}
@media(max-width:480px){.quote-grid{grid-template-columns:1fr}}

.local-guide h3{margin:29px 0 12px}
.local-guide a{text-underline-offset:3px}
.local-data{margin-top:24px;padding:15px 18px;border-left:3px solid #748a61;background:var(--soft)}
.local-data p:last-child{margin-bottom:0}
.local-data h3{margin:0 0 12px}
.local-data table{width:100%;border-collapse:collapse;margin:12px 0 14px;font-size:.94rem}
.local-data th,.local-data td{padding:.45rem .3rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
.local-data th:not(:first-child),.local-data td{text-align:right;font-variant-numeric:tabular-nums}
.local-data caption{text-align:left;margin-bottom:.5rem;color:var(--muted)}
