/* ==========================================================================
   nikinemeth — custom.css
   Was theme.json nicht ausdrücken kann: Komponenten, Layout-Helfer,
   Bento, Karussell, Formulare, Animationen, Digital-Check.
   --------------------------------------------------------------------------
   Die Design-Tokens werden auf die von theme.json generierten Preset-
   Variablen abgebildet, damit die aus den HTML-Mockups portierten Stile
   unverändert funktionieren (var(--korall) → var(--wp--preset--color--korall)).
   ========================================================================== */

:root{
  /* Farb-Aliase → theme.json Preset-Variablen */
  --papier:var(--wp--preset--color--papier);
  --creme:var(--wp--preset--color--creme);
  --sand:var(--wp--preset--color--sand);
  --tinte:var(--wp--preset--color--tinte);
  --gedaempft:var(--wp--preset--color--gedaempft);
  --korall:var(--wp--preset--color--korall);
  --korall-tief:var(--wp--preset--color--korall-tief);
  --korall-hover:var(--wp--preset--color--korall-hover);
  --honig:var(--wp--preset--color--honig);
  --rahmen:var(--wp--preset--color--rahmen);
  --linie:var(--wp--preset--color--linie);
  --fehler:var(--wp--preset--color--fehler);

  --dunkel-sekundaer:#B9AA9C;

  /* Schrift-Aliase → theme.json Font-Family-Presets */
  --display:var(--wp--preset--font-family--display);
  --body:var(--wp--preset--font-family--body);

  /* Radien */
  --r-s:8px; --r-m:14px; --r-l:22px;
}

/* ============================================================
   RESET / BASIS
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;}
img{max-width:100%;height:auto;}
:focus-visible{outline:3px solid var(--korall);outline-offset:3px;border-radius:4px;}

.nur-screenreader{position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;}
.honigtopf{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}

/* ============================================================
   LAYOUT — Container & Flächen-Rhythmus
   voll 1360px · breit 940px · wrap 660px
   ============================================================ */
.wrap{max-width:660px;margin-left:auto;margin-right:auto;}
.breit{max-width:940px;margin-left:auto;margin-right:auto;}
.voll{max-width:1360px;margin-left:auto;margin-right:auto;}
.seite{padding-left:clamp(16px,4vw,32px);padding-right:clamp(16px,4vw,32px);}
.nn-section{padding-top:clamp(52px,8vw,80px);padding-bottom:clamp(52px,8vw,80px);}
.bank-papier{background:var(--papier);border-top:1px solid var(--linie);border-bottom:1px solid var(--linie);}

/* ============================================================
   TYPOGRAFIE-HELFER
   ============================================================ */
.lede{font-size:19px;line-height:1.6;color:var(--gedaempft);}
.eyebrow{font:600 12.5px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--korall-tief);margin:0 0 16px;}
.nn-h1 em, h1 em{font-style:italic;color:var(--korall-tief);}

/* ============================================================
   KOPF → parts/header.html
   ============================================================ */
.kopf{background:var(--creme);border-bottom:1px solid var(--linie);}
.kopf-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;flex-wrap:wrap;}
.kopf .marke-link{display:inline-flex;align-items:center;line-height:0;}
.kopf .wp-block-site-logo img,.kopf .logo{height:44px;width:auto;display:block;}
@media (max-width:520px){ .kopf .wp-block-site-logo img,.kopf .logo{height:38px;} }
.nav a{font-size:16px;color:var(--tinte);text-decoration:none;}
.nav a:hover{color:var(--korall-tief);}

/* ============================================================
   KNÖPFE
   ============================================================ */
.knopf,.wp-block-button.knopf .wp-block-button__link{display:inline-block;font:600 17px/1 var(--body);
  text-decoration:none;background:var(--korall-tief);color:#fff;border:1.5px solid var(--korall-tief);
  border-radius:99px;padding:17px 30px;cursor:pointer;}
.knopf:hover{background:var(--korall-hover);border-color:var(--korall-hover);}
.knopf .pfeil-zeichen{display:inline-block;transition:transform .25s ease;}
.knopf:hover .pfeil-zeichen{transform:translateX(4px);}

/* Kontúros Button-Stil */
.is-style-knopf-klein .wp-block-button__link,.knopf-klein{background:transparent;color:var(--korall-tief);
  border:1.5px solid var(--korall);border-radius:99px;padding:11px 20px;font:600 15px/1 var(--body);text-decoration:none;display:inline-block;}
.is-style-knopf-klein .wp-block-button__link:hover,.knopf-klein:hover{background:var(--korall);border-color:var(--korall);color:var(--papier);}
@media (max-width:640px){ .knopf-klein{width:100%;text-align:center;} }
.is-style-knopf-still .wp-block-button__link,.knopf-still{background:transparent;color:var(--korall-tief);
  border:1.5px solid var(--rahmen);border-radius:99px;padding:11px 20px;font:600 15px/1 var(--body);text-decoration:none;display:inline-block;}
.is-style-knopf-still .wp-block-button__link:hover,.knopf-still:hover{background:var(--creme);border-color:var(--tinte);color:var(--tinte);}

.blog-mehr,.weiter{color:var(--korall-tief);font-weight:600;text-decoration:none;}
.blog-mehr:hover{text-decoration:underline;}

/* ============================================================
   IKONKREIS
   ============================================================ */
.icon-kreis{width:38px;height:38px;border-radius:50%;background:var(--sand);color:var(--korall-tief);
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;transition:background .25s ease,color .25s ease;}

/* ============================================================
   FAQ — core/details, Stil „frage"
   ============================================================ */
details.frage,.is-style-frage{border:1px solid var(--linie);border-radius:var(--r-m);background:var(--creme);margin:0 0 10px;font-size:16px;}
details.frage summary,.is-style-frage summary{cursor:pointer;padding:16px 18px;font-weight:600;list-style:none;
  display:flex;justify-content:space-between;gap:14px;align-items:center;}
details.frage summary::-webkit-details-marker,.is-style-frage summary::-webkit-details-marker{display:none;}
details.frage summary::after,.is-style-frage summary::after{content:"＋";color:var(--korall-tief);font-weight:700;flex:0 0 auto;}
details.frage[open] summary::after,.is-style-frage[open] summary::after{content:"−";}
details.frage[open],.is-style-frage[open]{background:var(--sand);}
details.frage .inhalt,.is-style-frage .wp-block-details__content{padding:0 18px 18px;color:var(--gedaempft);line-height:1.65;}
details.frage .inhalt p{margin:0;}

/* ============================================================
   KOMPONENT-BOXEN → register_block_style('core/group', …)
   ============================================================ */
.kurzgesagt,.is-style-kurzgesagt{background:var(--creme);border-left:4px solid var(--korall);
  border-radius:0 var(--r-m) var(--r-m) 0;padding:20px 24px;margin:0 0 40px;font-size:17px;line-height:1.65;}
.kurzgesagt strong{display:block;font-weight:700;margin-bottom:6px;}
.kurzgesagt p{margin:0;color:var(--gedaempft);max-width:none;}

.aha,.is-style-aha{background:var(--sand);border:1.5px solid var(--korall);border-radius:var(--r-l);padding:26px 24px;margin:36px 0;}
.aha-label{display:inline-block;background:var(--honig);color:var(--tinte);font:700 11.5px/1 var(--body);
  letter-spacing:.12em;text-transform:uppercase;padding:7px 12px;border-radius:99px;margin:0 0 14px;}
.aha p{font:400 20px/1.45 var(--display);margin:0;max-width:none;}

.zwischenruf,.is-style-zwischenruf{display:flex;gap:12px;align-items:flex-start;font:400 15.5px/1.6 var(--body);
  color:var(--gedaempft);background:var(--papier);border:1px dashed var(--linie);border-radius:var(--r-m);padding:16px 18px;margin:30px 0;}
.zwischenruf b{color:var(--tinte);font-weight:600;}
.zwischenruf span[aria-hidden]{color:var(--korall);font-size:19px;line-height:1;flex:0 0 auto;}
.zwischenruf p{margin:0;max-width:none;}

.quellen,.is-style-quellen{background:var(--creme);border:1px solid var(--linie);border-radius:var(--r-m);
  padding:20px 22px;margin:40px 0 0;font-size:15px;color:var(--gedaempft);}
.quellen h3{font:600 15px/1.4 var(--body);color:var(--tinte);margin:0 0 10px;}
.quellen ul{margin:0;padding-left:20px;}
.quellen li{margin-bottom:7px;}
.quellen a{color:var(--korall-tief);}
.quellen p{margin:12px 0 0;max-width:none;}

.cta,.is-style-cta{background:var(--sand);border:1.5px solid var(--korall);border-radius:var(--r-l);padding:clamp(26px,5vw,36px);margin:52px 0 0;}
.cta h2{margin:0 0 12px;font-size:clamp(23px,4vw,28px);}
.cta p{color:var(--tinte);margin:0 0 22px;max-width:none;}

.ergebnis-karte,.is-style-ergebnis{background:var(--sand);border:1.5px solid var(--korall);border-radius:var(--r-l);padding:30px 26px;margin:0 0 22px;text-align:center;}
.ergebnis-eyebrow{font:600 12.5px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--korall-tief);margin:0 0 12px;}
.ergebnis-zahl{font:400 clamp(44px,10vw,58px)/1 var(--display);color:var(--tinte);margin:0 0 4px;}
.ergebnis-einheit,.ergebnis-von100{font:400 20px/1 var(--body);color:var(--gedaempft);margin-left:4px;}
.ergebnis-band{font:700 18px/1.35 var(--body);color:var(--korall-tief);margin:0 0 14px;}
.ergebnis-text{font-size:15.5px;color:var(--tinte);margin:0 auto;max-width:44ch;line-height:1.6;}
.ergebnis-text b{font-weight:700;}

/* ============================================================
   FORMULARE (Basis) — Kontakt, Audit
   ============================================================ */
.feld{margin:0 0 18px;}
.feld label{display:block;font:600 15.5px/1.45 var(--body);margin:0 0 7px;}
.feld .hilfe{display:block;font-weight:400;font-size:14px;color:var(--gedaempft);margin-top:2px;}
.feld input,.feld textarea{width:100%;font:400 16.5px/1.5 var(--body);color:var(--tinte);
  background:var(--papier);border:1.5px solid var(--rahmen);border-radius:var(--r-s);padding:12px 15px;}
.feld input:hover,.feld textarea:hover{border-color:var(--tinte);}
.feld textarea{min-height:130px;resize:vertical;}
.feld-paar{display:grid;gap:0 18px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
.zustimmung{display:flex;align-items:flex-start;gap:12px;font-size:15px;line-height:1.55;color:var(--tinte);margin:0 0 22px;cursor:pointer;}
.zustimmung input{appearance:none;-webkit-appearance:none;margin:2px 0 0;flex:0 0 auto;width:21px;height:21px;
  border:2px solid var(--rahmen);background:var(--papier);border-radius:5px;cursor:pointer;}
.zustimmung input:checked{border-color:var(--korall-tief);background:var(--korall-tief);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3.2L13 5' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size:15px;background-position:center;background-repeat:no-repeat;}

/* ============================================================
   BEWEGUNG
   ============================================================ */
.zeigt{opacity:0;transform:translateY(14px);transition:opacity .6s cubic-bezier(.2,.7,.3,1),transform .6s cubic-bezier(.2,.7,.3,1);}
.zeigt.da{opacity:1;transform:none;}
.zeigt.v1{transition-delay:.08s;} .zeigt.v2{transition-delay:.16s;} .zeigt.v3{transition-delay:.24s;}
@keyframes nn-erscheinen{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.nn-erscheint{animation:nn-erscheinen .45s ease;}

/* ============================================================
   FUSS → parts/footer.html
   ============================================================ */
.fuss{background:var(--tinte);color:var(--dunkel-sekundaer);
  padding:clamp(52px,7vw,80px) 0 clamp(48px,6vw,72px);font-size:15px;line-height:1.7;text-align:center;}
.fuss a{text-decoration:none;color:var(--dunkel-sekundaer);}
.fuss a:hover{text-decoration:underline;color:var(--sand);}
.fuss .fuss-zeile-1{color:var(--dunkel-sekundaer);font-size:15px;margin:0;}
.fuss .fuss-zeile-2{color:var(--korall);font-size:15.5px;margin:14px auto 0;max-width:52ch;}
.fuss-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;margin-top:26px;}
.fuss-links a{color:var(--dunkel-sekundaer);font-size:14px;letter-spacing:.06em;}
.herz{display:inline-block;vertical-align:-2px;color:var(--korall);}
@media (max-width:560px){ .fuss-links{gap:10px 18px;} }

/* ============================================================
   STARTSEITE — Hero
   ============================================================ */
.hero{padding:clamp(48px,7vw,84px) 0 clamp(52px,8vw,80px);}
.hero-raster{display:grid;gap:clamp(32px,7vw,88px);grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:stretch;}
@media (min-width:761px){ .hero-bild{order:-1;} }
.hero .nn-h1,.hero h1{margin:0 0 20px;}
.hero .lede{margin-bottom:30px;}
.hero-hinweis{font-size:15px;color:var(--gedaempft);margin:16px 0 0;}
.hero-bild{position:relative;display:flex;height:100%;}
.hero-portrait{position:relative;z-index:1;width:100%;height:100%;min-height:340px;object-fit:cover;object-position:42% 42%;
  border-radius:var(--r-l);border:6px solid var(--papier);box-shadow:0 12px 34px rgba(43,35,32,.11);}
.kaertchen{position:absolute;z-index:2;background:var(--papier);border:1px solid var(--linie);border-radius:12px;padding:9px 13px;
  box-shadow:0 8px 22px rgba(43,35,32,.10);display:flex;align-items:center;gap:9px;font:600 13.5px/1.25 var(--body);white-space:nowrap;}
.kaertchen svg{flex:0 0 auto;}
.kaertchen small{display:block;font-weight:400;font-size:11.5px;color:var(--gedaempft);letter-spacing:.02em;}
.k-1{right:-7%;top:12%;animation:schweben 7s ease-in-out infinite;}
.k-2{left:-5%;top:46%;animation:schweben 8.5s ease-in-out .8s infinite;}
.k-3{right:-3%;bottom:10%;animation:schweben 7.6s ease-in-out 1.6s infinite;}
@keyframes schweben{0%,100%{transform:translateY(0);}50%{transform:translateY(-7px);}}
@media (max-width:980px){ .kaertchen{font-size:12.5px;padding:8px 11px;} .k-1{right:-2%;} .k-2{left:-2%;} }
@media (max-width:760px){ .hero-raster{grid-template-columns:1fr;} .hero-bild{max-width:460px;margin:0 auto;}
  .hero-portrait{aspect-ratio:5/4;height:auto;min-height:0;} }
@media (max-width:560px){ .k-2{display:none;} }

/* Schlagwort-Band */
.band{background:var(--tinte);color:var(--creme);overflow:hidden;padding:18px 0;}
.band-spur{display:flex;width:max-content;animation:band-lauf 46s linear infinite;}
.band:hover .band-spur,.band:focus-within .band-spur{animation-play-state:paused;}
.band-gruppe{display:flex;align-items:center;flex:0 0 auto;}
.band-gruppe span{font:600 15px/1 var(--body);white-space:nowrap;padding:0 26px;display:flex;align-items:center;gap:26px;}
.band-gruppe span::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--korall);flex:0 0 auto;}
@keyframes band-lauf{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* Karten-Hover */
.problem,.stimme{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;}
.problem:hover,.stimme:hover{transform:translateY(-3px);border-color:var(--rahmen);box-shadow:0 10px 26px rgba(43,35,32,.07);}

/* Probleme */
.probleme{display:grid;gap:16px;margin-top:36px;grid-template-columns:repeat(3,1fr);}
.problem{background:var(--papier);border:1px solid var(--linie);border-radius:var(--r-l);padding:26px 24px;display:flex;flex-direction:column;}
.problem .icon-kreis{width:42px;height:42px;margin:0 0 18px;}
.problem h3{margin:0 0 8px;font-size:17.5px;line-height:1.4;}
.problem p{margin:0;color:var(--gedaempft);font-size:16px;}
@media (max-width:860px){ .probleme{grid-template-columns:1fr;} }

/* SSA */
.ssa{display:grid;gap:18px;margin-top:36px;}
.schritt{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;background:var(--creme);
  border:1px solid var(--linie);border-radius:var(--r-l);padding:26px 24px;}
.punkte{display:flex;align-items:center;gap:5px;padding-top:7px;}
.punkte i{display:block;border-radius:50%;background:var(--linie);transition:background .45s ease;}
.punkte i:nth-child(1){width:7px;height:7px;} .punkte i:nth-child(2){width:10px;height:10px;} .punkte i:nth-child(3){width:13px;height:13px;}
.schritt.da .punkte i.an{background:var(--korall);}
.schritt.da .punkte i.an:nth-child(2){transition-delay:.12s;} .schritt.da .punkte i.an:nth-child(3){transition-delay:.24s;}
.schritt h3{font-family:var(--display);font-weight:400;font-size:22px;line-height:1.3;margin:0 0 8px;}
.schritt p{margin:0;color:var(--gedaempft);font-size:16.5px;}
@media (max-width:520px){ .schritt{grid-template-columns:1fr;gap:12px;} .punkte{padding-top:0;} }

/* Bento */
.bento{display:grid;gap:16px;margin-top:36px;grid-template-columns:repeat(3,1fr);}
.kachel{position:relative;display:flex;flex-direction:column;background:var(--papier);border:1px solid var(--linie);
  border-radius:var(--r-l);padding:26px 24px;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;}
.kachel:hover{transform:translateY(-3px);border-color:var(--rahmen);box-shadow:0 12px 28px rgba(43,35,32,.08);}
.kachel h3{font-family:var(--display);font-weight:400;font-size:21px;line-height:1.28;margin:0 0 10px;}
.kachel p{margin:0;color:var(--gedaempft);font-size:16px;}
.kachel .icon-kreis{margin:0 0 18px;}
.kachel:hover .icon-kreis{background:var(--korall);color:var(--papier);}
.k-gross{grid-column:span 2;background:var(--sand);border-color:var(--korall);border-width:1.5px;}
.k-gross h3{font-size:26px;} .k-gross p{color:var(--tinte);max-width:46ch;} .k-gross .icon-kreis{background:var(--papier);} .k-gross .zeichnung{margin-top:24px;}
.k-hoch{grid-column:3;background:var(--creme);} .k-hoch .zeichnung{margin-top:auto;padding-top:24px;}
.k-unten{grid-column:3;background:var(--creme);}
.zeichnung{color:var(--rahmen);} .zeichnung svg{width:100%;height:auto;display:block;}
.leistung-schluss{margin:30px 0 0;font-size:17px;color:var(--tinte);}
@media (max-width:900px){ .bento{grid-template-columns:repeat(2,1fr);} .k-gross{grid-column:span 2;} .k-hoch,.k-unten{grid-column:auto;} }
@media (max-width:560px){ .bento{grid-template-columns:1fr;} .k-gross,.k-hoch,.k-unten{grid-column:auto;} .k-hoch .zeichnung{margin-top:24px;padding-top:0;} }

/* Praxis */
.praxis,.is-style-praxis{background:var(--sand);border:1.5px solid var(--korall);border-radius:var(--r-l);padding:clamp(26px,5vw,36px);margin-top:26px;}
.praxis p{margin:0 0 18px;}
.praxis p:last-child{margin:0;font-family:var(--display);font-size:20px;line-height:1.45;}
.praxis .marke-label{display:inline-block;background:var(--honig);color:var(--tinte);font:700 11.5px/1 var(--body);
  letter-spacing:.12em;text-transform:uppercase;padding:7px 12px;border-radius:99px;margin:0 0 18px;}

/* Stimmen */
.stimmen-kopf{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;}
.pfeile{display:flex;gap:10px;}
.pfeil{width:46px;height:46px;border-radius:50%;background:var(--papier);border:1.5px solid var(--rahmen);color:var(--tinte);
  font-size:19px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.pfeil:hover:not(:disabled){border-color:var(--korall-tief);color:var(--korall-tief);}
.pfeil:disabled{opacity:.35;cursor:default;}
.spur{display:flex;gap:16px;margin-top:28px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:6px;scrollbar-width:none;}
.spur::-webkit-scrollbar{display:none;}
.stimme{flex:0 0 min(400px,84%);scroll-snap-align:start;background:var(--papier);border:1px solid var(--linie);
  border-radius:var(--r-l);padding:28px 26px;display:flex;flex-direction:column;}
.stimme .zeichen{font:400 46px/1 var(--display);color:var(--korall);margin:-10px 0 2px;}
.stimme blockquote{margin:0 0 20px;font-size:16px;line-height:1.62;color:var(--tinte);}
.stimme .wer{margin:auto 0 0;font-size:15px;color:var(--gedaempft);border-top:1px solid var(--linie);padding-top:16px;}
.stimme .wer b{display:block;color:var(--tinte);font-weight:600;font-size:16px;}
.punkte-reihe{display:flex;gap:8px;justify-content:center;margin-top:22px;}
.punkte-reihe button{width:9px;height:9px;padding:0;border-radius:50%;border:0;background:var(--linie);cursor:pointer;}
.punkte-reihe button[aria-current="true"]{background:var(--korall);width:24px;border-radius:99px;}

/* Über mich */
.ueber-raster{display:grid;gap:clamp(26px,5vw,44px);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;}
.bild-feld{position:relative;width:100%;}
.bild-rahmen{border-radius:var(--r-l);overflow:hidden;border:1px solid var(--linie);background:var(--sand);}
.bild-rahmen img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;display:block;}
.ueber p:last-child{margin-bottom:0;}
.mitglied-badge{position:absolute;right:-18px;bottom:26px;z-index:2;display:flex;align-items:center;gap:11px;
  background:var(--papier);border:1px solid var(--linie);border-radius:12px;padding:10px 14px;
  box-shadow:0 8px 22px rgba(43,35,32,.12);text-decoration:none;animation:schweben 8s ease-in-out infinite;}
.mitglied-badge img{height:26px;width:auto;filter:grayscale(.4);}
.mitglied-badge span{font:600 11px/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--gedaempft);white-space:nowrap;}
.mitglied-badge:hover{border-color:var(--rahmen);}
@media (max-width:760px){ .ueber-raster{grid-template-columns:1fr;} .bild-feld{max-width:400px;margin:0 auto;} .mitglied-badge{right:8px;bottom:14px;} }
@media (max-width:420px){ .mitglied-badge span{display:none;} }

/* Blog-Karten (Startseite + Archiv) */
.blog-kopf{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;}
.beitraege{display:grid;gap:16px;margin-top:34px;grid-template-columns:repeat(3,1fr);}
.beitrag{display:flex;flex-direction:column;background:var(--papier);border:1px solid var(--linie);border-radius:var(--r-l);
  padding:26px 24px;text-decoration:none;color:inherit;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;}
.beitrag:hover{transform:translateY(-3px);border-color:var(--rahmen);box-shadow:0 10px 26px rgba(43,35,32,.07);}
.beitrag .kategorie{font:600 12px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--korall-tief);margin:0 0 14px;}
.beitrag h2,.beitrag h3{font-family:var(--display);font-weight:400;font-size:21px;line-height:1.28;margin:0 0 10px;letter-spacing:-.005em;color:var(--tinte);}
.beitrag:hover h2,.beitrag:hover h3{color:var(--korall-tief);}
.beitrag p{margin:0 0 20px;color:var(--gedaempft);font-size:15.5px;line-height:1.6;}
.beitrag .fuss-zeile{margin:auto 0 0;display:flex;justify-content:space-between;align-items:center;gap:12px;
  font-size:14.5px;color:var(--gedaempft);border-top:1px solid var(--linie);padding-top:16px;}
.beitrag .weiter span{display:inline-block;transition:transform .25s ease;}
.beitrag:hover .weiter span{transform:translateX(4px);}
.beitrag-leer{background:var(--sand);border-color:var(--korall);border-width:1.5px;justify-content:center;}
.beitrag-leer h3{margin-bottom:8px;}
@media (max-width:860px){ .beitraege{grid-template-columns:1fr;} }

/* Kontakt */
.kontakt-karte{background:var(--sand);border:1.5px solid var(--korall);border-radius:var(--r-l);padding:clamp(26px,5vw,36px);margin-top:26px;}
.kontakt-karte .zustimmung{color:var(--tinte);}
.mail-zeile{font-size:16px;color:var(--gedaempft);margin:20px 0 0;}
.mail-zeile a{color:var(--korall-tief);}

/* ============================================================
   EINZELARTIKEL (single)
   ============================================================ */
.fortschritt-leiste{position:fixed;top:0;left:0;height:3px;width:0;background:var(--korall);z-index:60;transition:width .1s linear;}
.artikel-kopf .kategorie{font:600 12.5px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--korall-tief);margin:0 0 14px;}
.meta{font-size:15px;color:var(--gedaempft);margin:0 0 30px;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;}
.meta span{white-space:nowrap;} .meta .autor-name{color:var(--tinte);font-weight:600;} .meta .trenner{color:var(--linie);}
.artikel-inhalt h2{font:400 clamp(24px,4.2vw,30px)/1.24 var(--display);margin:52px 0 14px;letter-spacing:-.01em;}
.artikel-inhalt h3{font:600 18px/1.4 var(--body);margin:32px 0 10px;}
.artikel-inhalt p{margin:0 0 20px;max-width:62ch;}
.artikel-inhalt ul{margin:0 0 22px;padding-left:22px;} .artikel-inhalt li{margin-bottom:9px;}
.artikel-inhalt hr{border:0;border-top:1px solid var(--linie);margin:48px 0;}
.rechner{background:var(--creme);border:1px solid var(--linie);border-radius:var(--r-l);padding:clamp(22px,5vw,34px);margin:36px 0;}
.rechner-titel{font:400 24px/1.25 var(--display);margin:0 0 6px;}
.rechner-sub{color:var(--gedaempft);font-size:16px;margin:0 0 26px;max-width:none;}
.rechner-raster{display:grid;gap:0 18px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}
.ausgabe{background:var(--sand);border:1.5px solid var(--korall);border-radius:var(--r-l);padding:28px 24px;margin:26px 0 0;text-align:center;}
.ausgabe[hidden]{display:none;}
.ausgabe-eyebrow{font:600 12.5px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--korall-tief);margin:0 0 12px;}
.ausgabe-zahl{font:400 clamp(44px,10vw,58px)/1 var(--display);color:var(--tinte);margin:0 0 4px;}
.ausgabe-einheit{font:400 20px/1 var(--body);color:var(--gedaempft);margin-left:4px;}
.ausgabe-band{font:700 18px/1.35 var(--body);color:var(--korall-tief);margin:0 0 14px;}
.ausgabe-text{font-size:15.5px;color:var(--tinte);margin:0 auto;max-width:44ch;line-height:1.6;} .ausgabe-text b{font-weight:700;}
.leer-hinweis{color:var(--gedaempft);font-size:15px;margin:22px 0 0;text-align:center;} .leer-hinweis[hidden]{display:none;}
.autor{display:flex;gap:14px;align-items:center;border-top:1px solid var(--linie);margin:48px 0 0;padding:24px 0 0;font-size:15px;color:var(--gedaempft);}
.autor .signet{flex:0 0 auto;width:46px;height:46px;border-radius:50%;background:var(--korall);color:#fff;
  display:flex;align-items:center;justify-content:center;font:400 22px/1 var(--display);border:2px solid var(--creme);transform:rotate(-2.5deg);}
.autor b{color:var(--tinte);font-weight:600;} .autor p{margin:0;max-width:none;}

/* ============================================================
   BLOG-ARCHIV
   ============================================================ */
.archiv-kopf .eyebrow{margin-bottom:14px;}
.archiv-kopf .lede{max-width:62ch;}
.pillen{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 0;}
.pille{display:inline-block;font:600 13px/1 var(--body);letter-spacing:.02em;text-decoration:none;color:var(--tinte);
  background:var(--papier);border:1px solid var(--linie);border-radius:99px;padding:9px 16px;transition:border-color .2s ease,background .2s ease,color .2s ease;}
.pille:hover{border-color:var(--rahmen);}
.pille[aria-current="page"],.pille.aktiv{background:var(--korall-tief);border-color:var(--korall-tief);color:var(--papier);}
.blaettern{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:40px;flex-wrap:wrap;}
.blaettern .seite-info{font-size:15px;color:var(--gedaempft);}

/* ============================================================
   STATISCHE SEITE
   ============================================================ */
.seiten-kopf .aktualisiert{font-size:15px;color:var(--gedaempft);margin:0 0 8px;}
.inhalt-seite h2{font:400 clamp(22px,3.6vw,26px)/1.25 var(--display);margin:40px 0 12px;letter-spacing:-.01em;}
.inhalt-seite p{margin:0 0 18px;max-width:62ch;} .inhalt-seite a{color:var(--korall-tief);}
.inhalt-seite ul{margin:0 0 20px;padding-left:22px;} .inhalt-seite li{margin-bottom:8px;}
.inhalt-seite hr{border:0;border-top:1px solid var(--linie);margin:40px 0;}

/* ============================================================
   DIGITAL-CHECK (page-landing)
   ============================================================ */
.check-seite{background:var(--papier);min-height:100vh;padding:clamp(20px,5vw,64px) clamp(16px,4vw,32px);}
.check-seite .wrap{max-width:660px;margin:0 auto;}
.check-seite .abbinder-marke{margin:0 0 30px;}
.check-seite .wortmarke{font:400 24px/1 var(--display);letter-spacing:-.01em;color:var(--tinte);text-decoration:none;}
.check-seite .wortmarke::after{content:".";color:var(--korall);}
.vorstellung{display:flex;gap:20px;align-items:flex-start;margin:0 0 26px;}
.portrait{flex:0 0 auto;width:78px;height:78px;border-radius:50%;object-fit:cover;border:3px solid var(--creme);box-shadow:0 3px 0 var(--sand);transform:rotate(-2.5deg);}
.vorstellung .wer{padding-top:5px;} .vorstellung .name{font:600 16.5px/1.3 var(--body);margin:0;} .vorstellung .rolle{font-size:15px;color:var(--gedaempft);margin:2px 0 0;}
.check-seite h1{font:400 clamp(33px,6.2vw,49px)/1.13 var(--display);margin:0 0 18px;letter-spacing:-.015em;}
.check-seite .lede{font-size:19px;color:var(--gedaempft);margin:0 0 14px;max-width:53ch;} .check-seite .lede + .lede{margin-bottom:30px;}
.ki-hinweis{display:flex;gap:14px;align-items:flex-start;background:var(--creme);border-left:4px solid var(--korall);border-radius:0 var(--r-m) var(--r-m) 0;padding:16px 20px;margin:0 0 36px;font-size:15.5px;}
.ki-hinweis strong{display:block;font-weight:700;margin-bottom:3px;} .ki-hinweis p{margin:0;color:var(--gedaempft);} .ki-hinweis span[aria-hidden]{font-size:20px;line-height:1.2;}
.fortschritt{margin:0 0 10px;}
.balken{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 10px;}
.balken li{flex:1;height:5px;border-radius:99px;background:var(--linie);}
.balken li[data-status="erledigt"],.balken li[data-status="aktiv"]{background:var(--korall);}
.balken li[data-status="aktiv"]{box-shadow:0 0 0 3px rgba(220,92,63,.16);}
.schrittzahl{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font:400 15px/1.4 var(--body);color:var(--gedaempft);margin:0 0 22px;}
.schrittzahl b{color:var(--tinte);font-weight:600;}
.karte{background:var(--creme);border:1px solid var(--linie);border-radius:var(--r-l);padding:clamp(22px,5vw,38px);}
.check-seite fieldset{border:0;margin:0;padding:0;min-width:0;} .check-seite legend{padding:0;}
.schritt-titel{font:400 clamp(25px,4.4vw,31px)/1.2 var(--display);margin:0 0 8px;letter-spacing:-.01em;}
.schritt-sub{color:var(--gedaempft);margin:0 0 30px;font-size:16.5px;}
.frage{margin:0 0 30px;border:0;padding:0;} .schritt > .frage:last-child{margin-bottom:0;}
.frage-titel{display:block;font:600 16.5px/1.45 var(--body);margin:0 0 4px;}
.pflicht{color:var(--korall-tief);font-weight:700;}
.hilfe{display:block;font-size:14.5px;color:var(--gedaempft);margin:0 0 12px;} .hilfe em{font-style:italic;}
.mehrfach{float:right;font:400 13.5px/1 var(--body);color:var(--gedaempft);margin-top:4px;}
.check-seite input[type=text],.check-seite input[type=email],.check-seite input[type=url],.check-seite textarea{
  width:100%;font:400 16.5px/1.5 var(--body);color:var(--tinte);background:var(--papier);border:1.5px solid var(--rahmen);border-radius:var(--r-s);padding:13px 15px;}
.check-seite textarea{resize:vertical;min-height:112px;}
.check-seite input::placeholder,.check-seite textarea::placeholder{color:#8A7B72;}
.check-seite input:hover,.check-seite textarea:hover{border-color:var(--tinte);}
.zaehler{display:block;text-align:right;font-size:13.5px;color:var(--gedaempft);margin-top:6px;}
.denk-hilfe{max-height:0;opacity:0;overflow:hidden;transition:max-height .28s ease,opacity .22s ease,margin-top .28s ease;}
.denk-hilfe.sichtbar{max-height:260px;opacity:1;margin-top:10px;}
.denk-hilfe-inner{background:var(--sand);border-left:3px solid var(--honig);border-radius:0 var(--r-s) var(--r-s) 0;padding:12px 14px;font-size:14.5px;line-height:1.55;color:var(--gedaempft);}
.denk-hilfe-inner b{color:var(--tinte);font-weight:600;} .denk-hilfe-inner ul{margin:6px 0 0;padding-left:18px;} .denk-hilfe-inner li{margin-bottom:4px;}
@keyframes nn-hinweis{10%,90%{transform:translateX(-1px);}20%,80%{transform:translateX(2px);}30%,50%,70%{transform:translateX(-3px);}40%,60%{transform:translateX(3px);}}
.nn-hinweis{animation:nn-hinweis .4s ease;}
.ergebnis-hebel{font-size:16px;color:var(--tinte);margin:0 0 14px;} .ergebnis-hebel b{font-weight:700;}
.ergebnis-uebergang{font-size:15px;color:var(--gedaempft);margin:0 auto;max-width:42ch;}
.optionen{display:grid;gap:9px;margin:0;} .optionen.zweispaltig{grid-template-columns:repeat(auto-fit,minmax(215px,1fr));}
.option{display:flex;align-items:center;gap:13px;min-height:52px;padding:11px 16px;cursor:pointer;background:var(--papier);
  border:1.5px solid var(--rahmen);border-radius:var(--r-m);font-size:16px;transition:border-color .12s,background .12s;}
.option:hover{border-color:var(--tinte);}
.option input{appearance:none;-webkit-appearance:none;margin:0;flex:0 0 auto;width:21px;height:21px;border:2px solid var(--rahmen);background:var(--papier);}
.option input[type=radio]{border-radius:50%;} .option input[type=checkbox]{border-radius:5px;}
.option input:checked{border-color:var(--korall-tief);background:var(--korall-tief);}
.option input[type=radio]:checked{box-shadow:inset 0 0 0 4px var(--papier);}
.option input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3.2L13 5' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:15px;background-position:center;background-repeat:no-repeat;}
.option:has(input:checked){border-color:var(--korall-tief);box-shadow:inset 0 0 0 1px var(--korall-tief);}
.aha .frage-titel{font:400 21px/1.32 var(--display);} .aha .option{background:var(--papier);}
.zustimmung.gross{border:1.5px solid var(--rahmen);border-radius:var(--r-m);background:var(--papier);padding:16px;margin:0 0 12px;font-size:15.5px;line-height:1.55;}
.optional-tag{display:inline-block;font:400 13.5px/1 var(--body);color:var(--gedaempft);margin-left:5px;font-style:italic;}
details.datenschutz{border:1px solid var(--linie);border-radius:var(--r-m);background:var(--papier);padding:0;margin:0 0 24px;font-size:15px;}
details.datenschutz summary{cursor:pointer;padding:15px 18px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;}
details.datenschutz summary::-webkit-details-marker{display:none;}
details.datenschutz summary::after{content:"＋";color:var(--korall-tief);font-weight:700;} details.datenschutz[open] summary::after{content:"−";}
details.datenschutz .inhalt{padding:0 18px 18px;color:var(--gedaempft);} details.datenschutz ul{margin:10px 0 0;padding-left:20px;} details.datenschutz li{margin-bottom:7px;}
.aktionen{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:34px;}
.check-seite button{font:600 17px/1 var(--body);cursor:pointer;border-radius:99px;padding:16px 28px;min-height:52px;border:1.5px solid transparent;}
.check-seite .weiter{background:var(--korall-tief);color:#fff;border-color:var(--korall-tief);}
.check-seite .weiter:hover{background:var(--korall-hover);border-color:var(--korall-hover);}
.check-seite .zurueck{background:transparent;color:var(--tinte);border-color:var(--rahmen);}
.check-seite .zurueck:hover{border-color:var(--tinte);background:var(--sand);}
.absenden{flex:1;min-width:270px;} .check-seite button[aria-disabled="true"]{opacity:.55;cursor:progress;}
.fehler-box{border:1px solid var(--linie);border-left:4px solid var(--fehler);
  border-radius:0 var(--r-m) var(--r-m) 0;background:var(--papier);
  padding:18px 20px;margin:0 0 26px;}
.fehler-box .fehler-kopf{display:flex;align-items:center;gap:10px;margin:0 0 10px;}
.fehler-box .fehler-zeichen{width:26px;height:26px;border-radius:50%;flex:0 0 auto;
  background:var(--fehler);color:#fff;display:flex;align-items:center;justify-content:center;
  font:700 15px/1 var(--body);}
.fehler-box h3,.fehler-box .fehler-titel{font:600 16px/1.3 var(--body);margin:0;color:var(--tinte);}
.fehler-box ul{margin:0;padding:0;list-style:none;}
.fehler-box li{margin:0 0 6px;padding-left:16px;position:relative;font-size:15px;line-height:1.5;}
.fehler-box li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;
  border-radius:50%;background:var(--fehler);}
.fehler-box li:last-child{margin-bottom:0;}
.fehler-box a{color:var(--gedaempft);font-weight:400;text-decoration:none;
  border-bottom:1px solid var(--linie);}
.fehler-box a:hover{color:var(--tinte);border-color:var(--rahmen);}

.feld-fehler{display:flex;gap:8px;align-items:flex-start;color:var(--fehler);
  font-size:14.5px;font-weight:500;line-height:1.45;margin-top:8px;}
.feld-fehler::before{content:"";flex:0 0 auto;width:16px;height:16px;margin-top:1px;
  border-radius:50%;background:var(--fehler);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3.2a8.8 8.8 0 1 0 0 17.6 8.8 8.8 0 0 0 0-17.6zm0 4.1v5.6' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='16.4' r='1.25'/%3E%3C/svg%3E") center/16px no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3.2a8.8 8.8 0 1 0 0 17.6 8.8 8.8 0 0 0 0-17.6zm0 4.1v5.6' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='16.4' r='1.25'/%3E%3C/svg%3E") center/16px no-repeat;}
[aria-invalid="true"]{border-color:var(--fehler)!important;border-width:1.5px;}
[aria-invalid="true"]:focus-visible{outline-color:var(--fehler);}
.option:has([aria-invalid="true"]){border-color:var(--fehler);}
.check-seite :focus-visible{outline:3px solid var(--korall-tief);outline-offset:2px;border-radius:4px;}
.option:has(input:focus-visible){outline:3px solid var(--korall-tief);outline-offset:2px;}
.abbinder{display:block;margin:28px 0 0;padding:0 4px;font-size:15.5px;color:var(--gedaempft);}
.abbinder p{margin:0;} .abbinder .signatur{font:400 21px/1.2 var(--display);font-style:italic;color:var(--tinte);display:block;margin-top:5px;}
.kleingedrucktes{font-size:14px;color:var(--gedaempft);text-align:center;margin:22px 0 0;} .kleingedrucktes a{color:var(--korall-tief);}
.erfolg{text-align:center;padding:34px 10px;} .erfolg h2{font:400 30px/1.2 var(--display);margin:0 0 12px;}
.erfolg p{color:var(--gedaempft);margin:0 auto 14px;max-width:46ch;} .erfolg .signatur{font:400 22px/1.2 var(--display);font-style:italic;color:var(--tinte);}
.versteckt{display:none;}
@media (max-width:520px){ .aktionen button{width:100%;} .mehrfach{float:none;display:block;margin:0 0 10px;} .vorstellung{gap:14px;} }

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
  html{scroll-behavior:auto;}
  .zeigt{opacity:1;transform:none;}
  .kaertchen,.mitglied-badge{animation:none;}
  .band-spur{animation:none;width:100%;flex-wrap:wrap;justify-content:center;}
  .band-gruppe:nth-child(2){display:none;}
  .band-gruppe{flex-wrap:wrap;justify-content:center;} .band-gruppe span{padding:6px 20px;}
  .schritt .punkte i.an{background:var(--korall);}
  .portrait,.autor .signet{transform:none;}
}

/* ---------- Kontaktformular: Status ---------- */
.fehler-box:focus-visible{outline:3px solid var(--korall);outline-offset:3px;}

.form-status{margin:18px 0 0;font-size:15.5px;line-height:1.55;}
.form-status:empty{margin:0;}
.form-status.fehler{display:flex;gap:10px;align-items:flex-start;
  color:var(--fehler);font-weight:500;
  border-left:3px solid var(--fehler);padding-left:14px;}

.nn-kontakt button[disabled]{opacity:.55;cursor:default;}
.nn-kontakt button[disabled]:hover{background:var(--korall-tief);border-color:var(--korall-tief);}

/* Erfolg: ersetzt das Formular durch eine ruhige Bestätigung */
.danke{text-align:center;padding:14px 8px 6px;}
.danke .haken{width:64px;height:64px;margin:0 auto 20px;border-radius:50%;
  background:var(--papier);border:1.5px solid var(--korall);
  display:flex;align-items:center;justify-content:center;}
.danke .haken svg{width:30px;height:30px;stroke:var(--korall-tief);}
.danke h3{font:400 26px/1.25 var(--display);margin:0 0 10px;color:var(--tinte);}
.danke p{margin:0 auto;max-width:42ch;color:var(--tinte);font-size:16.5px;line-height:1.6;}
.danke .klein{margin-top:14px;font-size:15px;color:var(--gedaempft);}
