body.variant-portal-ops .hero-grid {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

body.variant-portal-ops .summary {
  display: none;
}

body.variant-portal-ops .city {
  min-height: 420px;
}

body.variant-portal-ops .city-bottom {
  display: grid;
  gap: 18px;
}

body.variant-portal-ops #portal .portal-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: minmax(220px, auto);
}

body.variant-portal-ops #portal .portal-card:first-child {
  grid-row: span 2;
}

body.variant-portal-ops #portal .portal-card:last-child {
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  display: grid;
  align-items: center;
}

body.variant-portal-ops #portal .portal-card:last-child .portal-head,
body.variant-portal-ops #portal .portal-card:last-child h3,
body.variant-portal-ops #portal .portal-card:last-child p {
  grid-column: 1;
}

body.variant-portal-ops #portal .portal-card:last-child .portal-list,
body.variant-portal-ops #portal .portal-card:last-child .portal-actions {
  grid-column: 2;
}

body.variant-portal-ops #referenzen .reference-grid {
  grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.28fr);
}

body.variant-portal-ops #referenzen .reference-summary {
  order: 1;
}

body.variant-portal-ops #referenzen .map-shell {
  order: 2;
}

body.variant-portal-ops #leistungen .services {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.variant-portal-ops #kontakt .cta-grid {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

body.variant-portal-ops .cta-box {
  padding: 52px;
}

body.variant-portal-ops .cta-copy {
  max-width: 42ch;
}

@media (max-width: 1100px) {
  body.variant-portal-ops .hero-grid,
  body.variant-portal-ops #referenzen .reference-grid,
  body.variant-portal-ops #kontakt .cta-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  body.variant-portal-ops #portal .portal-grid,
  body.variant-portal-ops #leistungen .services {
    grid-template-columns: 1fr;
  }

  body.variant-portal-ops #portal .portal-card:first-child {
    grid-row: auto;
  }

  body.variant-portal-ops #portal .portal-card:last-child {
    grid-template-columns: 1fr;
  }

  body.variant-portal-ops #portal .portal-card:last-child .portal-list,
  body.variant-portal-ops #portal .portal-card:last-child .portal-actions {
    grid-column: auto;
  }
}
