/* Progressive photography layer. Corporate palette, type, routes and content retained. */
.page-hero-grid{grid-template-columns:1fr 1.12fr;gap:52px}.page-hero{padding-bottom:54px}.page-hero h1{font-size:clamp(38px,4.2vw,62px)}.editorial-hero,.real-hero{position:relative;margin:0;border-radius:80px 5px 5px 5px;overflow:hidden;background:#e8ece4}.editorial-hero picture,.editorial-hero img{display:block;width:100%;height:auto}.editorial-hero figcaption,.real-hero figcaption{position:absolute;bottom:16px;left:18px;background:#fffef9ed;color:#294638;padding:5px 10px;font-size:10px;border-radius:2px}.real-hero img{width:100%;height:410px;object-fit:contain}.service-grid{border:0;gap:28px}.service-card{padding:0 0 26px;min-height:0;border:1px solid var(--line);overflow:hidden;border-radius:6px;position:relative;background:var(--paper)}.service-photo{margin-bottom:25px;background:#e6e8e0}.service-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.service-card h3,.service-card>p,.service-card .card-link{margin-left:25px;margin-right:25px}.service-card>p{margin-bottom:25px}.photo-number{position:absolute;top:16px;left:16px;margin:0;padding:3px 9px;background:#fffef9ee;border-radius:3px}.photo-number>span:last-child{color:var(--ink);font-size:11px}.service-card:hover{background:#f4f6ee}.service-card .card-link{padding-top:16px;border-top:1px solid var(--line)}.budget-photo{margin-bottom:30px;overflow:hidden;border-radius:5px}.budget-photo img{width:100%;height:auto}.budget-layout{align-items:center}.budget-layout .checklist>div{padding-block:26px}.gallery-link{margin-top:28px}.service-coverage{padding:42px 0;border-top:1px solid var(--line);background:var(--paper)}.coverage-chips{display:flex;flex-wrap:wrap;gap:10px}.coverage-chips a{font-size:12px;padding:8px 14px;background:var(--soft);border:1px solid var(--line);border-radius:3px}.project-teaser .split{grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}.project-index{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:0}.project-index a{display:grid;grid-template-columns:1fr auto;gap:12px;padding:0 0 12px;border:0;border-bottom:1px solid #446659;align-items:center}.project-index a:first-child{border-top:0}.project-index img{grid-column:1/-1;width:100%;height:180px;object-fit:contain;background:#254b3e;border-radius:3px}.project-index a>span:first-of-type{display:none}.project-index strong{font-size:20px}.company-photo{margin-top:32px}.company-photo img{width:100%;height:auto;border-radius:5px}.company-photo figcaption{font-size:10px;margin-top:7px;color:var(--muted)}.about-visual{align-items:center;gap:65px}.town-list span{font-size:24px}.photo-grid a{display:block;cursor:zoom-in}.photo-grid img{background:#f1f3ed}.photo-grid figcaption{max-width:48ch}.project-card>img{height:380px}.service-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:12px}.service-mosaic picture:first-child{grid-column:1/-1}.service-mosaic img{width:100%;height:auto;border-radius:4px}.contact-hero-card{padding:44px;background:var(--paper);border:1px solid var(--line);border-radius:6px}.contact-number{font-size:clamp(30px,3.4vw,48px);letter-spacing:-.045em;display:block;margin-bottom:23px}.contact-hero-card .button{margin-top:28px}.contact-hero-card>span{display:block;margin-top:22px;font-size:12px;color:var(--muted)}.coverage-panel{background:var(--ink);color:var(--paper);padding:40px;border-radius:70px 5px 5px 5px}.coverage-panel>.eyebrow{color:var(--lime)}.coverage-panel>strong{font:52px Georgia,serif;display:block}.coverage-panel>span{font-size:13px;color:#d1dec8}.coverage-panel>div{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:32px}.coverage-panel>div>span{font-size:13px;border-top:1px solid #4d6b5f;padding-top:10px}.three-grid .detail-card{border-top:3px solid #8da577}.home-hero .hero-visual>img{object-fit:contain;background:#ecefe4}.hero-visual{height:auto;aspect-ratio:1.12}.hero-visual>img{object-position:center}.visual-caption{bottom:20px}.service-card:focus-visible,.photo-grid a:focus-visible{outline-offset:5px}
@media(max-width:1100px){.page-hero-grid{gap:32px}.project-teaser .split{gap:35px}.project-index img{height:150px}}
@media(max-width:900px){.page-hero-grid{grid-template-columns:1fr 1fr;gap:28px}.page-hero h1{font-size:40px}.service-grid{gap:20px}.project-teaser .split{grid-template-columns:1fr}.project-index img{height:240px}.about-visual{gap:35px}.contact-hero-card{padding:25px}.contact-number{font-size:30px}.coverage-panel{padding:30px}.real-hero img{height:340px}}
@media(max-width:640px){.page-hero-grid{display:flex;flex-direction:column;gap:27px;align-items:stretch}.page-hero h1{font-size:clamp(36px,9.5vw,54px);overflow-wrap:break-word}.page-hero .intro{max-width:38ch}.editorial-hero{border-radius:42px 4px 4px 4px}.editorial-hero img{width:100%;height:auto;object-fit:contain}.editorial-hero figcaption,.real-hero figcaption{position:static;font-size:9px;background:#e7ebdf;padding:8px 12px}.hero-visual{aspect-ratio:3/2;border-top-left-radius:50px}.visual-caption{position:static;display:none}.hero-note{display:none}.home-hero-grid{gap:25px}.service-grid{gap:24px}.service-photo{margin-bottom:23px}.service-card h3{font-size:25px}.service-card>p{font-size:14px}.service-card .card-link{min-height:44px}.project-index{gap:22px}.project-index img{height:170px}.project-index strong{font-size:18px}.project-teaser .split{gap:32px}.project-card>img{height:auto;max-height:420px;object-fit:contain}.real-hero{border-radius:30px 4px 4px 4px}.real-hero img{height:auto;max-height:360px;object-fit:contain}.budget-layout{gap:22px}.budget-photo{margin-bottom:25px}.service-coverage{padding:32px 0}.coverage-chips{gap:8px}.coverage-chips a{min-height:44px;display:flex;align-items:center;font-size:11px;padding:8px 11px}.town-list span{font-size:22px}.contact-hero-card{padding:25px}.contact-number{font-size:36px}.coverage-panel{border-radius:40px 4px 4px 4px}.coverage-panel>strong{font-size:46px}.company-photo{margin-top:28px}.service-mosaic{gap:9px}.service-card .card-link,.inline-link{min-height:44px}.mobile-menu summary{min-width:44px}.photo-grid a{border-radius:4px;overflow:hidden}}
@media(max-width:370px){.project-index{grid-template-columns:1fr}.project-index img{height:auto;max-height:280px}.contact-number{font-size:32px}.page-hero h1{font-size:36px}}

.checklist-panel{background:var(--paper);padding:30px;border-radius:5px;border:1px solid var(--line)}.hero-visual{aspect-ratio:3/2}.hero-visual>img{height:auto}.visual-caption{bottom:16px}.page-hero-grid>div,.page-hero-grid>figure{min-width:0}@media(max-width:640px){.checklist-panel{padding:24px}.hero-visual{aspect-ratio:3/2}}
