.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.news-card{background:white;border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.news-card img{width:100%;aspect-ratio:16 / 10;object-fit:cover}.news-card div{padding:1.25rem}.sitemap-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.sitemap-list{padding-left:1.2rem}.sitemap-list a{color:var(--gray-950);font-weight:800}.sitemap-list a:hover{color:var(--red)}.area-link-list{list-style:none;padding:0;margin:1rem 0 0;display:flex;gap:.65rem;flex-wrap:wrap}.area-link-list a,.area-link-list span{display:inline-flex;padding:.55rem .75rem;border:1px solid var(--gray-200);border-radius:6px;color:var(--gray-950);font-weight:850;background:white}.area-link-list a:hover{border-color:var(--red);color:var(--red)}.area-overview{margin-bottom:1.2rem}.nearby-line{font-size:.9rem;color:var(--gray-700)}.nearby-service-box{margin-top:1.5rem;padding:1.15rem;border-radius:var(--radius);background:var(--gray-50);border-left:5px solid var(--red)}.nearby-service-box h3{margin-bottom:.35rem}.cta-band{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--red),#980000);color:white;padding:40px 0}.cta-band::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,34,40,.22),transparent 58%);pointer-events:none}.cta-band h2,.cta-band p,.cta-band .eyebrow{color:white}.cta-band__inner{position:relative;display:flex;justify-content:space-between;gap:2rem;align-items:center}.site-footer{background:var(--gray-950);color:white;padding:56px 0 0}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:2rem}.site-footer h3,.site-footer a{color:white}.site-footer p,.site-footer li{color:var(--gray-200)}.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}.footer-brand{display:flex;align-items:center;gap:.75rem;font-weight:900;font-size:1.1rem;margin-bottom:1rem}.footer-brand img{width:72px;height:54px;object-fit:contain;background:white;border-radius:6px}.footer-brand__text{display:flex;flex-direction:column;align-items:flex-start;line-height:1}.footer-brand__text strong{display:inline-block;color:white;font-weight:950;font-size:1.35rem;letter-spacing:-.01em;border-bottom:3px solid var(--red);padding-bottom:2px}.footer-brand__text small{margin-top:.2rem;color:var(--gray-200);font-weight:800;font-size:.72rem;letter-spacing:.24em}.small{font-size:.92rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:2rem;padding:1rem 0}.footer-bottom p{display:flex;gap:1rem;flex-wrap:wrap;margin:0;font-size:.9rem}@media(max-width:980px){.nav-toggle{display:block}.primary-nav{display:none;position:absolute;top:124px;left:0;right:0;background:white;padding:.75rem 20px;box-shadow:var(--shadow)}.primary-nav.open{display:block}.primary-nav ul{display:grid;align-items:stretch}.primary-nav .sub-nav{position:static;min-width:0;box-shadow:none;border:0;border-left:3px solid var(--red);margin-left:.8rem}.primary-nav .has-sub.open .sub-nav{display:block}.service-grid,.project-grid,.review-grid,.review-grid--wide,.news-grid,.footer-grid{grid-template-columns:repeat(2,1fr)}.split,.content-grid,.before-after,.contact-row,.feature-row,.review-showcase{grid-template-columns:1fr}.feature-row--reverse .feature-copy,.feature-row--reverse img{order:initial}.home-feature-row{padding:62px 0}.sidebar{position:static}.hero{min-height:610px}.cta-band__inner{display:grid}}@media(max-width:640px){.container{width:min(100% - 28px,var(--container))}.topbar span{display:none}.topbar__row{justify-content:center;gap:.9rem}.brand img{width:64px;height:48px}.brand__text{width:auto}.brand__line--top{font-size:1.7rem}.brand__line--bottom{font-size:.7rem;letter-spacing:.2em}.nav-row{min-height:76px}.primary-nav{top:114px}.hero{min-height:520px}.hero__content{width:calc(100vw - 28px);max-width:calc(100vw - 28px);margin-left:14px;margin-right:14px}.hero h1{font-size:2.05rem}.hero p{font-size:1rem;max-width:330px}.page-banner{padding:34px 0}.page-banner h1{font-size:1.55rem}.feature-row{gap:1.7rem}.feature-copy h2{font-size:1.48rem}.owner-panel{grid-template-columns:1fr;padding:1.2rem}.owner-panel img{width:min(220px,100%)}.section{padding:56px 0}.service-grid,.project-grid,.review-grid,.review-grid--wide,.news-grid,.footer-grid,.form-two,.sitemap-columns{grid-template-columns:1fr}.content-card,.contact-form,.contact-info{padding:1.25rem}}