.repair-page { background:#fff; }
.repair-page main { overflow:hidden; }
.repair-page .nav-group { position:relative; }
.repair-page .nav-group summary { padding:18px 8px; font-size:18px; cursor:pointer; list-style:none; }
.repair-page .nav-group summary::-webkit-details-marker { display:none; }
.repair-page .nav-group summary::after { content:"⌄"; display:inline-block; margin-left:7px; color:var(--red); font-weight:950; }
.repair-page .nav-group[open] summary::after { transform:rotate(180deg); }
.repair-page .nav-group > div { position:absolute; top:calc(100% - 4px); left:-16px; z-index:30; display:grid; width:240px; padding:8px; border:1px solid var(--line); border-top:3px solid var(--red); border-radius:8px; background:#fff; box-shadow:0 16px 36px rgba(15,17,21,.14); }
.repair-page .nav-group > div a { padding:12px 14px; border-radius:6px; color:var(--ink); font-size:15px; text-decoration:none; white-space:nowrap; }
.repair-page .nav-group > div a:hover,
.repair-page .nav-group > div a:focus-visible,
.repair-page .nav-group > div a[aria-current="page"] { background:#fff1f2; color:var(--red); }
.repair-page .repair-hero,
.repair-page .repair-facts,
.repair-page .repair-section,
.repair-page .repair-cta { width:min(1280px,calc(100% - 40px)); margin:0 auto; }
.repair-page .repair-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.95fr); gap:clamp(30px,5vw,70px); align-items:center; padding:clamp(34px,5vw,68px) 0; }
.repair-page .repair-hero h1 { margin:12px 0 22px; font-size:clamp(44px,5.2vw,74px); line-height:.98; letter-spacing:-.05em; }
.repair-page .repair-hero h1 span { display:block; margin-top:6px; font-size:.72em; white-space:nowrap; }
.repair-page .repair-hero .lead { max-width:690px; color:var(--muted); font-size:clamp(18px,1.7vw,23px); line-height:1.45; }
.repair-page .repair-hero .actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.repair-page .repair-hero__note { max-width:690px; margin:18px 0 0; color:var(--muted); font-size:15px; }
.repair-page .repair-hero__visual { position:relative; margin:0; aspect-ratio:4/3; overflow:hidden; border:1px solid var(--line); border-top:4px solid var(--red); border-radius:8px; box-shadow:0 14px 35px rgba(15,17,21,.09); }
.repair-page .repair-hero__visual img { width:100%; height:100%; object-fit:cover; }
.repair-page .repair-hero__visual figcaption { position:absolute; right:16px; bottom:16px; left:16px; padding:14px 16px; border:1px solid rgba(227,6,19,.2); border-radius:8px; background:rgba(255,255,255,.92); font-weight:900; }

.repair-page .repair-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding-bottom:clamp(62px,7vw,90px); }
.repair-page .repair-facts div,
.repair-page .repair-card-grid article,
.repair-page .repair-price-list,
.repair-page .repair-locations article,
.repair-page .repair-faq details { border:1px solid var(--line); border-top:3px solid var(--red); border-radius:8px; background:#fff; box-shadow:0 14px 35px rgba(15,17,21,.07); }
.repair-page .repair-facts div { display:grid; gap:7px; padding:22px; }
.repair-page .repair-facts strong { color:var(--red); font-size:clamp(24px,2.5vw,36px); }
.repair-page .repair-facts span { color:var(--muted); line-height:1.4; }

.repair-page .repair-section { position:relative; padding:clamp(64px,7vw,92px) 0; }
.repair-page .repair-section--bordered::before { content:""; position:absolute; top:0; right:0; left:0; height:1px; background:var(--line); }
.repair-page .repair-section__head { display:grid; grid-template-columns:minmax(150px,.33fr) minmax(0,1fr); gap:30px; align-items:start; margin-bottom:30px; }
.repair-page .repair-section__head h2,
.repair-page .repair-split h2 { margin:0 0 14px; font-size:clamp(34px,4.5vw,58px); line-height:1; letter-spacing:-.04em; }
.repair-page .repair-section__head p { max-width:760px; color:var(--muted); }

.repair-page .repair-card-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.repair-page .repair-card-grid article { position:relative; min-height:260px; padding:24px; }
.repair-page .repair-card-grid article > span { display:grid; place-items:center; width:42px; height:42px; margin-bottom:34px; border-radius:50%; background:var(--red); color:#fff; font-weight:950; }
.repair-page .repair-card-grid h3 { margin:0 0 12px; font-size:23px; line-height:1.05; }
.repair-page .repair-card-grid p { margin:0; color:var(--muted); line-height:1.5; }

.repair-page .repair-split { display:grid; grid-template-columns:minmax(0,.8fr) minmax(440px,1fr); gap:clamp(30px,6vw,80px); align-items:start; }
.repair-page .repair-split > div > p:last-child { color:var(--muted); font-size:18px; }
.repair-page .repair-list { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.repair-page .repair-list li { position:relative; min-height:54px; margin:0; padding:15px 16px 15px 54px; border:1px solid var(--line); border-radius:8px; line-height:1.45; }
.repair-page .repair-list li::before { content:"✓"; position:absolute; top:12px; left:14px; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#258443; color:#fff; font-weight:950; }

.repair-page .repair-price-list { margin:0; overflow:hidden; }
.repair-page .repair-price-list > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:start; padding:20px 24px; }
.repair-page .repair-price-list > div + div { border-top:1px solid var(--line); }
.repair-page .repair-price-list dt { font-size:18px; font-weight:900; line-height:1.35; }
.repair-page .repair-price-list dt span,
.repair-page .repair-price-list dd small { display:block; margin-top:5px; color:var(--muted); font-size:14px; font-weight:400; line-height:1.4; }
.repair-page .repair-price-list dd { margin:0; font-size:21px; font-weight:950; text-align:right; white-space:nowrap; }
.repair-page .repair-price-list dd small { max-width:17ch; margin-left:auto; white-space:normal; }
.repair-page .repair-price-free { color:var(--red); }
.repair-page .repair-notice { margin-top:20px; padding:20px 22px; border:1px solid #efb8bc; border-left:5px solid var(--red); border-radius:8px; background:#fff6f6; line-height:1.5; }

.repair-page .repair-locations { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.repair-page .repair-locations article { display:grid; align-content:start; gap:10px; padding:clamp(24px,4vw,38px); }
.repair-page .repair-locations article > span { color:var(--red); font-size:13px; font-weight:950; letter-spacing:.06em; text-transform:uppercase; }
.repair-page .repair-locations h3 { margin:0; font-size:clamp(26px,3vw,38px); line-height:1.05; }
.repair-page .repair-locations p { margin:0 0 8px; color:var(--muted); }
.repair-page .repair-locations a { color:var(--red); font-size:17px; font-weight:950; }

.repair-page .repair-faq { display:grid; gap:12px; }
.repair-page .repair-faq details { padding:0 22px; }
.repair-page .repair-faq summary { padding:22px 36px 22px 0; font-size:19px; font-weight:950; cursor:pointer; }
.repair-page .repair-faq p { margin:0 0 22px; color:var(--muted); line-height:1.55; }

.repair-page .repair-cta { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:30px; align-items:center; margin-bottom:clamp(64px,7vw,92px); padding:clamp(28px,4vw,44px); border-radius:8px; background:#111318; color:#fff; }
.repair-page .repair-cta h2 { margin:0 0 10px; font-size:clamp(30px,4vw,48px); }
.repair-page .repair-cta p { margin:0; color:#d7d9dd; }
.repair-page .repair-cta > div:last-child { display:grid; gap:12px; justify-items:end; }
.repair-page .repair-cta > div:last-child > a:first-child { color:#fff; font-size:22px; font-weight:950; text-decoration:none; }

@media (max-width:1040px) {
  .repair-page .repair-hero { grid-template-columns:1fr; }
  .repair-page .repair-hero__visual { order:-1; width:min(820px,100%); justify-self:center; aspect-ratio:16/9; }
  .repair-page .repair-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .repair-page .repair-split { grid-template-columns:1fr; }
}
@media (max-width:1240px) {
  .repair-page .nav-group summary { padding:16px 4px; border-bottom:1px solid var(--line); }
  .repair-page .nav-group > div { position:static; width:auto; margin:0; padding:4px 0 8px 16px; border:0; border-bottom:1px solid var(--line); border-radius:0; box-shadow:none; }
  .repair-page .nav-group > div a { padding:12px 8px; white-space:normal; }
}
@media (max-width:760px) {
  .repair-page .repair-section__head { grid-template-columns:1fr; gap:12px; }
  .repair-page .repair-facts,
  .repair-page .repair-locations { grid-template-columns:1fr; }
  .repair-page .repair-cta { grid-template-columns:1fr; }
  .repair-page .repair-cta > div:last-child { justify-items:start; }
}
@media (max-width:600px) {
  .repair-page .repair-hero,
  .repair-page .repair-facts,
  .repair-page .repair-section,
  .repair-page .repair-cta { width:min(100% - 28px,1280px); }
  .repair-page .repair-hero { padding-top:18px; }
  .repair-page .repair-hero h1 { font-size:clamp(38px,11vw,50px); }
  .repair-page .repair-hero h1 span { font-size:.64em; white-space:normal; }
  .repair-page .repair-hero__visual { aspect-ratio:4/3; }
  .repair-page .repair-card-grid { grid-template-columns:1fr; }
  .repair-page .repair-card-grid article { min-height:0; }
  .repair-page .repair-hero .actions .button--primary { display:none; }
  .repair-page .repair-hero .actions .button--ghost { width:100%; justify-content:center; }
  .repair-page .repair-price-list > div { padding:16px; gap:14px; }
  .repair-page .repair-price-list dt { font-size:16px; }
  .repair-page .repair-price-list dd { font-size:18px; }
  .repair-page .repair-cta .button { width:100%; justify-content:center; }
}
