/* AD-Raster 2026-11-09b – Hero Text Spalte 8, Formular 1–7, Fuge 4px
   FIX: Nur .ag-hero-inner ist das 12er-Grid, NICHT die section.pl-hero */
:root{
  --ag-max:1440px;
  --ag-gutter:clamp(20px,5vw,80px);
  --ag-cols:4;
  --ag-gap:16px;
  --ag-section:80px;
  --ag-inner:24px;
  --ag-row-gap:4px;
}
@media (min-width:640px){
  :root{--ag-cols:8;--ag-gap:20px}
}
@media (min-width:1024px){
  :root{--ag-cols:12;--ag-gap:24px;--ag-section:128px;--ag-inner:40px}
}

/* Alte Overrides abschalten */
#l4-breit, style#l4-breit{display:none!important}
#planer-ad2, style#planer-ad2{display:none!important}

/* Neutralisiere Reste von planer-ad2 / l4-breit mit höherer Spezifität */
/* Frühere Null-Padding nur noch für Hero-Claim (Container kommt unten) */
main .pl-hero .pl-claim{
  padding-left:0!important;
  padding-right:0!important;
  margin-left:0!important;
  margin-right:0!important;
  max-width:none!important;
  width:auto!important;
}

.ag-container{
  width:100%;
  max-width:var(--ag-max);
  margin-inline:auto;
  padding-inline:var(--ag-gutter);
  box-sizing:border-box;
}
.ag-prose{max-width:68ch}
.ag-section{padding-block:var(--ag-section)}
.ag-label{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--grau,#6f6f6f);margin:0}
.ag-cta{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;margin-top:24px;justify-content:flex-start}

/* ===== Hero 7/5: NUR das Inner ist Grid ===== */
.pl-hero,
.pl-hero.ag-hero-grid{
  display:block!important;          /* section ist KEIN Grid */
  position:relative;
  margin:0;
  padding:0!important;
  width:100%;
  max-width:none;
}
.pl-hero .ag-hero-inner{
  display:grid;
  grid-template-columns:1fr;        /* mobil: eine Spalte */
  gap:0;
  column-gap:0;
  row-gap:0;
  max-width:var(--ag-max);
  margin-inline:auto;
  padding-inline:var(--ag-gutter);
  align-items:start;
  box-sizing:border-box;
  width:100%;
}
.pl-hero .pl-bild,
.pl-hero .ag-hero-bild{
  grid-column:1 / -1;
  margin:0;
  padding:0!important;
  min-width:0;
}
.pl-hero .pl-bild img,
.pl-hero .ag-hero-bild img{
  display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;
}
.pl-hero .pl-bild figcaption,
.pl-hero .ag-hero-bild figcaption{
  font-size:13px;color:var(--hell,#9a9a9a);margin-top:12px;
}
.pl-hero .pl-claim,
.pl-hero .ag-hero-text{
  grid-column:1 / -1;
  padding:24px 0 32px!important;
  margin:0!important;
  width:auto!important;
  max-width:none!important;
  min-width:0;
  display:flex!important;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
  gap:0;
  /* KEIN internes 7fr/5fr-Grid */
  grid-template-columns:none!important;
}
.pl-hero .pl-claim .ober{display:block;margin-bottom:16px}
.pl-hero .pl-claim h1,
.pl-hero .ag-hero-text h1{
  font-weight:200;
  font-size:clamp(34px,4.2vw,56px);
  line-height:1.08;
  letter-spacing:-.02em;
  max-width:18ch;
  margin:0;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:manual;
  text-wrap:balance;
}
.pl-hero .pl-sub, .pl-hero .ag-sub{
  color:var(--grau);line-height:1.65;max-width:36ch;margin:18px 0 0;
  font-size:clamp(15px,1.25vw,18px);
}
.pl-hero .cta-zeile{margin:22px 0 0}
.pl-hero .pl-rechts{
  display:block!important; /* kein display:contents – sonst Grid-Items zerfallen */
  margin-top:0;
}

@media (min-width:1024px){
  .pl-hero .ag-hero-inner{
    grid-template-columns:repeat(12, minmax(0, 1fr));
    column-gap:var(--ag-gap);
    padding-inline:var(--ag-gutter);
    align-items:start;
  }
  .pl-hero .pl-bild,
  .pl-hero .ag-hero-bild{
    grid-column:1 / span 7;
    margin-left:calc(-1 * var(--ag-gutter))!important;
    width:calc(100% + var(--ag-gutter))!important;
    max-width:none!important;
  }
  .pl-hero .pl-bild figcaption,
  .pl-hero .ag-hero-bild figcaption{padding-left:var(--ag-gutter)}
  .pl-hero .pl-bild img,
  .pl-hero .ag-hero-bild img{
    height:min(calc(100svh - var(--kopfhoehe,76px)),720px);
    aspect-ratio:auto;
  }
  .pl-hero .pl-claim,
  .pl-hero .ag-hero-text{
    grid-column:8 / span 5;   /* ≈ 842px @1440 */
    padding:0 0 40px!important;
  }
}

/* Intro / Abschnitte im Container */
.pl-intro,
main .l4-block,
main .l4-ablauf,
main .abschnittskopf,
main .faq,
main .formular.einspaltig .innen,
main .preisblock-kurz{
  max-width:var(--ag-max)!important;
  margin-inline:auto!important;
  padding-inline:var(--ag-gutter)!important;
  box-sizing:border-box;
}
.pl-intro{
  display:block!important;
  grid-template-columns:none!important;
  padding-top:var(--ag-section)!important;
  padding-bottom:calc(var(--ag-section) / 2)!important;
}
.pl-intro .nutzen, .pl-intro p, main .faq{
  max-width:68ch;
}

/* Formular: nie display:contents + Mehrspalten-Grid kombinieren */
main .formular.einspaltig .innen,
main .formular .innen{
  display:block!important;
  grid-template-columns:none!important;
  max-width:var(--ag-max)!important;
  margin-inline:auto!important;
  padding-inline:var(--ag-gutter)!important;
  box-sizing:border-box;
}
main .formular.einspaltig .innen > .zeigen,
main .formular.einspaltig .innen > .zeigen:first-child,
main .formular .innen > .zeigen:first-child{
  display:block!important; /* überschreibt site.css display:contents */
  max-width:68ch; /* ≈ Spalten 1–7 */
  width:100%;
}
@media (max-width:767px){
  main .formular.einspaltig .innen > .zeigen,
  main .formular.einspaltig .innen > .zeigen:first-child,
  main .formular .innen > .zeigen:first-child{
    max-width:none;
  }
  main .formular .reihe{grid-template-columns:1fr!important}
}


/* Bildreihen Gap 4px */
main .l4-refs, .ag-bleed-row{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:var(--ag-row-gap)!important;
  width:100vw;
  margin-left:calc(50% - 50vw)!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  max-width:none!important;
}
@media (min-width:640px){
  main .l4-refs, .ag-bleed-row{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
main .l4-refs a{padding-bottom:0!important}
/* l4-unter padding: siehe RUNDE3 */

main .l4-schritte{
  list-style:none;margin:0;padding:0;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:var(--ag-gap);
}
@media (min-width:1024px){
  main .l4-schritte{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

main .faq, main .preisblock-kurz, main .finale,
.atem, .vertrauen, .mehr-zeile, .gb-mehr{
  margin-left:0!important;margin-right:0!important;text-align:left!important;
  align-items:flex-start!important;
}
main .faq{max-width:68ch!important}

/* Preise */
.ouvertuere.preisspalte h1.riese{margin-left:0!important}
.preisraster{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:var(--ag-gap)!important;
  padding-inline:var(--ag-gutter)!important;
  max-width:var(--ag-max)!important;
  margin-inline:auto!important;
}
@media (min-width:1024px){
  .preisraster{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
.preisraster .preiskarte{padding-left:0!important}

/* Start Säulen */
.ag-saeulen{
  display:grid;grid-template-columns:1fr;gap:var(--ag-gap);
  padding-block:var(--ag-section);
}
@media (min-width:1024px){.ag-saeulen{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ag-saeulen a{display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--linie,#e4e4e4);padding-top:20px;color:inherit}
.ag-saeulen img{width:100%;aspect-ratio:4/3;object-fit:cover}
.ag-saeulen h3{font-weight:400;font-size:clamp(20px,2vw,26px);margin:0}
.ag-saeulen p{margin:0;color:var(--grau);font-size:15px;line-height:1.55;max-width:36ch}
.ag-saeulen .weiter{font-size:12px;letter-spacing:.22em;text-transform:uppercase;margin-top:auto}
.ag-nutzung-lines{list-style:none;margin:18px 0 0;padding:0;border-top:1px solid var(--linie,#e4e4e4)}
.ag-nutzung-lines li{padding:12px 0;border-bottom:1px solid var(--linie,#e4e4e4);font-size:15px;line-height:1.5;color:var(--grau)}

/* Start: max. EIN Bildband; restliche .karte als Raster-Kacheln mit 4px Gap */
body.ag-start .stapel[data-rotate]{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px!important;
  max-width:var(--ag-max);
  margin-inline:auto;
  padding-inline:var(--ag-gutter);
  box-sizing:border-box;
}
@media (min-width:1024px){
  body.ag-start .stapel[data-rotate]{grid-template-columns:repeat(4,minmax(0,1fr))}
}
body.ag-start .stapel[data-rotate] .karte{
  display:block!important;
  grid-template-columns:none!important;
  position:relative;
  margin:0!important;
  width:100%!important;
  max-width:none!important;
}
body.ag-start .stapel[data-rotate] .karte .bildseite,
body.ag-start .stapel[data-rotate] .karte .bildseite picture,
body.ag-start .stapel[data-rotate] .karte .bildseite img{
  transform:none!important;width:100%!important;max-width:100%!important;
  left:auto!important;right:auto!important;margin:0!important;
  aspect-ratio:4/3;object-fit:cover;height:auto;
}
body.ag-start .stapel[data-rotate] .karte .textseite{
  position:absolute;left:0;right:0;bottom:0;padding:16px;
  background:linear-gradient(transparent,rgba(0,0,0,.55));
  color:#fff;
}
body.ag-start .stapel[data-rotate] .karte .textseite h3{font-size:16px;font-weight:400;margin:0;color:#fff}
body.ag-start .stapel[data-rotate] .karte .textseite p,
body.ag-start .stapel[data-rotate] .karte .textseite .weiterlesen{display:none}
body.ag-start .stapel[data-rotate] .karte .textseite .tag,
body.ag-start .stapel[data-rotate] .karte .textseite .index{font-size:11px;letter-spacing:.12em;opacity:.85}

/* Overlay */
body.ag-show-grid::before{
  content:"";pointer-events:none;position:fixed;inset:0;z-index:9999;
  background:repeating-linear-gradient(
    to right,
    rgba(255,0,80,.11) 0,
    rgba(255,0,80,.11) calc((min(100vw,var(--ag-max)) - 2 * var(--ag-gutter) - 11 * var(--ag-gap)) / 12),
    transparent calc((min(100vw,var(--ag-max)) - 2 * var(--ag-gutter) - 11 * var(--ag-gap)) / 12),
    transparent calc((min(100vw,var(--ag-max)) - 2 * var(--ag-gutter) - 11 * var(--ag-gap)) / 12 + var(--ag-gap))
  );
  background-origin:content-box;
  padding-inline:max(var(--ag-gutter), calc((100vw - var(--ag-max)) / 2 + var(--ag-gutter)));
  box-sizing:border-box;mix-blend-mode:multiply;
}
body.ag-show-grid::after{
  content:"AD-Raster Sp.8-Hero · ?grid=1";
  position:fixed;top:8px;right:12px;z-index:10000;
  font:11px/1 Archivo,sans-serif;letter-spacing:.18em;text-transform:uppercase;
  background:rgba(0,0,0,.75);color:#fff;padding:6px 10px;pointer-events:none;
}

/* PREISE-FIX */
.ouvertuere.preisspalte{
  margin-left:0!important;
  margin-right:0!important;
  max-width:var(--ag-max)!important;
  padding-inline:var(--ag-gutter)!important;
  box-sizing:border-box;
  --links:0!important;
}
.ouvertuere.preisspalte h1.riese,
.ouvertuere.preisspalte .riese{
  margin-left:0!important;
  padding-left:0!important;
}
.ouvertuere.preisspalte .unterzeile{
  max-width:68ch!important; /* Sp. 1–7 */
  width:100%;
}
@media (max-width:767px){
  .ouvertuere.preisspalte{
    padding-inline:var(--ag-gutter)!important;
  }
  .ouvertuere.preisspalte .rolle,
  .ouvertuere.preisspalte h1,
  .ouvertuere.preisspalte .unterzeile,
  .ouvertuere.preisspalte .cta-zeile{
    margin-left:0!important;padding-left:0!important;
  }
}

/* START-HERO: Desktop harte Bildkante ab Spalte 8; Mobil: Live-Schleier-Fade (kein milchiges Video) */
body.ag-start .startanim .sa-medien{
  left:auto!important;right:0!important;width:auto!important;
  clip-path:none!important;
  opacity:1!important; /* nie dauerhaft abdunkeln – Schleier übernimmt Lesbarkeit */
}
@media (min-width:1024px){
  /* Desktop: Schleier aus (AD harte Kante), Text Sp.1–7, Bild ab Sp.8 */
  body.ag-start .startanim .sa-schleier{display:none!important;opacity:0!important}
  body.ag-start .startanim .sa-medien{
    left: calc(var(--ag-gutter) + 7 * ((min(100vw, var(--ag-max)) - 2 * var(--ag-gutter) - 11 * var(--ag-gap)) / 12 + var(--ag-gap))) !important;
    right:0!important;
    width:auto!important;
    opacity:1!important;
  }
  body.ag-start .startanim .ouvertuere{
    max-width:var(--ag-max);
    margin-inline:auto;
    padding-inline:var(--ag-gutter)!important;
    box-sizing:border-box;
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr));
    column-gap:var(--ag-gap);
    align-content:center;
  }
  body.ag-start .startanim .ouvertuere > *{
    grid-column:1 / span 7;
    max-width:none;
  }
  body.ag-start .startanim .ouvertuere .riese,
  body.ag-start .startanim .ouvertuere .leistungszeile,
  body.ag-start .startanim .ouvertuere .nachsatz,
  body.ag-start .startanim .ouvertuere .cta-zeile,
  body.ag-start .startanim .ouvertuere .rolle{
    grid-column:1 / span 7;
  }
  body.ag-start .startanim .sa-woerter{display:none!important}
}
@media (max-width:1023px){
  /* Mobil: Vollflächen-Medien bei Opazität 1; Schleier wie Live (Variante C, --saf) */
  body.ag-start .startanim .sa-schleier{
    display:block!important;
    /* opacity bleibt über Live-Regel calc(1 - var(--saf)*5) steuerbar */
  }
  body.ag-start .startanim .sa-medien{
    left:0!important;right:0!important;width:100%!important;
    position:absolute; inset:0;
    opacity:1!important;
  }
  body.ag-start .startanim .ouvertuere{position:relative;z-index:2}
}

/* EYEBROW-FIX: weniger ALL-CAPS / letter-spacing */
.preispaket .nummer,
.preisraster .nummer,
.preiskarte .nummer{
  text-transform:none!important;
  letter-spacing:.04em!important;
  font-size:11px!important;
  color:var(--grau,#6f6f6f)!important;
}
.pl-hero .pl-claim .ober,
.pl-hero .ag-label{
  text-transform:none!important;
  letter-spacing:.06em!important;
  font-size:13px!important;
  color:var(--grau,#6f6f6f)!important;
}
.ag-saeulen .ag-label{
  text-transform:none!important;
  letter-spacing:.06em!important;
}

/* ===== RUNDE3: eine Textkante Spalte 1, Bildband, Fade aus, Preise-Karte ===== */

/* Fade-in deaktivieren (Guide: nicht auf jeder Section). Screenshots ohne Animation. */
.zeigen,
.zeigen.da,
.zeigen.sichtbar,
.zeigen.in,
.abschnittskopf.zeigen,
.faq.zeigen,
.preispaket.zeigen{
  opacity:1!important;
  transform:none!important;
  visibility:visible!important;
  filter:none!important;
}
@media (prefers-reduced-motion: reduce){
  .zeigen,.zeigen.da{opacity:1!important;transform:none!important}
}

/* Kontaktblock: Kontrast WCAG AA (Text auf dunklem Grund) */
main .formular{
  color:#f2f2f2!important;
}
main .formular h2{
  color:#fff!important;
}
main .formular .innen p,
main .formular .innen label,
main .formular .direkt,
main .formular .direkt a,
main .formular .stimme-kurz,
main .formular .zweiter-weg{
  color:#e8e8e8!important;
}
main .formular .innen p[style*="color"]{
  color:#e8e8e8!important; /* überschreibt inline #a8a8a8 */
}
main .formular input,
main .formular textarea,
main .formular select{
  color:#fff!important;
  border-bottom-color:rgba(255,255,255,.45)!important;
}
main .formular .btn-hell,
main .formular button[type="submit"],
main .formular .anfrage button{
  color:#111!important;
  background:#f2f2f2!important;
  border-color:#f2f2f2!important;
}

/* l4-block: KEINE zentrierte 1200px-Spalte mehr → Spalte 1 = --ag-gutter */
main .l4-block,
main .l4-ablauf,
main section.l4-block{
  width:100%!important;
  max-width:var(--ag-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  margin-inline:auto!important;
  padding-left:var(--ag-gutter)!important;
  padding-right:var(--ag-gutter)!important;
  padding-top:var(--ag-section)!important;
  box-sizing:border-box!important;
}
main .pl-intro{
  width:100%!important;
  max-width:var(--ag-max)!important;
  margin-inline:auto!important;
  padding-left:var(--ag-gutter)!important;
  padding-right:var(--ag-gutter)!important;
  padding-top:var(--ag-section)!important;
  padding-bottom:calc(var(--ag-section)/2)!important;
  box-sizing:border-box!important;
}
main .abschnittskopf{
  width:100%!important;
  max-width:var(--ag-max)!important;
  margin-inline:auto!important;
  padding-left:var(--ag-gutter)!important;
  padding-right:var(--ag-gutter)!important;
  box-sizing:border-box!important;
}
main .faq{
  width:100%!important;
  max-width:var(--ag-max)!important;
  margin-inline:auto!important;
  padding-left:var(--ag-gutter)!important;
  padding-right:var(--ag-gutter)!important;
  box-sizing:border-box!important;
}
main .faq details,
main .faq summary,
main .faq p{
  max-width:68ch;
  color:var(--ink,#111)!important;
}
main .faq summary{color:var(--ink,#111)!important}
main .faq p{color:var(--grau,#4a4a4a)!important}

/* Formular-Innenkante = Spalte 1 */
main .formular.einspaltig .innen,
main .formular .innen{
  max-width:var(--ag-max)!important;
  margin-inline:auto!important;
  padding-left:var(--ag-gutter)!important;
  padding-right:var(--ag-gutter)!important;
  box-sizing:border-box!important;
}

/* Bildband: vollbreit, Gap 4px; erste Caption auf Textkante */
main .l4-refs,
.ag-bleed-row{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:4px!important;
  column-gap:4px!important;
  row-gap:4px!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
@media (min-width:640px){
  main .l4-refs, .ag-bleed-row{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
main .l4-refs a{margin:0;padding:0!important}
main .l4-refs img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
main .l4-refs .l4-unter{
  display:block;
  padding-top:10px!important;
  padding-right:12px!important;
  padding-bottom:4px!important;
  padding-left:12px!important;
  font-size:13px;
  color:var(--grau,#6f6f6f);
}
/* Caption der ersten Kachel beginnt an Spalte 1 (72 @1440) */
main .l4-refs > a:first-child .l4-unter{
  padding-left:var(--ag-gutter)!important;
}

/* Eyebrows normal case (FAQ / Fakten / Abschnittsköpfe) – Footer-Überschriften bleiben */
main .l4-fakten dt,
main .abschnittskopf .ober,
main .l4-kopf .ober,
main .faq + .abschnittskopf .ober,
main .ober{
  text-transform:none!important;
  letter-spacing:.06em!important;
  font-size:13px!important;
}
footer .ober,
footer h3,
.fuss .ober,
.fussnav .ober{
  /* Footer Leistungen · Arbeiten · Kontakt unverändert */
  text-transform:revert;
  letter-spacing:revert;
  font-size:revert;
}

/* Preise: Karte auf Textkante, Abstand CTA→Karte 80px; H1 nicht anfassen */
.ouvertuere.preisspalte{
  min-height:0!important;
  padding-bottom:0!important;
  margin-bottom:0!important;
}
.ouvertuere.preisspalte .cta-zeile{
  margin-bottom:0!important;
}
.preisraster{
  width:100%!important;
  max-width:var(--ag-max)!important;
  margin-inline:auto!important;
  margin-top:0!important;
  padding-left:var(--ag-gutter)!important;
  padding-right:var(--ag-gutter)!important;
  padding-top:0!important;
  box-sizing:border-box!important;
}
/* Standalone Preispakete brauchen eigenen Gutter; im Raster liefert .preisraster ihn */
.preispaket.preisspalte,
section.preispaket.preisspalte{
  width:100%!important;
  max-width:var(--ag-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  margin-inline:auto!important;
  padding-left:var(--ag-gutter)!important;
  padding-right:var(--ag-gutter)!important;
  box-sizing:border-box!important;
}
.preisraster > .preispaket.preisspalte,
.preisraster > .preispaket,
.preisraster > section.preispaket{
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
/* erster Preispaket-Abstand nach Ouvertüre: 80px (Raster; Abschnitte sonst 128) */
.preisraster > .preispaket:first-child,
.preisraster > #apotheken{
  padding-top:80px!important;
}
.preisraster .preiskarte{
  padding-left:clamp(22px,3vw,40px)!important;
  padding-right:clamp(22px,3vw,40px)!important;
  margin-left:0!important;
}
.preisliste-titel{
  text-transform:none!important;
  letter-spacing:.06em!important;
  font-size:12px!important;
}

/* RUNDE3b: Formular-Doppelrand entfernen (section + innen) */
main .formular.einspaltig,
main .formular{
  padding-left:0!important;
  padding-right:0!important;
  margin-left:0!important;
  margin-right:0!important;
}
main .formular.einspaltig .innen,
main .formular .innen{
  padding-left:var(--ag-gutter)!important;
  padding-right:var(--ag-gutter)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  max-width:var(--ag-max)!important;
}
/* Caption-Text der ersten Kachel: Inhalt ab Spalte 1 */
main .l4-refs > a:first-child .l4-unter{
  box-sizing:border-box!important;
  padding-left:var(--ag-gutter)!important;
  width:100%;
}

/* AD: 40px zwischen Rezensions-Quellenzeile und Formular-Label NAME @1440 */
@media (min-width:1024px){
  main .formular.einspaltig .stimme-kurz{
    margin-bottom:0!important;
  }
  main .formular.einspaltig .stimme-kurz figcaption{
    margin-bottom:0!important;
  }
  main .formular.einspaltig form.anfrage{
    margin-top:40px!important;
  }
}


/* Preise-Hinweis: kompakter Block, Raster-Abstand 80 mobil / 128 desktop */
#preise-hinweis{
  padding-top:var(--ag-section)!important;
  padding-bottom:0!important;
  min-height:0!important;
}
#preise-hinweis .l4-kopf{margin-bottom:24px!important}
#preise-hinweis + .abschnittskopf,
#preise-hinweis + .faq,
main .abschnittskopf:has(+ .faq){
  padding-top:var(--ag-section)!important;
}

/* ===== RAND-GESETZ: min. Spalte-1-Gutter für Text/Listen/Buttons ===== */
main .preispaket,
main .preisspalte,
main .bausteine-raster,
main .bausteingruppe,
main .baustein,
main .enthalten,
main .stufen,
main .stimmenliste,
main .preis-cta,
main .l4-block,
main .abschnittskopf,
main .faq,
main .pl-intro,
main .kongress,
main .finale,
main .vertrauen,
main .atem,
main .gb-mehr,
main .mehr-zeile{
  box-sizing:border-box;
}
/* Globale Absicherung: Content nie unter 20/38 px an den Viewport-Rand */
@media (max-width:1023px){
  main > section:not(.pl-hero):not(.startanim),
  main > .preispaket,
  main > .preisraster,
  main > .abschnittskopf,
  main > .faq,
  main .formular .innen,
  main .ouvertuere:not(.sa-pin .ouvertuere){
    padding-left:max(var(--ag-gutter), 20px)!important;
    padding-right:max(var(--ag-gutter), 20px)!important;
  }
  /* Ausnahme: bewusst randlose Bildbänder */
  main .l4-refs,
  main .wegweiser,
  main .ag-bleed-row,
  body.ag-start .startanim .sa-medien{
    padding-left:0!important;
    padding-right:0!important;
  }
}

/* ===== Events-Kacheln mobil: Bild oben, Text darunter, kein Overlay ===== */
@media (max-width:900px){
  main .wegweiser{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:24px!important;
    background:transparent!important;
    padding-inline:var(--ag-gutter)!important;
  }
  /* Parent sections already have --ag-gutter; do not stack a second 20px (would be 40px @390) */
  main section .wegweiser,
  main .l4-block .wegweiser{
    padding-inline:0!important;
  }
  main .wegweiser > a{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    aspect-ratio:auto!important;
    overflow:visible!important;
    background:transparent!important;
    color:inherit!important;
  }
  main .wegweiser > a picture,
  main .wegweiser > a img{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:4/3!important;
    object-fit:cover!important;
    filter:none!important;
    transform:none!important;
  }
  main .wegweiser > a .schild{
    position:static!important;
    inset:auto!important;
    padding:16px 0 8px!important;
    color:var(--ink,#111)!important;
    background:none!important;
  }
  main .wegweiser > a .schild h3{
    color:var(--ink,#111)!important;
    font-size:clamp(22px,6vw,28px)!important;
  }
  main .wegweiser > a .schild p{
    color:var(--grau,#4a4a4a)!important;
    max-width:68ch!important;
  }
  main .wegweiser > a .pfeil{
    color:var(--ink,#111)!important;
  }
  /* Doppel-Eyebrow weg: nur H3 behalten */
  main .wegweiser > a .schild > .ober{display:none!important}
  /* Crops: Köpfe / Zollwärts-Banner sichtbar */
  main .wegweiser img[src*="niedersachsen-next-jahrestreffen-0023"],
  main .wegweiser img.fokus-mitte[src*="niedersachsen"]{
    object-position:50% 12%!important; /* Kopf der Rednerin */
  }
  main .wegweiser img[src*="zollwaerts-2026-essen-01"]{
    object-position:50% 28%!important; /* Banner + Bühne */
  }
  main .wegweiser img[src*="konferenz-redner-auditorium"],
  main .wegweiser img.fokus-rechts[src*="konferenz"]{
    object-position:78% 70%!important; /* Redner am Pult */
  }
}
/* Desktop: doppeltes Eyebrow auch dort entfernen falls vorhanden */
@media (min-width:901px){
  main .wegweiser > a .schild > .ober{display:none!important}
}

/* ===== Nach-oben-Button: ruhig, safe-area, nicht über Formular ===== */
.nach-oben--float{
  display:none;
}
@media (max-width:1023px){
  .nach-oben--float{
    display:block!important;
    position:fixed!important;
    right:max(20px, env(safe-area-inset-right, 0px))!important;
    bottom:max(20px, env(safe-area-inset-bottom, 0px))!important;
    z-index:60;
    margin:0;
    padding:10px 12px!important;
    border:0!important;
    border-bottom:1px solid var(--ink,#111)!important;
    background:rgba(255,255,255,.9)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    box-shadow:none!important;
    color:var(--ink,#111)!important;
    font:inherit!important;
    font-size:12px!important;
    font-weight:400!important;
    letter-spacing:0.02em!important;
    text-transform:none!important;
    line-height:1!important;
    cursor:pointer;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:none!important;
    transition:opacity .2s linear, visibility .2s linear;
    appearance:none;
    -webkit-appearance:none;
  }
  .nach-oben--float.sichtbar{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .nach-oben--float:focus-visible{
    outline:2px solid var(--ink,#111);
    outline-offset:3px;
  }
  .nach-oben--float.verdeckt{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}
@media (prefers-reduced-motion: reduce){
  .nach-oben--float{transition:none!important}
}

@media (max-width:900px){
  main .wegweiser img.evt-kachel-business{object-position:50% 12%!important}
  main .wegweiser img.evt-kachel-kongress{object-position:50% 28%!important}
  main .wegweiser img.evt-kachel-wissenschaft{object-position:78% 70%!important}
}

/* Nach-oben: mind. 20px Rand */
@media (max-width:1023px){
  .nach-oben--float{
    right:max(20px, env(safe-area-inset-right, 0px))!important;
    bottom:max(20px, env(safe-area-inset-bottom, 0px))!important;
  }
}
/* Preise: Bausteine/.betrag nie am Viewport-Rand */
main .baustein .bkopf,
main .baustein .name,
main .baustein .betrag,
main .bausteine-raster,
main .preispaket .bausteingruppe{
  max-width:100%;
  box-sizing:border-box;
}
main .preispaket .betrag{
  /* keep inside padded packet */
  position:relative;
}
/* Projekte: Analog-Link und Intro auf Textkante */
#analog-vorschau,
main .ouvertuere + #analog-vorschau,
body .ag-container#analog-vorschau{
  padding-inline:var(--ag-gutter)!important;
  max-width:var(--ag-max)!important;
  margin-inline:auto!important;
  box-sizing:border-box!important;
}
/* Projekte intro/ouvertuere body */
body:not(.ag-start) main .ouvertuere,
main.projekte .ouvertuere,
main .ouvertuere.wie-gesicht{
  padding-inline:var(--ag-gutter)!important;
  box-sizing:border-box!important;
}


main .auswahl-hinweis{
  margin-inline:var(--ag-gutter)!important;
  max-width:68ch!important;
  box-sizing:border-box!important;
}

/* AD runde6: 40px zwischen Kontaktzeile (Regensburg) und NAME @390 */
@media (max-width:1023px){
  main .formular.einspaltig .innen,
  main .formular .innen{
    display:flex!important;
    flex-direction:column;
  }
  main .formular.einspaltig .innen > div.zeigen,
  main .formular.einspaltig .innen > div.zeigen:first-child,
  main .formular .innen > div.zeigen:first-child{
    display:contents!important;
  }
  main .formular.einspaltig .innen h2,
  main .formular .innen h2{order:1!important}
  main .formular.einspaltig .innen h2 + p,
  main .formular .innen h2 + p{order:2!important}
  main .formular.einspaltig .zweiter-weg,
  main .formular .zweiter-weg{order:3!important}
  main .formular.einspaltig .rueckruf-hinweis,
  main .formular .rueckruf-hinweis{order:4!important}
  main .formular.einspaltig .direkt,
  main .formular .direkt{order:5!important;margin-top:0!important;margin-bottom:0!important}
  main .formular.einspaltig form.anfrage,
  main .formular.einspaltig form.zeigen.anfrage,
  main .formular form.anfrage,
  main .formular form.zeigen.anfrage{order:6!important;margin-top:40px!important}
  main .formular.einspaltig .stimme-kurz,
  main .formular .stimme-kurz{order:7!important;margin-top:36px!important}
}

/* HERO-FIX 2026-11-10e: Name nie im Wort trennen, Schriftgröße an Textspalte (Sp. 1–7) gebunden;
   Bildkante folgt dem zentrierten 1440er-Raster (auch > 1440 px); harte Kante schon ab 900 px */
body.ag-start .startanim .riese .zeile > span{
  white-space:nowrap;
  overflow-wrap:normal!important;
  word-break:normal!important;
  -webkit-hyphens:manual!important;
  hyphens:manual!important;
}
@media (min-width:900px){
  body.ag-start .startanim .sa-schleier{display:none!important;opacity:0!important}
  body.ag-start .startanim .sa-medien{
    left: calc(max(0px, (100% - var(--ag-max)) / 2) + var(--ag-gutter) + 7 * ((min(100%, var(--ag-max)) - 2 * var(--ag-gutter) - 11 * var(--ag-gap)) / 12 + var(--ag-gap))) !important;
    right:0!important;
    width:auto!important;
  }
  body.ag-start .startanim .ouvertuere{
    max-width:var(--ag-max);
    margin-inline:auto;
    padding-inline:var(--ag-gutter)!important;
    box-sizing:border-box;
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr));
    column-gap:var(--ag-gap);
    align-content:center;
  }
  body.ag-start .startanim .ouvertuere > *{grid-column:1 / span 7;max-width:none;min-width:0}
  body.ag-start .startanim .sa-woerter{display:none!important}
  /* "Alexander" ≈ 4,15 em breit → max. Spaltenbreite / 4,4 */
  body.ag-start .startanim .sa-pin .riese{
    font-size:clamp(52px, min(11.5vw, 14vh, calc(((min(100vw, var(--ag-max)) - 2 * var(--ag-gutter) - 11 * var(--ag-gap)) * 7 / 12 + 6 * var(--ag-gap)) / 4.4)), 200px);
  }
}
