/* Page-specific design: the other service pages keep their existing styles. */
.installation-page { --title-size:clamp(26px,2.65vw,36px); --body-size:clamp(17px,1.4vw,19px); }
.installation-page .topbar { background:#2bb84a; color:#101510; }
.installation-page .info-item .s { color:#153d20; }
.installation-page .service-index { grid-template-columns:repeat(5,minmax(0,1fr)); }
.installation-page .service-index button { min-width:0; justify-content:flex-start; padding:20px 16px; gap:24px; }
.installation-page .service-index .service-icon { width:56px; height:56px; flex:none; display:block; background:#fff; border-radius:10px; }
.installation-page .service-index strong { overflow-wrap:anywhere; }
.installation-page .service-panel { grid-template-columns:minmax(0,3fr) minmax(0,2fr); gap:32px; padding:24px; }
.installation-page .service-panel .sub-gallery { aspect-ratio:4/3; min-width:0; }
.installation-page .service-panel .sub-copy { min-width:0; overflow-wrap:break-word; }
.installation-page .service-panel .slider-dots { z-index:3; bottom:12px; gap:0; padding:2px 6px; border-radius:24px; background:#07130bbd; }
.installation-page .service-panel .slider-dots button { width:28px; height:28px; background:none; transform:none; display:grid; place-items:center; }
.installation-page .service-panel .slider-dots button::before { content:''; width:8px; height:8px; border-radius:50%; background:#fff9; }
.installation-page .service-panel .slider-dots button.active::before { background:#41dd61; }
.installation-page .service-panel .slider-arrow { z-index:3; }
.installation-page .hero h1,
.installation-page .section-title,
.installation-page .service-panel .sub-copy h2,
.installation-page .content h2,
.installation-page .content .service-card h3,
.installation-page .cta h2 { font-size:var(--title-size); line-height:1.12; letter-spacing:-.6px; }
.installation-page .service-index strong { font-size:14px; line-height:1.3; letter-spacing:0; }
.installation-page .hero p,
.installation-page .lead,
.installation-page .accent,
.installation-page .service-panel .sub-copy p,
.installation-page .service-panel .sub-copy ul,
.installation-page .content .service-card p,
.installation-page .content .service-card li,
.installation-page .cta p,
.installation-page .footer p,
.installation-page .footer li { font-size:var(--body-size); line-height:1.55; }
.installation-page .hero .eyebrow { font-size:13px; }
.installation-page .hero h1 { font-size:clamp(30px,3.05vw,41px); }
.installation-page .hero p { font-size:clamp(18px,1.55vw,20px); }
.installation-page .brand svg { display:block; width:100%; height:auto; max-height:48px; }
.installation-page .footer-brand svg { display:block; width:100%; height:auto; }
.installation-page .footer h3 { font-size:var(--body-size); line-height:1.55; letter-spacing:0; text-transform:none; font-weight:700; }
.installation-page .footer-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.installation-page .footer-grid > div { min-width:0; overflow-wrap:anywhere; }
.installation-page button:focus-visible,.installation-page a:focus-visible { outline:3px solid #16843a; outline-offset:4px; }
.installation-page .service-panel:not([hidden]) + .service-panel:not([hidden]) { margin-top:24px; }
.installation-page .footer{background:#4a0e1e;color:#fff;}
.installation-page .footer h3{color:#fff;}
.installation-page .footer p,.installation-page .footer li{color:#f5f5f5;}
.installation-page .footer a{color:#fff;}
.installation-page .footer a:hover{color:#d46a7e;}
.installation-page .footer-contact a{color:#fff;}
.installation-page .copyright{color:#e0e0e0;border-top-color:#6e3145;}
.installation-page .footer-brand svg{fill:#fff;}
@media(max-width:1100px) { .installation-page .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; } }
@media(max-width:900px) {
  .installation-page .service-index { display:flex; }
  .installation-page .service-index button { min-width:240px; flex:0 0 240px; }
  .installation-page .service-panel { grid-template-columns:minmax(0,1fr); gap:32px; }
  .installation-page .service-panel .sub-gallery { order:0; }
  .installation-page .service-panel .sub-copy { order:1; }
}
@media(max-width:560px) {
  .installation-page .footer-grid { grid-template-columns:minmax(0,1fr); gap:34px; }
}
@media(prefers-reduced-motion:reduce) {
  .installation-page { scroll-behavior:auto; }
  .installation-page .service-panel.is-animating { animation:none; }
  .installation-page .service-panel .sub-gallery img { transition:none; }
}
