/* SEO additions use the existing approved palette and typography. */
.seo-directions { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin:28px 0; }
nav.seo-directions a { display:flex; justify-content:space-between; align-items:center; gap:6px; padding:14px 12px; border:1px solid var(--line); border-radius:12px; background:#fff; font-size:14px; font-weight:700; line-height:1.35; }
.seo-directions a:hover,.seo-directions a[aria-current="page"] { border-color:var(--accent); color:var(--accent); }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; padding:24px 0 0; font-size:14px; line-height:1.6; color:var(--muted); }
.breadcrumbs a { text-decoration:underline; text-underline-offset:3px; }
.service-hero { display:grid; grid-template-columns:1.15fr .85fr; align-items:start; gap:50px; padding:36px 0 44px; }
.service-hero h1 { font-size:clamp(32px,5.9vw,72px); line-height:1.06; letter-spacing:-.055em; overflow-wrap:break-word; hyphens:auto; }
.service-hero .lead { font-size:19px; line-height:1.65; margin:26px 0; }
.service-hero .location { font-size:15px; margin-top:22px; }
.service-photo { max-width:360px; width:100%; justify-self:end; }
.service-photo img { display:block; width:100%; height:auto; }
.service-copy { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; padding-bottom:46px; }
.service-copy p { font-size:17px; line-height:1.7; padding-top:20px; border-top:3px solid var(--hot); margin:0; }
.service-catalog h2,.service-page .faq h2,.other-services h2 { font-size:clamp(30px,4.5vw,54px); line-height:1.1; letter-spacing:-.04em; overflow-wrap:break-word; }
.service-catalog .price-item { min-width:0; }
.service-catalog .price-item h4 { min-width:0; }
.service-page .faq { padding-top:48px; }
.service-page .contacts h2 { font-size:clamp(31px,5.5vw,66px); line-height:1.15; letter-spacing:-.04em; }
.other-services { padding:54px 0; }
@media (max-width:850px) {
  .seo-directions { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .service-hero { grid-template-columns:1fr; gap:30px; }
  .service-photo { justify-self:center; }
  .service-copy { grid-template-columns:1fr; gap:20px; }
}
@media (max-width:600px) {
  .seo-directions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .seo-directions a { font-size:14px; padding:13px 11px; }
  .breadcrumbs { display:flex; padding-top:22px; }
  .service-hero { padding-top:26px; }
  .service-hero .lead { font-size:17px; }
  .service-hero .button { max-width:100%; padding-inline:19px; font-size:15px; }
  .service-page .header .button { padding-inline:17px; font-size:14px; }
  .service-copy { padding-bottom:32px; }
  .service-page .price-item { grid-template-columns:minmax(0,1fr) auto; }
}
