.repair-hero {
  min-height: 72vh;
  display: flex;
  align-items: center;
  padding: 8rem 4rem 5rem;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
  background: radial-gradient(circle at 78% 45%, rgba(142, 52, 171, .11), transparent 34%), #050505;
}

.repair-hero-layout {
  width: 100%;
  display: grid;
  grid-template-columns: 1.05fr .75fr;
  gap: 4rem;
  align-items: center;
}

.repair-hero h1 { max-width: 760px; }
.repair-hero h1 span { color: var(--purple); }
.repair-hero .lede { max-width: 650px; color: rgba(255, 255, 255, .82); }

.repair-hero-image {
  width: 100%;
  height: min(54vh, 560px);
  min-height: 390px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 8px;
  background: #181818;
}

.repair-hero-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
  opacity: .64;
}

#repair-request { scroll-margin-top: 4rem; }
.repair-network { display: grid; grid-template-columns: .8fr 1.2fr; gap: 5rem; align-items: start; }
.repair-network-copy { max-width: 700px; }
.repair-network-copy p { margin-top: 1rem; font-size: .82rem; line-height: 1.85; }
.repair-network-copy p:first-child { margin-top: 0; }
.repair-network-copy strong { color: #fff; font-weight: 700; }
.repair-capabilities-image { width: 100%; max-width: 900px; height: clamp(240px, 32vw, 400px); margin: 2.5rem auto 0; overflow: hidden; border: 1px solid rgba(255, 255, 255, .11); border-radius: 8px; background: #181818; }
.repair-capabilities-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .72; }
.repair-section-intro { max-width: 680px; margin-top: 1rem; font-size: .82rem; line-height: 1.75; }

.repair-services { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-top: 2.5rem; }
.repair-services article { min-height: 205px; display: flex; align-items: center; justify-content: center; flex-direction: column; padding: 1.4rem; border: 1px solid var(--border-subtle); border-radius: 8px; background: #111; text-align: center; }
.repair-services h3 { margin: 0 0 .55rem; }
.repair-services p { font-size: .7rem; line-height: 1.7; }

.repair-brands-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 5rem; align-items: center; }
.repair-brand-list { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 2rem; }
.repair-brand-list span { padding: .45rem .75rem; border: 1px solid rgba(169,79,200,.3); border-radius: 3px; color: #ddd; background: var(--purple-glow); font-size: .67rem; font-weight: 600; }
.repair-supply-card { padding: 2rem; border: 1px solid var(--border); border-radius: 8px; background: #111; }
.repair-supply-card .eyebrow { margin-bottom: 1rem; }
.repair-supply-card h3 { font-size: 1.2rem; }
.repair-supply-card>p:last-child { margin-top: .8rem; font-size: .76rem; line-height: 1.8; }

.repair-reasons { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 2.5rem; overflow: hidden; border: 1px solid var(--border-subtle); border-radius: 8px; background: var(--border-subtle); }
.repair-reasons article { min-height: 165px; display: flex; align-items: center; justify-content: center; flex-direction: column; padding: 1.5rem; background: #111; text-align: center; }
.repair-reasons h3 { margin-bottom: .55rem; }
.repair-reasons p { font-size: .71rem; line-height: 1.7; }
.repair-quote-note { margin-top: 1.3rem; padding: 1rem 1.2rem; border-left: 2px solid var(--purple); background: rgba(142,52,171,.08); font-size: .73rem; line-height: 1.7; }
.repair-quote-note strong { color: #fff; }

.repair-process { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 2.5rem; }
.repair-process article { padding: 1.5rem; border: 1px solid var(--border-subtle); border-radius: 8px; background: #111; }
.repair-process b { color: var(--purple-dim); font:700 1.6rem Montserrat, sans-serif; }
.repair-process h3 { margin: .8rem 0 .55rem; }
.repair-process p { font-size: .72rem; line-height: 1.7; }

.repair-form-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 5rem; align-items: start; }
.repair-form-copy { position: sticky; top: 100px; }
.repair-form-copy>p:not(.eyebrow) { margin-top: 1rem; font-size: .82rem; line-height: 1.8; }
.repair-form-note { margin-top: 1.5rem; padding: 1rem 0 1rem 1rem; border-left: 2px solid var(--purple-dim); }
.repair-form-note strong,.repair-form-note span { display: block; }
.repair-form-note strong { font: 700 .78rem Montserrat, sans-serif; }
.repair-form-note span { margin-top: .25rem; color: var(--muted); font-size: .68rem; line-height: 1.65; }
.repair-form-card { padding: 2rem; border: 1px solid var(--border-subtle); border-radius: 8px; background: #141414; }
.repair-form-card>h3 { margin-bottom: 1.25rem; font-size: 1.2rem; }
.contact-form { display: flex; flex-direction: column; gap: 1rem; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-field { display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.form-field label,.repair-models-fieldset legend { color: var(--dim); font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.form-field input,.form-field textarea,.form-field select { width: 100%; padding: .8rem 1rem; border: 1px solid var(--border-subtle); border-radius: 4px; outline: none; appearance: none; resize: vertical; background: var(--card); color: var(--text); font: 400 .8rem Montserrat, sans-serif; }
.form-field input:focus,.form-field textarea:focus,.form-field select:focus { border-color: var(--purple); }
.form-field input::placeholder,.form-field textarea::placeholder { color: var(--dim); }
.form-field select option { background: #111; }
.req { color: var(--purple-light); }
.form-check { display: flex; align-items: center; gap: .6rem; cursor: pointer; color: var(--muted); font-size: .72rem; }
.form-check input { width: 1rem; height: 1rem; accent-color: var(--purple); cursor: pointer; flex-shrink: 0; }
.repair-models-fieldset { min-width: 0; margin: .2rem 0 0; padding: 0; border: 0; }
.repair-models-fieldset legend { margin-bottom: .7rem; }
.repair-model-row { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 130px 30px; gap: .7rem; align-items: end; margin-top: .7rem; }
.repair-model-row:first-child { margin-top: 0; }
.repair-model-remove { width: 30px; height: 42px; padding: 0; border: 1px solid var(--border-subtle); border-radius: 4px; background: #191919; color: var(--dim); font-size: 1.15rem; cursor: pointer; }
.repair-model-remove:hover { border-color: var(--border); color: #fff; }
.repair-model-add { display: inline-flex; align-items: center; gap: .45rem; margin-top: .85rem; padding: 0; border: 0; background: transparent; color: var(--purple-light); font: 600 .68rem Montserrat, sans-serif; cursor: pointer; }
.repair-model-add span { display: grid; place-items: center; width: 1.3rem; height: 1.3rem; border: 1px solid var(--purple-dim); border-radius: 50%; font-size: .9rem; }
.repair-model-add:hover { color: #fff; }
.form-btn-book { width: 100%; padding: .9rem 1.5rem; border: 0; border-radius: 4px; background: var(--purple); color: #fff; font: 600 .75rem Montserrat, sans-serif; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; }
.form-btn-book:hover { background: var(--purple-light); }
.form-btn-book:disabled { opacity: .65; cursor: wait; }
.repair-response-note { text-align: center; font-size: .6rem; }
.contact-form.submitted>:not(.form-success) { display: none; }
.contact-form.submitted { min-height: 240px; display: grid; place-items: center; }
.form-success { display: block; padding: 1.25rem; border: 1px solid var(--border); border-radius: 4px; background: var(--purple-glow); color: var(--purple-light); text-align: center; font-size: .8rem; }
.form-success[hidden] { display: none; }
.form-success strong,.form-success span { display: block; }
.form-success span { margin-top: .35rem; color: var(--muted); font-size: .68rem; }

@media (max-width: 1000px) {
  .repair-services { grid-template-columns: repeat(2, 1fr); }
  .repair-form-layout { gap: 3rem; }
}

@media (max-width: 900px) {
  .repair-hero-layout { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
  .repair-network,.repair-brands-layout,.repair-form-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .repair-form-copy { position: static; }
}

@media (max-width: 700px) {
  .repair-hero { min-height: auto; padding: 7rem 1.5rem 4rem; }
  .repair-hero-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .repair-hero-image { height: auto; min-height: 0; aspect-ratio: 4 / 5; }
  .repair-services,.repair-reasons,.repair-process { grid-template-columns: 1fr; }
  .repair-capabilities-image { height: auto; aspect-ratio: 16 / 9; }
  .repair-services article { min-height: 0; }
  .repair-reasons article { min-height: 0; }
  .repair-form-card { padding: 1.25rem; }
  .form-row { grid-template-columns: 1fr; }
  .repair-model-row { grid-template-columns: minmax(0, 1fr) 90px 30px; }
}
