/* impulssein – eigenes CSS (Nachbau des Sitejet-Auftritts, Werte aus der Live-Seite gemessen) */
@font-face { font-family: 'Poppins'; font-weight: 100; font-display: swap;
  src: url(../fonts/poppins-100-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Poppins'; font-weight: 100; font-display: swap;
  src: url(../fonts/poppins-100-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Poppins'; font-weight: 200; font-display: swap;
  src: url(../fonts/poppins-200-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Poppins'; font-weight: 200; font-display: swap;
  src: url(../fonts/poppins-200-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Poppins'; font-weight: 500; font-display: swap;
  src: url(../fonts/poppins-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Poppins'; font-weight: 500; font-display: swap;
  src: url(../fonts/poppins-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Cormorant Garamond'; font-weight: 300; font-display: swap;
  src: url(../fonts/cormorant-garamond-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cormorant Garamond'; font-weight: 300; font-display: swap;
  src: url(../fonts/cormorant-garamond-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: 'Poppins', sans-serif; font-weight: 200; font-size: 16px;
  line-height: 1.5; color: #363636; background: #fff; }
@media (min-width: 61rem) { body { line-height: 1.7; } }
p { margin: 0; }
strong { font-weight: 500; }
a { color: inherit; }

/* Kopfhöhe: Handy 71,8 px, Tablet 117 px, Desktop 87,8 px (Logo + Innenabstand) */
:root { --kopf: calc(55.797px + 16px); }
@media (min-width: 36rem) { :root { --kopf: calc(93px + 24px); } }
@media (min-width: 61rem) { :root { --kopf: calc(55.797px + 32px); } }
html { scroll-padding-top: var(--kopf); }
body { padding-top: var(--kopf); }
.gold { color: #ba9c52; }

/* ---------- Kopfleiste ---------- */
.kopf { position: fixed; z-index: 4; top: 0; left: 0; right: 0; display: flex; align-items: center;
  justify-content: space-between; padding: 8px; background: #fff; box-shadow: 0 2px 8px 0 rgba(54, 54, 54, .4); }
.kopf__logo { display: block; flex: none; }
.kopf__logo img { display: block; width: 180px; }
.menue ul { list-style: none; margin: 0; padding: 0; }
.menue a { display: inline-block; padding: 16px; margin: 5px 0; font-size: 14.4px; line-height: 14.4px;
  color: #7e7e7e; text-decoration: none; }
.menue .menue__unter a { font-size: 13.6px; line-height: 13.6px; text-transform: uppercase; color: #8a8a8a; }
.menue a:hover, .menue a.aktiv { color: #ba9c52; }
/* Handy/Tablet: Menü als weiße Vollfläche, Burger oben rechts */
.menue { position: fixed; inset: 0; z-index: 4; display: flex; align-items: center; justify-content: center;
  text-align: center; background: #fff; opacity: 0; visibility: hidden;
  transition: opacity .3s cubic-bezier(.16, 0, .28, .99), visibility .3s; }
.menue > ul { padding: 16px; width: 272px; }
.menue > ul > li { margin-bottom: 4.8px; }
.menue > ul > li:last-child { margin-bottom: 0; }
.menue .menue__unter { width: 240px; margin: 16px auto 0; background: #fff; }
.menue .menue__unter a { display: block; margin: 0; }
.menue__unter li + li { margin-top: 16px; }
.menu-offen .menue { opacity: 1; visibility: visible; }
.burger { position: relative; z-index: 101; flex: none; width: 50px; height: 45px; padding: 10px; border: 0;
  background: none; cursor: pointer; }
.burger span, .burger span::before, .burger span::after { position: absolute; left: 10px; height: 3px;
  background: #1b2d42; content: ''; }
.burger span { top: 21px; width: 22.5px; transition: transform .2s, width .2s; }
.burger span::before { left: 0; top: -11px; width: 16.875px; transition: top .075s .12s, opacity .075s; }
.burger span::after { left: 0; top: 11px; width: 30px; transition: top .075s .12s, transform .075s cubic-bezier(.55, .055, .675, .19); }
.menu-offen .burger span { width: 30px; transform: rotate(45deg);
  transition: transform .2s cubic-bezier(.215, .61, .355, 1) .12s, width .2s cubic-bezier(.215, .61, .355, 1) .12s; }
.menu-offen .burger span::before { top: 0; opacity: 0; width: 30px; transition: top .075s, opacity .075s .12s; }
.menu-offen .burger span::after { top: 0; transform: rotate(-90deg); transition: top .075s, transform .075s cubic-bezier(.215, .61, .355, 1) .12s; }
@media (min-width: 36rem) {
  .kopf { padding: 12px; }
  .kopf__logo img { width: 300px; }
  .burger { width: 30px; height: 25px; padding: 0; }
  .burger span { top: 11px; left: 0; }
}
@media (min-width: 61rem) {
  .kopf { padding: 16px; justify-content: flex-start; }
  .burger { display: none; }
  .kopf__logo img { width: 180px; }
  .menue { position: static; display: block; opacity: 1; visibility: visible; background: none; text-align: left; flex: 1; }
  .menue > ul { display: flex; align-items: center; width: auto; padding: 0; }
  .menue > ul > li { position: relative; margin: 0 0 0 4.8px; }
  .menue > ul > li:first-child { margin-left: 0; }
  .menue a { margin: 0; color: #989898; }
  .menue__gruppe:hover > a { color: #ba9c52; }
  .menue .menue__unter { position: absolute; top: 46.4px; left: 0; display: flex; flex-direction: column; margin: 0;
    background: rgba(255, 255, 255, .88); opacity: 0; visibility: hidden;
    transition: opacity .3s cubic-bezier(.16, 0, .28, .99), visibility .3s; }
  .menue__gruppe:hover .menue__unter { opacity: 1; visibility: visible; }
  .menue .menue__unter a { text-align: left; color: #8d8d8d; }
}

/* ---------- Startbild ---------- */
.start { position: relative; padding: 64px 16px; }
.start__bg { position: absolute; inset: 0; background-size: cover; background-position: 50% 50%; }
.start__inhalt { position: relative; text-align: right; padding-bottom: 15px; }
.start__marke { display: block; width: 361px; max-width: 100%; margin-left: auto; }
.start__claim { margin: 0; color: #fff; font-weight: 100; font-size: 24.64px; line-height: 1.25; }
@media (min-width: 36rem) {
  .start { padding: 96px 16px; }
  .start__inhalt { padding-right: 32px; }
  .start__claim { font-size: 29.92px; }
}
@media (min-width: 61rem) {
  .start__inhalt { max-width: 944px; margin: 0 auto; padding-right: 128px; }
  .start__claim { font-size: 35.2px; }
}

/* Knopf (Sitejet „button-small") */
.knopf { display: inline-block; font-size: 14px; line-height: 21px; padding: 4px 8px;
  color: #1b2d42; border: 1px solid #1b2d42; border-radius: 16px; text-decoration: none; }

/* ---------- Termine & Veranstaltungen ---------- */
.termine { display: flex; flex-direction: column; background: #d5d5d5; }
.termine__bild { position: relative; overflow: hidden; height: 300px; padding: 80px 48px 48px; }
/* Parallax wie bei Sitejet: Bild 0,7 × Bereich + 0,3 × Fenster hoch, verschiebt sich um 30 % (js/site.js) */
.termine__bg { position: absolute; left: 0; right: 0; top: 0; height: calc(70% + 30vh);
  background-size: cover; background-position: 50% 50%; will-change: transform; }
.termine__overlay { position: absolute; inset: 0; background: rgba(93, 86, 68, .42); }
.termine__titel { position: relative; margin: 0; text-align: right; color: #fff;
  font-family: 'Cormorant Garamond', serif; font-weight: 300; font-size: 28px; line-height: 1.25; }
.termine__titel span { color: #e3ca8c; }
.termine__inhalt { padding: 80px 48px 48px; }

@media (min-width: 36rem) {
  .termine { flex-direction: row; }
  .termine__bild, .termine__inhalt { flex: 0 0 50%; height: auto; }
  .termine__titel { font-size: 34px; }
}
@media (min-width: 61rem) {
  .termine__titel { font-size: 48px; }
  /* Text bleibt im 61rem-Raster: rechter Rand wie der Seiteninhalt */
  .termine__inhalt { flex-basis: calc(50% - ((100vw - 61rem) / 2 + 1rem));
    margin-right: calc((100vw - 61rem) / 2 + 1rem); }
}

.veranstaltung__titel { margin-top: 1lh; }
.veranstaltung > .veranstaltung__titel:first-child { margin-top: 0; }
.veranstaltung__text p + p { margin-top: 1lh; }
.veranstaltung__knoepfe { display: flex; flex-direction: column; align-items: flex-start;
  gap: 17px; margin-top: 1lh; }
.veranstaltung hr { margin: 18px 0; height: 1px; border: 0; background: #1b2d42; }

/* Einblenden der Überschrift (Sitejet: fade 2 s, 0,5 s Verzögerung) */
.einblenden { opacity: 0; transition: opacity 2s ease .5s; }
.einblenden.sichtbar { opacity: 1; }

/* ---------- Abschnitt (zwei Spalten: Bild mit Schleier + Text) ---------- */
.abschnitt { display: flex; flex-direction: column; background: var(--flaeche); padding-bottom: var(--abstand-unten); }
.abschnitt__bild { position: relative; overflow: hidden; min-height: 300px; padding: 80px 48px 48px; order: 2; }
.abschnitt--bild-oben .abschnitt__bild { order: 0; }
.abschnitt__bg { position: absolute; left: 0; right: 0; top: 0; height: calc(70% + 30vh);
  background-size: cover; background-position: var(--bild-position); will-change: transform; }
/* feststehend: Bild ist am Fenster fixiert und wird durch den Bereich aufgedeckt (wie Sitejet „parallax-fixed") */
.abschnitt__bg--fest { inset: 0; z-index: 0; height: auto; clip: rect(0, auto, auto, 0); background-size: 0 0; will-change: auto; }
.abschnitt__bg--fest::before { content: ''; position: fixed; inset: 0; z-index: -1; background-image: inherit;
  background-size: cover; background-position: var(--bild-position); will-change: transform; }
.abschnitt__schleier { position: absolute; inset: 0; background: var(--schleier); }
.abschnitt__titel { position: relative; margin: 0; color: var(--titel1); font-family: 'Cormorant Garamond', serif;
  font-weight: 300; font-size: 28px; line-height: 1.25; }
.abschnitt--titel-rechts .abschnitt__titel { text-align: right; }
.abschnitt__titel .zeile2 { color: var(--titel2); }
.abschnitt__text { display: flex; flex-direction: column; justify-content: center; padding: 80px 48px 48px; color: var(--textfarbe); }
.abschnitt__text > .abschnitt__titel { margin-bottom: 50px; }
.abschnitt__fliesstext p + p { margin-top: 1lh; }
.abschnitt__knoepfe { display: flex; flex-direction: column; align-items: flex-start; gap: 20px;
  margin-top: var(--knoepfe-oben); margin-bottom: var(--knoepfe-unten); }
.abschnitt__knoepfe .knopf { text-align: center; }
.hoerprobe { margin-top: 20px; }
.hoerprobe__titel { color: #ba9c52; margin-bottom: 10px; }
.hoerprobe audio { display: block; width: 100%; height: 54px; }
.hoerprobe__hinweis { font-size: 11px; }
@media (min-width: 36rem) {
  .abschnitt { flex-direction: row; align-items: stretch; }
  .abschnitt__bild, .abschnitt__text { flex: 0 0 50%; }
  .abschnitt--bild-rechts .abschnitt__bild { order: 2; }
  .abschnitt--bild-links .abschnitt__bild { order: 0; }
  .abschnitt__titel { font-size: 34px; }
}
@media (min-width: 61rem) {
  .abschnitt__titel { font-size: 48px; }
  .abschnitt--zweispaltig .abschnitt__text { flex-basis: calc(50% - ((100vw - 61rem) / 2 + 1rem)); }
  .abschnitt--zweispaltig.abschnitt--bild-rechts .abschnitt__text { margin-left: calc((100vw - 61rem) / 2 + 1rem); }
  .abschnitt--zweispaltig.abschnitt--bild-links .abschnitt__text { margin-right: calc((100vw - 61rem) / 2 + 1rem); }
}
/* Variante Kasten: Bild über die ganze Fläche, Text im Kasten */
.abschnitt--kasten { position: relative; }
.abschnitt--kasten .abschnitt__bild { position: absolute; inset: 0; min-height: 0; padding: 0; }
.abschnitt--kasten .abschnitt__text { position: relative; margin: 16px; padding: 16px; background: var(--kasten); }
@media (min-width: 36rem) { .abschnitt--kasten .abschnitt__text { flex: 0 0 50%; margin: 0; padding: 64px; } }

/* ---------- Zitat-Band ---------- */
.zitat { padding: 64px 16px; text-align: center; }
.zitat p { max-width: 944px; margin: 0 auto; }
.zitat__text { font-size: 30px; }
@media (min-width: 36rem) { .zitat { padding: 96px 16px; } }
.abschnitt__fliesstext { margin-bottom: var(--text-unten); }
@media (min-width: 36rem) and (max-width: 47.9375rem) { .abschnitt--tablet-bild-links .abschnitt__bild { order: 0; } }
/* Logo: bis 767 px im Bild, ab 768 px über dem Text (wie Sitejets Handy-/Desktop-Fassung) */
.abschnitt__logo { display: block; margin-bottom: 50px; position: relative; }
.abschnitt__logo--text { display: none; }
.abschnitt__bildbox { position: relative; width: 100%; max-width: 392px; }
.abschnitt__bildtext { position: relative; color: var(--bildtextfarbe, #dbdbdb); }
.abschnitt__bildtext p + p { margin-top: 1lh; }
@media (min-width: 48rem) {
  .abschnitt__logo--text { display: block; }
  .abschnitt__logo--bild { display: none; }
}
/* Chorus resonia: Bildtext unten rechts im Bild, mit größeren Abständen zwischen den Gedanken */
.chorus .abschnitt__bild { padding-top: 16px; display: flex; flex-direction: column; align-items: center; }
@media (min-width: 36rem) { .chorus .abschnitt__bild { padding-top: 320px; } }
@media (min-width: 48rem) {
  .chorus .abschnitt__bild { align-items: flex-end; }
  .chorus .abschnitt__bildtext p:nth-child(2), .chorus .abschnitt__bildtext p:nth-child(4) { margin-top: 3lh; }
}

/* Hervorgehobenes Zitat im Fließtext (Markdown „>") */
.abschnitt__fliesstext blockquote { margin: 0; font-size: 24px; }
.abschnitt__fliesstext blockquote p { margin: 0; }
/* Abstand in Fließtext-Zeilenhöhe (nicht in der größeren Zitat-Zeilenhöhe) */
.abschnitt__fliesstext p:has(+ blockquote) { margin-bottom: 1lh; }
.abschnitt__fliesstext blockquote + p { margin-top: 1lh; }
/* Variante Doppel: Foto über die ganze Fläche, zwei Textkästen nebeneinander */
.abschnitt--doppel { position: relative; padding: 160px 0; }
.abschnitt--doppel .abschnitt__bild { position: absolute; inset: 0; min-height: 0; padding: 0; }
.abschnitt--doppel .abschnitt__text { position: relative; background: var(--kasten); }
.abschnitt--doppel .abschnitt__text--zwei { justify-content: flex-start; }
@media (min-width: 61rem) {
  .abschnitt--doppel .abschnitt__text { flex: 0 0 calc(50% - ((100vw - 61rem) / 2 + 1rem)); }
  .abschnitt--doppel .abschnitt__text:not(.abschnitt__text--zwei) { margin-left: calc((100vw - 61rem) / 2 + 1rem); }
  .abschnitt--doppel .abschnitt__text--zwei { margin-right: calc((100vw - 61rem) / 2 + 1rem); }
}

/* ---------- Kundenstimmen (Akkordeon) ---------- */
.stimmen { display: flex; flex-direction: column; gap: 16px; max-width: 976px; margin: 0 auto; padding: 64px 16px; }
@media (min-width: 36rem) { .stimmen { padding: 96px 16px; } }
.stimme__kopf { position: relative; display: block; padding: 16px 48px 16px 16px; font-size: 16px; line-height: 20px; font-weight: 100;
  color: #363636; text-decoration: none; background: #dbdbdb; transition: color .3s ease-in-out, background .3s ease-in-out; }
.stimme__kopf:hover, .stimme.offen .stimme__kopf { background: rgba(186, 156, 82, .655); }
.stimme__kopf::after { content: ''; position: absolute; right: 16px; top: 50%; width: 16px; height: 16px; margin-top: -8px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='%23363636' viewBox='0 -320 256 256' preserveAspectRatio='xMidYMid'><path d='M256 -183h-120v119h-17v-119h-119v-17h119v-120h17v120h120v17z'/></svg>") no-repeat 50% 50%;
  transition: .3s ease-in-out; }
.stimme.offen .stimme__kopf::after { transform: rotate(45deg); }
.stimme__inhalt { overflow: hidden; height: 0; background: #fff; transition: height .5s; }
.stimme.offen .stimme__inhalt { height: auto; margin-top: 16px; }
.stimme__text p + p { margin-top: 1lh; }
.einblenden--1s { transition: opacity 1s ease 0s; }

/* ---------- Galerie (Karussell + Vergrößerung) ---------- */
/* Rahmen wie Sitejet: Handy 81 %, Tablet 91 %, Desktop 100 % breit; darunter ragt die Bildleiste 64 px hinaus */
.galerie { height: 200px; }
.galerie__rahmen { position: relative; width: 81%; height: 100%; }
.galerie__liste { position: absolute; left: 0; top: 0; width: calc(100% + 64px); padding: 0 32px; overflow: hidden; height: 100%; }
@media (min-width: 36rem) { .galerie__rahmen { width: 91%; } }
@media (min-width: 61rem) { .galerie__rahmen { width: 100%; } .galerie__liste { width: 100%; padding: 0; } }
.galerie__spur { display: flex; height: 100%; will-change: transform; }
.galerie__spur.gleitet { transition: transform .8s ease; }
.galerie__bild { flex: none; height: 100%; margin: 0 2px; }
.galerie__bild img { display: block; width: 100%; height: 100%; object-fit: cover; }
.galerie__pfeil { position: absolute; top: 80px; z-index: 1; display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; padding: 0 0 2px 2px; border: 0; background: #f6f6f6; color: #1b2d42; fill: currentColor; cursor: pointer; }
.galerie__pfeil--zurueck { left: 18px; }
.galerie__pfeil--weiter { right: 18px; padding: 0 2px 2px 0; }
@media (max-width: 35.9375rem) { .galerie__pfeil { display: none; } }

.lupe { position: fixed; inset: 0; z-index: 1042; display: flex; align-items: center; justify-content: center;
  background: rgba(11, 11, 11, .8); }
.lupe[hidden] { display: none; }
.lupe figure { position: relative; margin: 0; padding: 40px 0; }
.lupe img { display: block; max-width: calc(100vw - 32px); max-height: calc(100vh - 80px); box-shadow: 0 0 8px rgba(0, 0, 0, .6); }
.lupe__zu { position: absolute; top: 0; right: -6px; width: 44px; height: 40px; border: 0; background: none;
  color: #fff; font: 28px/40px Arial, sans-serif; opacity: .65; cursor: pointer; text-align: right; padding-right: 6px; }
.lupe__zahl { position: absolute; right: 0; bottom: 14px; color: #ccc; font-size: 12px; line-height: 18px; }
.lupe__pfeil { position: absolute; top: 50%; width: 90px; height: 110px; margin-top: -55px; border: 0; background: none;
  opacity: .65; cursor: pointer; }
.lupe__pfeil:hover, .lupe__zu:hover { opacity: 1; }
.lupe__pfeil::before { content: ''; position: absolute; top: 35px; border: 20px solid transparent; }
.lupe__pfeil--zurueck { left: 0; }
.lupe__pfeil--zurueck::before { left: 25px; border-right: 27px solid #fff; border-left: 0; }
.lupe__pfeil--weiter { right: 0; }
.lupe__pfeil--weiter::before { right: 25px; border-left: 27px solid #fff; border-right: 0; }
.abschnitt__fliesstext a { color: inherit; }
.abschnitt__fusszeile { color: #363636; }

/* ---------- Fenster (Info-Fenster, Anmeldung) wie Sitejets „Magnific Popup" ---------- */
.fenster { position: fixed; inset: 0; z-index: 1042; display: flex; align-items: center; justify-content: center;
  overflow-y: auto; padding: 0 6px; background: rgba(11, 11, 11, .8); text-align: center; }
.fenster[hidden] { display: none; }
.fenster__kasten { position: relative; width: 100%; max-width: 976px; margin: auto; padding: 16px; }
@media (min-width: 36rem) { .fenster__kasten { padding: 48px; } }
.fenster__zu { position: absolute; top: 0; right: 0; width: 44px; height: 44px; padding: 0; border: 0; background: none;
  color: #363636; font: 28px/44px Arial, Baskerville, monospace; opacity: .65; cursor: pointer; }
.fenster__zu:hover { opacity: 1; }
.fenster__titel { margin: 0 0 50px; font-size: 24.64px; font-weight: 100; line-height: 1.25; color: #dbdbdb; }
@media (min-width: 36rem) { .fenster__titel { font-size: 29.92px; } }
@media (min-width: 61rem) { .fenster__titel { font-size: 35.2px; } }
.fenster__text { color: #dbdbdb; line-height: 1.8; }
.fenster__text p + p { margin-top: 1lh; }

/* ---------- Anmeldung (Fenster mit Foto links, Formular rechts) ---------- */
.fenster__kasten--anmeldung { background: #fff; color: #363636; }
.anmeldung { display: flex; flex-direction: column; gap: 32px; }
.anmeldung__bild { position: relative; display: flex; align-items: flex-start; justify-content: center; padding: 80px;
  background-size: cover; background-position: 50% 50%; }
.anmeldung__bild::before { content: ''; position: absolute; inset: 0; background: rgba(255, 255, 255, .173); }
.anmeldung__titel { position: relative; margin: 0; font-size: 24px; line-height: inherit; white-space: pre-line; }
.anmeldung__formular { text-align: center; }
@media (min-width: 36rem) {
  .anmeldung { flex-direction: row; }
  .anmeldung__bild, .anmeldung__formular { flex: 0 0 calc(50% - 16px); min-width: 0; }
}
/* Grav-Formular im Sitejet-Aussehen */
.anmeldung form .form-field { margin-bottom: 16px; }
.anmeldung form .form-label { margin-bottom: 8px; }
.anmeldung form .form-label label { display: block; }
.anmeldung form .required { display: none; }
.anmeldung form input[type=text], .anmeldung form input[type=email] { display: block; width: 100%; height: 40px; padding: 0 10px;
  font: 400 16px/40px 'Poppins', sans-serif; color: #000; background: #fafafa; border: 1px solid #000; border-radius: 0; }
.anmeldung form .form-display-wrapper { padding-bottom: 8px; margin-bottom: 0; border-bottom: 1px solid #1b2d42; }
.anmeldung form .form-field:has(.basic-captcha) { padding-top: 8px; border-top: 1px solid #1b2d42; margin-bottom: 8px; }
.anmeldung form .basic-captcha .form-input-wrapper { display: flex; align-items: center; }
.anmeldung form .basic-captcha .form-input-addon { display: contents; }
.anmeldung form .basic-captcha img { order: 0; margin-right: 20px; }
.anmeldung form .basic-captcha input { order: 1; }
.anmeldung form .reload-captcha-button { order: 2; margin-left: 16px; }
.anmeldung form .basic-captcha img { width: 140px; height: 40px; }
.anmeldung form .basic-captcha input { width: 100px; border-color: #dedede; }
.anmeldung form .reload-captcha-button { width: 21px; height: 24px; padding: 0; border: 0; background: none; color: #363636; cursor: pointer; }
.anmeldung form .buttons { margin-top: 8px; }
.anmeldung form button[type=submit] { padding: 9px 32px; font: 200 14px/21px 'Poppins', sans-serif; color: #1b2d42;
  background: #f6f6f6; border: 1px solid #1b2d42; border-radius: 16px; cursor: pointer; }
.anmeldung .notices { margin-bottom: 16px; padding: 8px; background: #f6f6f6; }

/* ---------- Textseiten (Impressum, Datenschutz) ---------- */
.textseite { max-width: 976px; margin: 0 auto; padding: 64px 16px; }
.textseite__titel { margin: 0 0 16px; font-size: 24.64px; font-weight: 100; line-height: 1.25; }
.textseite__text p + p { margin-top: 1lh; }
.textseite__text ul { margin: 0; }
@media (min-width: 36rem) { .textseite { padding: 96px 16px; } .textseite__titel { font-size: 29.92px; } }
@media (min-width: 61rem) { .textseite__titel { font-size: 35.2px; } }
.textseite__text { margin-bottom: 1lh; }
.textseite__text ul { padding-left: 16px; }
.textseite__text.word { line-height: 24px; }
.textseite__text.word li { color: #000; }
/* Aufzählungen wie Sitejet: dunkelblaues Dreieck (FontAwesome caret-right) statt Punkt */
.textseite__text ul { list-style: none; }
.textseite__text li { position: relative; padding-top: 1px; }
.textseite__text li::before { content: ''; position: absolute; left: -16px; top: 0; width: 16px; height: 24px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 1792'%3E%3Cpath fill='%231b2d42' transform='matrix(1 0 0 -1 0 1536)' d='M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z'/%3E%3C/svg%3E") no-repeat 0 5px / 5.714px 16px; }
.textseite__text ul + p { margin-top: 0; }
