/* CMD / Readability release, September 2026. Shared across all page templates. */
:root{--step--1:1rem;--step-0:1.125rem;--slate:#555e54}
body{font-size:1.125rem;line-height:1.7;letter-spacing:0}
p{max-width:65ch}
.btn,.btn--sm,.modern-hero .btn,.modern-hero .text-link,.text-link,.work-bottom .text-link{font-size:1rem;line-height:1.4;min-height:50px;font-weight:600;letter-spacing:0}
.btn{padding:14px 22px}.btn-row{gap:12px 18px}
.eyebrow,.plate-meta,.section-number,.modern-hero .eyebrow,.project-tile__meta .plate-meta,.pcard__kicker,.service-index__no,.facts-grid dt{font-size:.8125rem;line-height:1.7;letter-spacing:.075em}
.caption,.photo-hero__caption,.modern-hero__foot,.modern-hero__label small,.modern-services__detail figcaption,.review figcaption,.reviews__note,.image-open-label,.cmd-lightbox__caption,.cmd-lightbox__counter,.cmd-lightbox__original,.estimate-note p,small{font-size:.875rem;line-height:1.65;letter-spacing:0}
.modern-hero__copy>p,.modern-services__intro>p,.modern-process-grid>div>p,.modern-location p,.section-aside p,.project-tile__meta p,.photo-hero .lede,.case-title .lede,.lead-copy p,.modern-estimate .muted{font-size:1.125rem;line-height:1.7}
.modern-signature,.work-bottom,.project-tile__link,.facts-grid dd,.contact-prep li,.contact-facts,.contact-prep h2,.fine-list li,.case-observed li,.process__step p,.faq p,.breadcrumb,.breadcrumbs{font-size:1rem;line-height:1.7;letter-spacing:0}
.faq summary{font-size:1.125rem;line-height:1.5;min-height:72px}.faq summary::after{flex:none}
.nav__list a{font-size:1rem;min-height:46px;display:flex;align-items:center;font-weight:500}
.site-header__phone{font-size:1.125rem;font-weight:600;line-height:1.4;min-height:46px;display:inline-flex;align-items:center;text-decoration:none;white-space:nowrap}
.mobile-header-phone{font-size:1rem;font-weight:600;min-height:46px;align-items:center;white-space:nowrap}
.site-header__actions{gap:16px}.site-header__inner{gap:20px}.menu-btn{min-height:46px;font-size:1rem;gap:10px}
body[data-cmd-modern] .lead-form__steps{font-size:.9375rem;line-height:1.6;letter-spacing:0}
body[data-cmd-modern] .lead-form .field label{font-size:1rem;line-height:1.6}
body[data-cmd-modern] .lead-form .field :is(input,select,textarea){font-size:1.0625rem;line-height:1.5;min-height:54px}
body[data-cmd-modern] .lead-form .field small,.lead-form__fine{font-size:.9375rem;line-height:1.7}
body[data-cmd-modern] .lead-form .checkbox{font-size:.9375rem!important;line-height:1.7;min-height:44px;align-items:start;padding-block:5px;cursor:pointer}
body[data-cmd-modern] .lead-form .checkbox input{min-height:22px;height:22px;width:22px;margin-top:3px}
.lead-form__error{font-size:1rem}.lead-form__head::before{font-size:.8125rem;line-height:1.6;letter-spacing:.06em}
.lead-form__fine a[href^="tel:"]{font-size:1.0625rem;white-space:nowrap;display:inline-flex;align-items:center;min-height:44px}
[data-lead-form]:not([data-js]) :is([data-next],[data-back]){display:none}
.footer__brand p,.footer__col a{font-size:1rem;line-height:1.6}.footer__col h2{font-size:1rem;line-height:1.6;letter-spacing:.025em}.footer__fine,.footer__bottom,.footer__coverage{font-size:.9375rem;line-height:1.7;color:#d0d6cd}
.footer__col a{min-height:44px;display:inline-flex;align-items:center}.footer__phone{font-size:clamp(1.5rem,2.2vw,2rem);min-height:48px;line-height:1.5;font-weight:500}
.mobile-cta a{font-size:1rem;min-height:58px;line-height:1.4;letter-spacing:0}
.modern-phone small{font-size:1rem}.modern-phone>span{font-size:clamp(1.65rem,2.5vw,2.25rem)}
.process__n{width:38px;height:38px;font-size:.875rem}.process__step{grid-template-columns:38px 1fr}.process__step p{max-width:38ch}
.chip{font-size:1rem!important;min-height:48px!important;line-height:1.4!important;padding:12px 18px!important}
.pcard__title,.project-editorial-grid .pcard__title{font-size:1.45rem;line-height:1.25}
.contact-call strong{font-size:clamp(1.8rem,2.6vw,2.5rem)}.contact-call{min-height:56px}.contact-facts a{min-height:44px;display:inline-flex;align-items:center}
.seo-service-context{font-size:1rem;color:var(--slate);margin:0 0 24px;max-width:60ch}
.cmd-lightbox__actions{flex-wrap:wrap}.cmd-lightbox__actions :is(a,button){min-height:44px;font-size:.9375rem}.cmd-lightbox__bar{flex-wrap:wrap;gap:12px}
.prod-note{font-size:1rem}.prod-note strong{font-size:.875rem}
@media(min-width:1024px) and (max-width:1199px){.nav__list{gap:14px}.site-header__actions{gap:12px}.site-header__cta{display:none}}
@media(max-width:1023px){.site-header__phone{display:none}.mobile-header-phone{display:inline-flex}.site-header__inner{gap:12px}.nav__list a{font-size:1.125rem;min-height:50px}.menu-btn{display:inline-flex;align-items:center}}
@media(max-width:767px){
 :root{--gutter:20px} body{padding-bottom:calc(58px + env(safe-area-inset-bottom));font-size:1.0625rem}
 .site-header__inner{min-height:84px;gap:10px}.brand{min-width:58px;min-height:70px}.brand__logo{height:58px}.site-header__actions{gap:10px}.menu-btn{min-width:72px;padding:10px}
 .modern-hero__copy{padding:34px 22px 30px}.modern-hero .eyebrow{margin-bottom:24px}.modern-hero__copy>p{font-size:1.0625rem}
 .modern-hero .btn-row{gap:12px 18px}.modern-hero .btn{font-size:1rem;padding:14px 19px}.modern-hero .text-link{font-size:1rem}
 .modern-hero__foot{font-size:.9375rem;margin-top:24px}.modern-hero__label{padding:14px 16px}.modern-hero__label small{font-size:.875rem}.modern-hero__label strong{font-size:1.125rem}
 .modern-signature{font-size:.9375rem;gap:12px;flex-wrap:wrap}.modern-signature a{font-size:1rem;min-height:44px}
 .service-index a{grid-template-columns:24px 1fr 72px 26px;gap:10px}.service-index :is(h2,h3){font-size:1.25rem;line-height:1.3}.service-index--full a{grid-template-columns:25px 1fr 27%;gap:12px}
 .process__step p,.contact-prep li,.contact-facts,.case-title .lede,.case-story .prose>p,.case-observed li{font-size:1.0625rem}
 .facts-grid dt{font-size:.8125rem}.facts-grid dd{font-size:1rem}.facts-grid{grid-template-columns:1fr 1fr;gap:22px}
 .pcard__kicker{font-size:.8125rem}.project-editorial-grid .pcard__title{font-size:1.25rem}
 .footer__grid{gap:32px 20px}.footer__col{min-width:0}.footer__col a{overflow-wrap:anywhere}.footer__fine,.footer__bottom,.footer__coverage{font-size:.9375rem}
 body[data-cmd-modern] .lead-form{padding:26px 20px}.modern-services__detail figcaption{font-size:.875rem}.section-aside p{font-size:1.0625rem}
 .image-open-label{font-size:.9375rem}.modern-location__inner{gap:28px}.work-bottom{flex-wrap:wrap;gap:12px}
 .cmd-lightbox__original{font-size:.9375rem}.cmd-lightbox__actions{gap:6px}.cmd-lightbox__bar{align-items:flex-start}
}
@media(max-width:359px){:root{--gutter:14px}.site-header__inner{gap:6px}.brand{min-width:48px}.brand__logo{height:51px}.mobile-header-phone{font-size:1rem}.site-header__actions{gap:7px}.menu-btn{min-width:66px;font-size:.9375rem;padding:9px}.menu-btn__bars{display:none}.modern-hero__copy{padding-inline:18px}.modern-hero h1{font-size:2.65rem}.service-index a{grid-template-columns:22px 1fr 60px;gap:10px}.service-index__arrow{display:none}.facts-grid{grid-template-columns:1fr}.footer__grid{column-gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(forced-colors:active){a,button,input,select,textarea,summary{forced-color-adjust:auto}.btn{border:1px solid ButtonText}}

.extra-photos{margin-top:12px}.extra-photos summary{min-height:48px;display:list-item;font-size:1rem;cursor:pointer;padding:12px 0}.extra-photos .field{margin:16px 0}.extra-photos input{max-width:100%}
/* Specific editorial selectors override earlier smaller captions, not the content hierarchy. */
body[data-cmd-modern] .text-link,body[data-cmd-modern] .section-aside .text-link{font-size:1rem;line-height:1.5;min-height:48px}
body[data-cmd-modern] .process__step p{font-size:1rem;line-height:1.65}
body[data-cmd-modern] .modern-testimonial .eyebrow{font-size:.875rem;line-height:1.65}
body[data-cmd-modern] .reviews .review figcaption,body[data-cmd-modern] .reviews .review figcaption a,body[data-cmd-modern] .reviews .review figcaption strong{font-size:1rem;line-height:1.65}
body[data-cmd-modern] .reviews .review figcaption a{display:inline-flex;align-items:center;min-height:44px}
body[data-cmd-modern] .contact-call>span{font-size:.875rem;line-height:1.6;letter-spacing:.06em}
body[data-cmd-modern] .crumbs,body[data-cmd-modern] .crumbs :is(a,span,li){font-size:.9375rem;line-height:1.7}
body[data-cmd-modern] .crumbs a{display:inline-flex;align-items:center;min-height:44px}
body[data-cmd-modern] .svc-legal{font-size:1rem;line-height:1.7}
