/* Repairs-specific layout; shared colours, typography and controls come from styles.css. */
.breadcrumbs { padding-top: 22px; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px 12px; list-style: none; margin: 0; padding: 0; font-size: .8125rem; line-height: 1.6; color: var(--muted); }
.breadcrumbs li { display: inline-flex; align-items: center; gap: 12px; }
.breadcrumbs li + li::before { content: "/"; color: #888; }
.breadcrumbs a { min-height: 32px; }
.breadcrumbs a:hover { text-decoration: underline; text-underline-offset: 4px; }
.breadcrumbs [aria-current] { color: var(--ink); }
.repair-hero { padding-top: 28px; }
.repair-hero h1 { max-width: 660px; font-size: clamp(2.5rem, 3.8vw, 3.9rem); }
.repair-hero .hero-intro { max-width: 530px; }
.repair-hero .hero-image img { height: clamp(360px, 31vw, 470px); object-position: center; }
.repair-hero .hero-actions { gap: 12px 16px; }
.fault-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; }
.fault-grid article { display: grid; grid-template-columns: 24px 1fr; align-content: start; gap: 16px; padding: 27px 0; border-top: 1px solid var(--line); }
.fault-number { font-size: .75rem; color: #a44b00; padding-top: 5px; }
.fault-grid h3 { font-size: 1.25rem; font-weight: 600; line-height: 1.4; margin: 0; }
.fault-grid p { font-size: .9375rem; line-height: 1.75; color: var(--muted); margin: 10px 0 0; max-width: 470px; }
.repairs-page .lift-types { margin-top: 12px; }
.repair-process-list { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 36px; list-style: none; padding: 0; margin: 0; }
.repair-process-list li { border-top: 1px solid #c8c8c8; padding-top: 24px; }
.repair-process-list li > span { display: block; font-size: .8125rem; line-height: 1.6; color: #a44b00; }
.repair-process-list h3 { margin: 20px 0 0; font-size: 1.1875rem; line-height: 1.45; font-weight: 600; }
.repair-process-list p { font-size: .9375rem; line-height: 1.75; color: var(--muted); margin: 12px 0 0; }
.repair-parts { display: grid; grid-template-columns: .85fr 1.6fr; gap: 30px; padding: 24px 28px; margin-top: 36px; border-left: 3px solid var(--repair-accent); background: white; }
.repair-parts h3 { font-size: 1rem; line-height: 1.6; margin: 0; font-weight: 600; }
.repair-parts p { font-size: .9375rem; line-height: 1.75; color: var(--muted); margin: 0; }
.repair-capabilities { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.repair-capabilities article + article { border-left: 1px solid var(--line); padding-left: 48px; }
.repair-capabilities h3 { font-size: clamp(1.4rem, 2.1vw, 1.8rem); line-height: 1.25; letter-spacing: -.02em; margin: 15px 0 20px; font-weight: 600; }
.repair-capabilities article > p:not(.eyebrow) { font-size: 1rem; line-height: 1.75; color: var(--muted); margin: 14px 0 0; }
.repair-capabilities .text-link { margin-top: 18px; }
.repair-report-layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 6vw, 80px); align-items: center; }
.repair-report-layout .body-copy .repair-report-scope { font-size: .875rem; }
.repair-report-layout .text-link { margin-top: 18px; }
.repair-report-layout .report-type-preview { max-width: 510px; justify-self: end; width: 100%; }
.repair-report-layout .report-type-preview img { height: auto; max-height: 425px; }
.repair-report-layout figcaption .text-link { margin-top: 0; }
.repair-reviews { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.repair-reviews .review-card { min-height: 0; padding: 25px; background: var(--surface); }
.repair-coverage-copy { font-size: .9375rem; color: var(--muted); line-height: 1.75; margin: 24px 0 0; }
.repair-faq .faq-item a { text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
@media (max-width: 1100px) {
 .repair-hero h1 { font-size: 2.75rem; }
 .repair-hero .hero-actions .button { padding-inline: 17px; font-size: .875rem; }
 .fault-grid, .repair-capabilities { column-gap: 32px; }
 .repair-capabilities article + article { padding-left: 32px; }
 .repair-process-list { gap: 28px; }
 .repair-reviews { gap: 14px; }
 .repair-reviews .review-card { padding: 22px; }
}
@media (max-width: 800px) {
 .repair-hero { padding-top: 24px; }
 .repair-hero h1 { font-size: clamp(2.25rem, 6vw, 3.2rem); }
 .repair-hero .hero-image img { height: auto; aspect-ratio: 1.3; object-position: center 42%; }
 .repair-hero .hero-actions .button { font-size: .9375rem; padding-inline: 22px; }
 .repair-capabilities, .repair-report-layout { grid-template-columns: 1fr; gap: 30px; }
 .repair-capabilities article + article { padding-left: 0; padding-top: 30px; border-left: 0; border-top: 1px solid var(--line); }
 .repair-report-layout .report-type-preview { justify-self: center; }
 .repair-parts { grid-template-columns: 1fr; gap: 12px; }
 .repair-process-list { grid-template-columns: 1fr; gap: 24px; }
 .repair-process-list li { display: grid; grid-template-columns: 24px 1fr; gap: 8px 16px; padding-top: 24px; }
 .repair-process-list li > span { grid-row: 1 / 3; padding-top: 2px; }
 .repair-process-list h3, .repair-process-list p { margin: 0; }
 .repair-reviews { grid-template-columns: 1fr; }
 .repair-reviews .review-card { padding: 24px; }
}
@media (max-width: 600px) {
 .breadcrumbs { padding-top: 14px; }
 .breadcrumbs ol { font-size: .75rem; }
 .repair-hero { padding-top: 20px; }
 .repair-hero .eyebrow { font-size: .75rem; }
 .fault-grid { grid-template-columns: 1fr; }
 .fault-grid article { padding-block: 22px; }
 .repair-parts { padding: 20px; }
 .repair-report-layout .report-type-preview figcaption { align-items: flex-start; }
 .repair-report-layout .report-type-preview figcaption > span { max-width: 190px; }
}
@media (max-width: 370px) {
 .repair-hero h1 { font-size: 2rem; }
 .breadcrumbs ol, .breadcrumbs li { gap: 8px; }
}
