/* Residential stories on the landing; services and comparisons on renovation. */
.home-residential{padding-block:48px;background:var(--surface)}
.residential-heading,.renovation-services-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;align-items:end}
.residential-heading h2{font-size:clamp(28px,3vw,44px);line-height:1.4;margin:0}
.residential-heading>.text-link{justify-self:end}
.residential-services,.service-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:32px}
.residential-services>a,.service-types>article{border-top:1px solid var(--line);padding-top:18px;min-width:0}
.residential-services span{display:block;font-size:1.125rem;line-height:1.7}
.residential-services small{display:block;font-size:.875rem;line-height:1.8;color:var(--muted);margin-top:8px}
.residential-services a:hover>span{color:var(--accent)}
.page-home .renovation-journey{margin-top:0}
.renovation-services{padding-block:16px 40px;scroll-margin-top:calc(var(--header-height) + 20px)}
.renovation-services h1{font-size:clamp(36px,4vw,60px);line-height:1.35;margin:0}
.renovation-services-heading>p{font-size:1rem;line-height:1.9;color:var(--muted);max-width:43ch;margin:0}
.service-types h2{font-size:1.125rem;line-height:1.7;margin:0 0 10px}
.service-types p{font-size:1rem;line-height:1.85;color:var(--muted);margin:0}
.renovation-services .page-sections{margin-top:28px}
.desktop-nav{gap:clamp(18px,2vw,28px);font-size:.875rem}
.header-inner{gap:24px}
.mobile-menu a{font-size:1.5rem;padding:13px 0;min-height:48px}
.breadcrumb{font-size:.875rem;line-height:1.8;flex-wrap:wrap}
.breadcrumb a{padding-block:5px}
.breadcrumb a:hover{color:var(--accent)}
.hero--build .hero-heading-copy{max-width:390px}
.hero--build .hero-summary{font-size:clamp(16px,1.3vw,19px);line-height:1.8;max-width:30ch}
.hero-explore{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:48px;max-width:100%;padding:8px 0;margin-top:16px;border-bottom:1px solid var(--accent);font-size:1rem;line-height:1.7;color:var(--ink);overflow-wrap:anywhere}
.hero-explore>span{flex-shrink:0;color:var(--accent);font-size:21px}
.hero-explore:hover{color:var(--accent)}
.hero--build .build-hint{font-size:.8125rem;margin-top:18px;line-height:1.7}
.directions-heading>.text-link{justify-self:end;align-self:end}
.destination-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.destination-card{min-width:0;border-top:1px solid var(--line);padding-top:18px}
.destination-link{display:block}
.destination-visual{display:block;position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--paper)}
/* Reuse each approved atlas's finished frame without generating new imagery. */
.destination-visual>img{position:absolute;width:202%;height:202%;max-width:none;left:-101.5%;top:-101.5%;display:block}
.destination-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px}
.destination-heading h3{font-size:clamp(25px,2.6vw,36px);line-height:1.5;margin:0}
.destination-heading>span{font-size:28px;color:var(--accent)}
.destination-link p{font-size:1rem;color:var(--muted);line-height:1.85;max-width:50ch;margin:13px 0 16px}
.destination-cta{display:inline-block;color:var(--accent);font-size:.875rem;line-height:1.8;border-bottom:1px solid var(--line);padding-bottom:8px}
.destination-link:hover h3{color:var(--accent)}
.destination-link:hover .destination-cta{border-color:var(--accent)}
.destination-topics{display:flex;flex-wrap:wrap;gap:4px 24px;border-top:1px solid var(--line);margin-top:20px;padding-top:8px}
.destination-topics a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;line-height:1.7;color:var(--muted);text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--line)}
.destination-topics a:hover{color:var(--accent);text-decoration-color:var(--accent)}
.destination-note{font-size:.8125rem;line-height:1.8;color:var(--muted);margin:16px 0 0}
.page-home .signature-heading{align-items:center}
.page-home .signature-heading>.text-link{font-size:.875rem}
.footer-nav{display:grid;grid-template-columns:180px 1fr;gap:30px;border-top:1px solid var(--line);padding-block:22px}
.footer-nav>span{font-size:.875rem;color:var(--muted);padding-block:11px}
.footer-nav>div{display:flex;flex-wrap:wrap;gap:4px 28px}
.footer-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;line-height:1.8}
.footer-nav a:hover,.footer-nav a[aria-current]{color:var(--accent);text-decoration:underline;text-underline-offset:6px}
.page-next{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6vw;padding-block:34px}
.page-next>a{display:block;border-top:1px solid var(--line);padding-top:18px;min-width:0}
.page-next small{display:block;font-size:.875rem;line-height:1.7;color:var(--muted);margin-bottom:10px}
.page-next a>span{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-size:clamp(18px,1.8vw,25px);line-height:1.7}
.page-next b{font-weight:400;color:var(--accent)}
.page-next a:hover>span{color:var(--accent)}
.office-jump-links{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:14px}
.office-jump-links a,.process-directions a{font-size:.875rem;line-height:1.8;min-height:44px;display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid var(--line)}
.office-jump-links a:hover,.process-directions a:hover{color:var(--accent);border-color:var(--accent)}
.page-commercial .office-heading{padding-top:16px}
.process-intro{display:grid;grid-template-columns:1fr 1fr;gap:8px 8vw;padding-top:12px}
.process-intro>.eyebrow{grid-column:1;margin-bottom:8px}
.process-intro h1{grid-column:1;grid-row:2/4}
.process-intro>p:not(.eyebrow){grid-column:2;grid-row:2;margin:0;align-self:end}
.process-directions{grid-column:2;grid-row:3;display:flex;flex-wrap:wrap;align-items:start;gap:10px 28px}
.process-directions a{font-size:1rem}
.process-directions span{color:var(--accent)}
/* The complete residential renovation story now lives with its service category. */
.page-residential .renovation-journey{margin-top:0}
.page-sections{display:flex;flex-wrap:wrap;gap:6px 24px;margin-top:24px;padding-block:8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.page-sections a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;line-height:1.7;color:var(--ink);overflow-wrap:anywhere}
.page-sections a:hover,.page-sections a:focus-visible{color:var(--accent)}
.about-sections{margin-top:0;margin-bottom:12px}
.residential-construction{background:var(--surface);padding-block:42px;scroll-margin-top:calc(var(--header-height) + 20px)}
.construction-summary,.comparison-heading{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}
.construction-summary h2,.comparison-heading h2{font-size:clamp(28px,3vw,43px);line-height:1.45;margin:0}
.construction-summary p:not(.eyebrow),.comparison-heading>p{font-size:1rem;line-height:1.9;color:var(--muted);margin:0;max-width:48ch}
.construction-summary .text-link{margin-top:16px;gap:28px}
.interior-comparison-section{padding-block:52px;background:var(--paper);scroll-margin-top:calc(var(--header-height) + 24px)}
.comparison-heading{margin-bottom:28px}
.interior-comparison-section .renovation-comparison{max-width:none;margin-inline:0;width:100%;padding:0;border:0;background:transparent}
.interior-comparison-section .renovation-canvas{mix-blend-mode:normal}
.section-finish{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 24px;padding-block:24px}
.section-finish a{display:inline-flex;gap:24px;align-items:center;min-height:44px;font-size:.875rem;line-height:1.8}
.section-finish a:hover{color:var(--accent)}
.section-finish span{color:var(--accent)}
.company-process{border-top:1px solid var(--line);scroll-margin-top:calc(var(--header-height) + 20px)}
.commercial-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:7vw;align-items:end;padding-block:16px 42px}
.commercial-intro h1{font-size:clamp(35px,3.8vw,58px);line-height:1.4;margin:0}
.commercial-intro>div>p:not(.eyebrow){font-size:1rem;line-height:1.9;color:var(--muted);max-width:45ch}
.page-commercial .office-heading{padding-top:38px}
.office-heading h2{font-size:clamp(30px,3vw,44px);line-height:1.45}
#office-visual,#renovation{scroll-margin-top:calc(var(--header-height) + 20px)}
.renovation-journey .reno-figure{position:relative}
.reno-load-status{display:none}
.renovation-journey.is-loading .reno-load-status,.renovation-journey.is-load-error .reno-load-status{display:flex;position:absolute;inset:0 0 auto;aspect-ratio:3/2;z-index:6;align-items:center;justify-content:center;padding:24px;margin:0;background:var(--slate);color:var(--room-muted);font-size:.875rem;line-height:1.8;text-align:center}
@media(min-width:1101px){.desktop-nav,.header-contact{display:flex}.menu-toggle{display:none}}
@media(max-width:1100px){.desktop-nav,.header-contact{display:none}.menu-toggle{display:block;margin-left:auto}}
@media(max-width:760px){
 .home-residential{padding-block:32px}
 .residential-heading,.renovation-services-heading{grid-template-columns:1fr;gap:20px}
 .residential-heading>.text-link{justify-self:start}
 .residential-services,.service-types{grid-template-columns:1fr;gap:20px;margin-top:24px}
 .residential-services>a,.service-types>article{padding-top:14px}
 .renovation-services{padding-block:8px 28px}
 .hero--build .hero-heading-copy{max-width:none}
 .hero-explore{margin-top:10px}
 .directions-heading>.text-link{justify-self:start;margin-top:2px}
 .destination-grid{grid-template-columns:1fr;gap:28px}
 .destination-card{padding-top:14px}
 .destination-heading{margin-top:14px}
 .destination-link p{margin:10px 0 12px}
 .destination-topics{margin-top:14px;gap:4px 20px}
 .page-sections{gap:4px 20px;margin-top:20px}
 .about-sections{margin-top:0}
 .construction-summary,.comparison-heading{grid-template-columns:1fr;gap:20px}
 .commercial-intro{grid-template-columns:1fr;gap:16px;padding-block:4px 30px}
 .commercial-intro h1{font-size:clamp(31px,7.3vw,48px)}
 .page-commercial .office-heading{padding-top:28px}
 .residential-construction,.interior-comparison-section{padding-block:36px}
 .comparison-heading{margin-bottom:24px}
 .footer-nav{grid-template-columns:1fr;gap:0;padding-block:16px}
 .footer-nav>span{padding:0 0 8px}
 .footer-nav>div{display:grid;grid-template-columns:1fr 1fr;gap:2px 20px}
 .page-next{grid-template-columns:1fr;gap:26px;padding-block:30px}
 .process-intro{display:block;padding-top:8px}
 .process-intro>p:not(.eyebrow){margin:20px 0 12px}
 .process-directions{gap:12px 28px}
 .office-jump-links{gap:8px 20px}
}
