/* ═══════════════════════════════════════════════════════════════
   STS — Responsive: Mobile-First Media Queries
   Reihenfolge: Mobile (Base) → Small → Tablet → Desktop → Large
   ═══════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────
   Base: Mobile (< 576px) — alle Standards in
   den anderen Dateien gelten für Mobile.
   Hier sind die Überschreibungen für Mobile-spezifisches:
   ───────────────────────────────────────────── */
@media (max-width: 1023px) {
  /* Desktop-Navigation ausblenden */
  .nav,
  .header__cta {
    display: none;
  }

  /* Mobile-Toggle anzeigen */
  .menu-toggle {
    display: inline-flex;
  }

  /* Header bei jeder Sub-Page auf solid setzen (kein Hero darüber) */
  .header--solid {
    background: rgba(10, 22, 40, 0.92);
  }

  /* Grids einklappen */
  .grid--2,
  .grid--3,
  .grid--4,
  .grid--services,
  .grid--stats,
  .grid--features {
    grid-template-columns: 1fr;
  }

  .split {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .split--reverse .split__media {
    order: 0;
  }

  .contact-grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .karriere-teaser {
    grid-template-columns: 1fr;
    padding: var(--space-lg);
  }

  .footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-lg);
  }

  .footer__brand {
    grid-column: 1 / -1;
  }

  .usp-bar__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .usp-tile {
    border-right: none;
    border-bottom: 1px solid var(--color-border-on-dark);
  }

  .usp-tile:nth-child(odd) {
    border-right: 1px solid var(--color-border-on-dark);
  }

  .usp-tile:nth-last-child(-n+2) {
    border-bottom: none;
  }

  .hero {
    min-height: auto;
    padding-top: calc(var(--header-height) + var(--space-xl));
    padding-bottom: var(--space-xl);
  }

  .hero__cta {
    flex-direction: column;
    align-items: stretch;
  }

  .hero__cta .btn {
    width: 100%;
  }

  .hero__scroll {
    display: none;
  }

  .job-card {
    grid-template-columns: 1fr;
    text-align: left;
  }

  .job-card__cta {
    width: 100%;
  }

  .faq__answer-inner {
    padding-right: 0;
  }

  .footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-sm);
  }
}

/* ─────────────────────────────────────────────
   Kleine Mobiles (< 480px)
   ───────────────────────────────────────────── */
@media (max-width: 479px) {
  .header__logo-img {
    height: 36px;
  }

  .logo-cloud {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-sm);
  }

  .logo-cloud__item {
    height: 64px;
  }

  .stat__value {
    font-size: 2.5rem;
  }
}

/* ─────────────────────────────────────────────
   Tablets Portrait (≥ 576px)
   ───────────────────────────────────────────── */
@media (min-width: 576px) {
  .grid--2 {
    grid-template-columns: repeat(2, 1fr);
  }

  .grid--stats,
  .grid--features {
    grid-template-columns: repeat(2, 1fr);
  }

  .logo-cloud {
    grid-template-columns: repeat(3, 1fr);
  }

  .form__row--2 {
    grid-template-columns: 1fr 1fr;
  }
}

/* ─────────────────────────────────────────────
   Tablets Landscape (≥ 768px)
   ───────────────────────────────────────────── */
@media (min-width: 768px) {
  .grid--3 {
    grid-template-columns: repeat(3, 1fr);
  }

  .grid--services {
    grid-template-columns: repeat(2, 1fr);
  }

  .grid--features {
    grid-template-columns: repeat(3, 1fr);
  }

  .usp-bar__grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .usp-tile {
    border-bottom: none;
    border-right: 1px solid var(--color-border-on-dark);
  }

  .usp-tile:last-child {
    border-right: none;
  }

  .logo-cloud {
    grid-template-columns: repeat(4, 1fr);
  }

  .footer__grid {
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
  }

  .footer__brand {
    grid-column: auto;
  }
}

/* ─────────────────────────────────────────────
   Desktop (≥ 1024px)
   ───────────────────────────────────────────── */
@media (min-width: 1024px) {
  .nav,
  .header__cta {
    display: inline-flex;
  }

  .menu-toggle {
    display: none;
  }

  .grid--services {
    grid-template-columns: repeat(4, 1fr);
  }

  .grid--stats {
    grid-template-columns: repeat(4, 1fr);
  }

  .split {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-2xl);
  }

  .contact-grid {
    grid-template-columns: 1.4fr 1fr;
  }

  .karriere-teaser {
    grid-template-columns: 1.4fr 1fr;
  }

  .logo-cloud {
    grid-template-columns: repeat(6, 1fr);
  }

  .hero {
    min-height: 100vh;
  }
}

/* ─────────────────────────────────────────────
   Print
   ───────────────────────────────────────────── */
@media print {
  .header,
  .footer,
  .hero__scroll,
  .menu-toggle,
  .mobile-menu,
  .mobile-menu__overlay,
  .cta-banner,
  .btn {
    display: none !important;
  }

  body {
    color: #000;
    background: #fff;
  }

  a {
    color: #000;
    text-decoration: underline;
  }
}
