.repair-hero { position: relative; min-height: 540px; display: grid; align-items: end; overflow: hidden; background: var(--panel); }
.repair-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.repair-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,8,12,.98) 0%, rgba(5,8,12,.62) 62%, rgba(5,8,12,.18)); }
.repair-hero-content { position: relative; z-index: 1; padding: 5rem 0 3.4rem; }
.repair-hero h1 { max-width: 12ch; font-size: clamp(2.4rem, 6vw, 5rem); }
.repair-layout { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(260px,.5fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.repair-sidebar { position: sticky; top: 104px; padding: 1.3rem; }
.repair-sidebar h2 { font-size: 1.25rem; }
.repair-sidebar .button { width: 100%; margin-top: .5rem; }
.repair-content h2 { margin-top: 2.5rem; font-size: clamp(1.55rem, 3vw, 2.4rem); }
.fault-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .8rem; }
.fault-item { padding: 1rem; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.fault-item strong { display: block; margin-bottom: .3rem; color: var(--paper); }
.fault-item span { color: var(--muted); font-size: .9rem; }
.test-sequence { list-style: none; padding: 0; counter-reset: test-step; }
.test-sequence li { position: relative; padding: 1rem 0 1rem 3.5rem; border-bottom: 1px solid var(--line); }
.test-sequence li::before { counter-increment: test-step; content: counter(test-step); position: absolute; left: 0; top: .8rem; width: 2.25rem; height: 2.25rem; display: grid; place-items: center; border: 1px solid var(--green-dark); color: var(--green); font: 800 .8rem/1 var(--font-display); }
.faq details { border-top: 1px solid var(--line); }
.faq details:last-child { border-bottom: 1px solid var(--line); }
.faq summary { cursor: pointer; padding: 1rem .2rem; font-weight: 800; color: var(--paper); }
.faq details p { padding: 0 .2rem .9rem; color: var(--muted); }

@media (max-width: 800px) {
  .repair-layout { grid-template-columns: 1fr; }
  .repair-sidebar { position: static; }
}
@media (max-width: 560px) { .fault-grid { grid-template-columns: 1fr; } }
