/* heilpraktiker-in-muenster.com, Gestaltung nach DESIGN.md */
@font-face{font-family:"Literata";src:url(/assets/fonts/literata.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Albert Sans";src:url(/assets/fonts/albert.woff2) format("woff2");font-weight:300 700;font-display:swap}
:root{
  --tinte:#14303f;--tinte-2:#1d4256;--dunst:#e9f2f6;--weiss:#fff;--blau:#1d6c9e;--tuerkis:#0b6f76;--tuerkis-d:#085a60;--gruen:#4f7a14;--gruen-hell:#9bbf3a;--linie:#c3d4dc;--grau:#465a66;
  --s1:4px;--s2:8px;--s3:16px;--s4:24px;--s5:40px;--s6:64px;--s7:104px;
  --rand:clamp(20px,5vw,72px);--max:1280px;--kopf:76px;
  --serif:"Literata",Georgia,serif;--sans:"Albert Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--kopf) + 16px)}
body{margin:0;background:var(--dunst);color:var(--tinte);font:400 1.0625rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{max-width:100%;height:auto;display:block}
a{color:var(--blau);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--tinte)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.14;letter-spacing:-.01em;margin:0;text-wrap:balance}
h3{font-size:1.25rem}
p{margin:0 0 var(--s3)}
address{font-style:normal}
:focus-visible{outline:2px solid var(--blau);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--tinte);color:#fff;padding:var(--s2) var(--s3);z-index:100}
.skip:focus{left:var(--s3)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--rand)}
.klein{font-size:.875rem;color:var(--grau)}
.hinweisleiste{background:var(--tinte);color:#e7eff3;font-size:.9375rem;padding:8px 0;text-align:center}
.hinweisleiste p{margin:0}.hinweisleiste a{color:#fff}

/* Kopf und Navigation */
.kopf{position:sticky;top:0;z-index:50;background:var(--weiss);border-top:4px solid var(--blau);border-image:linear-gradient(90deg,var(--blau) 0 62%,var(--gruen-hell) 62% 100%) 1;border-bottom:1px solid var(--linie)}
.kopf-in{display:flex;align-items:center;justify-content:space-between;height:var(--kopf);gap:var(--s4)}
.marke{display:block;flex:none}
.marke img{height:58px;width:auto}
.hauptnav{display:flex;align-items:center;gap:var(--s4)}
.hauptnav>ul{display:flex;gap:2px;list-style:none;margin:0;padding:0;font-size:.9375rem}
.hauptnav>ul>li{position:relative;display:flex;align-items:center}
.hauptnav a{color:var(--tinte);text-decoration:none}
.hauptnav>ul>li>a{padding:26px 6px 26px 10px;font-weight:500;white-space:nowrap}
.hauptnav>ul>li:not(.hat-unter)>a{padding-right:10px}
.hauptnav>ul>li>a[aria-current]{box-shadow:inset 0 -3px 0 var(--blau)}
.unter-knopf{background:none;border:0;color:var(--tinte);padding:26px 8px 26px 2px;margin:0;cursor:pointer;display:flex;align-items:center}
.unter-knopf svg{transition:transform .2s}
.unter-knopf[aria-expanded=true] svg{transform:rotate(180deg)}
.hat-unter>.unter{display:none;position:absolute;top:100%;left:0;z-index:60;background:var(--weiss);border:1px solid var(--linie);border-top:3px solid var(--blau);box-shadow:0 14px 30px -18px rgba(20,48,63,.35);list-style:none;margin:0;padding:var(--s2) 0;min-width:270px;columns:1}
.hat-unter:nth-child(3)>.unter{columns:2;column-gap:0;min-width:540px}
.hat-unter:hover>.unter,.hat-unter:focus-within>.unter,.hat-unter.offen>.unter{display:block}
.unter li{break-inside:avoid}
.unter a{display:block;padding:9px 20px;font-size:.9375rem;line-height:1.3}
.unter a:hover,.unter a[aria-current]{background:var(--dunst);color:var(--tinte)}
.unter a[aria-current]{font-weight:600}
.hat-unter:nth-last-child(2)>.unter,.hat-unter:nth-child(5)>.unter,.hat-unter:nth-child(4)>.unter{left:auto;right:0}
.menu-knopf{display:none;background:none;border:0;padding:12px;margin-right:-12px;color:var(--tinte);font:600 .9375rem var(--sans);cursor:pointer;min-height:44px}
@media (max-width:1120px){
  :root{--kopf:68px}
  .marke img{height:50px}
  .menu-knopf{display:block}
  .hauptnav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--weiss);padding:var(--s2) var(--rand) var(--s5);border-bottom:1px solid var(--linie);max-height:calc(100vh - var(--kopf));max-height:calc(100dvh - var(--kopf));overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility .2s}
  .hauptnav.offen{opacity:1;visibility:visible;transform:none}
  .hauptnav>ul{flex-direction:column;gap:0;font-size:1.0625rem}
  .hauptnav>ul>li{flex-wrap:wrap;border-bottom:1px solid var(--linie)}
  .hauptnav>ul>li>a{flex:1;padding:14px 0}
  .hauptnav>ul>li>a[aria-current]{box-shadow:none;font-weight:700}
  .unter-knopf{padding:14px 8px;margin-right:-8px}
  .hat-unter>.unter,.hat-unter:hover>.unter,.hat-unter:focus-within>.unter{display:none;position:static;width:100%;box-shadow:none;border:0;padding:0 0 var(--s3) var(--s3);min-width:0;columns:1!important}
  .hat-unter.offen>.unter{display:block}
  .unter a{padding:9px 0}
  .knopf-klein{margin-top:var(--s4);text-align:center}
}
.krumen{padding-top:var(--s3);font-size:.8125rem;color:var(--grau)}
.krumen ol{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.krumen li+li::before{content:"/";margin:0 8px;color:var(--linie)}
.krumen a{color:var(--grau)}

/* Knöpfe */
.knoepfe{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s4);align-items:center}
.knopf{display:inline-block;background:var(--tuerkis);color:#fff;text-decoration:none;padding:14px 24px;font-weight:600;font-size:1rem;border:0;cursor:pointer;font-family:var(--sans);transition:background .2s;text-align:center}
.knopf:hover{background:var(--tinte);color:#fff}
.hauptnav a.knopf{color:#fff}
.knopf-klein{padding:10px 18px;font-size:.9375rem;white-space:nowrap}
.knopf-linie{background:transparent;color:var(--tinte);box-shadow:inset 0 0 0 1px var(--tinte)}
.knopf-linie:hover{background:var(--tinte);color:#fff}
.link-tel{font-weight:600;color:var(--tinte)}

/* Startseite: Kopfbereich */
.hero{padding:var(--s6) 0 var(--s6)}
.hero-raster{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:var(--s6);align-items:center}
.hero h1{font-size:clamp(2.3rem,4.8vw,4.1rem);line-height:1.06;letter-spacing:-.02em;max-width:15ch}
.zitat{margin:var(--s5) 0 var(--s5);padding:0;font-family:var(--serif);font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.45;max-width:36ch;color:var(--tinte-2)}
.zitat p{margin:0}
.zitat footer{font:400 .875rem var(--sans);color:var(--grau);margin-top:var(--s2)}
.fakten{display:grid;grid-template-columns:5.2rem minmax(0,1fr);margin:0 0 var(--s5);border-top:1px solid var(--tinte);max-width:520px;font-size:.9375rem}
.fakten dt,.fakten dd{padding:10px 0;border-bottom:1px solid var(--linie);margin:0}
.fakten dt{font-weight:600;color:var(--grau)}
.hero-bild{margin:0;position:relative;isolation:isolate}
.hero-bild img{width:100%;aspect-ratio:4/4.6;object-fit:cover;object-position:50% 30%}
.hero-bild::before{content:"";position:absolute;left:-14px;bottom:-14px;width:42%;height:42%;background:var(--gruen-hell);z-index:-1}
@media (max-width:860px){
  .hero{padding:var(--s4) 0 var(--s5)}
  .hero-raster{grid-template-columns:minmax(0,1fr);gap:var(--s5)}
  .hero-bild{order:-1;margin:0 calc(var(--rand)*-1)}
  .hero-bild img{aspect-ratio:16/11;object-position:50% 25%}
  .hero-bild::before{display:none}
}

/* Vorstellung und Aktuelles */
.vorstellung{background:var(--weiss);padding:var(--s6) 0;border-top:1px solid var(--linie);border-bottom:1px solid var(--linie)}
.vorst-raster{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--s6);align-items:start}
.video{margin:0}
.video video{width:100%;aspect-ratio:16/9;background:var(--tinte);object-fit:cover}
.video figcaption{font-size:.8125rem;color:var(--grau);margin-top:var(--s2)}
.aktuell h2{font-size:clamp(1.5rem,2.4vw,2rem);margin-bottom:var(--s3)}
.aktuell-liste{list-style:none;margin:0;padding:0;border-top:1px solid var(--tinte)}
.aktuell-liste li{padding:14px 0;border-bottom:1px solid var(--linie)}
.aktuell-liste time{display:block;font-size:.8125rem;color:var(--grau);margin-bottom:2px}
.aktuell-liste h3{font-size:1.125rem;margin-bottom:4px}
.aktuell-liste p{margin:0 0 4px;font-size:.9375rem}
.aktuell .mehr{margin:4px 0 0;font-size:.9375rem}
.regel-h{font-family:var(--sans);font-size:.8125rem;letter-spacing:.04em;text-transform:uppercase;color:var(--grau);font-weight:600;margin:var(--s5) 0 var(--s2)}
.regel-liste{list-style:none;margin:0;padding:0;border-top:1px solid var(--tinte)}
.regel-liste li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:var(--s3);padding:10px 0;border-bottom:1px solid var(--linie);font-size:.9375rem}
.regel-liste b{font-weight:600}
.regel-liste .live{font-weight:600;color:var(--tuerkis)}
.aktuell-breit .aktuell-liste{max-width:760px}
@media (max-width:860px){.vorstellung{padding:var(--s5) 0}.vorst-raster{grid-template-columns:minmax(0,1fr);gap:var(--s5)}.video{margin:0 calc(var(--rand)*-1)}.video figcaption{padding:0 var(--rand)}}

/* Startseite: Text */
.start-text{padding:var(--s6) 0 var(--s5)}
.start-abschnitt{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);gap:var(--s6);padding:var(--s5) 0;border-top:1px solid var(--linie)}
.start-abschnitt.erster{display:block;border-top:0;padding-top:0}
.start-abschnitt h2{font-size:clamp(1.6rem,2.6vw,2.2rem)}
.start-abschnitt.erster .start-inhalt{columns:2;column-gap:var(--s6);max-width:1000px}
.start-inhalt p,.start-inhalt ul{max-width:62ch}
.start-abschnitt.erster p,.start-abschnitt.erster ul{break-inside:avoid}
.start-abschnitt.erster p:has(+ul){break-after:avoid}
.start-inhalt ul{padding-left:1.2em;margin:0 0 var(--s3)}
.start-inhalt li{margin-bottom:6px}
.start-inhalt a{font-weight:500}
@media (max-width:860px){.start-abschnitt{grid-template-columns:minmax(0,1fr);gap:var(--s3)}.start-abschnitt.erster .start-inhalt{columns:1}.start-text{padding-top:var(--s5)}}

/* Hinweis (Heilmittelwerbegesetz): ruhiger Absatz, kein Kasten */
.hinweis{font-size:.875rem;color:var(--grau);margin:var(--s4) 0 0;max-width:62ch}
.hinweis b{color:var(--tinte);font-weight:600}

/* Tafel: Honorare, Termine */
.tafel{border-top:1px solid var(--tinte);margin:var(--s3) 0 var(--s5)}
.zeile{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.3fr) minmax(0,.9fr);gap:var(--s5);padding:var(--s4) 0;border-bottom:1px solid var(--linie)}
.zeile-p{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)!important;gap:var(--s4)!important}
.zeile-p .z-text p{max-width:52ch;margin:var(--s2) 0 0}
.zeile-p .z-text .mehr{margin-top:var(--s2)}
.zeile-p .preise b{font-size:1.0625rem}
.zeile-p .preise li:only-child{justify-content:flex-end}
.zeile h3{font-size:clamp(1.15rem,1.6vw,1.4rem)}
.zeile h3 a{color:var(--tinte);text-decoration:none}
.zeile h3 a:hover{text-decoration:underline}
.zeile .wann{font-size:.875rem;color:var(--grau);margin:var(--s2) 0 0}
.zeile .info p{max-width:52ch;margin-bottom:var(--s2)}
.zeile .mehr{font-size:.9375rem}
.preise{list-style:none;margin:0;padding:0;font-size:.9375rem;align-self:start}
.preise li{display:flex;justify-content:space-between;gap:var(--s3);padding:4px 0;border-bottom:1px dotted var(--linie)}
.preise li:last-child{border-bottom:0}
.preise b{font-weight:600;font-variant-numeric:tabular-nums;text-align:right;min-width:4.5rem}
.frei-hinweis{display:inline-block;margin:0 0 var(--s2);font-size:.875rem;font-weight:600;color:var(--gruen)}
.naechster{margin:0;align-self:start;font-size:.9375rem}
.naechster span{display:block;font-size:.8125rem;color:var(--grau)}
.naechster b{font-family:var(--serif);font-weight:500;font-size:1.125rem}
.zwischen{font-size:clamp(1.5rem,2.4vw,2rem);margin:var(--s5) 0 var(--s3)}
.preis-fuss{margin:var(--s5) 0 var(--s6);max-width:70ch}
.seite-preise .tafel{background:var(--weiss);padding:0 var(--s4);border:1px solid var(--linie);border-top:2px solid var(--tinte)}
@media (max-width:900px){
  .zeile,.zeile-p{grid-template-columns:minmax(0,1fr)!important;gap:var(--s2)!important;padding:var(--s4) 0}
  .preise,.naechster{max-width:420px}
  .seite-preise .tafel{padding:0 var(--s3)}
}

/* Seitenkopf und Textseiten */
.seitenkopf{padding:var(--s5) 0 var(--s5)}
.seitenkopf-in{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--s6);align-items:end}
.seitenkopf h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.08;letter-spacing:-.015em;hyphens:auto;overflow-wrap:break-word}
.seitenkopf .lead{font-family:var(--serif);font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.45;margin:0 0 var(--s3);max-width:40ch}
.text-raster{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.42fr);gap:var(--s6);padding-bottom:var(--s6);align-items:start}
.text-raster.ohne-rand{grid-template-columns:minmax(0,1fr)}
.text-raster.ohne-rand .text-spalte{max-width:780px}
.seitenrand{position:sticky;top:calc(var(--kopf) + 24px);display:grid;gap:var(--s5)}
.rand-karte{background:var(--weiss);border-top:3px solid var(--tuerkis);padding:var(--s4);font-size:.9375rem}
.rand-karte p{margin:0 0 var(--s3)}
.rand-karte .rand-h{margin-bottom:var(--s2)}
.rand-tel{font-family:var(--serif);font-size:1.0625rem;line-height:1.5}
.rand-h{font:600 .8125rem var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--grau);margin-bottom:var(--s3)}
.toc{font-size:.9375rem}
.toc ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--tinte)}
.toc li{border-bottom:1px solid var(--linie)}
.toc a{display:block;padding:9px 0;color:var(--tinte);text-decoration:none;line-height:1.35}
.toc a:hover{color:var(--blau)}
.text-spalte{max-width:70ch;min-width:0}
.text-spalte::after{content:"";display:block;clear:both}
.abschnitt{margin-bottom:var(--s5)}
.abschnitt::after{content:"";display:block;clear:both}
.abschnitt h2{font-size:clamp(1.45rem,2.3vw,2rem);margin-bottom:var(--s3);line-height:1.2}
.abschnitt h3{margin:var(--s4) 0 var(--s2)}
.text-spalte ul,.text-spalte ol{padding-left:1.3em;margin:0 0 var(--s3)}
.text-spalte li{margin-bottom:6px}
.text-spalte ul.downloads{list-style:none;padding:0;border-top:1px solid var(--tinte)}
.text-spalte ul.downloads li{margin:0;padding:10px 0;border-bottom:1px solid var(--linie)}
.text-spalte .hervor{font-family:var(--serif);font-size:1.25rem;line-height:1.35;color:var(--tuerkis-d);font-weight:500}
.linkliste{list-style:none;padding:0!important;border-top:1px solid var(--tinte)}
.linkliste li{padding:10px 0;border-bottom:1px solid var(--linie);margin:0}
.sitemap ul ul{margin:6px 0 0;padding-left:1.2em}
.sitemap>ul>li{padding:8px 0}
.text-spalte table{border-collapse:collapse;width:100%;margin:0 0 var(--s3);font-size:.9375rem}
.text-spalte td,.text-spalte th{border-bottom:1px solid var(--linie);padding:8px 8px 8px 0;text-align:left;vertical-align:top}
.text-spalte blockquote{margin:0 0 var(--s3);padding-left:var(--s3);border-left:3px solid var(--linie);color:var(--tinte-2)}
.text-spalte .klein{margin-top:var(--s2)}
.seite-text .abschnitt:last-of-type{margin-bottom:var(--s4)}
.lexikon .abschnitt{margin-bottom:var(--s4)}
.lexikon .abschnitt h2{font-size:1.3rem;margin-bottom:var(--s2)}
/* Bilder im Text */
.bild{margin:0}
.bild img{width:100%;height:auto;border:1px solid var(--linie);background:var(--weiss)}
.bild.links{float:left;width:min(40%,300px);margin:4px var(--s4) var(--s3) 0}
.bild.rechts{float:right;width:min(40%,300px);margin:4px 0 var(--s3) var(--s4)}
.bild.mitte{width:min(100%,560px);margin:var(--s3) 0}
.galerie{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--s3);margin:var(--s3) 0 var(--s4);clear:both}
.galerie .bild{width:auto;margin:0}
.galerie .bild img{aspect-ratio:4/3;object-fit:cover}
.galerie .bild img[src*="buch-"]{aspect-ratio:auto;object-fit:contain;max-height:260px;width:auto;margin:0 auto}
.seite-text .text-spalte>section:first-child>.bild.mitte{width:min(100%,380px)}
@media (max-width:900px){
  .seitenkopf{padding:var(--s4) 0 var(--s4)}
  .seitenkopf-in{grid-template-columns:minmax(0,1fr);gap:var(--s3)}
  .text-raster{grid-template-columns:minmax(0,1fr);gap:var(--s5);padding-bottom:var(--s5)}
  .seitenrand{display:none}
  .bild.links,.bild.rechts{float:none;width:min(100%,420px);margin:var(--s3) 0}
  .galerie{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Weiterführende Seiten */
.weitere{background:var(--weiss);border-top:1px solid var(--linie);padding:var(--s5) 0 var(--s6)}
.weitere h2{font-size:1.4rem;margin-bottom:var(--s3)}
.weitere ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--tinte);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--s5)}
.weitere li{border-bottom:1px solid var(--linie)}
.weitere a{display:block;padding:12px 0;color:var(--tinte);text-decoration:none;font-family:var(--serif);font-size:1.0625rem}
.weitere a:hover{color:var(--blau)}
@media (max-width:760px){.weitere ul{grid-template-columns:minmax(0,1fr)}}

/* Fragen */
.faq{padding-top:var(--s6);padding-bottom:var(--s5)}
.faq h2,.faq-gruppe h2{margin-bottom:var(--s4);font-size:clamp(1.6rem,2.6vw,2.2rem)}
.fragen-liste{border-top:1px solid var(--tinte);max-width:820px}
.fragen-liste details{border-bottom:1px solid var(--linie)}
.fragen-liste summary{cursor:pointer;padding:16px 36px 16px 0;font-weight:600;list-style:none;position:relative}
.fragen-liste summary::-webkit-details-marker{display:none}
.fragen-liste summary::after{content:"+";position:absolute;right:4px;top:12px;font-size:1.4rem;font-weight:400;color:var(--blau)}
.fragen-liste details[open] summary::after{content:"–"}
.fragen-liste details p{margin:0 0 var(--s3);max-width:64ch}
.faq-mehr{margin-top:var(--s4)}
.faq-gruppe{margin-top:var(--s5)}
.fragen-gruppen{padding-bottom:var(--s6)}

/* Kontakt */
.kontakt{padding:var(--s6) 0 var(--s7)}
.kontakt-raster{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--s6);align-items:start}
.kontakt h2{font-size:clamp(1.6rem,2.8vw,2.4rem);margin-bottom:var(--s4)}
.adr{margin-bottom:var(--s3);font-size:1.125rem;line-height:1.5}
.zeiten{font-size:.9375rem;color:var(--tinte-2)}
.wege{display:grid;grid-template-columns:5rem minmax(0,1fr);margin:var(--s4) 0;border-top:1px solid var(--tinte);font-size:.9375rem}
.wege dt,.wege dd{margin:0;padding:9px 0;border-bottom:1px solid var(--linie)}
.wege dt{font-weight:600;color:var(--grau)}
.route{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);font-size:.9375rem}
.kontakt-vollseite{padding-bottom:var(--s7)}
.formular{background:var(--weiss);padding:clamp(24px,4vw,44px);border-top:3px solid var(--tuerkis);align-self:start}
.form-h{font-size:1.6rem}
.form-klein,.form-hinweis{font-size:.875rem;color:var(--grau)}
.form-klein{margin:var(--s2) 0 var(--s2)}
.feldreihe{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 var(--s3)}
.eingabe{margin:0}
.formular label{display:block;font-size:.875rem;font-weight:600;margin:var(--s3) 0 6px}
.formular .frei{font-weight:400;color:var(--grau)}
.formular input,.formular select,.formular textarea{width:100%;font:400 1rem/1.4 var(--sans);color:var(--tinte);background:var(--dunst);border:1px solid var(--linie);border-radius:0;padding:12px 14px;appearance:none;-webkit-appearance:none}
.formular select{background-image:linear-gradient(45deg,transparent 50%,var(--tinte) 50%),linear-gradient(135deg,var(--tinte) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 15px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
.formular textarea{min-height:110px;resize:vertical}
.formular input:focus,.formular select:focus,.formular textarea:focus{outline:2px solid var(--blau);outline-offset:0;background:#fff}
.eingabe.ungueltig input,.eingabe.ungueltig select,.eingabe.ungueltig textarea{border-color:#a33;background:#fff}
.eingabe-falle{position:absolute;left:-9999px;height:0;overflow:hidden}
.form-hinweis{margin:var(--s3) 0}
.formular .knopf{width:100%}
.form-status{margin:var(--s3) 0 0;font-size:.9375rem;min-height:1.4em}
.form-status.fehler{color:#a33;font-weight:600}
.formular-erfolg h2{font-size:1.5rem;margin-bottom:var(--s3)}
@media (max-width:860px){.kontakt{padding:var(--s5) 0}.kontakt-raster{grid-template-columns:minmax(0,1fr);gap:var(--s5)}.formular{margin:0 calc(var(--rand)*-1)}.feldreihe{grid-template-columns:minmax(0,1fr)}}

/* Kontaktband */
.cta-band{background:var(--tinte);color:#e7eff3;padding:var(--s6) 0}
.cta-in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--s6);align-items:center}
.cta-band h2{color:#fff;font-size:clamp(1.5rem,2.6vw,2.1rem);max-width:20ch}
.cta-band p{color:#c8d8e0;max-width:46ch;margin:var(--s3) 0 0}
.cta-wege{display:flex;flex-wrap:wrap;gap:var(--s4);align-items:center}
.cta-wege .cta-tel{margin:0;font-family:var(--serif);font-size:1.3rem;line-height:1.35;color:#fff}
.cta-wege a:not(.knopf){color:#fff}
.cta-band .knopf{background:var(--gruen-hell);color:var(--tinte)}
.cta-band .knopf:hover{background:#fff;color:var(--tinte)}
@media (max-width:860px){.cta-in{grid-template-columns:minmax(0,1fr);gap:var(--s4)}.cta-band{padding:var(--s5) 0}}

/* Sprüche, Film, Rechtstexte */
.sprueche-liste{columns:2;column-gap:var(--s6);padding-bottom:var(--s6)}
.sprueche-liste blockquote{break-inside:avoid;margin:0 0 var(--s4);font-family:var(--serif);font-size:1.15rem;line-height:1.45}
.sprueche-liste blockquote p{margin:0}
.sprueche-liste cite{display:block;font:400 .875rem var(--sans);color:var(--grau);font-style:normal;margin-top:var(--s2)}
.film{position:relative;aspect-ratio:16/9;background:var(--tinte);margin-bottom:var(--s3)}
.film iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.film-start{position:absolute;inset:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s3);background:transparent;border:0;color:#fff;cursor:pointer;font:600 1rem var(--sans)}
.film-start svg{width:72px;height:72px}
.film-start:hover{background:rgba(255,255,255,.06)}
@media (max-width:760px){.sprueche-liste{columns:1}}
.recht-text h2{font-size:1.4rem;margin:var(--s5) 0 var(--s2)}
.recht-text p{max-width:70ch}

/* Fuß */
.fuss{background:var(--tinte);color:#c8d8e0;font-size:.9375rem}
.fuss a{color:#fff}
.fuss-raster{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:var(--s5);padding-top:var(--s6);padding-bottom:var(--s5)}
.fuss-marke img{background:#fff;padding:12px 16px;width:200px;height:auto;margin-bottom:var(--s4)}
.fuss-marke address{margin-bottom:var(--s3)}
.fuss-h{font:600 .8125rem var(--sans);letter-spacing:.04em;text-transform:uppercase;color:#9fb8c6;margin-bottom:var(--s3)}
.fuss ul{list-style:none;margin:0;padding:0}
.fuss li{margin-bottom:6px;line-height:1.35}
.fuss-mehr{margin-top:var(--s4)!important}
.fuss-unten{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s5);justify-content:space-between;align-items:baseline;padding-top:var(--s4);padding-bottom:var(--s6);border-top:1px solid #2e4b5e;font-size:.875rem}
.fuss-unten ul{display:flex;gap:var(--s4)}
.fuss-unten p{margin:0}
.fuss-hinweis{flex-basis:100%;color:#a9bfcb;max-width:90ch}
@media (max-width:980px){.fuss-raster{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:600px){.fuss-raster{grid-template-columns:minmax(0,1fr)}}

/* Handy-Leiste */
.handyleiste{display:none}
@media (max-width:760px){
  body{padding-bottom:62px}
  .handyleiste{display:grid;grid-template-columns:1fr 1.4fr;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--weiss);border-top:1px solid var(--linie);padding-bottom:env(safe-area-inset-bottom)}
  .handyleiste a{display:block;text-align:center;padding:16px 8px;font-weight:600;color:var(--tinte);text-decoration:none}
  .handyleiste-haupt{background:var(--tuerkis);color:#fff!important}
}

/* Einblenden */
.js .zeig{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.js .zeig.da{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .zeig{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
