/* Final shared proportions: warm paper, consistent charcoal, red functional accents. */
:root{--dark:#20231f;--soft:#f1eee6}
.section{padding-block:clamp(34px,3.8vw,52px)}
.page-intro{padding-block:18px 26px}
.media-intro{padding-bottom:0}
.breadcrumb{margin-bottom:20px}
.tag>span,.yellow-rule,.before-after-band .tag>span,.facebook-copy .tag>span{background:var(--action)}
.yellow-rule{width:32px;height:2px}
.roof-chevron{border-color:var(--action-ink);width:25px;height:16px}
.accent{text-decoration-color:var(--action)}
.before-after-band,.home-page .service-tile,.home-page .tile-caption,.contact-information{background:var(--dark)}
.before-after-band{border:0}
.before-after-band .tag,.before-after-band h2 em{color:var(--paper)}
.before-after-band .section-heading>p{color:#d1d2c9;font-size:16px}
.picture{background:#eae6dd}
.opening-photo>.picture{border:0}
.photo-pair .comparison-images{border:1px solid var(--line)}
.before-after-band .comparison-images{border-color:#66695e}
.compare-label{border-radius:0}
.after-label{background:var(--dark)}
.opening-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:6%}
.opening-copy h1{font-size:clamp(36px,3.7vw,52px);line-height:1.1;max-width:19ch}
.opening-copy>p:not(.tag){font-size:16px;line-height:1.75;margin-block:19px;max-width:43ch}
.source-service .opening-photo>.picture{aspect-ratio:1.75}
.source-service-detail{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:6%;padding-block:36px 42px}
.source-service-detail h2{font-size:clamp(27px,2.5vw,34px);margin-top:0}
.source-service-detail p{margin-top:15px}
.source-service-list>li:before{background:var(--action-ink)}
.source-service-list>li{padding-block:14px}
.source-service-detail>div>.tag{margin-bottom:14px}
.source-services{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:6%;padding-bottom:42px}
.source-services .services-visual{position:static;align-self:stretch;display:flex;flex-direction:column}
.source-services .services-visual>.picture{flex:1;min-height:350px;aspect-ratio:auto;height:auto}
.source-services .services-visual img{object-position:50% 100%}
.source-services .service-choice{padding-block:21px}
.source-services .service-choice h2{font-size:26px}
.source-services .service-choice p{font-size:16px;margin-top:7px}
.service-menu{border-top:2px solid var(--action)}
.service-choice-index{color:var(--action-ink)}
.source-reasons:not(.source-reasons-featured):not(.about-reasons){grid-template-columns:minmax(0,.7fr) minmax(0,1.4fr);gap:6%}
.source-reasons:not(.source-reasons-featured):not(.about-reasons) .reasons-benefits>li{display:grid;grid-template-columns:23px minmax(0,1fr);gap:12px;align-items:start;padding:15px 0;font-size:16px;line-height:1.6}
.source-reasons:not(.source-reasons-featured):not(.about-reasons) .reasons-benefits>li:before{content:none}
.source-reasons:not(.source-reasons-featured):not(.about-reasons) .reasons-benefits svg{width:23px;height:23px;margin-top:2px}
.before-after-band>.shell,.service-results>.shell{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:6%;align-items:center}
.before-after-band .section-heading,.service-results .section-heading{display:block;margin:0}
.before-after-band h2,.service-results h2{font-size:clamp(30px,3vw,40px);line-height:1.16}
.before-after-band h2 em,.service-results h2 em{display:block}
.before-after-band .section-heading>p{margin-top:18px;max-width:30ch}
.before-after-band .section-heading .yellow-rule{display:none}
.before-after-band .photo-pair .comparison-images,.service-results .photo-pair .comparison-images{aspect-ratio:1.6}
.service-results{background:var(--soft);padding-block:42px}
.service-results .quiet-link{margin-top:18px}
.reference-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 30px;padding-block:36px 42px}
.reference-pairs>.section-label{grid-column:1/-1;margin:0}
.reference-pairs .photo-pair+.photo-pair{margin:0}
.reference-pairs .photo-pair .comparison-images{aspect-ratio:1.6}
.reference-pairs .photo-pair>figcaption{margin-top:0}
.project-grid,.reference-grid{gap:28px 24px}
.project>.picture,.reference-grid .project>.picture{aspect-ratio:1.6}
.project h3,.reference-grid .project h3{font-size:21px;line-height:1.3}
.project figcaption{padding-block:13px 15px}
.project figcaption p{font-size:13px}
.photo-open{right:10px;bottom:10px}
.source-advice{grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr)}
.source-advice article{border-left:1px solid var(--line);padding-left:20px}
.source-advice p{font-size:16px}
.source-advice h3{font-size:22px}
.source-process li>span{color:var(--action-ink)}
.source-process li p{font-size:16px}
.source-process h3{font-size:21px}
.reference-gallery>.section-label{padding-top:0;border:0}
.facebook-section{background:var(--dark)}
.facebook-feed{border-top:2px solid var(--action)}
.facebook-feed-heading{background:var(--paper)}
.facebook-privacy{font-size:12px}
.facebook-copy h2{font-size:clamp(30px,3vw,40px)}
.facebook-copy>.tag,.facebook-copy>.yellow-rule{display:none}
.facebook-photo{margin-top:24px}
.brief-guide{padding-block:30px}
.home-page .brief-guide{background:var(--dark);color:var(--paper);border-color:#494c43}
.home-page .brief-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.home-page .brief-grid p{color:#cdd0c7;max-width:24ch;margin-inline:auto}
.home-page .brief-grid>article{border-color:#494c43;padding-inline:clamp(14px,2.5vw,30px);text-align:center}
.home-page .brief-grid>article:first-child{border-left:0}
.home-page .brief-grid>article>svg{display:block;color:var(--action-on-dark);margin:0 auto 10px}
.brief-grid h2{font-size:26px}
.brief-grid p{font-size:14px}
.brief-grid h3{font-size:16px}
.about-page .about-profile-photo{align-self:start}
.about-page .about-profile-photo>.picture{flex:none;aspect-ratio:1.45}
.about-page .about-profile-roots{padding-block:20px}
.contact-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-areas:"info form" "map form";grid-template-rows:min-content 1fr;gap:24px 6%;padding-bottom:44px}
.contact-information{grid-area:info;border-top:2px solid var(--action);padding:26px}
.form-panel{grid-area:form;border-color:var(--line);border-width:1px;padding-top:20px}
.contact-phone>a{font-size:30px}
.contact-location{margin-top:23px}
.contact-location>a{font-size:16px}
.form-notice,.legal-note{background:var(--soft);color:var(--ink);border:1px solid var(--line);border-left:3px solid var(--action);font-size:14px}
.form-notice>span{display:none}
.form-field{margin-bottom:18px}
.form-field input,.form-field select,.form-field textarea{border-color:#a5a298;background:#fffefa}
.form-field textarea{min-height:110px}
.form-field textarea::placeholder{color:var(--muted)}
#form-status:empty{margin:0}
#form-status:not(:empty){border-left-color:var(--action)}
.location-compact{grid-area:map;padding:0;background:transparent}
.location-compact .location-map iframe{height:270px}
.location-compact .location-map>p{font-size:12px}
.location-compact .location-actions{margin-top:13px}
.location-compact .action{font-size:14px;gap:20px;min-height:46px;padding:12px 16px}
.location-compact .location-map-link{margin:4px 0 0;font-size:13px}
.legal-content{max-width:850px;margin-bottom:44px}
.legal-content article{margin-top:28px}
.legal-content h2{font-size:27px;line-height:1.25}
.legal-content p{font-size:16px}
body:has(.not-found){min-height:100svh;display:flex;flex-direction:column}
body:has(.not-found)>main{flex:1;display:grid;align-items:center}
.not-found{min-height:0;padding-block:42px 54px}
.not-found h1{font-size:clamp(34px,3.8vw,52px);max-width:20ch}
@media(max-width:1050px){
 .source-services .service-choice h2{font-size:23px}
 .source-services .service-choice p{font-size:15px}
 .before-after-band>.shell,.service-results>.shell{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:5%}
 .before-after-band h2,.service-results h2{font-size:32px}
 .before-after-band .section-heading>p{font-size:15px}
 .contact-information{padding:22px}
 .contact-phone>a{font-size:27px}
 .contact-location>a{font-size:15px}
 .location-compact .location-map iframe{height:260px}
 .about-page .about-profile-photo>.picture{aspect-ratio:1.35}
}
@media(max-width:900px){
 .js .navigation{background:var(--dark);border-color:#494c43}
 .navigation>a{border-color:#494c43}
 .source-services .services-visual>.picture{min-height:380px}
 .source-advice{grid-template-columns:1fr}
 .source-reasons:not(.source-reasons-featured):not(.about-reasons){grid-template-columns:1fr;gap:24px}
 .source-reasons-heading>.yellow-rule{display:none}
 .contact-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:22px 5%}
 .contact-phone>a{font-size:24px;gap:10px}
 .contact-phone svg{width:20px}
 .contact-location>a{font-size:14px;gap:8px}
 .form-columns{grid-template-columns:1fr;gap:16px}
 .location-compact .location-map iframe{height:280px}
}
@media(max-width:650px){
 .home-page .brief-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 0}
 .page-intro{padding-block:14px 24px}
 .media-intro{padding-bottom:0}
 .opening-grid{grid-template-columns:1fr;gap:22px}
 .opening-copy h1{font-size:36px;max-width:none}
 .opening-copy>p:not(.tag){font-size:16px;margin-block:16px;line-height:1.65}
 .source-service .opening-photo>.picture{aspect-ratio:1.7}
 .source-service-detail{grid-template-columns:1fr;gap:24px;padding-block:30px}
 .source-service-detail h2{font-size:27px}
 .source-service-detail p{font-size:16px;line-height:1.7}
 .source-services{grid-template-columns:1fr;gap:26px;padding-bottom:32px}
 .source-services .services-visual>.picture{min-height:0;flex:none;aspect-ratio:1.7}
 .source-services .service-choice{padding-block:17px}
 .source-services .service-choice h2{font-size:24px}
 .source-services .service-choice p{font-size:16px}
 .source-reasons:not(.source-reasons-featured):not(.about-reasons){grid-template-columns:1fr;gap:22px}
 .source-reasons:not(.source-reasons-featured):not(.about-reasons) .reasons-benefits>li{padding-block:15px}
 .before-after-band>.shell,.service-results>.shell{grid-template-columns:1fr;gap:23px}
 .before-after-band h2,.service-results h2{font-size:32px}
 .before-after-band .section-heading>p{font-size:16px;max-width:none;margin-top:13px}
 .before-after-band .photo-pair .comparison-images,.service-results .photo-pair .comparison-images{aspect-ratio:1.3}
 .service-results .section-heading{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:end}
 .service-results .quiet-link{margin:0}
 .reference-pairs{grid-template-columns:1fr;gap:24px;padding-block:30px}
 .reference-pairs .photo-pair .comparison-images{aspect-ratio:1.3}
 .project-grid,.reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
 .home-page .project-grid>.project:first-child{grid-column:1/-1}
 .project>.picture,.reference-grid .project>.picture{aspect-ratio:1.3}
 .home-page .project-grid>.project:first-child>.picture{aspect-ratio:1.7}
 .project h3,.reference-grid .project h3{font-size:17px}
 .project figcaption{gap:6px;padding-block:10px 12px}
 .project figcaption p{font-size:12px;line-height:1.5;margin-bottom:5px}
 .project figcaption>span{display:none}
 .photo-open{width:30px;height:30px;right:7px;bottom:7px}
 .photo-open svg{width:18px;height:18px}
 .source-advice-grid{gap:21px}
 .source-advice h3{font-size:22px}
 .source-advice p{font-size:16px;line-height:1.7}
 .source-process ol{gap:23px}
 .source-process h3{font-size:22px}
 .source-process li p{font-size:16px}
 .about-page .about-profile-photo>.picture{aspect-ratio:1.5}
 .about-page .about-profile-roots{padding-block:17px}
 .contact-layout{grid-template-columns:1fr;grid-template-areas:"info" "form" "map";grid-template-rows:auto auto auto;gap:28px;padding-bottom:32px}
 .contact-information{padding:22px}
 .contact-phone>a{font-size:30px}
 .contact-location>a{font-size:16px}
 .form-panel{padding-top:24px}
 .form-notice{font-size:14px}
 .form-columns{grid-template-columns:1fr 1fr}
 .location-compact .location-map iframe{height:280px}
 .location-compact .location-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}
 .location-compact .location-map-link{font-size:13px}
 .legal-content h2{font-size:25px}
 .legal-content p{font-size:16px}
}
