/* Contractor Studio 0.2.0: four editorial directions, shared native block controls. */
:root{--v2-line:color-mix(in srgb,currentColor 18%,transparent)}
body{font-size:1.0625rem;line-height:1.65}.wp-element-caption{font-size:.9375rem;line-height:1.5;color:var(--wp--preset--color--muted)}
.v2-section{max-width:1280px!important;margin-inline:auto!important;padding-block:clamp(2.5rem,5vw,4.5rem)}
.v2-section>.wp-block-columns,.v2-section>.wp-block-group,.v2-section>.wp-block-image{max-width:none!important}.v2-section+.v2-section{margin-top:0!important}
.v2-section h2{max-width:980px}.v2-section h1,.v2-section h2,.v2-section h3{margin-block:.5em}.v2-section h3{font-size:clamp(1.2rem,2vw,1.5rem)}
.v2-section p{margin-block:1rem}.v2-section .wp-block-columns{gap:clamp(1.5rem,3.5vw,3.5rem)}
.v2-lead{font-size:clamp(1.125rem,1.6vw,1.3rem);max-width:48rem;line-height:1.6}.v2-disclosure{font-size:.9375rem;line-height:1.6;color:var(--wp--preset--color--muted)}
.v2-header{border-bottom:1px solid var(--v2-line);padding-block:1.25rem}.v2-header-row{max-width:1280px!important;margin-inline:auto;gap:1.75rem}
.v2-header .wp-block-site-title{font-size:1.25rem;font-weight:750;max-width:18rem;flex-shrink:0}.v2-header .wp-block-site-title a{color:inherit}
.v2-header .wp-block-navigation{font-size:.9375rem}.v2-nav-cta>a{border-bottom:2px solid var(--wp--preset--color--accent);font-weight:700}
.v2-header .wp-block-navigation-item__content{min-height:44px;display:inline-flex;align-items:center}.v2-service-rail{max-width:1280px;margin-inline:auto;font-size:.9375rem;letter-spacing:.08em;padding-block:.5rem}
.v2-roof-header-wrap{margin-top:0!important}.v2-roof-header-wrap>.v2-header{border-top:1px solid var(--v2-line)}.v2-roof-header-wrap>.v2-service-rail{padding-bottom:0}
.v2-hearth-header>.wp-block-site-title{text-align:center;max-width:none;font-family:var(--wp--preset--font-family--serif);font-size:1.85rem;font-weight:500;letter-spacing:-.02em}
.v2-hearth-header>.wp-block-navigation{justify-content:center!important;margin-top:.5rem!important}.v2-civicgrid-header{border-top:4px solid var(--wp--preset--color--accent)}
.v2-hero{padding-block:clamp(2.5rem,5vw,5rem)}.v2-hero-columns{align-items:center!important}.v2-hero h1{font-size:clamp(2.8rem,5.4vw,5.5rem);line-height:1.04;letter-spacing:-.05em}
.v2-hero .wp-block-buttons{margin-top:2rem}.v2-hero-copy{padding-block:1rem}.v2-hero img{display:block;width:100%;object-fit:cover;aspect-ratio:1.1}
.v2-atlas-hero .wp-block-column:first-child{flex-basis:48%!important}.v2-atlas-hero .wp-block-column:last-child{flex-basis:52%!important}.v2-atlas-hero .wp-block-image{margin:0}
.v2-principles{border-block:1px solid var(--v2-line);padding-block:1.5rem}.v2-principles p{max-width:58ch}.v2-principles h2{font-size:clamp(1.6rem,3vw,2.75rem)}
.v2-card{min-width:0}.v2-card>.wp-block-image{margin-inline:0}.v2-card img{display:block;width:100%;object-fit:cover;aspect-ratio:4/3}
.v2-card h3 a{text-decoration:none;color:inherit}.v2-card h3 a:hover{color:var(--wp--preset--color--accent);text-decoration:underline}.v2-text-link{font-size:1rem;font-weight:700}.v2-text-link a{min-height:44px;display:inline-flex;align-items:center}
.v2-service-cards{margin-top:2rem}.v2-service-cards .v2-card{border-bottom:1px solid var(--v2-line);padding-bottom:.5rem}.v2-service-cards .cs-eyebrow{margin-top:1.5rem;font-size:.9375rem;letter-spacing:.08em}
.v2-projects{border-bottom:1px solid var(--v2-line)}.v2-project-cards{margin-top:2rem}.v2-project-cards .wp-block-column:first-child{flex-basis:60%!important}.v2-project-cards .wp-block-column:last-child{flex-basis:40%!important}.v2-project-cards img{aspect-ratio:3/2}
.v2-project-cards .wp-block-column:last-child{padding-top:4rem}.v2-project-cards .wp-block-column:last-child img{aspect-ratio:4/3}
.v2-process .wp-block-columns{gap:4rem}.v2-process-intro{position:sticky;top:2rem}.v2-step{border-top:1px solid var(--v2-line);padding-block:1.25rem;gap:1.5rem!important;margin:0!important}.v2-step>.wp-block-column:first-child{flex-basis:10%!important;flex-grow:0}.v2-step>.wp-block-column:last-child{flex-basis:90%!important}
.v2-step-number{font-family:var(--wp--preset--font-family--mono);font-size:1rem;color:var(--wp--preset--color--accent)}.v2-step h3{margin-top:0}.v2-step p{font-size:1rem}
.v2-cta{padding:clamp(1.5rem,4vw,3.5rem);background:var(--wp--preset--color--surface);margin-block:2rem!important}.v2-cta .wp-block-columns{align-items:center!important}.v2-cta-copy{max-width:32rem}.v2-footnote{padding-block:1.5rem}
.v2-roof-hero h1{font-size:clamp(2.8rem,5vw,5rem)}.v2-roof-hero>.wp-block-image{margin-top:2rem}.v2-roof-hero>figure img{aspect-ratio:2.9;object-position:center 55%;border-radius:.5rem}.v2-inspection-card{padding:2rem;border:1px solid var(--v2-line);border-top:4px solid var(--wp--preset--color--accent);border-radius:.5rem}.v2-inspection-card h2{font-size:clamp(1.6rem,2.7vw,2.5rem);line-height:1.2}.v2-roof-detail img{aspect-ratio:1.25;object-fit:cover;border-radius:.5rem}.v2-roof-detail .wp-block-columns{align-items:center!important}
.v2-hearth-hero{display:grid;grid-template-columns:1fr;padding-top:1.5rem}.v2-hearth-hero>figure,.v2-hearth-title{grid-area:1/1}.v2-hearth-hero>figure img{aspect-ratio:1.85;min-height:590px;object-fit:cover;object-position:50% 60%}.v2-hearth-title{align-self:end;z-index:1;max-width:650px!important;background:var(--wp--preset--color--paper);padding:2rem 2.5rem;margin:2rem!important}.v2-hearth-title h1{font-family:var(--wp--preset--font-family--serif);font-weight:450;font-size:clamp(3rem,6vw,5.5rem);letter-spacing:-.045em}.v2-material-story{border-bottom:1px solid var(--v2-line)}.v2-material-story .wp-block-columns{align-items:center!important}.v2-material-story img{width:100%;aspect-ratio:1.25;object-fit:cover}
.v2-civic-hero h1{font-size:clamp(3rem,7.8vw,7.5rem);max-width:none;letter-spacing:-.055em}.v2-civic-hero>.wp-block-columns{align-items:end!important;margin-top:2rem}.v2-civic-hero>.wp-block-columns>.wp-block-column:first-child{flex-basis:35%!important}.v2-civic-hero>.wp-block-columns>.wp-block-column:last-child{flex-basis:65%!important}.v2-civic-hero img{aspect-ratio:1.7;object-fit:cover}.v2-technical-note{font-family:var(--wp--preset--font-family--mono);font-size:.9375rem;white-space:pre-line;border-top:2px solid var(--wp--preset--color--accent);padding-top:1rem}
.v2-page-intro{border-bottom:1px solid var(--v2-line);padding-bottom:2rem}.v2-page-intro h1{font-size:clamp(2.6rem,5.3vw,5rem);max-width:1050px;line-height:1.08}.v2-page-intro>.v2-lead{max-width:850px}
.v2-service-detail .wp-block-columns{align-items:center!important}.v2-service-detail img{width:100%;aspect-ratio:4/3;object-fit:cover}.v2-service-detail h2{font-size:2rem}.v2-scope-band{border-top:1px solid var(--v2-line)}
.v2-case-main{padding-top:2.5rem}.v2-case-main>.wp-block-post-title{max-width:1280px;margin-inline:auto;font-size:clamp(2.8rem,6vw,5.5rem)}.v2-case-lead{padding-top:1rem}.v2-case-lead>figure img{width:100%;max-height:700px;object-fit:cover;aspect-ratio:2}.v2-case-main .v2-card{padding:1.5rem;border:1px solid var(--v2-line);border-top:3px solid var(--wp--preset--color--accent)}.v2-case-main .v2-card h3{font-size:1.4rem}.v2-case-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.v2-footer{background:var(--wp--preset--color--ink);color:var(--wp--preset--color--paper);padding-block:3rem;margin-top:2rem!important}.v2-footer>.wp-block-columns,.v2-footer-base{max-width:1280px!important;margin-inline:auto}.v2-footer .wp-block-column:first-child{flex-basis:50%!important}.v2-footer h2{font-size:clamp(1.8rem,3vw,2.75rem);max-width:28rem}.v2-footer h3{font-size:1.1rem}.v2-footer a{color:inherit;display:inline-flex;min-height:44px;align-items:center}.v2-footer p{margin-block:.3rem}.v2-footer .v2-disclosure{color:inherit;font-size:.9375rem;max-width:38rem}.v2-footer-base{border-top:1px solid var(--v2-line);padding-top:1.5rem;margin-top:2rem!important}.v2-civicgrid-footer{background:transparent;color:var(--wp--preset--color--ink);border-top:3px solid var(--wp--preset--color--accent)}
.cs-breadcrumbs{max-width:1280px;margin:1.5rem auto 0;font-size:.9375rem}.cs-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;padding:0;margin:0}.cs-breadcrumbs li{display:flex;align-items:center;gap:.6rem}.cs-breadcrumbs li:not(:last-child)::after{content:'/';color:var(--wp--preset--color--muted)}.cs-breadcrumbs a{color:inherit;min-height:44px;display:inline-flex;align-items:center}.cs-breadcrumbs [aria-current]{color:var(--wp--preset--color--muted)}
.cs-main>.wp-block-query{max-width:1280px!important}.wp-block-query .wp-block-post-title{font-size:1.5rem!important;line-height:1.25}.wp-block-query .wp-block-post-featured-image img{aspect-ratio:4/3;object-fit:cover}.wp-block-query .wp-block-post-date{font-size:.9375rem}.v2-credit-entry{border-top:1px solid var(--v2-line);padding-block:1rem}.v2-credit-entry h3{font-size:1.2rem}
.wpcf7{max-width:760px;margin:2rem auto 4rem}.cs-honeypot{display:none!important}.v2-form-area{max-width:760px!important}.v2-contact-cta{background:var(--wp--preset--color--surface);padding:2rem}.v2-disclosure a{color:inherit}
@media(max-width:1100px){.v2-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}.v2-header .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex!important}.v2-hearth-header{display:flex;justify-content:space-between;align-items:center}.v2-hearth-header>.wp-block-site-title{text-align:left;font-size:1.5rem}.v2-hearth-header>.wp-block-navigation{margin-top:0!important}.v2-process-intro{position:static}}
@media(max-width:781px){.v2-section{padding-block:2rem}.v2-section .wp-block-columns{gap:1.5rem!important}.v2-hero h1{font-size:clamp(2.5rem,10vw,4rem)}.v2-hero img{aspect-ratio:1.3}.v2-hero-copy{padding:0}.v2-project-cards .wp-block-column:last-child{padding-top:0}.v2-project-cards img,.v2-project-cards .wp-block-column:last-child img{aspect-ratio:3/2}.v2-step{display:flex!important;flex-wrap:nowrap!important;gap:1rem!important}.v2-step>.wp-block-column:first-child{flex-basis:2rem!important}.v2-step>.wp-block-column:last-child{flex-basis:calc(100% - 3rem)!important}.v2-cta{padding:1.5rem;margin-block:1rem!important}.v2-roof-hero>figure img{aspect-ratio:1.6}.v2-inspection-card{padding:1.5rem}.v2-hearth-hero{display:block}.v2-hearth-hero>figure img{aspect-ratio:1.25;min-height:0}.v2-hearth-title{margin:0!important;padding:1.5rem 0 0}.v2-hearth-title h1{font-size:3.5rem}.v2-civic-hero h1{font-size:clamp(2.8rem,11vw,5rem)}.v2-case-lead>figure img{aspect-ratio:1.4}.v2-footer{padding-block:2rem}.v2-footer .wp-block-columns{gap:2rem!important}.v2-footer .wp-block-column:first-child{flex-basis:100%!important}.v2-footer-base{padding-top:1rem}.v2-page-intro h1{font-size:2.75rem}.v2-principles{padding-block:1.5rem}.v2-service-rail{font-size:.8125rem;letter-spacing:.02em}.cs-breadcrumbs{margin-top:1rem}.v2-hearth-header>.wp-block-site-title{max-width:220px}}
@media(prefers-reduced-motion:reduce){.v2-card *, .v2-header *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.v2-footer{background:white;color:black}.v2-header .wp-block-navigation{display:none}}
/* Keep these demo-specific regions wider than the default constrained inner block. */
.v2-hearth-hero>.v2-hearth-title{max-width:650px!important;justify-self:start}
.v2-roof-header-wrap>.v2-header{max-width:none!important}
.v2-footer h2,.v2-footer p{margin-inline:0!important}
/* Default-layout landing blocks need their own phone and tablet gutters. */
.cs-landing,.cs-main,.v2-case-main{padding-inline:clamp(1.25rem,4vw,2.5rem)}
