.slab__mobile-call,
.hero__whatsapp,
.hero__calculator-link { display: none; }

@media (max-width: 74rem) {
  .slab__inner { gap: .5rem; padding-block: .5rem; }
  .slab__mobile-call {
    display: inline-flex; align-items: center; justify-content: center;
    flex: none; width: 44px; height: 44px; margin-left: auto;
    background: var(--color-taxi); color: var(--color-on-tile);
  }
  .slab__mobile-call svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linejoin: round; }
  .slab__mobile-call:focus-visible { outline-color: var(--color-ink); }
  .slab__toggle { margin-left: 0; min-width: 44px; height: 44px; padding-inline: .625rem; border-color: transparent; }
  .slab__toggle[aria-expanded="true"] .slab__bars { background: transparent; }
  .slab__toggle[aria-expanded="true"] .slab__bars::before { top: 0; transform: rotate(45deg); }
  .slab__toggle[aria-expanded="true"] .slab__bars::after { top: 0; transform: rotate(-45deg); }
  .slab__nav { margin-top: 0; border-top: 1px solid var(--hairline-on-dark); max-height: calc(100dvh - 6rem); overflow-y: auto; }
  .slab__nav .slab__call { display: none; }
  .slab__link { min-height: 52px; font-size: 1rem; letter-spacing: 0; text-transform: none; font-weight: 600; }
}

@media (min-width: 40.01rem) and (max-width: 56rem) {
  .fleet-list { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .fleet-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto 1fr; }
  .fleet-photo { grid-row: 1 / 3; height: 100%; aspect-ratio: 6 / 5; border-bottom: 0; }
  .fleet-row h2 { align-self: start; }
}

@media (max-width: 56rem) {
  section[id], #anfrage, #tarifquellen { scroll-margin-top: 5rem; }
  .slab__logo { width: 42px; height: 42px; }
  .slab__mark { gap: .5rem; font-size: 1rem; letter-spacing: .02em; }
  .slab__toggle-label { display: none; }
  .hero { padding-block: 1.75rem 1rem; }
  .hero__inner { display: block; }
  .hero__copy { gap: 1.25rem; }
  .hero__line { font-size: clamp(2.75rem, 11vw, 3.5rem); }
  .hero__cta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .625rem; width: 100%; max-width: 28rem; }
  .hero__cta .btn { min-height: 52px; padding: .75rem .5rem; gap: .5rem; font-family: var(--font-body); font-size: 1rem; font-weight: 600; letter-spacing: 0; text-transform: none; }
  .hero__cta .btn svg { width: 18px; height: 18px; flex: none; }
  .hero__inquiry, .whatsapp { display: none; }
  .hero__cta .hero__whatsapp { display: inline-flex; }
  .hero__calculator-link { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; margin-top: -.5rem; font-size: .9375rem; text-decoration: underline; text-underline-offset: .2em; }
  .hero__calculator-link svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
  .payment-note { padding: 0; gap: .75rem; background: transparent; color: var(--color-ink); }
  .payment-note svg { width: 24px; height: 24px; color: var(--color-taxi); }
  .payment-note strong { font-size: .9375rem; font-weight: 500; }
  .payment-note span span { font-size: .875rem; color: var(--color-ink-soft); }

  .rechner { padding-block: 1rem 1.5rem; }
  .calc__bar { padding: .875rem 1rem; }
  .calc__title { font-size: 1.25rem; }
  .calc__body { padding: 1rem; gap: 1.25rem; }
  .calculator fieldset { gap: 1.25rem; }
  #route-fields { position: relative; gap: 1.25rem; }
  #route-fields .field-group { display: flex; flex-direction: column; gap: .375rem; }
  #route-fields .field-group > label { padding-right: 3.5rem; }
  #swap { position: absolute; right: 0; top: 4.625rem; width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: .625rem; background: white; border: 1px solid var(--color-line); z-index: 1; }
  #swap span { display: none; }
  #swap:focus-visible { outline-color: var(--color-line); }
  #calc-btn { min-height: 52px; font-family: var(--font-body); font-size: 1rem; font-weight: 600; letter-spacing: 0; text-transform: none; }
  .calc__note { padding: 1rem; }
  .fare-map, #calc-map { height: 18rem; }

  .section { padding-block: 1.75rem; }
  .section-heading { margin-bottom: 1.25rem; }
  .section-heading h2, #contact-title { font-size: 2rem; line-height: 1.25; }
  .section-heading--bar { padding-block: .875rem; margin-bottom: .25rem; }
  .service-list { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .service-list article { padding: 1.25rem 0; border: 0; border-bottom: 1px solid var(--hairline-on-dark); color: var(--color-ink); }
  .service-list article:nth-child(n) { background: transparent; }
  .service-list article:last-child { border-bottom: 0; padding-bottom: 0; }
  .service-list h3 { font-size: 1.125rem; line-height: 1.4; }
  .service-list p { margin-top: .5rem; color: var(--color-ink-soft); }
  .health-note { padding: 1.25rem; }
  .health-copy .text-link { font-size: .9375rem; }
  .contact-layout { gap: 2rem; }
  .contact-phone { margin-top: 1rem; }
  .contact-email { margin-block: .75rem 1rem; }
  .contact-enquiry #anfrage { margin-top: 1rem; }
  .inquiry-form { padding: 1rem; }
  .form-row--schedule { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .form-row--schedule label { display: flex; flex-wrap: wrap; gap: 0 .25rem; }
  .form-row--schedule input { padding-inline: .5rem; }
  .foot__inner { padding-block: 1.25rem; gap: .5rem; }
  .foot__inner nav { gap: .25rem 1.25rem; }

  .page-intro { padding-block: 1.75rem 0; }
  .page-intro h1 { font-size: clamp(2rem, 8vw, 3rem); }
  .page-intro__suffix { display: none; }
  .page-intro p { margin-top: 1rem; font-size: 1rem; line-height: 1.6; }
  .page-intro + .section { padding-top: 1.5rem; }
  .fleet-row h2 { padding: 1rem; font-size: 1.125rem; line-height: 1.5; }
  .fleet-row > div { padding: 1rem; }
  .fleet-photo.fleet-photo--van { object-position: 50% 85%; }
  .fleet-note + .btn { width: 100%; }
  .legal-content { margin-bottom: 2rem; }
  .legal-draft { padding: 1.25rem; }
}

@media (max-width: 40rem) {
  .fleet-list { gap: 1.5rem; }
  .fleet-photo { aspect-ratio: 3 / 2; object-position: 50% 58%; }
  .fleet-photo--ramp { aspect-ratio: 6 / 5; object-position: 50% 85%; }
}

@media (max-width: 23rem) {
  .hero__cta .btn { font-size: .875rem; }
  .hero__cta .btn svg { width: 16px; height: 16px; }
  .form-row--schedule { grid-template-columns: minmax(0, 1fr); }
}
