/* ── MOBILE ≤768px ──────────────────────────────────────────────────────────
   Hero: 1-spaltig, Globus kleines Designelement oben rechts.
   Text-Sektionen: 1-spaltig gestapelt (kein leerer Raum, lesbare Breite).
   Einsatz + Team: 2-spaltig (Canvas/Bild links, Text rechts).
   ─────────────────────────────────────────────────────────────────────────── */

/* Nav */
nav { padding: 1rem 1.25rem; }
.nav-links { display: none; }

/* ── HERO ── */
.hero { min-height: 0; padding-bottom: 3rem; }
.hero-left {
  grid-column: 1 / -1;
  padding: 5rem 1.5rem 2rem;
  justify-content: flex-start;
}
.hero-title {
  font-size: clamp(3rem, 9vw, 5rem);
  padding-right: 44%;
  margin-bottom: 1.5rem;
}
#globe-canvas {
  position: absolute;
  right: 0; top: 3.5rem;
  width: 42%; height: 42vw;
  transform: translateX(4%);
}
.hero-desc   { font-size: 1rem; line-height: 1.75; margin-bottom: 2rem; }
.hero-coords { display: none; }

/* Eyebrow */
.ew-svg  { display: none; }
.eyebrow { font-size: 0.45rem; letter-spacing: 0.12em; margin-bottom: 1.2rem; }

/* Stats */
.stats { grid-template-columns: 1fr 1fr; }
.stat  { padding: 1.5rem 1.25rem; border-right: none; border-bottom: 1px solid var(--line); }

/* ── GEO — 1-spaltig, Topo direkt nach Überschrift ── */
.sec-geo   { grid-template-columns: 1fr; column-gap: 0; padding: 4rem 1.5rem; gap: 2rem; }
.topo-wrap { position: relative; top: auto; right: auto; width: 100%; height: auto; aspect-ratio: 640 / 340; margin: 1rem 0 0; }

/* ── NORTH ── */
.sec-north     { padding-bottom: 3rem; }
.north-head    { padding: 4rem 1.5rem 2rem; flex-direction: column; align-items: flex-start; gap: 1.5rem; }
.north-gallery { flex-direction: column; height: auto; }
.g-item        { flex: none !important; height: 55vw; width: 100%; }
.g-item--mobile-hidden { display: none; }
.g-item .g-idx { display: none; }
.g-item .g-cap { opacity: 1; }

/* ── KOMPETENZEN — 1-spaltig ── */
.sec-nature { grid-template-columns: 1fr; padding: 4rem 1.5rem; gap: 2rem; }

/* ── EINSATZ — 1-spaltig (Bagger oben, Text unten) ── */
.sec-einsatz { grid-template-columns: 1fr; padding: 4rem 1.5rem; gap: 2rem; }
.img-stack   { position: relative; top: auto; aspect-ratio: 3/2; width: 100%; }

/* ── TEAM — 1-spaltig ── */
.sec-human     { grid-template-columns: 1fr; }
.human-img     { height: auto; aspect-ratio: 16/9; }
.human-txt     { padding: 2rem 1.5rem; }

/* ── INFRA — 1 groß + 2×2 ── */
.sec-infra  { padding: 4rem 1.5rem; }
.infra-head { flex-direction: column; align-items: flex-start; gap: 1rem; }
.infra-grid { grid-template-columns: 1fr 1fr; gap: 3px; }
.infra-item         { grid-column: span 1; aspect-ratio: 4/3; height: auto; }
.infra-item.span2   { grid-column: 1 / -1; aspect-ratio: 16/9; }
.infra-info         { bottom: 0.5rem; left: 0.6rem; right: 0.6rem; }
.infra-name         { font-size: 0.55rem; }
.infra-meta         { display: none; }

/* ── CTA — 1-spaltig ── */
.sec-cta { grid-template-columns: 1fr; padding: 4rem 1.5rem; gap: 2rem; }

/* Sektions-Überschriften */
.sec-h { font-size: clamp(2rem, 7vw, 3.5rem); }

/* Footer */
footer     { padding: 2rem 1.5rem; flex-wrap: wrap; gap: 1.5rem; }
.foot-links { flex-wrap: wrap; gap: 0.6rem; }
