/* ══ GENESIS — Responsive · Reduced Motion · Fallbacks ══ */

/* ── ≤ 900px ── */
@media (max-width: 900px) {
  .nav { gap: 1.2rem; }
  .nav__links { display: none; }           /* One-Pager: CTA + Scroll genügen */
  /* Volle Textbreite — das Schiff wird zur leisen Wasserlinie unter der Typo */
  .hero__inner { max-width: 100%; margin-left: 0; }
  .hero-still { background-size: 92% auto; background-position: center 82%;
    -webkit-mask-image: linear-gradient(180deg, transparent, #000 45%);
    mask-image: linear-gradient(180deg, transparent, #000 45%); }
  .pipe__st { grid-template-columns: 1fr; gap: .6rem; }
  .pipe__no { font-size: clamp(2.6rem, 11vw, 4rem); }
  .state { grid-template-columns: 1fr; gap: .45rem; }
  .state__desc { max-width: none; }
  .proof { grid-template-columns: 1fr; }
  .proof__it:nth-child(odd) { border-right: 0; }
  .proof__it { padding-left: 0; padding-right: 0; }
  .cq-f { grid-template-columns: minmax(6.5rem, 9rem) 1fr 3.2rem; }
  .cq-f__bar { display: none; }
}

/* ── ≤ 560px ── */
@media (max-width: 560px) {
  :root { --spine-x: 1.1rem; }
  /* Koordinaten + Shipment-ID in den Fluss holen — keine Kollisionen */
  .hero__coord, .hero__ship { position: static; margin: 0 0 .3rem; }
  .hero__ship { margin-bottom: 1.4rem; }
  .hero__h1 { margin-top: 0; }
  .hero__claim { flex-wrap: wrap; gap: .35rem .9rem; }
  .hero__claimSep { display: none; }
  .hero__cta { margin-left: 0; width: 100%; }
  .hero__foot { gap: 1.6rem; }
  .ledger__row { flex-direction: column; align-items: flex-start; gap: .6rem; }
  .console__stage { padding: 1rem; }
  .cq-f { grid-template-columns: 1fr auto; }
  .cq-f__field { grid-column: 1 / -1; }
  .btn { width: 100%; }
  .nav__cta { margin-left: auto; width: auto; }
  .hero__cta .btn { width: auto; flex: 1 1 auto; }
  .foot { gap: 1rem 1.6rem; }
  .foot__loc { margin-left: 0; flex-basis: 100%; }
}

/* ── Ultrawide: Inhalt zügeln ── */
@media (min-width: 1900px) {
  .scene { padding-left: max(var(--gutter), calc(50vw - 860px)); padding-right: max(var(--gutter), calc(50vw - 860px)); }
  .scene::before { left: max(var(--spine-x), calc(50vw - 860px)); }
  .nav, .foot { padding-left: max(var(--gutter), calc(50vw - 860px)); padding-right: max(var(--gutter), calc(50vw - 860px)); }
}

/* ── Touch: Hover-Verschiebung deaktivieren ── */
@media (hover: none) {
  .state:hover { padding-left: 0; }
  .btn:hover { transform: none; }
}

/* ── Reduced Motion: ruhige, vollwertige Variante ── */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .loader { transition: none; }
  .loader__mark span { animation: none; opacity: 1; transform: none; }
  .ticker__track { animation: none; }
  .rv-init .rv { opacity: 1; transform: none; transition: none; }
  .nav { transition: background .01s; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
