:root{--ink:#273c35;--text:#34463e;--muted:#61685f;--cream:#f5f2e9;--paper:#fffefa;--line:#dcded3;--rust:#a63e26;--sage:#e7ebdf}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--paper);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:5px}button,input,textarea,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--rust);outline-offset:5px}h1,h2,h3{color:var(--ink);line-height:1.1;letter-spacing:-.04em;margin:0 0 22px;font-weight:600}h1{font-size:clamp(42px,4.5vw,70px);max-width:920px}h2{font-size:clamp(32px,3.2vw,46px)}h3{font-size:24px;letter-spacing:-.025em}p{margin:0 0 22px}p:last-child{margin-bottom:0}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}ul,ol{padding-left:24px}li{margin-bottom:10px}::selection{background:#ead1ad}[hidden]{display:none!important}.container{width:min(1240px,calc(100% - 96px));margin-inline:auto}.section{padding-block:88px}.section-soft{background:var(--cream)}.eyebrow{font-size:11px;line-height:1.6;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:var(--rust);margin:0 0 22px}.small-caps{font-size:10px;letter-spacing:.13em;text-transform:uppercase}.narrow{max-width:730px}.skip-link{position:fixed;left:20px;top:-120px;padding:12px 20px;background:white;z-index:100}.skip-link:focus{top:12px}
.topbar{background:var(--ink);color:#f4f2e9;font-size:11px;letter-spacing:.025em}.topbar .container{min-height:35px;display:flex;justify-content:space-between;align-items:center;gap:12px}.topbar a{text-decoration:none}.topbar a span{margin-left:10px}.site-header{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}.nav-wrap{display:flex;align-items:center;gap:28px;min-height:100px}.brand{width:164px;flex-shrink:0}.brand img{width:164px;height:87px;object-fit:contain;mix-blend-mode:multiply}#main-nav{display:flex;gap:24px;align-items:center;justify-content:center;flex:1}#main-nav a{font-size:13px;text-decoration:none;font-weight:600;white-space:nowrap}#main-nav a:hover,#main-nav a[aria-current]{color:var(--rust)}#main-nav .nav-contact{display:none}.header-phone{border:1px solid var(--ink);padding:9px 20px;text-decoration:none;font-size:16px;line-height:1.35;font-weight:700;white-space:nowrap;border-radius:3px}.header-phone span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:9px;font-weight:500;margin-bottom:3px}.header-phone:hover{background:var(--sage)}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1.06fr 1fr;gap:50px;align-items:center;padding-block:58px 65px}.hero-copy{padding-block:20px}.hero h1{font-size:clamp(45px,4.5vw,68px);line-height:1.06;letter-spacing:-.055em}.hero h1 em{color:var(--rust);font-size:1.02em;letter-spacing:-.05em}.hero-lead{font-size:18px;line-height:1.75;color:var(--muted);margin:26px 0 30px}.hero .hero-lead{max-width:525px;font-size:16px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--rust);margin-right:8px}.hero-note{font-size:11px;color:var(--muted);margin-top:18px}.hero-visual{position:relative;padding-right:18px}.hero-photo{width:100%;height:490px;object-fit:cover;object-position:40% center;border-radius:3px}.photo-label{position:absolute;bottom:26px;left:-18px;background:var(--cream);padding:19px 22px;min-width:260px;box-shadow:0 6px 22px #1222180c;border:1px solid #fff;display:grid;grid-template-columns:1fr 36px}.photo-label .small-caps{grid-column:1/-1;color:var(--muted);margin-bottom:10px}.photo-label strong{font-size:25px;font-weight:500;letter-spacing:-.04em;line-height:1.2}.photo-label a{align-self:end;text-decoration:none;border:1px solid var(--ink);border-radius:50%;height:33px;width:33px;text-align:center;line-height:30px}.vertical-note{position:absolute;right:-8px;top:2px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.16em;color:var(--muted)}
.button-row{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:49px;padding:12px 21px;border:1px solid var(--rust);background:var(--rust);color:white;font-weight:600;font-size:13px;text-decoration:none;border-radius:3px;line-height:1.5;transition:background .15s,transform .15s}.button:hover{background:#87311d;border-color:#87311d;transform:translateY(-1px)}.button-outline{color:var(--ink);background:transparent;border-color:var(--line)}.button-outline:hover{background:var(--sage);border-color:var(--ink)}.button-light{color:var(--ink);background:var(--cream);border-color:var(--cream)}.button-light:hover{background:white;border-color:white}.text-link{font-size:14px;font-weight:600;text-decoration:none;display:inline-flex;gap:28px;align-items:center;min-height:44px}.text-link:hover{color:var(--rust)}.text-link span{font-size:21px}.proof-strip{border-block:1px solid var(--line);background:var(--cream)}.proof-strip .container{display:grid;grid-template-columns:repeat(3,1fr);padding-block:24px}.proof-strip span{font-size:13px;text-align:center;border-right:1px solid var(--line)}.proof-strip span:last-child{border:0}.proof-strip b{font-size:10px;color:var(--rust);margin-right:15px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:360px;color:var(--muted);font-size:15px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{position:relative;border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:28px 30px 50px;text-decoration:none;transition:background .2s;min-height:213px;background:var(--paper)}.service-card:hover{background:var(--cream)}.service-number{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:28px}.service-card h3{font-size:24px;max-width:300px;margin-bottom:10px}.service-card p{font-size:14px;color:var(--muted)}.card-arrow{position:absolute;bottom:15px;right:23px;font-size:24px;color:var(--rust)}.section-end{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:22px}.section-end>span{font-size:12px;color:var(--muted)}.story-section{padding-block:80px;background:var(--cream)}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.story-photo img{width:100%;height:420px;object-fit:cover;border-radius:3px}.story-grid p:not(.eyebrow){color:var(--muted);font-size:15px}.story-grid h2{font-size:44px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.project-photo{display:block;background:#e9e9e2;overflow:hidden}.project-photo img{width:100%;height:285px;object-fit:contain;transition:transform .4s}.project-card:first-child .project-photo img{object-fit:cover}.project-photo:hover img{transform:scale(1.035)}.project-card .eyebrow{margin:22px 0 9px;font-size:10px}.project-card h2,.project-card h3{font-size:23px}.project-card h2 a,.project-card h3 a{display:flex;justify-content:space-between;gap:16px;text-decoration:none}
.coverage-section{background:var(--sage);padding-block:80px}.coverage-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:start}.coverage-grid>div>p:not(.eyebrow){max-width:520px;color:var(--muted)}.area-list{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;padding-top:6px}.area-list>span{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid #bdc7b8;font-size:14px}.area-list>span>span{color:#667262}.review-callout{display:flex;gap:28px;align-items:center;border-block:1px solid var(--line);padding:40px 0}.review-callout h2{font-size:33px;margin-bottom:12px}.review-callout .eyebrow{margin-bottom:10px}.review-callout p:not(.eyebrow){font-size:14px;max-width:550px;color:var(--muted)}.review-callout>.button{margin-left:auto;flex-shrink:0}.google-mark{font-family:Georgia,serif;font-size:66px;line-height:1;background:var(--cream);padding:16px 22px;border-radius:50%}.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.faq-grid>div>p:not(.eyebrow){font-size:15px;color:var(--muted)}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:0 4px}summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:21px 0;font-size:16px;font-weight:600;cursor:pointer;list-style:none;line-height:1.5;color:var(--ink)}summary::-webkit-details-marker{display:none}summary>span{font-size:24px;font-weight:400;color:var(--rust)}details[open] summary>span{transform:rotate(45deg)}details>p{font-size:15px;color:var(--muted);padding:0 30px 22px 0;line-height:1.75}
.closing-cta{background:var(--ink);color:#dce3d9;padding-block:76px}.closing-cta .container{display:flex;align-items:center;justify-content:space-between;gap:50px}.closing-cta .eyebrow{color:#e6bda5}.closing-cta h2{color:var(--paper);font-size:50px}.closing-cta p:not(.eyebrow){color:#d2d9cf;font-size:15px}.closing-cta .button{min-width:240px}.cta-phone{display:block;text-align:center;margin-top:20px;text-decoration:none;color:var(--paper);font-size:20px;letter-spacing:.02em}.site-footer{padding:68px 0 25px;background:var(--cream)}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1.3fr .8fr;gap:40px}.footer-brand>a{font-size:32px;letter-spacing:-.04em;text-decoration:none;font-weight:500;line-height:1.2}.footer-brand>a>span{font-size:9px;margin-left:5px;letter-spacing:0}.footer-brand p:first-of-type{font-size:9px;letter-spacing:.14em;margin-top:10px}.footer-brand p:last-child{font-size:14px;color:var(--muted)}.footer-grid h2{font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:22px}.footer-grid>div:not(:first-child)>a{display:block;width:fit-content;font-size:12px;text-decoration:none;min-height:32px;overflow-wrap:anywhere}.footer-grid a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);margin-top:48px;padding-top:24px;display:flex;gap:25px;font-size:10px;color:var(--muted)}.footer-bottom>span:nth-child(2){margin-right:auto}.privacy-settings{background:none;border:0;color:inherit;font-size:inherit;text-decoration:underline;padding:0}.mobile-contact{display:none}
.breadcrumbs{margin-bottom:35px;font-size:11px;color:var(--muted)}.breadcrumbs ol{list-style:none;display:flex;gap:12px;flex-wrap:wrap;margin:0;padding:0}.breadcrumbs li{margin:0;display:flex;gap:12px}.breadcrumbs li:not(:last-child):after{content:'/';color:#899180}.breadcrumbs a{text-decoration:none}.page-hero{padding-top:32px;padding-bottom:45px}.page-hero h1{font-size:clamp(42px,4.5vw,65px)}.page-hero>.hero-lead{margin-bottom:0}.split-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.split-hero h1{font-size:clamp(39px,4.3vw,62px)}.detail-photo{background:var(--cream);border-radius:3px;overflow:hidden}.detail-photo img{height:390px;width:100%;object-fit:contain}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:95px;border-top:1px solid var(--line)}.detail-layout article>h2{font-size:34px;margin-top:45px}.detail-layout article>h2:first-of-type{margin-top:0}.detail-layout article>p{color:var(--muted)}.check-list{list-style:none;padding:0;margin:30px 0}.check-list li{position:relative;padding:14px 0 14px 32px;border-bottom:1px solid var(--line);font-size:15px;margin:0}.check-list li:before{content:'↗';position:absolute;left:0;color:var(--rust);font-size:18px}.safety-note{background:var(--cream);border-left:3px solid var(--rust);padding:23px 26px;margin-block:30px;font-size:14px}.safety-note p{margin-top:8px;color:var(--muted)}.service-aside{position:sticky;top:135px;align-self:start;background:var(--cream);padding:30px}.service-aside h2{font-size:32px}.service-aside p{font-size:14px;color:var(--muted)}.service-aside .button{width:100%;font-size:18px;margin-bottom:10px}.service-aside h3{font-size:20px}.service-aside hr{border:0;border-top:1px solid var(--line);margin:25px 0}.group-section{padding-top:40px;padding-bottom:50px}.coverage-panel{background:var(--cream);padding:40px}.coverage-panel h2{font-size:36px}.steps{list-style:none;padding:0}.steps li{display:flex;gap:20px;margin-bottom:27px}.steps b{font-size:11px;color:var(--rust);padding-top:5px}.steps h3{font-size:20px;margin-bottom:9px}.steps p{font-size:14px;color:var(--muted)}
.gallery-banner{margin-top:55px;padding:42px;background:var(--cream);text-align:center}.gallery-banner h2{font-size:36px}.gallery-banner p{color:var(--muted);font-size:15px}.project-detail{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.project-feature{background:var(--cream)}.project-feature img{width:100%;max-height:600px;object-fit:contain}.project-detail h2{font-size:36px}.project-detail p{color:var(--muted)}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:35px}.comparison figure{margin:0;background:var(--cream)}.comparison img{width:100%;height:390px;object-fit:contain}.comparison figcaption{padding:16px 24px;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.full-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}.full-gallery figure{margin:0;min-width:0}.full-gallery img{width:100%;height:320px;object-fit:contain;background:var(--cream)}.full-gallery figcaption{font-size:13px;padding:14px 0;line-height:1.5}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.values-grid article{border-top:1px solid var(--line);padding-top:25px}.values-grid span{font-size:12px;color:var(--rust)}.values-grid h3{margin-top:25px;font-size:32px}.values-grid p{font-size:15px;color:var(--muted)}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.guide-card{background:var(--cream);padding:35px;display:flex;flex-direction:column}.guide-card h2{font-size:31px}.guide-card h2 a{text-decoration:none}.guide-card p:not(.eyebrow){font-size:15px;color:var(--muted)}.guide-card>.text-link{margin-top:auto}.article-body{max-width:800px;padding-block:30px 80px}.article-body h2{font-size:33px;margin-top:40px}.article-body p{font-size:17px;color:var(--muted);line-height:1.85}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;border-top:1px solid var(--line);align-items:start}.contact-block{padding-bottom:35px;margin-bottom:35px;border-bottom:1px solid var(--line)}.contact-block>.eyebrow{display:block;margin-bottom:18px}.contact-block p{font-size:15px;color:var(--muted);margin-top:18px}.big-phone{font-size:36px;text-decoration:none;letter-spacing:-.04em}.email-address{font-size:21px;overflow-wrap:anywhere}.quote-panel{background:var(--cream);padding:40px}.quote-panel h2{font-size:34px}.quote-panel>p{font-size:15px;color:var(--muted)}label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}input,select,textarea{display:block;width:100%;border:1px solid #aab1a3;border-radius:2px;padding:12px;color:var(--ink);background:var(--paper);margin-bottom:21px;min-width:0;font-size:16px}textarea{resize:vertical;min-height:120px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-note{font-size:12px;color:var(--muted);line-height:1.6}.copy-request{border:0;background:none;color:var(--ink);text-decoration:underline;font-size:12px;display:block;padding:16px 0}.quote-panel .button{width:100%;margin-top:8px}#form-status{font-size:13px;color:var(--ink)}.error-page{padding-block:100px}.error-page .text-link{margin-left:30px}.consent{position:fixed;bottom:20px;left:20px;z-index:80;width:min(460px,calc(100% - 40px));padding:25px;background:var(--paper);border:1px solid var(--line);box-shadow:0 8px 40px #12221826;border-radius:6px;font-size:13px}.consent strong{display:block;font-size:16px;margin-bottom:8px}.consent>div{display:flex;gap:12px}.consent button{border:1px solid var(--ink);background:var(--paper);padding:9px 14px;font-size:12px;border-radius:3px}.consent button:last-child{background:var(--ink);color:white}
@media(max-width:1100px){.container{width:calc(100% - 56px)}.nav-wrap{gap:22px}#main-nav{gap:17px}#main-nav a{font-size:12px}.header-phone{padding:9px 12px;font-size:14px}.brand,.brand img{width:140px}.hero{gap:28px}.hero h1{font-size:53px}.hero-photo{height:470px}.hero .button{font-size:12px;padding:12px 15px}.story-grid,.coverage-grid,.faq-grid{gap:45px}.detail-layout{gap:40px;grid-template-columns:minmax(0,1fr) 300px}.split-hero{gap:40px}.footer-grid{gap:25px}.contact-grid{gap:45px}.guide-card{padding:25px}}
@media(max-width:900px){.header-phone{display:none}#main-nav{justify-content:flex-end}.hero h1{font-size:47px}.hero-photo{height:435px}.hero .eyebrow{font-size:9px}.hero .hero-lead{font-size:15px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-grid{gap:35px}.story-grid h2{font-size:35px}.story-photo img{height:380px}.project-photo img{height:230px}.project-card h2,.project-card h3{font-size:20px}.coverage-grid{gap:35px}.coverage-grid h2{font-size:35px}.review-callout{flex-wrap:wrap}.review-callout>.button{margin-left:114px}.faq-grid{gap:35px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 60px}.detail-layout{grid-template-columns:1fr}.service-aside{position:static;max-width:none}.service-aside .button{max-width:350px}.service-aside .text-link{margin-left:20px}.split-hero{gap:30px}.split-hero h1{font-size:40px}.detail-photo img{height:350px}.contact-grid{gap:35px}.quote-panel{padding:27px}.big-phone{font-size:30px}.email-address{font-size:18px}.guide-grid{grid-template-columns:1fr}.guide-card{padding:30px}.full-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail{gap:35px}.closing-cta h2{font-size:42px}}
@media(max-width:700px){html{scroll-padding-top:88px}.container{width:calc(100% - 40px)}body{padding-bottom:58px}.topbar .container{min-height:33px;justify-content:center;font-size:10px}.topbar .container>span{display:none}.nav-wrap{min-height:78px;justify-content:space-between;flex-wrap:wrap;gap:0}.brand,.brand img{width:125px}.brand img{height:68px}.js .menu-toggle{display:flex;align-items:center;gap:14px;background:none;border:1px solid var(--line);padding:9px 13px;font-size:12px;border-radius:3px;min-height:44px;color:var(--ink)}#main-nav{flex:0 0 100%;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:0;padding-bottom:15px}.js #main-nav{display:none}.js #main-nav.is-open{display:flex}#main-nav a{flex:0 0 50%;font-size:14px;padding:12px 0}#main-nav .nav-contact{display:block}.hero{grid-template-columns:1fr;gap:32px;padding-block:30px 42px}.hero-copy{padding:0}.hero .eyebrow{font-size:10px;margin-bottom:20px}.hero h1{font-size:clamp(40px,8vw,56px);letter-spacing:-.05em}.hero .hero-lead{font-size:16px;margin-top:20px}.hero .button{font-size:12px;padding:12px 15px}.hero-note{margin-top:15px}.hero-visual{padding-right:14px;margin-left:12px}.hero-photo{height:340px}.photo-label{bottom:18px;left:-12px;min-width:235px;padding:16px 18px}.photo-label strong{font-size:23px}.vertical-note{right:-3px;font-size:8px}.proof-strip .container{padding-block:17px;gap:14px;grid-template-columns:1fr}.proof-strip span{text-align:left;border:0;font-size:12px}.proof-strip b{margin-right:15px}.section{padding-block:52px}.section-heading{display:block;margin-bottom:28px}.section-heading h2{font-size:35px}.section-heading>p{margin-top:20px;max-width:none;font-size:15px}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:217px;padding:20px 17px 43px}.service-card h3{font-size:20px}.service-card p{font-size:12px}.service-number{font-size:9px;margin-bottom:22px}.section-end{display:block}.section-end>span{display:block;margin-top:8px}.section-end>.text-link{display:flex;justify-content:space-between;width:fit-content}.story-section{padding-block:50px}.story-grid{grid-template-columns:1fr;gap:35px}.story-photo img{height:310px}.story-grid h2{font-size:38px}.project-grid{grid-template-columns:1fr;gap:25px}.project-photo img{height:320px}.project-card .eyebrow{margin-top:17px}.project-card h2,.project-card h3{font-size:25px}.coverage-section{padding-block:52px}.coverage-grid{grid-template-columns:1fr;gap:35px}.coverage-grid h2{font-size:35px}.area-list{column-gap:22px}.area-list>span{font-size:13px}.review-callout{gap:22px;padding-block:30px}.google-mark{font-size:45px;padding:10px 15px}.review-callout>div{flex:1}.review-callout h2{font-size:28px}.review-callout>.button{margin-left:0}.faq-grid{grid-template-columns:1fr;gap:30px}.faq-grid h2{font-size:37px}.faq-list summary{font-size:15px;padding-block:19px}.closing-cta{padding-block:50px}.closing-cta .container{display:block}.closing-cta h2{font-size:41px}.closing-cta .container>div:last-child{margin-top:30px;max-width:300px}.closing-cta .button{width:100%}.cta-phone{text-align:left}.site-footer{padding-top:45px}.footer-grid{gap:35px 25px}.footer-brand{grid-column:1/-1}.footer-grid>div:nth-child(3){grid-column:1/-1;grid-row:2}.footer-grid h2{margin-bottom:14px}.footer-grid>div:not(:first-child)>a{font-size:13px;min-height:38px}.footer-bottom{flex-wrap:wrap;gap:12px 20px;margin-top:30px;font-size:11px}.footer-bottom>span:nth-child(2){margin-right:0}.mobile-contact{position:fixed;z-index:40;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;background:var(--paper);border-top:1px solid var(--line);min-height:58px;padding-bottom:env(safe-area-inset-bottom)}.mobile-contact a{display:flex;align-items:center;justify-content:center;gap:16px;text-decoration:none;font-size:12px;font-weight:600}.mobile-contact a:last-child{background:var(--rust);color:white}.page-hero{padding-top:24px;padding-bottom:32px}.page-hero h1{font-size:clamp(39px,8vw,52px)}.breadcrumbs{font-size:10px;margin-bottom:28px}.split-hero{grid-template-columns:1fr;gap:30px}.split-hero h1{font-size:44px}.hero-lead{font-size:17px}.detail-photo img{height:320px}.detail-layout{gap:35px}.detail-layout article>h2{font-size:30px}.service-aside{padding:26px}.service-aside .text-link{margin-left:0;display:flex;width:fit-content}.coverage-panel{padding:27px}.project-detail{grid-template-columns:1fr}.project-detail h2{font-size:32px}.project-feature img{max-height:500px}.comparison{grid-template-columns:1fr}.comparison img{height:310px}.full-gallery{gap:26px 16px}.full-gallery img{height:240px}.full-gallery figcaption{font-size:12px}.values-grid{grid-template-columns:1fr;gap:25px}.values-grid h3{font-size:30px;margin-top:15px}.gallery-banner{padding:30px 23px}.gallery-banner h2{font-size:30px}.contact-grid{grid-template-columns:1fr;gap:20px}.contact-block{padding-bottom:25px;margin-bottom:25px}.big-phone{font-size:36px}.email-address{font-size:20px}.form-row{grid-template-columns:1fr;gap:0}.quote-panel{padding:25px}.quote-panel h2{font-size:31px}.article-body{padding-bottom:50px}.article-body h2{font-size:30px}.article-body p{font-size:16px}.error-page{padding-block:70px}.error-page .text-link{margin:20px 0 0;display:flex}.consent{bottom:75px;padding:22px}.eyebrow{font-size:10px}}
.draft-fields{border:0;margin:0;padding:0;min-width:0}
.active-section{color:var(--rust)}
input,select,textarea{border-color:#7c8678}
.topbar a,.breadcrumbs a,.footer-bottom>a,.privacy-settings{display:inline-flex;align-items:center;min-height:24px;min-width:24px}
#main-nav>a{min-height:24px;align-content:center}
:focus-visible{outline:3px solid var(--rust);outline-offset:5px;box-shadow:0 0 0 5px var(--paper)}
:where(a,button,input,select,textarea,summary,[tabindex]){scroll-margin-block:125px 90px}
html{scroll-padding-bottom:max(90px,var(--consent-clearance,0px))}
body.consent-visible{padding-bottom:var(--consent-clearance)}
@media(max-width:700px){body{padding-bottom:calc(58px + env(safe-area-inset-bottom))}.mobile-contact a{min-height:58px}.consent{bottom:calc(75px + env(safe-area-inset-bottom));max-height:65vh;overflow:auto}:where(a,button,input,select,textarea,summary,[tabindex]){scroll-margin-top:100px}}
@media(max-width:360px){.container{width:calc(100% - 32px)}.hero h1{font-size:40px}.hero .button-row{display:grid;grid-template-columns:1fr}.hero .button{font-size:13px}.hero-photo{height:290px}.service-grid{grid-template-columns:1fr}.service-card{min-height:190px}.service-card h3{font-size:23px}.full-gallery{grid-template-columns:1fr}.area-list{grid-template-columns:1fr}.split-hero h1{font-size:39px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Modern flush sectional panels: broad surfaces and continuous horizontal reveals. */
.service-grid{position:relative;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0;border:1px solid #d4d8ce;border-radius:4px;background:var(--paper);box-shadow:0 6px 18px #273c3506}
.service-card{min-height:184px;padding:28px 34px 44px;border:0;border-right:1px solid #e0e3da;border-bottom:1px solid #bfc8ba;background:linear-gradient(180deg,#fffefa 0%,#f5f4ed 100%);box-shadow:inset 0 1px 0 #fff;transition:background .18s,transform .18s}
.service-card:nth-child(2n){border-right:0}
.service-card:last-child:nth-child(odd){grid-column:1 / -1;border-right:0}
.service-card:before{content:'';position:absolute;inset:auto 0 5px;height:1px;background:#e5e8df;pointer-events:none}
.service-card:after{content:none}
.service-card .service-number{margin-bottom:19px;letter-spacing:.14em}
.service-card h3{max-width:none;font-size:25px;margin-bottom:9px}
.service-card p{max-width:430px}
.service-card .card-arrow{right:30px;bottom:19px;font-size:22px;line-height:1}
.service-card:hover{background:linear-gradient(180deg,#fffefa 0%,#ebeee4 100%)}
.service-card:focus-visible{z-index:2;outline:3px solid var(--rust);outline-offset:3px;box-shadow:0 0 0 5px var(--paper)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.service-card:hover{transform:translateY(-2px)}}
@media(prefers-reduced-motion:no-preference){.service-card:focus-visible{transform:translateY(-2px)}}
@media(max-width:700px){.service-grid{grid-template-columns:1fr}.service-card{min-height:167px;padding:24px 25px 40px;border-right:0}.service-card h3{font-size:23px}.service-card p{font-size:14px}.service-card .service-number{font-size:10px;margin-bottom:16px}.service-card .card-arrow{right:24px;bottom:17px}}
.guide-safety{border:1px solid #d3c3b5;border-left:4px solid var(--rust);background:var(--cream);padding:26px 28px;margin-bottom:36px}
.guide-safety h2{font-size:26px;margin:0 0 15px}.guide-safety p,.guide-safety li{font-size:15px;line-height:1.65}.guide-safety ul{margin:18px 0;padding-left:21px}.guide-safety .text-link{font-size:14px}

/* Preserve project-card typography at either semantic heading level. */
.project-card h2{line-height:1.1;letter-spacing:-.025em}

/* Homepage local intent and the existing brand tagline. */
.hero .hero-copy h1{font-size:clamp(38px,4.1vw,60px);margin-bottom:14px}
.hero .hero-tagline{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:clamp(34px,3.8vw,54px);line-height:1.1;letter-spacing:-.05em;color:var(--rust);margin:0}

/* Spring-service detail uses the existing panel seams and quiet inset framing. */
.spring-options,.spring-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.spring-options{border:1px solid var(--line);background:var(--paper);margin:24px 0}
.spring-options>section{padding:24px;box-shadow:inset 0 0 0 5px var(--cream)}
.spring-options>section+section{border-left:1px solid var(--line)}
.spring-options h3{font-size:22px;margin-top:0}
.spring-options p:last-child{margin-bottom:0}
.spring-photos{gap:32px}
.spring-photos figure{margin:0;min-width:0}
.spring-photos img{display:block;width:100%;height:380px;object-fit:contain;background:var(--cream)}
.spring-photos figcaption{font-size:15px;line-height:1.7;padding-top:16px}
.spring-detail .guide-safety h2{margin-top:0}
@media(max-width:700px){.spring-options,.spring-photos{grid-template-columns:1fr}.spring-options>section+section{border-left:0;border-top:1px solid var(--line)}.spring-photos img{height:auto}}

/* Editorial service sections retain the existing service-page rhythm. */
.service-depth article>section{margin-top:44px}
.service-depth article>section>h2{font-size:34px}
.service-depth .guide-safety h2{margin-top:0}
.service-depth article>h2:first-of-type{margin-top:44px}
.service-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.service-photos figure{margin:0;min-width:0}
.service-photos figure:only-child{max-width:700px;grid-column:1/-1}
.service-photos img{display:block;width:100%;height:350px;object-fit:contain;background:var(--cream)}
.service-photos figcaption{font-size:15px;line-height:1.7;padding-top:16px}
@media(max-width:700px){.service-photos{grid-template-columns:1fr}.service-photos img{height:auto}.service-depth article>section>h2{font-size:28px}}

/* Focused discovery additions reuse the existing palette and static layout. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.problem-finder{padding-block:42px;border-block:1px solid var(--line)}
.problem-finder h2{font-size:clamp(28px,3vw,40px)}
.problem-finder>p{max-width:700px}
.problem-finder details{border-top:1px solid var(--line)}
.problem-finder summary{min-height:56px;font-weight:600;cursor:pointer}
.problem-links{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 36px}
.problem-links li{padding:12px 0;border-top:1px solid var(--line);margin:0;min-width:0}
.problem-links .text-link{display:flex;justify-content:space-between;min-height:44px;align-items:center;margin:0}
.problem-links li>span{display:block;font-size:13px;color:var(--muted)}
.problem-note{font-size:14px;padding:24px 0}
.directory-card{padding:28px 32px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}
.directory-card:nth-child(odd){border-right:1px solid var(--line)}
.directory-card h3{font-size:25px}.directory-card p{font-size:15px}
.directory-card .text-link{margin-top:auto;min-height:44px;display:inline-flex;align-items:center}
.footer-services{display:flex;flex-wrap:wrap;gap:8px 28px;border-top:1px solid #ffffff30;margin-top:30px;padding-top:24px}
.footer-services a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.feedback-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:65px;border-top:1px solid var(--line)}
.feedback-layout h2{font-size:32px}.feedback-layout .button-row{margin-bottom:38px}
.feedback-layout aside{background:var(--cream);padding:30px}
.feedback-layout aside>p{margin-top:20px}
.full-gallery figure{scroll-margin-top:125px}
.full-gallery figcaption .text-link{display:flex;min-height:44px;align-items:center;font-size:13px;margin-top:8px}
/* Keep a service action available where the header phone is hidden, including tablets. */
@media(max-width:900px){
  .mobile-contact{position:fixed;z-index:40;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;background:var(--paper);border-top:1px solid var(--line);min-height:calc(59px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}
  .mobile-contact a{display:flex;align-items:center;justify-content:center;min-height:58px;padding:8px 10px;gap:8px;text-decoration:none;font-size:12px;font-weight:600}
  .mobile-contact a:last-child{background:var(--rust);color:white}
  .mobile-contact a:focus-visible{outline-offset:-6px;box-shadow:none;outline-color:currentColor}
  body{padding-bottom:calc(77px + env(safe-area-inset-bottom))}
  html{scroll-padding-bottom:max(calc(90px + env(safe-area-inset-bottom)),var(--consent-clearance,0px))}
  .consent{bottom:calc(75px + env(safe-area-inset-bottom));max-height:65vh;overflow:auto}
}
@media(max-width:700px){
  .problem-links,.feedback-layout{grid-template-columns:1fr}.feedback-layout{gap:30px}
  .directory-card{padding:24px}.directory-card:nth-child(odd){border-right:0}
  .footer-services{gap:4px 24px}.full-gallery figure{scroll-margin-top:100px}
}
