
h1, .type-slab h1, .prinzipal h1, .stein-text h1, .folio-hero h1, .rechnungsbrett h1 {
  font-size: clamp(2.05rem, 3.6vw, 3.2rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.03em !important;
}
p { max-width: 68ch; }
.map-slot { margin: 1.75rem 0 0; max-width: 1080px; }
.map-slot iframe { width: 100%; height: 260px; border: 0; display: block; }
.spread img, .plate img, .tipped img, .wide-pic img, .werkfoto img,
.buchtfoto img, .spurfoto img, .photo-slab img, .desert-hero img, .page-pipe img, .pfeiler img {
  width: 100%;
  max-height: 440px !important;
  object-fit: cover !important;
}
.page-pipe img, .pfeiler img { clip-path: none !important; min-height: 0 !important; height: 420px !important; }
.prinzipal, .type-slab, .sprossenwerk, .desert-hero, .pfeiler { min-height: 0 !important; }
.type-slab { padding: 36px 6vw 22px !important; }
.photo-slab { width: min(1080px, 92%) !important; margin-left: auto !important; margin-right: auto !important; }
.photo-slab img, .werkfoto img, .buchtfoto img, .spurfoto img { height: 400px !important; aspect-ratio: auto !important; }
.desert-hero { display: block !important; }
.desert-hero img { height: 440px !important; }
.hero-card {
  position: relative !important;
  left: auto !important;
  bottom: auto !important;
  margin: 24px 5vw 8px !important;
  max-width: 720px !important;
}
.stein-foto, .page-circle {
  width: min(78vw, 26rem) !important;
  height: min(78vw, 26rem) !important;
}
.ring-card {
  aspect-ratio: auto !important;
  border-radius: 18px !important;
  width: min(100%, 280px) !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 22px 18px !important;
}
.ticket { width: min(100%, 18rem); }
form.note, form.quay-form, form.hold-form, form.rx-pad, form.linienheft, form.aufmassform {
  display: grid;
  gap: 12px;
  max-width: 36rem;
}
form label { display: grid; gap: 6px; font-size: 0.92rem; }
form input, form textarea, form select {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  font: 16px/1.45 inherit;
  padding: 10px 12px;
  border: 1px solid rgba(0,0,0,.28);
  background: #fff;
  color: #1a1a1a;
}
form textarea { min-height: 120px; resize: vertical; }
form button { justify-self: start; padding: 12px 18px; cursor: pointer; }
.form-hint { font-size: 0.92rem; opacity: .8; }

.tischlermarke { grid-template-columns: auto !important; }
.tischlermarke small { grid-column: 1 !important; display: block; }
.prinzipal { grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.92fr) !important; align-items: start !important; }
.pfeiler img { aspect-ratio: 4 / 3 !important; height: auto !important; width: 100% !important; max-height: 440px !important; }
.crate-row { margin-top: 32px !important; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important; }
.pultblatt { max-width: none !important; }
.fahrkarte h2 { text-transform: none !important; letter-spacing: 0 !important; line-height: 1.3 !important; font-size: 1.2rem !important; }
.klassenreihe { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important; }
.rx-chip { width: min(100%, 320px) !important; justify-self: start; }
.hero-card { box-shadow: 0 14px 32px rgba(42, 32, 24, 0.14) !important; }
.auftragsschein { max-width: 46rem; }
