/* Public repair pages retain the site's type, blue accents, and scroll reveals. */
.home-page .hero-headline { font-size:clamp(38px,4.6vw,60px); line-height:1.06; }
.home-page main .btn, .repair-page main .btn { min-height:48px; }
.home-page .service-card { display:flex; flex-direction:column; }
.service-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:24px; }
.service-actions a { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:var(--blue); font-size:14px; font-weight:600; }
.service-actions a svg { width:17px; height:17px; flex:none; }
.service-actions svg { fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.service-preview { display:grid; place-items:center; width:44px; height:44px; flex:none; border:0; border-radius:50%; background:transparent; color:#61666d; cursor:pointer; }
.service-preview svg { width:22px; height:22px; }
.service-preview:hover { background:rgba(0,0,0,.05); }
.featured .service-actions a, .featured .service-preview { color:#a6caff; }
.featured .service-preview:hover { background:rgba(255,255,255,.1); }
.home-page :focus-visible, .repair-page :focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.repair-page main { overflow:clip; }
.repair-hero { padding-bottom:64px; }
.repair-hero .about-headline { font-size:clamp(38px,5.5vw,66px); }
.repair-hero .about-sub { max-width:640px; }
.repair-services { padding-top:28px; }
.repair-services .story-block { padding:32px; }
.repair-icon { width:36px; height:36px; margin-bottom:24px; color:var(--blue); fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.repair-page p a { color:#0065cc; text-decoration:underline; text-underline-offset:3px; }
.repair-answers { max-width:760px; margin:auto; }
.repair-answers details { border-bottom:1px solid #e4e7eb; padding:0 2px; }
.repair-answers details:first-child { border-top:1px solid #e4e7eb; }
.repair-answers summary { padding:23px 0; font-size:17px; font-weight:600; line-height:1.5; cursor:pointer; }
.repair-answers p { padding:0 16px 24px 0; color:var(--gray); font-size:16px; line-height:1.7; }
.repair-area { background:var(--light-gray); }
.repair-related { margin-top:28px; color:var(--gray); font-size:15px; line-height:1.7; }
.home-page .footer-links, .repair-page .footer-links { flex-wrap:wrap; }
@media (max-width:800px) {
  .repair-services .story-grid { grid-template-columns:1fr; gap:16px; }
  .repair-services .story-block { padding:28px; }
}
@media (max-width:600px) {
  .repair-hero { padding:calc(var(--nav-height) + 48px) 0 40px; }
  .repair-hero .about-headline { font-size:38px; }
  .repair-hero .about-sub { font-size:17px; }
  .repair-hero .about-cta-actions, .repair-area .about-cta-actions { flex-direction:column; align-items:center; gap:12px; }
  .repair-hero .btn, .repair-area .btn { width:100%; max-width:300px; }
  .repair-services .section-header, .repair-faq .section-header { text-align:left; }
  .repair-faq .section-header { margin-bottom:24px; }
  .repair-answers summary { font-size:16px; }
  .repair-answers p { font-size:15px; }
}
@media (max-width:350px) {
  .home-page .hero-headline, .repair-hero .about-headline { font-size:34px; }
}
@media (prefers-reduced-motion:reduce) {
  .repair-page *, .home-page * { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  .repair-page .fade-up, .home-page .fade-up, .repair-page .word, .home-page .word { opacity:1; transform:none; }
}
