@charset "UTF-8";
:root{--navy:#243652;--ink:#202a36;--muted:#586371;--blue:#edf2f7;--line:#dce1e7;--red:#a8373e;--paper:#fff;--max:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.12;font-weight:500;letter-spacing:-.045em}h2{font-size:clamp(30px,3.2vw,44px)}h3{font-size:28px}p{color:var(--muted)}.wrap{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.topline{background:var(--navy);color:#fff;font-size:12px;letter-spacing:.04em}.topline .wrap{display:flex;justify-content:space-between;padding-block:8px}.header{background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #e9edf1}.navrow{display:flex;align-items:center;justify-content:space-between;min-height:102px}.brand img{width:94px;height:94px;object-fit:contain}nav{display:flex;gap:32px;align-items:center;font-size:14px}nav a:not(.button):hover,.textlink:hover{color:var(--red)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 22px;background:var(--navy);color:#fff;font-size:14px;font-weight:600;border:1px solid var(--navy);transition:background .2s}.button:hover{background:#364e73}.button.small{padding:13px 19px}.button span{font-size:20px;line-height:1}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:52px;padding-top:52px;padding-bottom:52px;align-items:center}.eyebrow{color:var(--navy);font-size:11px;font-weight:700;letter-spacing:.16em;margin-bottom:24px}.hero h1{font-size:clamp(44px,4.7vw,66px);line-height:1.06;letter-spacing:-.055em}.hero h1 em{font-family:Georgia,serif;font-weight:400;font-size:.94em;letter-spacing:-.045em;color:var(--navy)}.intro{font-size:17px;max-width:485px;margin-top:28px}.intro strong{font-weight:500;color:var(--ink)}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:30px}.textlink{font-size:14px;font-weight:600;border-bottom:1px solid #a6b0bd;padding-bottom:6px;display:inline-block}.hero-foot{display:flex;gap:14px;align-items:center;font-size:12px;color:var(--muted);margin-top:42px}.line{display:block;height:2px;width:30px;background:var(--red)}.hero-image{position:relative;align-self:stretch;min-height:555px}.hero-image picture{display:block;height:100%}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:58% center}.image-label{position:absolute;bottom:37px;left:23px;color:#fff;background:#243652ed;padding:15px 21px;font-family:Georgia,serif;font-size:20px}.hero-image figcaption{position:absolute;bottom:7px;left:10px;right:10px;font-size:10px;color:white;text-shadow:0 1px 4px #000;background:#0007;padding:2px 5px;width:fit-content}.expertise-bar{display:grid;grid-template-columns:1fr 1fr 1fr;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.expertise-bar>div{display:flex;flex-direction:column;padding-left:35px;border-left:1px solid var(--line)}.expertise-bar>div:first-child{padding:0;border:0}.expertise-bar b{font-size:20px;font-weight:500}.expertise-bar span{font-size:13px;color:var(--muted);margin-top:3px}.section{padding-block:92px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:42px}.section-head>p{max-width:370px;font-size:16px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service{padding:30px;background:#f4f6f8;border-top:2px solid var(--navy);display:flex;flex-direction:column}.service:nth-child(2){border-top-color:var(--red)}.service:nth-child(3){border-top-color:#ccb838}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px;height:28px}.number{font-size:13px;color:#667080}.swatches{display:flex;gap:4px}.swatches i{width:18px;height:24px;display:block;background:#243652}.swatches i:nth-child(2){background:#8b9fb1}.swatches i:nth-child(3){background:#c5ced6}.swatches.warm i{background:#a8373e}.swatches.warm i:nth-child(2){background:#cfa581}.swatches.warm i:nth-child(3){background:#ded2b6}.material-lines{width:55px;height:28px;background:repeating-linear-gradient(90deg,#8b9ba9 0 2px,transparent 2px 13px);transform:skewY(-12deg)}.service>p{margin-top:23px;font-size:15px;line-height:1.8}.service ul{list-style:none;padding:0;margin:24px 0 29px;font-size:14px}.service li{border-top:1px solid #dce1e7;padding:9px 0}.service li:last-child{border-bottom:1px solid #dce1e7}.service .textlink{align-self:start;margin-top:auto}.story{background:var(--blue);padding:80px 0}.story-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;align-items:center}.story-mark{padding:0 35px}.year{font-size:clamp(90px,10vw,145px);line-height:1;letter-spacing:-.075em;color:var(--navy);font-family:Georgia,serif}.year span{display:block;font-size:23px;letter-spacing:-.03em;line-height:1.3;margin-top:22px}.color-rule{display:flex;width:100%;height:5px;gap:7px;margin-top:45px}.color-rule i{flex:1;background:#e7cf35}.color-rule i:nth-child(2){background:var(--red)}.color-rule i:nth-child(3){background:var(--navy)}.story h2{margin-bottom:25px}.story p:not(.eyebrow){margin-bottom:19px;font-size:16px}.story .textlink{margin-top:8px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.steps article{border-top:1px solid var(--line);padding-top:23px}.steps span{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--navy)}.steps h3{font-size:23px;letter-spacing:-.03em;margin:20px 0 15px}.steps p{font-size:15px}.territory{background:#f2f5f8;display:grid;grid-template-columns:1.2fr 1fr;gap:70px;padding:48px}.territory h2{font-size:34px}.territory p:not(.eyebrow){margin-top:22px;font-size:15px;max-width:500px}.towns{display:flex;flex-direction:column;justify-content:center;padding-left:35px;margin:5px 0}.towns>span{position:relative;border-left:1px solid #a7b3c1;padding:17px 0 17px 30px;font-size:18px}.towns>span:before{content:"";position:absolute;width:9px;height:9px;background:#8f9cae;left:-5px;top:30px;border-radius:50%}.towns .central-town{font-size:22px;font-weight:600;color:var(--navy)}.towns .central-town:before{background:var(--red);width:11px;height:11px;left:-6px}.towns small{display:block;font-size:12px;font-weight:400;color:var(--muted)}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:22px 35px 22px 0;position:relative;font-size:16px;font-weight:500}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:0;font-size:22px;top:17px;font-weight:400}details[open] summary:after{content:"−"}details p{padding-bottom:22px;font-size:15px}.contact{background:var(--navy);color:#fff;padding:70px 0}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;align-items:center}.contact .eyebrow{color:#d7dfe9}.contact h2{font-size:clamp(33px,3.5vw,47px)}.contact p:not(.eyebrow){color:#d6deea;margin-top:23px}.contact .button{margin-top:30px}.button.light{background:white;color:var(--navy);border-color:white}.button.light:hover{background:#e6edf4}address{font-style:normal;display:flex;flex-direction:column;gap:20px;padding-left:50px;border-left:1px solid #617087;font-size:16px}address .phone{font-size:32px;letter-spacing:-.035em}address a:hover{text-decoration:underline}.hours{font-size:13px;color:#d6deea}.footer{display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;padding-block:25px;font-size:11px;color:var(--muted)}.draft{font-style:italic}.skip{position:fixed;left:15px;top:-100px;z-index:30;background:#fff;padding:15px}.skip:focus{top:10px}:focus-visible{outline:3px solid #b6404b;outline-offset:5px}
@media(min-width:1600px){.hero-image{min-height:610px}}
@media(max-width:1100px){.wrap{width:calc(100% - 56px)}nav{gap:20px}.hero{gap:28px}.hero-image{min-height:540px}.service{padding:23px}.story-grid{gap:50px}.contact-grid{gap:45px}.territory{gap:35px}.hero h1{font-size:49px}.actions{gap:17px}.section-head{gap:35px}.faq{gap:40px}}
@media(max-width:760px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}.topline .wrap{justify-content:center}.topline .wrap span:last-child{display:none}.navrow{min-height:80px}.brand img{width:75px;height:75px}.menu{display:flex;gap:15px;background:white;border:1px solid var(--line);padding:8px 12px;font-size:14px}nav{display:none;position:absolute;left:0;right:0;top:80px;background:white;padding:24px;box-shadow:0 10px 20px #20304812;align-items:stretch;flex-direction:column}nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:36px;padding-bottom:32px;gap:30px}.hero h1{font-size:clamp(43px,8.7vw,62px)}.eyebrow{font-size:10px;margin-bottom:20px}.intro{font-size:16px;margin-top:24px}.hero-foot{margin-top:25px}.hero-image{height:400px;min-height:0}.hero-image img{object-position:center}.image-label{font-size:18px;left:15px;bottom:45px}.hero-image figcaption{font-size:10px}.expertise-bar{grid-template-columns:1fr;padding:8px 0}.expertise-bar>div,.expertise-bar>div:first-child{padding:17px 0;border-left:0}.expertise-bar>div+div{border-top:1px solid var(--line)}.expertise-bar b{font-size:19px}.section{padding-block:58px}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:22px}.services,.story-grid,.steps,.territory,.faq,.contact-grid{grid-template-columns:1fr}.services{gap:17px}.service{padding:28px}.service-top{margin-bottom:23px}.service h3 br{display:none}.service h3{font-size:27px}.story{padding:48px 0}.story-grid{gap:42px}.story-mark{padding:0}.year{font-size:105px}.color-rule{margin-top:25px;width:170px}.steps{gap:30px}.territory{padding:30px 25px;gap:25px}.territory h2{font-size:29px}.towns{padding-left:8px}.towns .central-town{font-size:20px}.faq{gap:30px}.contact{padding:50px 0}.contact-grid{gap:40px}address{padding:30px 0 0;border-left:0;border-top:1px solid #617087}.footer{flex-direction:column;gap:8px}.image-label{max-width:calc(100% - 30px)}.button{gap:16px}.contact .button{font-size:13px;padding:16px}.actions .textlink{margin-top:2px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* WordPress native blocks: preserve approved grid and editable content. */
.wp-block-image,.wp-block-buttons,.wp-block-list,.wp-block-details{margin-block:0}
.entry-content>.wp-block-group{margin-block:0}.entry-content>.wrap{margin-inline:auto}
.wp-block-button.button{padding:0;border:0;display:block;background:transparent}
.wp-block-button.button .wp-block-button__link{display:inline-flex;gap:24px;align-items:center;justify-content:space-between;padding:17px 22px;background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:0;font-size:14px;font-weight:600;text-decoration:none;line-height:1.65}
.wp-block-button.button.light .wp-block-button__link{background:#fff;color:var(--navy);border-color:#fff}
.wp-block-button.button .wp-block-button__link:hover{filter:brightness(1.15)}
.hero-image>.wp-block-image{height:100%;margin:0}.hero-image .wp-block-image img{inset:0;width:100%;height:100%;object-fit:cover}.hero-image figcaption{z-index:2;margin:0}.hero-image .image-label{z-index:1;color:#fff;margin:0}
.hero-foot:before{content:"";width:30px;height:2px;background:var(--red);flex-shrink:0}
.expertise-bar p strong{font-weight:500;font-size:20px;color:var(--ink)}.expertise-bar p+p{font-size:13px}
.service-top .number{margin:0}.service-top:after{content:"";width:62px;height:24px;background:linear-gradient(90deg,#243652 0 29%,transparent 29% 35%,#8b9fb1 35% 64%,transparent 64% 70%,#c5ced6 70%)}
.service:nth-child(2) .service-top:after{background:repeating-linear-gradient(90deg,#8b9ba9 0 2px,transparent 2px 13px);transform:skewY(-12deg)}
.service:nth-child(3) .service-top:after{background:linear-gradient(90deg,#a8373e 0 29%,transparent 29% 35%,#cfa581 35% 64%,transparent 64% 70%,#ded2b6 70%)}
.service .link-row{margin-top:auto}.service>.wp-block-list{margin:24px 0 29px}.service>.service-top{margin-bottom:38px}
.story .year p{font-family:Georgia,serif;font-size:clamp(90px,10vw,145px);letter-spacing:-.075em;color:var(--navy);line-height:1;margin:0}.story .year p+p{font-size:23px;letter-spacing:-.03em;line-height:1.3;margin-top:22px}
.story-mark:after{content:"";display:block;height:5px;margin-top:45px;background:linear-gradient(90deg,#e7cf35 0 32%,transparent 32% 34%,#a8373e 34% 66%,transparent 66% 68%,#243652 68%)}
.steps article>p:first-child{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--navy)}
.towns>p{position:relative;border-left:1px solid #a7b3c1;padding:17px 0 17px 30px;font-size:18px}.towns>p:before{content:"";position:absolute;width:9px;height:9px;background:#8f9cae;left:-5px;top:30px;border-radius:50%}.towns>.central-town:before{background:var(--red)}
.contact-address{display:flex;flex-direction:column;gap:20px;padding-left:50px;border-left:1px solid #617087;font-size:16px}.contact .contact-address p{margin:0;color:white}.contact-address .phone{font-size:32px;letter-spacing:-.035em}.contact-address a:hover{text-decoration:underline}.contact .contact-address .hours{font-size:13px;color:#d6deea}
.primary-menu{display:flex;align-items:center;gap:32px;list-style:none;margin:0;padding:0}.primary-menu .menu-cta a{display:block;background:var(--navy);color:white;padding:13px 19px}.primary-menu .menu-cta a:hover{background:#364e73}.custom-logo-link img{width:94px;height:94px;object-fit:contain}
.admin-bar .header{top:32px}.generic-page{padding-block:70px;min-height:50vh}.generic-page h1{margin-bottom:30px}.footer p{font-size:11px}.footer nav ul{list-style:none;display:flex;gap:15px;padding:0;margin:0}.footer nav{font-size:12px}
@media(max-width:1100px){.primary-menu{gap:20px}}
@media(max-width:782px){.admin-bar .header{top:46px}}
@media(max-width:760px){.primary-menu{flex-direction:column;align-items:stretch}.custom-logo-link img{width:75px;height:75px}.contact-address{padding:30px 0 0;border-left:0;border-top:1px solid #617087}.story .year p{font-size:105px}.story .year p+p{font-size:23px}.story-mark:after{width:170px;margin-top:25px}.service>.service-top{margin-bottom:23px}.contact .wp-block-button__link{font-size:13px!important}.js nav#navigation:not(.open){display:none}html:not(.js) nav#navigation{display:flex;position:static;box-shadow:none}html:not(.js) .navrow{flex-wrap:wrap}html:not(.js) .menu{display:none}}
@media(max-width:600px){.admin-bar .header{top:0}}
