/* ============================================================
   Startseite – Mobile
   ============================================================ */

@media (max-width: 980px) {
  .hero {
    height: auto;
    min-height: 420px;
    padding: 86px 0 48px;
    align-items: flex-start;
  }

  .hero-media {
    object-position: center 38%;
  }

  .hero-bg::after {
    background:
      linear-gradient(90deg, rgba(4, 14, 26, 0.88), rgba(4, 14, 26, 0.42)),
      linear-gradient(to top, rgba(4, 14, 26, 0.56), transparent 58%);
  }

  .hero-inner {
    transform: none;
  }

  .hero h1 {
    max-width: 690px;
    font-size: clamp(2.35rem, 8vw, 3.55rem);
    margin-bottom: 16px;
  }

  .hero-sub {
    max-width: 540px;
    font-size: 1rem;
    line-height: 1.58;
  }

  .trust-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trust-item {
    min-width: 0;
    padding: 20px 18px;
  }

  .trust-item:nth-child(2) {
    border-right: 0;
  }

  .trust-item:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(69, 154, 240, 0.14);
  }

  .trust-v {
    font-size: 1.45rem;
  }

  .trust-k {
    font-size: 0.74rem;
    line-height: 1.45;
  }

  .welcome-grid,
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .welcome-visual img {
    height: 340px;
  }

  .svc-grid,
  .ind-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .qual-grid {
    grid-template-columns: 1fr;
  }

  .gallery .gal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 180px;
  }

  .cfg-grid {
    grid-template-columns: 1fr;
  }

  .cfg-panel {
    border-top: 1px solid rgba(69, 154, 240, 0.2);
    border-left: 0;
  }

  .cfg-stage {
    height: 300px;
  }
}

@media (max-width: 620px) {
  .hero {
    min-height: 360px;
    padding: 78px 0 38px;
  }

  .hero-media {
    object-position: 62% center;
  }

  .hero h1 {
    font-size: clamp(2.05rem, 11vw, 2.85rem);
    line-height: 1.02;
  }

  .hero-sub {
    max-width: 92%;
    font-size: 0.94rem;
  }

  .trust-item {
    padding: 17px 13px;
  }

  .trust-v {
    font-size: 1.28rem;
  }

  .trust-k {
    font-size: 0.69rem;
  }

  .svc-grid,
  .ind-grid,
  .form-grid {
    grid-template-columns: 1fr;
  }

  .svc-card {
    padding: 24px;
  }

  .welcome-visual img {
    height: 280px;
  }

  .welcome-badge {
    left: 12px;
    bottom: 12px;
    padding: 16px 18px;
  }

  .welcome-badge .wb-v {
    font-size: 1.45rem;
  }

  .gallery .gal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 145px;
  }

  .gallery .gal-item.big {
    grid-column: 1 / -1;
    grid-row: span 1;
  }

  .contact-info-card,
  .form-card {
    padding: 24px 20px;
  }

  .form-grp.full {
    grid-column: auto;
  }

  .form-grid {
    gap: 14px;
  }

  .form-btn {
    width: 100%;
    margin-top: 16px;
  }

  .cfg-stage {
    height: 270px;
  }

  .cfg-panel {
    padding: 20px 16px;
  }
}

@media (max-width: 430px) {
  .hero {
    min-height: 340px;
  }

  .trust-item {
    padding-inline: 10px;
  }

  .trust-k {
    overflow-wrap: anywhere;
  }

  .gallery .gal-grid {
    grid-auto-rows: 132px;
  }
}
