/* ==========================================================================
   nikinemeth — custom.css
   Design-Token-Bridge + Deko-/Interaktions-CSS, die theme.json nicht abbilden
   kann (Animationen, Verläufe, Chips, Masonry, der Digital-Check-Wizard).
   ========================================================================== */

:root{
  --c-base:#F2EADD;
  --c-surface:#FBF5EA;
  --c-papier:#FFFFFF;
  --c-sand:#EFE6D8;
  --c-ink:#2A211A;
  --c-ink-soft:#6B5D50;
  --c-ink-faint:#8A7C6E;
  --c-border:#E4DACA;

  --c-coral:#E56A47;
  --c-coral-strong:#D75E3C;
  --c-honey:#EBB570;
  --c-honey-soft:#F3D6AC;

  --c-dark-bg:#2A211A;
  --c-dark-bg-2:#3A2D22;
  --c-dark-ink:#FBF5EA;
  --c-dark-soft:#B9A895;

  --c-on-coral:#FDF8F0;
  --c-on-coral-soft:#FBE3D6;
  --c-on-coral-em:#FFE7C4;

  --c-error:#A32B18;

  --font-display:'Newsreader', Georgia, serif;
  --font-body:'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --shadow-soft: 0 18px 40px -28px rgba(80,50,30,.45);
  --shadow-lift: 0 26px 52px -26px rgba(80,50,30,.5);
  --shadow-cta:  0 10px 24px -12px rgba(215,94,60,.65);

  --maxw: 1080px;
  --maxw-wide: 1160px;
}

@keyframes nn-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes nn-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}
@keyframes nn-float-2{0%,100%{transform:translateY(0)}50%{transform:translateY(9px)}}
@keyframes nn-bubble{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(0,-16px) scale(1.06)}}
@keyframes nn-reveal-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes nn-hinweis{
  10%,90%{transform:translateX(-1px);} 20%,80%{transform:translateX(2px);}
  30%,50%,70%{transform:translateX(-3px);} 40%,60%{transform:translateX(3px);}}
@keyframes nn-erscheinen{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

/* ==========================================================================
   Homepage — .nn-home
   ========================================================================== */

.nn-home{ overflow-x:hidden; }
.nn-home h1, .nn-home h2 { text-wrap:balance; }
.nn-home p, .nn-home blockquote { text-wrap:pretty; }
.nn-home em { font-style:italic; color:var(--c-coral-strong); }

.nn-wrap{ max-width:var(--maxw); margin:0 auto; padding-left:24px; padding-right:24px; box-sizing:border-box; }
@media (max-width:600px){ .nn-wrap{ padding-left:16px; padding-right:16px; } }

/* header / nav */
.nn-wordmark{ font-family:var(--font-display); font-weight:500; font-size:23px; letter-spacing:-.01em; text-transform:lowercase; color:var(--c-ink); text-decoration:none; }
.nn-wordmark span{ color:var(--c-coral-strong); }
.nn-kopf-nav{ gap:28px; }
.nn-nav-link{ margin:0; font-weight:500; }
.nn-nav-link a{ color:var(--c-ink); text-decoration:none; }
.nn-btn-sm .wp-block-button__link{ padding:10px 18px !important; font-size:13.5px !important; }
@media (max-width:760px){ .nn-nav-link{ display:none; } }
@media (max-width:540px){ .nn-kopf-cta{ display:none !important; } }

/* buttons */
.nn-btn{ font-family:var(--font-body); font-weight:500; font-size:16px; padding:15px 28px; border-radius:999px; border:1px solid transparent; text-decoration:none; display:inline-flex; align-items:center; gap:8px; cursor:pointer; transition:transform .12s ease,background .15s ease,box-shadow .15s ease; line-height:1.25; }
.nn-btn--primary{ background:var(--c-coral-strong); color:var(--c-on-coral); box-shadow:var(--shadow-cta); }
.nn-btn--primary:hover{ background:var(--c-coral); transform:translateY(-1px); color:var(--c-on-coral); }
.nn-btn--lg{ font-size:17px; padding:17px 34px; }
.is-style-nn-ghost .wp-block-button__link{ background:transparent !important; border:1px solid var(--c-border) !important; color:var(--c-ink) !important; box-shadow:none !important; }
.is-style-nn-ghost .wp-block-button__link:hover{ border-color:var(--c-ink-soft) !important; background:var(--c-surface) !important; }

.nn-eyebrow{ font-family:var(--font-body); font-size:12px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--c-coral-strong); display:flex; align-items:center; gap:8px; margin:0; }
.nn-eyebrow::before{ content:""; width:20px; height:1px; background:var(--c-coral-strong); flex:0 0 auto; }

.nn-link-pfeil{ font-size:15px; font-weight:600; color:var(--c-coral-strong); text-decoration:none; }
.nn-link-pfeil:hover{ color:var(--c-coral); }

/* pill / trust */
.nn-pill{ display:inline-flex; align-items:center; gap:8px; font-size:12.5px; font-weight:500; background:var(--c-surface); border:1px solid var(--c-border); color:var(--c-ink-soft); padding:7px 14px; border-radius:999px; margin-bottom:22px; }
.nn-pill-dot{ width:7px; height:7px; border-radius:50%; background:var(--c-coral-strong); display:inline-block; }
.nn-trust{ display:flex; gap:18px; flex-wrap:wrap; font-size:13px; color:var(--c-ink-soft); margin-top:26px; }
.nn-trust span{ display:inline-flex; align-items:center; gap:7px; }
.nn-trust span::before{ content:"✓"; color:var(--c-coral-strong); font-weight:700; }

/* hero */
.nn-hero-grid{ gap:60px; }
.nn-hero-foto{ position:relative; width:min(400px,100%); margin:0 auto; }
.nn-hero-blob{ position:absolute; inset:-5% -7% -8% -5%; background:var(--c-honey); opacity:.42; border-radius:62% 38% 55% 45% / 55% 50% 50% 45%; }
.nn-hero-img{ position:relative; width:100%; height:auto; border-radius:26px; display:block; box-shadow:var(--shadow-lift); }
.nn-bubble{ position:absolute; border-radius:50%; pointer-events:none; }
.nn-chip{ position:absolute; display:flex; align-items:center; gap:9px; background:#fff; border:1px solid var(--c-border); border-radius:14px; padding:10px 14px; box-shadow:0 14px 30px -18px rgba(80,50,30,.6); font-size:13px; z-index:3; }
.nn-chip-pkt{ width:26px; height:26px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:13px; flex:0 0 auto; }
.nn-chip b{ display:block; font-weight:600; color:var(--c-ink); font-size:13.5px; line-height:1.2; }
.nn-chip-sub{ color:var(--c-ink-faint); font-size:12px; }
@media (max-width:860px){
  .nn-hero-grid{ flex-direction:column; }
  .nn-hero-grid .wp-block-column{ flex-basis:100% !important; }
  .nn-hero-foto{ order:-1; margin:0 auto 8px; }
}

/* marquee */
.nn-marquee-band{ background:var(--c-ink); overflow:hidden; padding:16px 0; margin-top:56px; }
.nn-marquee-track{ display:flex; width:max-content; animation:nn-scroll 34s linear infinite; }
.nn-marquee-item{ color:var(--c-honey-soft); font-family:var(--font-display); font-style:italic; font-size:16px; white-space:nowrap; padding:0 22px; }
.nn-marquee-dot{ color:rgba(255,255,255,.3); margin-left:22px; }

/* pains */
.nn-pain-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.nn-card{ background:var(--c-surface); border:1px solid var(--c-border); border-radius:18px; padding:26px 24px; }
.nn-pain-num{ font-family:var(--font-display); font-style:italic; font-size:15px; color:var(--c-coral-strong); margin-bottom:10px; }
.nn-pain-titel{ font-weight:600; font-size:17px; margin-bottom:7px; }
.nn-pain-text{ margin:0; font-size:15px; line-height:1.55; color:var(--c-ink-soft); }
@media (max-width:860px){ .nn-pain-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:540px){ .nn-pain-grid{ grid-template-columns:1fr; } }

.nn-lift{ transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.nn-lift:hover{ transform:translateY(-4px); box-shadow:var(--shadow-soft); border-color:var(--c-honey); }

/* pivot */
.nn-pivot{ border-radius:32px; padding:clamp(56px,8vw,90px) clamp(28px,5vw,56px); text-align:center; position:relative; overflow:hidden; margin:8px 0; background:linear-gradient(155deg,#4a3626,#241a12); }
.nn-pivot-headline{ font-family:var(--font-display); font-weight:500; font-size:clamp(26px,3.6vw,40px); line-height:1.28; color:var(--c-surface); max-width:22ch; margin:0 auto; }
.nn-pivot-headline em{ color:var(--c-honey); font-style:italic; }
.nn-pivot-sub{ font-size:15.5px; color:#D9CDBE; max-width:50ch; margin:18px auto 0; line-height:1.6; }

/* offers / schritte shared grid */
.nn-schritte-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.nn-schritte-grid--stretch{ align-items:stretch; }
.nn-schritte-grid--stretch .nn-offer-card{ display:flex; flex-direction:column; height:100%; }
.nn-schritte-grid--stretch .nn-offer-text{ flex:1; }
.nn-offer-card{ background:var(--c-surface); border:1px solid var(--c-border); border-radius:20px; padding:30px 26px; }
.nn-offer-card--featured{ background:#FFF8F4; border:1.5px solid var(--c-coral-strong); }
.nn-offer-tag{ display:inline-flex; align-self:flex-start; font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--c-ink-soft); background:var(--c-base); padding:6px 11px; border-radius:999px; margin-bottom:16px; }
.nn-offer-tag--featured{ color:var(--c-ink); background:var(--c-honey); }
.nn-offer-titel{ font-family:var(--font-display); font-weight:500; font-size:23px; line-height:1.2; margin-bottom:8px; }
.nn-offer-text{ margin:0 0 16px; font-size:15px; line-height:1.6; color:var(--c-ink-soft); }
.nn-offer-preis{ font-size:13.5px; font-weight:600; color:var(--c-ink); margin-bottom:16px; }
@media (max-width:860px){ .nn-schritte-grid{ grid-template-columns:1fr; } }

.nn-schritt-num{ font-family:var(--font-display); font-weight:500; font-style:italic; font-size:34px; color:var(--c-honey); line-height:1; }
.nn-schritt-titel{ font-weight:600; font-size:18px; margin:16px 0 8px; }
.nn-schritt-text{ margin:0; font-size:15px; line-height:1.6; color:var(--c-ink-soft); }

.nn-bereiche-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:24px; }
.nn-bereich{ background:var(--c-base); border:1px dashed var(--c-border); border-radius:14px; padding:16px; }
.nn-bereich-titel{ font-weight:600; font-size:15px; margin-bottom:3px; }
.nn-bereich-text{ font-size:13px; color:var(--c-ink-faint); line-height:1.45; }
@media (max-width:760px){ .nn-bereiche-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .nn-bereiche-grid{ grid-template-columns:1fr; } }

.nn-center-cta{ text-align:center; margin-top:40px; }
.nn-center-caption{ margin:16px auto 0; font-size:14px; color:var(--c-ink-faint); }

/* blog */
.nn-blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.nn-blog-card{ display:block; background:var(--c-surface); border:1px solid var(--c-border); border-radius:18px; overflow:hidden; text-decoration:none; color:inherit; }
.nn-blog-strip{ height:8px; background:linear-gradient(90deg,var(--c-coral),var(--c-honey)); }
.nn-blog-body{ padding:26px 24px; }
.nn-blog-kategorie{ font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--c-coral-strong); margin-bottom:12px; }
.nn-blog-titel{ font-family:var(--font-display); font-weight:500; font-size:20px; line-height:1.25; color:var(--c-ink); margin-bottom:10px; }
.nn-blog-text{ margin:0 0 16px; font-size:15px; line-height:1.6; color:var(--c-ink-soft); }
@media (max-width:860px){ .nn-blog-grid{ grid-template-columns:1fr; } }

/* newsletter */
.nn-newsletter-split{ background:var(--c-surface); border:1px solid var(--c-border); border-radius:28px; overflow:hidden; display:grid; grid-template-columns:1.05fr .95fr; }
.nn-newsletter-form-col{ padding:clamp(30px,4vw,52px); }
.nn-newsletter-quote-col{ background:linear-gradient(160deg,#f6ecdb,#efe0c7); padding:clamp(30px,4vw,52px); display:flex; flex-direction:column; justify-content:center; gap:18px; }
.nn-newsletter-h2{ margin:16px 0 0; font-family:var(--font-display); font-weight:500; font-size:clamp(25px,3.2vw,33px); line-height:1.18; max-width:20ch; }
.nn-newsletter-lede{ margin:16px 0 0; color:var(--c-ink-soft); line-height:1.65; max-width:48ch; }
.nn-newsletter-form{ margin-top:26px; }
.nn-nl-zeile{ display:flex; gap:10px; }
.nn-nl-feld{ font-family:var(--font-body); font-size:16px; color:var(--c-ink); background:#fff; border:1.5px solid var(--c-ink-faint); border-radius:12px; padding:14px 15px; }
input.nn-nl-feld[type="text"]{ flex:0 0 34%; }
input.nn-nl-feld[type="email"]{ flex:1; min-width:0; }
@media (max-width:540px){ .nn-nl-zeile{ flex-direction:column; } input.nn-nl-feld[type="text"]{ flex:1; } }
.nn-nl-fehler{ color:var(--c-error); font-size:14px; font-weight:600; margin:8px 0 0; }
.nn-nl-consent-label{ display:flex; gap:11px; align-items:flex-start; margin-top:14px; font-size:14.5px; line-height:1.5; color:var(--c-ink-soft); cursor:pointer; }
.nn-nl-consent-label input{ margin-top:2px; flex:0 0 auto; width:19px; height:19px; accent-color:var(--c-coral-strong); }
.nn-newsletter-submit{ margin-top:18px; width:100%; justify-content:center; border:none; }
.nn-nl-erfolg{ margin-top:26px; background:var(--c-base); border:1px solid var(--c-border); border-radius:16px; padding:22px; }
.nn-nl-erfolg-titel{ font-family:var(--font-display); font-weight:500; font-size:21px; margin-bottom:6px; }
.nn-quote{ font-family:var(--font-display); font-style:italic; font-size:19px; line-height:1.5; color:var(--c-ink); }
.nn-quote-person{ display:flex; align-items:center; gap:12px; }
.nn-quote-avatar{ width:46px; height:46px; border-radius:50%; object-fit:cover; object-position:56% 22%; border:2px solid #fff; }
.nn-quote-name{ font-weight:600; font-size:15px; }
.nn-quote-role{ font-size:13.5px; color:var(--c-ink-soft); }
@media (max-width:860px){ .nn-newsletter-split{ grid-template-columns:1fr; } }
.nn-nl-feld:focus-visible, a:focus-visible, button:focus-visible{ outline:3px solid var(--c-coral-strong); outline-offset:2px; border-radius:6px; }
.nn-nl-feld[aria-invalid="true"]{ border-color:var(--c-error) !important; }

/* testimonials */
.nn-stimmen-masonry{ columns:3 300px; column-gap:22px; }
.nn-stimme{ break-inside:avoid; margin:0 0 22px; background:var(--c-surface); border:1px solid var(--c-border); border-radius:18px; padding:26px 24px; }
.nn-stimme-sterne{ color:var(--c-coral-strong); font-size:15px; letter-spacing:3px; margin-bottom:14px; }
.nn-stimme-text{ margin:0 0 20px; font-size:15.5px; line-height:1.62; color:var(--c-ink); }
.nn-stimme-caption{ display:flex; align-items:center; gap:12px; }
.nn-stimme-initiale{ flex:0 0 auto; width:42px; height:42px; border-radius:50%; background:var(--c-honey); color:var(--c-ink); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:500; font-size:16px; }
.nn-stimme-rolle{ font-size:13.5px; color:var(--c-ink-soft); display:block; }

/* über mich */
.nn-ueber-grid{ gap:64px; }
.nn-ueber-foto{ position:relative; width:min(340px,100%); margin:0 auto; }
.nn-ueber-blob{ position:absolute; inset:-7% -9% -9% -7%; background:var(--c-honey); opacity:.45; border-radius:45% 55% 42% 58% / 55% 45% 55% 45%; }
.nn-ueber-img{ position:relative; width:100%; height:auto; border-radius:24px; box-shadow:var(--shadow-lift); display:block; }
.nn-mitglied-badge{ position:absolute; right:10px; bottom:12px; z-index:3; display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--c-border); border-radius:12px; padding:9px 13px; box-shadow:0 12px 26px -16px rgba(80,50,30,.6); }
.nn-mitglied-badge img{ display:block; width:86px; height:auto; }
.nn-mitglied-divider{ width:1px; height:18px; background:var(--c-border); }
.nn-mitglied-label{ font-size:10.5px; font-weight:600; letter-spacing:.14em; color:var(--c-ink-soft); }
.nn-chips-row{ display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 0; }
.nn-chip-pill{ background:var(--c-surface); border:1px solid var(--c-border); border-radius:999px; padding:9px 16px; font-size:13.5px; color:var(--c-ink-soft); }
.nn-chip-pill b{ color:var(--c-ink); font-weight:600; }
@media (max-width:860px){ .nn-ueber-grid{ flex-direction:column; } .nn-ueber-grid .wp-block-column{ flex-basis:100% !important; } }

/* scroll reveal */
.nn-reveal{ opacity:0; }
.nn-reveal.is-visible{ animation:nn-reveal-in .6s cubic-bezier(.2,.7,.3,1) forwards; }

@media (prefers-reduced-motion:reduce){
  .nn-marquee-track{ animation:none !important; }
  .nn-bubble, .nn-chip{ animation:none !important; }
  .nn-reveal{ opacity:1 !important; animation:none !important; }
  .nn-lift:hover{ transform:none; }
}

/* ==========================================================================
   Digital-Check Widget — .nn-audit
   (Markup/Verhalten 1:1 aus dem Design-Handoff übernommen)
   ========================================================================== */

.nn-audit{
  --papier:var(--c-papier);
  --creme:var(--c-surface);
  --sand:var(--c-sand);
  --tinte:var(--c-ink);
  --gedaempft:var(--c-ink-soft);
  --korall:var(--c-coral-strong);
  --korall-tief:var(--c-coral-strong);
  --korall-hover:var(--c-coral);
  --honig:var(--c-honey);
  --rahmen:var(--c-ink-faint);
  --linie:var(--c-border);
  --fehler:var(--c-error);
  --display:var(--font-display);
  --body:var(--font-body);
  --r-s:12px; --r-m:18px; --r-l:24px;

  background:var(--c-base); color:var(--tinte);
  font:400 17px/1.65 var(--body);
  display:block;
}
.nn-audit *{ box-sizing:border-box; }
.nn-audit .nn-wrap{ max-width:660px; width:100%; margin:0 auto;
  padding:clamp(24px,5vw,64px) clamp(16px,4vw,32px); }

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

.nn-audit .abbinder-marke{ margin:0 0 30px; }
.nn-audit .wortmarke{ font:500 24px/1 var(--display); letter-spacing:-.01em; color:var(--tinte);
  text-decoration:none; text-transform:lowercase; }
.nn-audit .wortmarke::after{ content:"."; color:var(--korall); }

.nn-audit .vorstellung{ display:flex; gap:20px; align-items:flex-start; margin:0 0 26px; }
.nn-audit .portrait{ flex:0 0 auto; width:78px; height:78px; border-radius:50%; object-fit:cover;
  object-position:58% 24%; border:3px solid var(--creme); box-shadow:0 3px 0 var(--sand); transform:rotate(-2.5deg); }
.nn-audit .vorstellung .wer{ padding-top:5px; }
.nn-audit .vorstellung .name{ font:600 16.5px/1.3 var(--body); margin:0; }
.nn-audit .vorstellung .rolle{ font-size:15px; color:var(--gedaempft); margin:2px 0 0; }

.nn-audit h1{ font:500 clamp(33px,6.2vw,49px)/1.13 var(--display); margin:0 0 18px; letter-spacing:-.015em; color:var(--tinte); }
.nn-audit h1 em{ font-style:italic; color:var(--korall); }
.nn-audit .lede{ font-size:19px; color:var(--gedaempft); margin:0 0 14px; max-width:53ch; }
.nn-audit .lede + .lede{ margin-bottom:30px; }

.nn-audit .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; }
.nn-audit .ki-hinweis strong{ display:block; font-weight:700; margin-bottom:3px; color:var(--tinte); }
.nn-audit .ki-hinweis p{ margin:0; color:var(--gedaempft); }
.nn-audit .ki-hinweis span[aria-hidden]{ font-size:20px; line-height:1.2; color:var(--korall); }

.nn-audit .fortschritt{ margin:0 0 10px; }
.nn-audit .balken{ display:flex; gap:6px; list-style:none; padding:0; margin:0 0 10px; }
.nn-audit .balken li{ flex:1; height:6px; border-radius:99px; background:var(--linie); transition:background .3s ease,box-shadow .3s ease; }
.nn-audit .balken li[data-status="erledigt"],
.nn-audit .balken li[data-status="aktiv"]{ background:var(--korall); }
.nn-audit .balken li[data-status="aktiv"]{ box-shadow:0 0 0 3px rgba(215,94,60,.16); }
.nn-audit .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; }
.nn-audit .schrittzahl b{ color:var(--tinte); font-weight:600; }

.nn-audit .karte{ background:var(--creme); border:1px solid var(--linie); border-radius:var(--r-l);
  padding:clamp(22px,5vw,38px); box-shadow:var(--shadow-soft); }
.nn-audit fieldset{ border:0; margin:0; padding:0; min-width:0; }
.nn-audit legend{ padding:0; }
.nn-audit .schritt-titel{ font:500 clamp(25px,4.4vw,31px)/1.2 var(--display); margin:0 0 8px; letter-spacing:-.01em; color:var(--tinte); }
.nn-audit .schritt-sub{ color:var(--gedaempft); margin:0 0 30px; font-size:16.5px; }

.nn-audit .frage{ margin:0 0 30px; border:0; padding:0; }
.nn-audit .schritt > .frage:last-child{ margin-bottom:0; }
.nn-audit .frage-titel{ display:block; font:600 16.5px/1.45 var(--body); margin:0 0 4px; color:var(--tinte); }
.nn-audit .pflicht{ color:var(--korall-tief); font-weight:700; }
.nn-audit .hilfe{ display:block; font-size:14.5px; color:var(--gedaempft); margin:0 0 12px; }
.nn-audit .hilfe em{ font-style:italic; }
.nn-audit .mehrfach{ float:right; font:400 13.5px/1 var(--body); color:var(--gedaempft); margin-top:4px; }

.nn-audit input[type=text], .nn-audit input[type=email], .nn-audit input[type=url], .nn-audit 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; }
.nn-audit textarea{ resize:vertical; min-height:112px; }
.nn-audit input::placeholder, .nn-audit textarea::placeholder{ color:#9B8B80; }
.nn-audit input:hover, .nn-audit textarea:hover{ border-color:var(--tinte); }
.nn-audit .zaehler{ display:block; text-align:right; font-size:13.5px; color:var(--gedaempft); margin-top:6px; }

.nn-audit .denk-hilfe{ max-height:0; opacity:0; overflow:hidden;
  transition:max-height .28s ease,opacity .22s ease,margin-top .28s ease; }
.nn-audit .denk-hilfe.sichtbar{ max-height:320px; opacity:1; margin-top:10px; }
.nn-audit .hilfe-schalter{ display:inline-flex; align-items:center; gap:6px; margin:9px 0 0;
  background:none; border:0; padding:0; min-height:0; cursor:pointer;
  font:600 14.5px/1.3 var(--body); color:var(--korall-tief); text-align:left; box-shadow:none; border-radius:4px; }
.nn-audit .hilfe-schalter:hover{ color:var(--korall-hover); text-decoration:underline; transform:none; }
.nn-audit .hilfe-schalter .pfeil{ transition:transform .25s ease; font-size:12px; display:inline-block; }
.nn-audit .hilfe-schalter[aria-expanded="true"] .pfeil{ transform:rotate(90deg); }
.nn-audit .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); }
.nn-audit .denk-hilfe-inner b{ color:var(--tinte); font-weight:600; }
.nn-audit .denk-hilfe-inner ul{ margin:6px 0 0; padding-left:18px; }
.nn-audit .denk-hilfe-inner li{ margin-bottom:4px; }

.nn-audit .nn-hinweis{ animation:nn-hinweis .4s ease; }
.nn-audit .nn-erscheint{ animation:nn-erscheinen .45s ease; }

.nn-audit .ergebnis-karte{ background:var(--sand); border:1.5px solid var(--korall); border-radius:var(--r-l);
  padding:30px 26px; margin:0 0 22px; text-align:center; }
.nn-audit .ergebnis-eyebrow{ font:600 12.5px/1 var(--body); letter-spacing:.12em; text-transform:uppercase;
  color:var(--korall-tief); margin:0 0 12px; }
.nn-audit .ergebnis-zahl{ font:500 60px/1 var(--display); color:var(--tinte); margin:0 0 6px; }
.nn-audit .ergebnis-zahl .ergebnis-von100{ font:400 22px/1 var(--body); color:var(--gedaempft); margin-left:2px; }
.nn-audit .ergebnis-band{ font:700 19px/1.3 var(--body); color:var(--korall-tief); margin:0 0 16px; }
.nn-audit .ergebnis-hebel{ font-size:16px; color:var(--tinte); margin:0 0 14px; }
.nn-audit .ergebnis-hebel b{ font-weight:700; }
.nn-audit .ergebnis-uebergang{ font-size:15px; color:var(--gedaempft); margin:0 auto; max-width:42ch; }

.nn-audit .optionen{ display:grid; gap:9px; margin:0; }
.nn-audit .optionen.zweispaltig{ grid-template-columns:repeat(auto-fit,minmax(215px,1fr)); }
.nn-audit .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,box-shadow .12s; }
.nn-audit .option:hover{ border-color:var(--tinte); }
.nn-audit .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); }
.nn-audit .option input[type=radio]{ border-radius:50%; }
.nn-audit .option input[type=checkbox]{ border-radius:5px; }
.nn-audit .option input:checked{ border-color:var(--korall-tief); background:var(--korall-tief); }
.nn-audit .option input[type=radio]:checked{ box-shadow:inset 0 0 0 4px var(--papier); }
.nn-audit .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; }
.nn-audit .option:has(input:checked){ border-color:var(--korall-tief); box-shadow:inset 0 0 0 1px var(--korall-tief); background:#FFF8F4; }

.nn-audit .zwischenruf{ display:flex; gap:12px; align-items:flex-start;
  font:400 15.5px/1.55 var(--body); color:var(--gedaempft);
  background:var(--papier); border:1px dashed var(--linie); border-radius:var(--r-m); padding:14px 16px; margin:0 0 30px; }
.nn-audit .zwischenruf b{ color:var(--tinte); font-weight:600; }
.nn-audit .zwischenruf span[aria-hidden]{ color:var(--korall); font-size:19px; line-height:1; }

.nn-audit .aha{ background:var(--sand); border:1.5px solid var(--korall); border-radius:var(--r-l); padding:24px 22px; margin:0 0 30px; }
.nn-audit .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; }
.nn-audit .aha .frage-titel{ font:500 21px/1.32 var(--display); }
.nn-audit .aha .option{ background:var(--papier); }

.nn-audit .zustimmung{ display:flex; gap:13px; align-items:flex-start;
  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; cursor:pointer; }
.nn-audit .zustimmung input{ appearance:none; -webkit-appearance:none; margin:2px 0 0; flex:0 0 auto;
  width:21px; height:21px; border:2px solid var(--rahmen); border-radius:5px; background:var(--papier); }
.nn-audit .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; }
.nn-audit .optional-tag{ display:inline-block; font:400 13.5px/1 var(--body); color:var(--gedaempft); margin-left:5px; font-style:italic; }

.nn-audit details.datenschutz{ border:1px solid var(--linie); border-radius:var(--r-m); background:var(--papier); padding:0; margin:0 0 24px; font-size:15px; }
.nn-audit 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; color:var(--tinte); }
.nn-audit details.datenschutz summary::-webkit-details-marker{ display:none; }
.nn-audit details.datenschutz summary::after{ content:"+"; color:var(--korall-tief); font-weight:700; font-size:20px; }
.nn-audit details.datenschutz[open] summary::after{ content:"\2212"; }
.nn-audit details.datenschutz .inhalt{ padding:0 18px 18px; color:var(--gedaempft); }
.nn-audit details.datenschutz ul{ margin:10px 0 0; padding-left:20px; }
.nn-audit details.datenschutz li{ margin-bottom:7px; }
.nn-audit details.datenschutz a{ color:var(--korall-tief); }

.nn-audit .trust-zeile{ display:flex; flex-wrap:wrap; gap:10px 20px; margin:0 0 6px; font-size:14px; color:var(--gedaempft); }
.nn-audit .trust-zeile span{ display:inline-flex; align-items:center; gap:7px; }
.nn-audit .trust-zeile span::before{ content:"\2713"; color:var(--korall-tief); font-weight:700; }

.nn-audit .aktionen{ display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; margin-top:34px; }
.nn-audit button{ font:600 17px/1 var(--body); cursor:pointer; border-radius:99px; padding:16px 28px; min-height:52px; border:1.5px solid transparent;
  transition:background .15s ease,border-color .15s ease,transform .12s ease; }
.nn-audit .weiter{ background:var(--korall-tief); color:var(--c-on-coral); border-color:var(--korall-tief); box-shadow:var(--shadow-cta); }
.nn-audit .weiter:hover{ background:var(--korall-hover); border-color:var(--korall-hover); transform:translateY(-1px); }
.nn-audit .zurueck{ background:transparent; color:var(--tinte); border-color:var(--rahmen); box-shadow:none; }
.nn-audit .zurueck:hover{ border-color:var(--tinte); background:var(--sand); transform:none; }
.nn-audit .absenden{ flex:1; min-width:270px; }
.nn-audit button[aria-disabled="true"]{ opacity:.55; cursor:progress; }

.nn-audit .fehler-box{ border:2px solid var(--fehler); border-radius:var(--r-m); background:#FDF1EE; padding:16px 18px; margin:0 0 26px; }
.nn-audit .fehler-box h3{ font:700 16px/1.3 var(--body); margin:0 0 8px; color:var(--fehler); }
.nn-audit .fehler-box ul{ margin:0; padding-left:20px; }
.nn-audit .fehler-box a{ color:var(--fehler); font-weight:600; }
.nn-audit .feld-fehler{ display:flex; gap:7px; align-items:flex-start; color:var(--fehler); font-size:14.5px; font-weight:600; margin-top:7px; }
.nn-audit [aria-invalid="true"]{ border-color:var(--fehler) !important; border-width:2px; }
.nn-audit .option:has([aria-invalid="true"]){ border-color:var(--fehler); }

.nn-audit :focus-visible{ outline:3px solid var(--korall-tief); outline-offset:2px; border-radius:4px; }
.nn-audit .schritt-titel:focus, .nn-audit .ergebnis-karte:focus, .nn-audit .erfolg:focus, .nn-audit .fehler-box:focus{ outline:none; }
.nn-audit .option:has(input:focus-visible){ outline:3px solid var(--korall-tief); outline-offset:2px; }

.nn-audit .abbinder{ display:block; margin:28px 0 0; padding:0 4px; font-size:15.5px; color:var(--gedaempft); }
.nn-audit .abbinder p{ margin:0; }
.nn-audit .abbinder .signatur{ font:500 21px/1.2 var(--display); font-style:italic; color:var(--tinte); display:block; margin-top:5px; }
.nn-audit .kleingedrucktes{ font-size:14px; color:var(--gedaempft); text-align:center; margin:22px 0 0; }
.nn-audit .kleingedrucktes a{ color:var(--korall-tief); }

.nn-audit .erfolg{ text-align:center; padding:34px 10px; }
.nn-audit .erfolg h2{ font:500 30px/1.2 var(--display); margin:0 0 12px; color:var(--tinte); }
.nn-audit .erfolg p{ color:var(--gedaempft); margin:0 auto 14px; max-width:46ch; }
.nn-audit .erfolg .signatur{ font:500 22px/1.2 var(--display); font-style:italic; color:var(--tinte); }

@media (prefers-reduced-motion:reduce){
  .nn-audit *{ transition-duration:.01ms !important; animation-duration:.01ms !important; }
  .nn-audit .portrait{ transform:none; }
  .nn-audit .denk-hilfe{ transition:none; }
}
@media (max-width:520px){
  .nn-audit .aktionen button{ width:100%; }
  .nn-audit .mehrfach{ float:none; display:block; margin:0 0 10px; }
  .nn-audit .vorstellung{ gap:14px; }
}
