/* Neue Startseite nach Entwurf A "Heide": Fraunces + Karla, Kalkweiß und Moosgrün.
   Schriften kommen lokal aus fonts.css. */
:root{
  --ink:#1D231C; --ink2:#3E4A3B; --ink3:#4E5A4A;
  --paper:#F1EFE7; --paper2:#E7E3D6; --moss:#3F5C33; --moss-dunkel:#2C4224;
  --line:#D8D4C6; --nacht:#1A1F18; --hell:#E3EBCF;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Karla",Arial,sans-serif;font-size:17px;line-height:1.6}
img{max-width:100%;display:block}
picture{display:contents}
a{color:var(--moss)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--moss);outline-offset:2px}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;letter-spacing:-.02em;margin:0}
figure{margin:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--moss);color:var(--paper);padding:8px 12px;z-index:30}
.skip:focus{left:8px}
.zeile{font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--moss);margin:0 0 14px}
.knopf{display:inline-block;background:var(--moss);color:var(--paper);padding:13px 24px;font-size:15px;font-weight:700;text-decoration:none}
.knopf:hover{background:var(--moss-dunkel)}
.tel{display:inline-block;margin-left:18px;font-size:15px;color:var(--ink);border-bottom:1px solid var(--moss);text-decoration:none;padding-bottom:2px}

/* ---- Kopfleiste ---- */
.kopf{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;
  padding:16px clamp(16px,4vw,40px);background:var(--paper);border-bottom:1px solid var(--line)}
.marke{font-family:"Fraunces",Georgia,serif;font-weight:700;font-size:21px;letter-spacing:-.01em;color:var(--ink);text-decoration:none;line-height:1.15}
.marke span{display:block;font-family:"Karla",Arial,sans-serif;font-weight:400;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.kopf ul{align-items:center}
.kopf nav a[aria-current="page"],.hat-unter.aktiv>.unter-link{border-bottom-color:var(--moss)}
/* "Angebote" führt zur Übersicht; am Rechner klappt beim Drüberfahren die Liste als Abkürzung auf */
.hat-unter{position:relative}
.unter{display:none!important;position:absolute;top:calc(100% + 16px);left:-20px;min-width:250px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 30px rgba(29,35,28,.12);flex-direction:column;gap:0!important;padding:8px 0!important}
/* Brücke zwischen Link und Liste, damit sie beim Runterfahren offen bleibt. Liegt UNTER dem Link (top:-16px = genau die Lücke), sonst fängt sie den Klick ab. */
.unter::before{content:"";position:absolute;left:0;right:0;top:-17px;height:17px}
@media(hover:hover) and (min-width:1021px){.hat-unter:hover>.unter,.hat-unter:focus-within>.unter{display:flex!important}}
.unter li{width:100%;text-align:left}
.unter a{display:block;padding:9px 20px;border:0!important}
.unter a:hover,.unter a[aria-current="page"]{background:var(--paper2)}
.kopf nav a.nav-knopf{background:var(--moss);color:var(--paper);padding:9px 18px;border:0}
.kopf nav a.nav-knopf:hover{background:var(--moss-dunkel)}
.kopf ul{display:flex;gap:24px;list-style:none;margin:0;padding:0;font-size:15px}
.kopf nav a{color:var(--ink);text-decoration:none;padding-bottom:2px;border-bottom:2px solid transparent}
.kopf nav a:hover{border-bottom-color:var(--moss)}
.burger{display:none;background:none;border:0;padding:10px;margin:-10px;cursor:pointer;color:var(--ink)}
.burger-strich,.burger-strich::before,.burger-strich::after{display:block;width:24px;height:2px;background:currentColor;position:relative}
.burger-strich::before,.burger-strich::after{content:"";position:absolute;left:0}
.burger-strich::before{top:-7px}.burger-strich::after{top:7px}

/* ---- Titel (Kopf aus A) ---- */
.titel{position:relative;height:clamp(460px,72vh,640px);overflow:hidden}
.titel img{width:100%;height:100%;object-fit:cover;object-position:62% 18%}
.titel-kasten{position:absolute;left:0;bottom:0;width:min(600px,92%);background:var(--paper);padding:36px clamp(20px,4vw,40px) 32px}
.titel h1{font-weight:700;font-size:clamp(34px,5vw,50px);line-height:1.02;margin:0 0 14px}
.titel-kasten p:not(.zeile){margin:0 0 24px;font-size:17px;line-height:1.55;color:var(--ink2);max-width:44ch}

/* ---- Rubriken (verlinkte Karten) ---- */
.rubriken{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--line);gap:1px}
.rubrik{display:block;background:var(--paper);padding:28px clamp(18px,3vw,32px);color:var(--ink);text-decoration:none}
.rubrik:hover{background:#F8F6F0}
.rubrik h3{font-weight:500;font-size:20px;margin:0 0 6px}
.rubrik p{margin:0 0 12px;font-size:15px;line-height:1.5;color:var(--ink3)}
.rubrik .mehr{font-size:14px;font-weight:700;color:var(--moss)}
.rubrik:hover .mehr{text-decoration:underline}

/* ---- Bildband aus D ---- */
.band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:var(--nacht)}
.band figure{position:relative;height:clamp(260px,34vw,380px);overflow:hidden}
.band img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:saturate(.7) brightness(.72)}
.band figcaption{position:absolute;left:22px;bottom:18px;font-family:"Fraunces",Georgia,serif;font-weight:700;
  font-size:clamp(26px,3vw,36px);letter-spacing:-.01em;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.55)}

/* ---- Kundenstimme ---- */
.stimme{background:var(--paper2);padding:clamp(32px,5vw,56px) clamp(20px,6vw,80px);text-align:center}
.stimme blockquote{margin:0 auto;max-width:60ch;font-family:"Fraunces",Georgia,serif;font-weight:500;font-size:clamp(19px,2.2vw,23px);line-height:1.45}
.stimme-name{margin:16px 0 0;font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--moss)}

/* ---- Abschnitte mit Text + Bild ---- */
.abschnitt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;
  max-width:1200px;margin:0 auto;padding:clamp(48px,7vw,88px) clamp(16px,4vw,40px);gap:clamp(28px,5vw,64px)}
.abschnitt h2{font-weight:700;font-size:clamp(30px,4vw,42px);line-height:1.08;margin:0 0 16px}
.abschnitt .text p:not(.zeile){margin:0 0 24px;color:var(--ink2);max-width:46ch}
.abschnitt + .abschnitt{border-top:1px solid var(--line)}
.bilder2{display:grid;grid-template-columns:1.25fr 1fr;gap:12px;align-items:end}
.bilder2 img{width:100%;object-fit:cover}
.bilder2 img:first-child{aspect-ratio:4/5;object-position:30% 50%}
.bilder2 img:last-child{aspect-ratio:3/4;object-position:50% 80%;margin-bottom:-28px}
.bild1 img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%}
.betrieb .bild1 img{object-position:50% 40%}
.ueber .bild1{order:-1}
.ueber .bild1 img{max-width:440px;margin:0 auto}

/* ---- Power Vital-Tage ---- */
.vital{position:relative;min-height:clamp(420px,56vw,560px);display:flex;align-items:center;overflow:hidden}
.vital img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.vital-kasten{position:relative;margin:40px clamp(16px,6vw,80px);max-width:520px;background:var(--paper);padding:34px clamp(20px,4vw,38px)}
.vital-kasten h2{font-weight:700;font-size:clamp(30px,4vw,42px);line-height:1.08;margin:0 0 14px}
.vital-kasten p:not(.zeile){margin:0 0 24px;color:var(--ink2)}

/* ---- Kontakt ---- */
.kontakt{background:var(--moss-dunkel);color:var(--paper);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
  gap:clamp(28px,5vw,64px);padding:clamp(48px,7vw,88px) clamp(16px,6vw,80px)}
.kontakt h2{font-weight:700;font-size:clamp(30px,4vw,42px);line-height:1.08;margin:0 0 16px}
.kontakt p{color:#DCE3D3;max-width:44ch}
.kontakt a{color:#fff}
.kontakt .daten{font-size:18px;line-height:1.8;margin-top:24px}
.kontakt .daten a{font-weight:700;text-decoration:none;border-bottom:1px solid #8FA884}
.kontakt a:focus-visible,.kontakt input:focus-visible,.kontakt textarea:focus-visible{outline-color:var(--hell)}
.wpcf7 label{display:block;margin:0 0 14px;font-size:15px;color:#E9EEE2}
.wpcf7 input[type="text"],.wpcf7 input[type="email"],.wpcf7 input[type="tel"],.wpcf7 textarea{width:100%;padding:11px 12px;border:1px solid #6C8463;
  background:var(--paper);color:var(--ink);font:inherit;margin-top:4px}
.wpcf7 textarea{height:140px}
.wpcf7 input[type="submit"]{background:var(--hell);color:var(--moss-dunkel);border:0;padding:13px 26px;font:inherit;font-weight:700;cursor:pointer}
.wpcf7 input[type="submit"]:hover{background:#fff}
.wpcf7-not-valid-tip{color:#FFD9C7}
.wpcf7 form .wpcf7-response-output{border-color:var(--hell);color:#fff}
.form-datenschutz{font-size:14px;color:#C7D2BE!important}
.ms-schutz{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

/* ---- Fuß ---- */
.fuss{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px 40px;padding:48px clamp(16px,4vw,40px) 24px;font-size:15px;color:var(--ink3);border-top:1px solid var(--line)}
.fuss p{margin:0}
.fuss ul{list-style:none;margin:0;padding:0;line-height:1.9}
.fuss a{color:var(--ink);text-decoration:none}
.fuss a:hover{text-decoration:underline}
.fuss-marke{font-family:"Fraunces",Georgia,serif;font-weight:700;font-size:20px;color:var(--ink);margin-bottom:6px!important}
.fuss-titel{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--moss);margin-bottom:10px!important}
.fuss-unten{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;border-top:1px solid var(--line);padding-top:18px;font-size:14px}
.fuss-unten a{margin-left:18px}

/* ---- Unterseiten ---- */
.seitenkopf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;border-bottom:1px solid var(--line)}
.seitenkopf-text{padding:clamp(40px,7vw,96px) clamp(16px,5vw,64px);display:flex;flex-direction:column;justify-content:center}
.seitenkopf h1{font-weight:700;font-size:clamp(34px,5vw,54px);line-height:1.04;margin:0 0 16px}
.einstieg{margin:0;font-size:19px;line-height:1.55;color:var(--ink2);max-width:40ch}
.seitenkopf-bild{min-height:360px;max-height:560px;overflow:hidden}
.seitenkopf-bild img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.seitenkopf.ohne-bild{grid-template-columns:1fr}
.seitenkopf.ohne-bild .seitenkopf-text{padding:clamp(40px,6vw,72px) clamp(16px,4vw,24px) 36px;max-width:768px;margin:0 auto;width:100%}

.inhalt-text{max-width:720px;margin:0 auto;padding:clamp(40px,6vw,72px) clamp(16px,4vw,24px)}
.inhalt-text > :first-child{margin-top:0}
.inhalt-text h2{font-weight:700;font-size:clamp(25px,3vw,31px);line-height:1.15;margin:48px 0 14px}
.inhalt-text h3{font-weight:500;font-size:21px;margin:30px 0 8px}
.inhalt-text p{margin:0 0 16px;color:var(--ink2)}
.inhalt-text ul{margin:0 0 20px;padding:0;list-style:none}
.inhalt-text ul li{position:relative;padding:8px 0 8px 30px;border-bottom:1px solid var(--line);color:var(--ink2)}
.inhalt-text ul li::before{content:"";position:absolute;left:4px;top:17px;width:12px;height:7px;border-left:2.5px solid var(--moss);border-bottom:2.5px solid var(--moss);transform:rotate(-45deg)}
.inhalt-text blockquote{margin:36px 0;padding:26px 28px;background:var(--paper2);border-left:4px solid var(--moss)}
.inhalt-text blockquote p{font-family:"Fraunces",Georgia,serif;font-weight:500;font-size:19px;line-height:1.5;color:var(--ink);margin:0 0 10px}
.inhalt-text blockquote cite{font-style:normal;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--moss)}
.inhalt-text figure{margin:32px 0}
.inhalt-text figure img{width:100%;height:auto;max-height:520px;object-fit:cover}
.inhalt-text figcaption{font-size:14px;color:var(--ink3);padding-top:8px}
.inhalt-text .bilderreihe{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:32px 0}
.inhalt-text .bilderreihe img{width:100%;aspect-ratio:4/5;object-fit:cover}
.inhalt-text .kasten{background:#fff;border:1px solid var(--line);padding:22px 24px;margin:24px 0}
.inhalt-text .kasten h3{margin-top:0}
.inhalt-text .kasten p:last-child{margin-bottom:0}
.inhalt-text .klein{font-size:14px;color:var(--ink3)}
.rechtstext h2{font-size:22px;margin-top:36px}

.aufruf{background:var(--moss-dunkel);color:var(--paper);text-align:center;padding:clamp(44px,6vw,72px) 16px}
.aufruf h2{font-weight:700;font-size:clamp(28px,3.6vw,38px);margin:0 0 12px}
.aufruf p{margin:0 auto 24px;max-width:46ch;color:#DCE3D3}
.aufruf .knopf{background:var(--hell);color:var(--moss-dunkel)}
.aufruf .knopf:hover{background:#fff}
.aufruf .tel{color:#fff;border-bottom-color:#8FA884}
.aufruf a:focus-visible{outline-color:var(--hell)}
.kontakt-seite h1{font-weight:700;font-size:clamp(34px,5vw,50px);line-height:1.05;margin:0 0 16px}
.stimme-link{margin:14px 0 0;font-size:15px}
.stimme-link a{color:var(--moss);font-weight:700}

/* ---- Angebotsübersicht ---- */
.karten{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.5vw,28px);max-width:1200px;margin:0 auto;padding:clamp(32px,5vw,56px) clamp(16px,4vw,40px) clamp(48px,7vw,88px)}
.karte{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:transform .15s,box-shadow .15s}
.karte:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(29,35,28,.12)}
.karte-bild{display:block;aspect-ratio:4/3;overflow:hidden}
.karte-bild img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.karte-text{display:flex;flex-direction:column;flex:1;padding:20px 22px 22px}
.karte-titel{font-family:"Fraunces",Georgia,serif;font-weight:700;font-size:22px;letter-spacing:-.015em;margin-bottom:6px}
.karte-kurz{font-size:15px;line-height:1.5;color:var(--ink3);flex:1;margin-bottom:14px}
.karte .mehr{font-size:14px;font-weight:700;color:var(--moss)}
.karte:hover .mehr{text-decoration:underline}
.alle-angebote{text-align:center;margin:0;padding:18px 16px;border-bottom:1px solid var(--line)}
.alle-angebote a{font-weight:700;color:var(--moss)}
.fuss-titel a{color:var(--moss)!important}
@media(prefers-reduced-motion:reduce){.karte{transition:none}.karte:hover{transform:none}}

/* ---- Preise & Gutscheine ---- */
.inhalt-text .preiskarten{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 20px}
@media(min-width:1021px){.inhalt-text .preiskarten{margin-left:-110px;margin-right:-110px}}
.preiskarte{background:#fff;border:1px solid var(--line);padding:26px 22px 22px;display:flex;flex-direction:column}
.preiskarte.hervor{background:var(--moss-dunkel);border-color:var(--moss-dunkel)}
.inhalt-text .preiskarte h3{margin:0 0 4px;font-weight:700;font-size:24px}
.inhalt-text .preis-label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--moss);margin:0 0 10px}
.inhalt-text .preis{font-family:"Fraunces",Georgia,serif;font-weight:500;font-size:20px;color:var(--moss);margin:0 0 16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.inhalt-text .preiskarte ul{margin:0}
.inhalt-text .preiskarte ul li{border:0;padding:5px 0 5px 26px;font-size:15px}
.inhalt-text .preiskarte ul li::before{top:12px}
.inhalt-text .hervor h3,.inhalt-text .hervor .preis{color:#fff}
.inhalt-text .hervor .preis-label{color:var(--hell)}
.inhalt-text .hervor .preis{border-color:#4E6B44}
.inhalt-text .hervor ul li{color:#DCE3D3}
.inhalt-text .hervor ul li::before{border-color:var(--hell)}
.gutschein-bereich{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:36px;align-items:center;margin:56px 0 8px;padding-top:48px;border-top:1px solid var(--line)}
.gutschein{position:relative;aspect-ratio:3/2;background:var(--moss);color:#fff;padding:22px 24px;display:flex;flex-direction:column;justify-content:center;
  outline:2px dashed rgba(255,255,255,.55);outline-offset:-10px;box-shadow:0 18px 36px rgba(29,35,28,.18);transform:rotate(-3deg)}
.inhalt-text .gutschein p{margin:0;color:#fff}
.inhalt-text .gutschein-oben{font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--hell)!important;margin-bottom:10px!important}
.inhalt-text .gutschein-name{font-family:"Fraunces",Georgia,serif;font-weight:700;font-size:26px;line-height:1.1}
.inhalt-text .gutschein-unter{font-size:13px;color:#DCE3D3!important;margin-bottom:18px!important}
.inhalt-text .gutschein-wert{align-self:flex-start;background:var(--paper);color:var(--moss-dunkel)!important;font-weight:700;font-size:14px;padding:6px 12px}
.inhalt-text .gutschein-text h2{margin-top:0}
.inhalt-text a.knopf{color:var(--paper);text-decoration:none}

/* ---- Kundenstimmen ---- */
.inhalt-text .stimme-karte{margin:0 0 18px;background:#fff;border:1px solid var(--line);padding:50px 26px 22px;position:relative;break-inside:avoid}
.stimme-karte::before{content:"“";position:absolute;top:2px;left:22px;font-family:"Fraunces",Georgia,serif;font-weight:700;font-size:84px;line-height:1;color:var(--paper2)}
.inhalt-text .stimme-karte blockquote{margin:0;padding:0;background:none;border:0;position:relative}
.inhalt-text .stimme-karte blockquote p{font-family:"Karla",Arial,sans-serif;font-weight:400;font-size:16px;line-height:1.6;color:var(--ink2);margin:0 0 18px}
.stimme-karte figcaption{display:flex;align-items:center;gap:12px}
.stimme-karte .initial{flex:none;width:42px;height:42px;border-radius:50%;background:var(--moss);color:#fff;display:flex;align-items:center;justify-content:center;font-family:"Fraunces",Georgia,serif;font-weight:700;font-size:18px}
.stimme-karte .wer{display:flex;flex-direction:column;line-height:1.3}
.stimme-karte .wer strong{font-size:15px;color:var(--ink)}
.stimme-karte .wer small{font-size:13px;color:var(--ink3)}
.inhalt-text .stimme-karte.gross{background:var(--moss-dunkel);border-color:var(--moss-dunkel);padding:clamp(56px,6vw,72px) clamp(28px,4vw,44px) clamp(28px,4vw,40px);margin-bottom:28px}
.stimme-karte.gross::before{color:#3C5833;font-size:120px;top:-4px;left:36px}
.inhalt-text .stimme-karte.gross blockquote p{font-family:"Fraunces",Georgia,serif;font-weight:500;font-size:clamp(20px,2.4vw,26px);line-height:1.4;color:#fff}
.stimme-karte.gross .initial{background:var(--hell);color:var(--moss-dunkel)}
.stimme-karte.gross .wer strong{color:#fff}
.stimme-karte.gross .wer small{color:#C7D2BE}
.stimmen{columns:2;column-gap:18px}
@media(min-width:1021px){.inhalt-text .stimmen,.inhalt-text .stimme-karte.gross{margin-left:-110px;margin-right:-110px}}

/* ---- Handy ---- */
@media(max-width:1020px){
  .burger{display:block}
  .kopf nav{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);display:none}
  .menue-offen .kopf nav{display:block}
  .kopf ul{flex-direction:column;gap:0;padding:6px 0}
  .kopf nav a{display:block;padding:13px clamp(16px,4vw,40px);border:0;font-size:17px}
  .kopf nav{max-height:calc(100vh - 70px);overflow-y:auto}
  .kopf ul{align-items:stretch}
  .kopf nav a.nav-knopf{margin:8px clamp(16px,4vw,40px) 12px;text-align:center}
  .fuss{grid-template-columns:1fr}
  .fuss-unten a{margin:0 18px 0 0}
  .seitenkopf{grid-template-columns:1fr}
  .seitenkopf-bild{min-height:0;height:300px;order:-1}
  .inhalt-text .bilderreihe{grid-template-columns:1fr 1fr;gap:8px}
  .karten{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inhalt-text .preiskarten{grid-template-columns:1fr}
  .gutschein-bereich{grid-template-columns:1fr}
  .gutschein{max-width:340px;margin:0 auto 8px}
  .stimmen{columns:1}
  .burger[aria-expanded="true"] .burger-strich{background:transparent}
  .burger[aria-expanded="true"] .burger-strich::before{top:0;transform:rotate(45deg)}
  .burger[aria-expanded="true"] .burger-strich::after{top:0;transform:rotate(-45deg)}

  .titel{height:auto;overflow:visible}
  .titel img{height:340px}
  .titel-kasten{position:static;width:auto;padding:28px 16px 32px}
  .tel{display:block;margin:16px 0 0;width:max-content}

  .rubriken{grid-template-columns:repeat(2,minmax(0,1fr))}
  .band{grid-template-columns:1fr}
  .band figure{height:220px}
  .abschnitt,.kontakt{grid-template-columns:1fr}
  .ueber .bild1{order:0}
  .bilder2 img:last-child{margin-bottom:0}
  .vital{display:block;min-height:0}
  .vital img{position:static;height:260px}
  .vital-kasten{margin:0;max-width:none;padding:28px 16px 36px}
}
@media(max-width:520px){
  .rubriken{grid-template-columns:1fr}
  .karten{grid-template-columns:1fr}
}
