/* Local client preview: existing layout, official logo palette, photo strip. */
:root{--pine:#579b97;--pine-deep:#315f5c;--accent:#315f5c}
.nav-cta,.mobile-contact a:last-child,.dialog-copy{background:#579b97;color:#102c2a;font-weight:600}.nav-cta:hover{background:#76b4b0;color:#102c2a}.hero h1 em{color:#b7ded9}.nav-links a:hover,.nav-links a[aria-current=page]{color:#315f5c}.about-quote,.phone-contact .phone-contact-number,.phone-contact-label,.phone-contact .phone-contact-note{color:#315f5c}.pain .kicker,.metrics .kicker{color:#b7ded9}.promise-check{background:#579b97;color:#102c2a}.renovation-page .bg-primary{background:#579b97;color:#102c2a}.renovation-page footer.bg-primary{background:#315f5c;color:#fff}.renovation-page .text-primary,.renovation-page .text-accent{color:#315f5c}.renovation-page .border-primary{border-color:#579b97}.renovation-page .hover\:bg-primary\/90:hover{background:#76b4b0}.renovation-page .hover\:bg-primary\/5:hover{background:#edf5f3}a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#315f5c}
.deal-gallery{background:#edf3f0}.deal-window{overflow:hidden}.deal-gallery .animate-marquee{display:flex;gap:20px;animation:marquee 38s linear infinite}.deal-card{flex:0 0 auto;width:350px;margin:0;background:#fff;border:1px solid var(--line);overflow:hidden}.deal-card img{width:100%;height:245px;object-fit:cover;display:block}.deal-card figcaption{padding:18px 20px;font-size:14px;color:#315f5c}.deal-gallery .animate-marquee.is-paused,.deal-window:hover .animate-marquee{animation-play-state:paused}.deal-gallery .section-head{margin-bottom:36px}
@media(max-width:600px){.deal-card{width:270px}.deal-card img{height:205px}.deal-gallery .animate-marquee{animation-duration:32s}}
@media(prefers-reduced-motion:reduce){.deal-window{overflow:auto}.deal-gallery .animate-marquee{animation:none}.deal-gallery .animate-marquee>[aria-hidden=true]{display:none}}

/* Preserve entire customer photographs in both portrait and landscape formats. */
.deal-gallery .deal-card{width:auto;max-width:none}.deal-gallery .deal-card img{height:280px;width:auto;max-width:none;aspect-ratio:var(--photo-ratio);object-fit:contain}.deal-gallery .animate-marquee{animation-duration:150s}.deal-gallery .wrap{max-width:1280px;margin:auto}.renovation-page .deal-gallery{padding:90px 28px}.renovation-page .deal-gallery h2{font-family:var(--serif);font-size:36px;line-height:1.4;color:#315f5c;margin:12px 0}.renovation-page .deal-gallery .kicker{font-size:13px;letter-spacing:3px;color:#315f5c}.renovation-page .deal-gallery .section-head p{font-size:15px;color:#4a534e}.renovation-page .deal-gallery .section-head{margin-bottom:36px}
@media(max-width:600px){.deal-gallery .deal-card img{height:195px}.deal-gallery .animate-marquee{animation-duration:120s}.deal-card figcaption{font-size:12px;padding:14px}.renovation-page .deal-gallery{padding:64px 24px}.renovation-page .deal-gallery h2{font-size:28px}}

/* Give the photograph strip the full viewport; keep copy aligned with the page. */
.section.deal-gallery,.renovation-page .deal-gallery{padding:64px 0 40px}
.deal-gallery .wrap{max-width:none;width:100%}
.deal-gallery .section-head{max-width:1280px;margin:0 auto 28px;padding:0 40px}
.deal-gallery .deal-card img{height:clamp(280px,24vw,360px)}
.deal-gallery .marquee-controls{max-width:1280px;margin:14px auto 0;padding:0 40px}
.deal-gallery .deal-card figcaption{padding:12px 18px}
@media(max-width:600px){
 .section.deal-gallery,.renovation-page .deal-gallery{padding:44px 0 28px}
 .deal-gallery .section-head{padding:0 24px;margin-bottom:24px}
 .deal-gallery .deal-card img{height:220px}
 .deal-gallery .marquee-controls{padding:0 24px}
}

/* Original website team portrait, shown uncropped above the brand introduction. */
.about .section-head{margin-bottom:32px}
.about-team{margin:0 0 40px}
.about-team img{display:block;width:100%;height:auto;object-fit:contain}
.about-team figcaption{font-size:13px;letter-spacing:1px;color:#315f5c;margin-top:14px}
@media(max-width:600px){.about-team{margin-bottom:28px}.about-team figcaption{font-size:12px;margin-top:10px}.about .section-head{margin-bottom:24px}}

/* Blank instant-photo frames: narrow white edges and a generous lower margin. */
.deal-gallery .deal-card{padding:10px 10px 44px;background:#fff;border:1px solid #e1e4dd;box-shadow:0 2px 5px rgba(30,53,44,.06)}
@media(max-width:600px){.deal-gallery .deal-card{padding:8px 8px 34px}}
/* Keep the hero introduction legible over the detailed photograph. */
.hero-eyebrow{width:fit-content;max-width:100%;padding:0;color:#fff;background:transparent;font-size:14px;font-weight:600;line-height:1.7;letter-spacing:2px;text-shadow:0 1px 4px rgba(0,0,0,.55);border-radius:0}.hero-eyebrow::before{background:#fff;flex-shrink:0}@media(max-width:600px){.hero-eyebrow{font-size:12px;letter-spacing:1px;padding:0;gap:8px}.hero-eyebrow::before{width:16px}}
/* Section labels use contrast appropriate to their actual background. */
.section-head .kicker{color:#315f5c;font-size:13px;font-weight:500}.section-head .kicker::before{background:currentColor}.pain .section-head .kicker{color:#e0f1ec}

/* Quiet, readable principles section with restrained brand accents. */
.renovation-page .renovation-principles{background:#f0ece3;color:#253e39;border-block:1px solid #deded2;scroll-margin-top:90px}
.renovation-principles h2,.renovation-principles h3{color:#253e39}
.renovation-principles p{color:#52615a}
.renovation-principles .uppercase{color:#315f5c}
.renovation-principles .rounded-full{background:#e2ebe5;border-color:#b5cac1}
.renovation-principles .grid p{font-size:15px;line-height:1.85}
