@charset "UTF-8";
*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; scrollbar-gutter:stable;
  scroll-padding-top:110px; } /* Header 102px plus Luft, Fokus und Sprungziele landen nie darunter */
body{ margin:0; background:linear-gradient(180deg, var(--paper) 0, var(--ash) 70vh) no-repeat var(--ash); color:var(--ink); font-family:var(--font);
  font-size:var(--fs-body); line-height:1.5; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:hidden; }
a{ color:inherit; } img{ max-width:100%; display:block; }
::selection{ background:var(--acid); color:var(--ink); }
/* Auf Acid-Flächen und in Acid-Marks wäre eine Acid-Auswahl unsichtbar */
.page-home .hero ::selection, .footer-cta ::selection, .auth-body ::selection, .auth-center ::selection,
mark::selection{ background:var(--ink); color:#fff; }
:focus-visible{ outline:2px solid var(--ink); outline-offset:2px; border-radius:var(--r-tag); }
.sr{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }
.center{ text-align:center; }

@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }

/* Typografie */
.wordmark{ display:inline-flex; align-items:center; font-weight:900; font-style:italic; text-transform:uppercase; letter-spacing:-.07em;
  color:var(--ink); text-decoration:none; white-space:nowrap; line-height:1; font-size:var(--fs-h2); }
.mono{ font-family:var(--mono); font-size:var(--fs-xs); font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.t-lbl{ font-family:var(--mono); font-size:var(--fs-xs); font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); display:inline-block; }
.lead{ font-size:var(--fs-lead); color:var(--ink-soft); line-height:1.55; font-weight:500; }
.muted{ color:var(--ink-soft); }

/* Buttons */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5em; border:none;
  border-radius:var(--r-pill); font-family:inherit; font-weight:800; font-size:var(--fs-body); letter-spacing:-.01em; cursor:pointer;
  text-decoration:none; white-space:nowrap; padding:.82em 1.6em; background:var(--ink); color:var(--acid);
  transform:perspective(560px) translateZ(0); transition:transform .2s cubic-bezier(.34,1.5,.5,1), box-shadow .2s ease; }
@media (hover:hover) and (pointer:fine){ .btn:hover{ transform:perspective(560px) translateZ(22px) translateY(-3px); box-shadow:4px 12px 24px rgba(0,0,0,.24); } }
.btn:active{ transform:perspective(560px) translateZ(0) scale(.97); box-shadow:none; }
.btn i{ font-size:1.1em; }
.btn-ink{ background:var(--ink); color:var(--acid); }      /* primär */
.btn-acid{ background:var(--acid); color:var(--ink); }
.btn-ghost{ background:transparent; color:var(--ink); }
.btn-soft{ background:rgba(0,0,0,.07); color:var(--ink); } /* sekundär */
.btn-block{ width:100%; }
@media (prefers-reduced-motion:reduce){ .btn{ transition:none; transform:none; } }
@media (prefers-reduced-motion:reduce) and (hover:hover) and (pointer:fine){ .btn:hover{ transform:translateY(-2px); box-shadow:none; } }

/* Sektionen */
.section{ padding-block:clamp(40px,6vw,84px); }
.sec-head{ margin-bottom:clamp(22px,3vw,38px); }
.sec-head h2{ font-size:var(--fs-h2); font-weight:900; text-transform:uppercase; letter-spacing:-.04em; line-height:.92; margin:0; margin-inline-start:calc(-1 * var(--bearing-head)); text-wrap:balance; }
.sec-lead{ font-size:var(--fs-lead); color:var(--ink-soft); max-width:52ch; margin:-.2rem 0 clamp(26px,4vw,40px); font-weight:500; line-height:1.5; }
h1,h2,h3{ font-weight:900; letter-spacing:-.03em; line-height:1.04; margin:0; text-wrap:balance; }
h1{ font-size:var(--fs-h1); letter-spacing:-.04em; }
/* Kleine Telefone: lange Wörter trennen statt abschneiden */
@media (max-width:380px){
  main :is(h1, h2){ hyphens:auto; overflow-wrap:break-word; }
  main h1{ font-size:2.75rem; }
}
/* Die meisten Telefone haben 390 bis 430 px: dort liefen die Überschriften der Detailseiten über bis zu acht Zeilen und über den Rand.
   Ohne Silbentrennung, die zerlegte sonst „Website“; getrennt wird erst unter 380 px (Regel oben) */
@media (max-width:480px){
  main :is(.page-module .feat-hero, .page-zielgruppen .zg-hero, .page-compare .cmp-hero, .page-blog-index .blog-hero) h1{ font-size:2.75rem; overflow-wrap:break-word; }
  .page-pricing main .price-hero h1, .page-about main .about-hero h1{ font-size:2.75rem; overflow-wrap:break-word; }
  /* Zwischenüberschriften der Antwort-Grammatik bleiben unter der Hauptüberschrift */
  :is(.page-module, .page-zielgruppen) main :is(.feat-beweis, .feat-warum, .feat-lauf, .feat-blick, .mod-faq, .zg-faq) h2{ font-size:2rem; }
}
/* Unter 360 px passen Wortmarke und Menü-Knopf sonst nicht in den Header-Kasten. */
@media (max-width:359px){ .site-header .wordmark{ font-size:2.5rem; } }
h2{ font-size:var(--fs-h2); }
h3{ font-size:var(--fs-h3); letter-spacing:-.02em; }
p{ margin:0 0 1em; text-wrap:pretty; }

/* Karte */
.card{ background:var(--paper); border:2px solid var(--ink); border-radius:var(--r-box); box-shadow:6px 6px 0 var(--ink); }
.note{ font-size:var(--fs-sm); color:var(--ink-soft); margin:1rem 0 0; display:flex; flex-wrap:wrap; gap:.2rem .5rem; align-items:center; font-weight:700; }
/* Schmal bricht die Zeile um, ein Trenner bliebe am Zeilenende hängen */
@media (max-width:480px){ .note .sep{ display:none; } .note{ gap:.2rem 1rem; } }
.note .sep{ color:var(--ink-soft); }

/* Header */
/* Kasten ragt in den Gutter, am Telefon nur so weit, dass der 6px-Schatten im Fenster bleibt */
.site-header{ position:sticky; top:0; z-index:60; background:transparent; padding-top:24px; --kapsel:min(1.4rem, calc(var(--gutter) - 8px)); }
.site-header .bar{ display:flex; align-items:center; justify-content:space-between; height:78px;
  margin-inline:calc(-1 * var(--kapsel)); padding-inline:var(--kapsel);
  background:transparent; border:2px solid transparent; border-radius:var(--r-box); box-shadow:6px 6px 0 transparent; }
/* Übergänge erst ab .is-ready, sonst blendet eine gescrollt geladene Seite den Kasten ein */
.site-header.is-ready .bar{ transition:background-color .22s ease, border-color .22s ease, box-shadow .3s ease; }
.site-header.is-stuck .bar{ background:var(--paper); border-color:var(--ink); box-shadow:6px 6px 0 var(--ink); }
.site-header .btn{ transition:transform .14s; }
.nav-right{ display:flex; align-items:center; gap:.4rem; }
.nav-link{ text-decoration:none; font-weight:700; font-size:var(--fs-sm); color:var(--ink); border-radius:var(--r-pill); padding:.45em .7em; transition:color .12s; }
.nav-link:hover{ color:var(--ink-soft); }
.nav-link.is-active{ background:var(--acid); color:var(--ink); }
.nav-link.is-active:hover{ color:var(--ink); }
/* Klapp-Menüs: der Name allein sagt Erstbesuchern wenig, die Frage darunter gibt den Zusammenhang */
.has-menu{ position:relative; display:inline-flex; align-items:center; }
.menu-trigger{ display:inline-flex; align-items:center; gap:.3em; cursor:pointer; }
.menu-trigger i{ font-size:.8em; transition:transform .15s; }
.has-menu:hover .menu-trigger i, .has-menu:focus-within .menu-trigger i{ transform:rotate(180deg); }
.menu-panel{ position:absolute; top:100%; left:0; margin-top:14px; width:350px; max-width:78vw; background:var(--paper); border:2px solid var(--ink); border-radius:var(--r-sm); box-shadow:6px 6px 0 var(--ink); padding:.5rem; z-index:80; opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .15s, transform .15s, visibility .15s; }
.has-menu:hover .menu-panel, .has-menu:focus-within .menu-panel{ opacity:1; visibility:visible; transform:translateY(0); }
/* Mit Escape geschlossen: bleibt zu, bis Zeiger oder Fokus das Menü verlassen */
.has-menu.is-zu .menu-panel{ opacity:0; visibility:hidden; transform:translateY(-6px); }
.has-menu.is-zu .menu-trigger i{ transform:none; }
/* Brücke über den Abstand, sonst schließt das Panel auf dem Weg dorthin */
.has-menu::after{ content:""; position:absolute; top:100%; left:0; width:100%; height:16px; }
.menu-panel a{ display:flex; gap:.7em; align-items:flex-start; padding:.6em .7em; border-radius:var(--r-sm); text-decoration:none; font-weight:700; font-size:var(--fs-sm); color:var(--ink); line-height:1.25; }
.menu-panel a:hover{ background:var(--acid); }
.menu-panel a i{ color:var(--ink-soft); font-size:1.35em; flex:0 0 auto; }
.menu-panel a small{ display:block; font-weight:500; color:var(--ink-soft); font-size:var(--fs-xs); margin-top:.15em; }
:is(.menu-panel, .drawer) a[aria-current]:not(:hover){ background:var(--ash-soft); }
.menu-panel .menu-alle{ align-items:center; margin-top:.25rem; border-top:2px solid var(--ash); border-radius:0 0 var(--r-sm) var(--r-sm); color:var(--ink-soft); }
.menu-panel .menu-alle i{ font-size:1em; color:inherit; }

/* Mobil-Menü: Burger + Drawer */
.nav-toggle{ position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.burger{ display:none; width:46px; height:46px; border:2px solid var(--ink); border-radius:var(--r-sm); background:var(--paper); place-items:center; font-size:var(--fs-lead); cursor:pointer; color:var(--ink); flex:0 0 auto; }
.burger .burger-close{ display:none; }
#navtoggle:checked ~ .wrap .burger{ background:var(--ink); color:var(--acid); }
#navtoggle:checked ~ .wrap .burger .burger-open{ display:none; }
#navtoggle:checked ~ .wrap .burger .burger-close{ display:block; }
.drawer{ display:none; flex-direction:column; gap:2px; padding:10px clamp(16px,3.5vw,40px) 16px; border-top:2px solid var(--ink); background:var(--paper); }
.drawer a{ padding:.85em .8em; border-radius:var(--r-sm); text-decoration:none; font-weight:800; font-size:var(--fs-body); color:var(--ink); display:flex; align-items:center; gap:.65em; }
.drawer a i{ color:var(--ink-soft); }
.drawer a small{ display:block; font-weight:500; color:var(--ink-soft); font-size:var(--fs-sm); margin-top:.1em; }
.drawer a:has(small){ padding-block:.6em; }
.drawer a:hover{ background:var(--acid); }
.drawer .dw-login{ color:var(--ink-soft); }
.drawer .dw-cta{ background:var(--ink); color:var(--acid); justify-content:center; margin-top:6px; }
.drawer .dw-cta i{ color:var(--acid); }

/* Bis 980 px passt die Reihe nicht (gemessen: unter rund 950 px stößt sie an die Wortmarke). Dieselbe Grenze trägt .hero-start */
@media (max-width:980px){
  .nav-right{ display:none; }
  .burger{ display:grid; }
  #navtoggle:checked ~ .drawer{ display:flex; }
}

/* Footer-Abschluss */
.site-footer{ background:var(--ink); color:var(--shadow); padding-block:64px; position:relative; }
.foot-bot{ position:absolute; bottom:100%; right:clamp(20px,7vw,110px); width:clamp(60px,7vw,86px); margin-bottom:-5px; overflow:visible; filter:drop-shadow(3px 3px 0 #0c0f13); pointer-events:none; z-index:2; }
.foot-bot .fb-eye{ transform-box:fill-box; transform-origin:center; animation:fbeye 4.6s infinite both; }
@keyframes fbeye{ 0%,94%,100%{ transform:scaleY(1) } 97%{ transform:scaleY(.08) } }
@media (prefers-reduced-motion:reduce){ .foot-bot .fb-eye{ animation:none !important; } }
/* auf der 404 steht schon der große Bot, zwei wären einer zu viel */
body:has(.nf4) .foot-bot{ display:none; }
/* Zwei Lautstärken: sechs Wege hell, das Rechtliche grau in derselben Reihe */
.site-footer .foot-grid{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:40px 64px; align-items:start; }
.site-footer .foot-mark{ color:var(--acid); font-size:clamp(2rem, 1.3rem + 2vw, 2.8rem); }
.site-footer .foot-claim{ font-family:var(--font-head); font-weight:400; font-size:var(--fs-lead); color:var(--on-dark); letter-spacing:-.02em; margin:1rem 0 0; }
.site-footer .footer-nav{ display:grid; grid-template-columns:repeat(3, auto); gap:16px 56px; padding-top:6px; }
.site-footer .footer-nav a{ text-decoration:none; font-weight:700; font-size:var(--fs-body); color:var(--on-dark); }
.site-footer .footer-nav a:hover{ color:var(--acid); }
.site-footer .footer-nav a.leise{ color:var(--shadow); }
.site-footer .footer-nav a.leise:hover{ color:#fff; }
@media (max-width:760px){
  .site-footer .foot-grid{ grid-template-columns:minmax(0,1fr); gap:32px; }
  .site-footer .footer-nav{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px 24px; }
}
/* Auf Ink wäre der Fokusring unsichtbar */
.site-footer :focus-visible{ outline-color:var(--acid); }

/* Seiten-eigene Acid-CTA-Sektion */
.footer-cta{ background:linear-gradient(180deg,var(--ash) 0,var(--acid) clamp(160px,26vh,280px)); text-align:center; }
.footer-cta h2{ font-size:var(--fs-h2); font-weight:900; text-transform:uppercase; letter-spacing:-.04em; line-height:.92; max-width:25ch; margin:0 auto 1rem; }
.footer-cta .lead{ max-width:48ch; margin:0 auto 2rem; color:var(--ink); }
.footer-cta p{ text-wrap:balance; }
.footer-cta .cta-row{ display:flex; gap:.8rem; justify-content:center; flex-wrap:wrap; }
.footer-cta .also{ margin-top:1.4rem; font-size:var(--fs-sm); font-weight:700; color:var(--ink); }
.footer-cta .also a{ color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
/* Vertrauenszeile des Prüf-Felds mittig wie die Überschrift */
.footer-cta .note{ justify-content:center; color:var(--ink); }

/* Auth-Screens */
.auth-body{ min-height:100svh; display:flex; flex-direction:column;
  background:linear-gradient(to bottom, var(--ash), var(--ash) 55%, var(--acid)); }
.auth-body .site-header{ position:static; background:transparent; backdrop-filter:none; }
.auth-body .site-header .bar{ background:transparent; border-color:transparent; box-shadow:none; }
.auth-main{ flex:1; display:flex; align-items:center; justify-content:center; padding:48px var(--gutter); }
.auth-card{ width:100%; max-width:24rem; background:var(--paper); border:2px solid var(--ink); border-radius:var(--r-box);
  box-shadow:6px 6px 0 var(--ink); padding:clamp(28px,4vw,40px); }
.auth-card h1{ font-size:var(--fs-h3); font-weight:900; letter-spacing:-.03em; margin:0 0 24px; line-height:1.12; }
.auth-card > p{ color:var(--ink-soft); }
.auth-label{ display:block; font-size:var(--fs-xs); font-weight:700; color:var(--ink-soft); margin-bottom:8px; }
.auth-opt{ font-weight:500; color:var(--ink-soft); }
.auth-hint{ font-size:var(--fs-xs); color:var(--ink-soft); margin:2px 0 16px; }
/* Rahmen und Fokus wie das App-Feld .inp in app.css, synchron halten */
.auth-input{ width:100%; border-radius:var(--r-sm); border:2px solid var(--ink); padding:12px 16px; margin-bottom:16px;
  font-size:var(--fs-body); font-family:inherit; background:var(--paper); color:var(--ink);
  transition:box-shadow .1s ease, transform .1s ease, border-color .1s ease; }
.auth-input::placeholder{ color:var(--ink-soft); }
.auth-input:focus{ outline:2px solid transparent; border-color:var(--acid); box-shadow:4px 4px 0 var(--acid); transform:translate(-2px,-2px); }
/* „anzeigen“ sitzt im Feld, der Abstand darunter gehört deshalb dem Kasten */
.auth-pw{ position:relative; margin-bottom:16px; }
.auth-pw .auth-input{ display:block; padding-right:7em; margin-bottom:0; }
.auth-zeig{ position:absolute; top:0; right:0; height:100%; padding:0 16px; border:0; background:none; cursor:pointer;
  font:inherit; font-size:var(--fs-xs); font-weight:700; color:var(--ink-soft); text-decoration:underline; text-underline-offset:2px; }
.auth-zeig:focus-visible{ outline-offset:-6px; border-radius:var(--r-sm); }
/* Die Meldung bekommt nach dem Absenden den Fokus, der Fokusrahmen braucht Luft zum Text */
.auth-error{ color:var(--ink); font-weight:700; font-size:var(--fs-sm); margin-bottom:16px; padding:.7em 1em;
  border:2px solid var(--red); border-radius:var(--r-sm); }
.auth-card .auth-error{ color:var(--ink); }
.auth-error:focus-visible{ outline:0; }
.auth-error span{ display:block; }
.auth-error span + span{ margin-top:.5em; }
.auth-error a{ text-decoration:underline; text-underline-offset:2px; }
.auth-input[aria-invalid="true"]:not(:focus){ border-color:var(--red); }
/* Kontaktformular; der Honeypot bleibt im DOM, sonst übersehen ihn Bots */
.auth-card textarea.auth-input{ min-height:9rem; resize:vertical; line-height:1.5; }
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; opacity:0; }
/* Kontaktseite */
.page-kontakt .auth-card{ max-width:var(--maxw); }
.page-kontakt .kontakt-grid{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(28px,5vw,80px); align-items:start; }
.page-kontakt .kontakt-intro h1{ font-size:var(--fs-h2); margin-bottom:16px; }
.page-kontakt .kontakt-intro p{ color:var(--ink-soft); max-width:34rem; margin:0 0 12px; }
.page-kontakt .kontakt-form .auth-foot{ text-align:left; }
.page-kontakt .auth-card.tc h1{ font-size:var(--fs-h2); }
@media (max-width:880px){ .page-kontakt .kontakt-grid{ grid-template-columns:1fr; } }
.auth-check{ display:flex; align-items:flex-start; gap:.6rem; font-size:var(--fs-sm); color:var(--ink-soft); margin:4px 0 18px; line-height:1.45; }
.auth-check input{ margin-top:.2rem; accent-color:var(--acid); flex:none; }
.auth-foot{ font-size:var(--fs-xs); text-align:center; margin-top:20px; color:var(--ink-soft); }
.auth-foot.tight{ margin-top:8px; }
.auth-foot a{ text-decoration:underline; text-underline-offset:2px; }
.auth-foot a:hover{ color:var(--ink); }
/* Tippfläche der kleinen Text-Links; inline-block, ein umbrochener Link verlöre sie */
:is(.auth-foot, .nl-fine) a{ position:relative; display:inline-block; }
:is(.auth-foot, .nl-fine) a::after{ content:""; position:absolute; inset:-14px -4px; }
/* nach oben nur bis zum Nachbarn, sonst fängt die Fläche Tipps auf den Knopf darüber ab */
:is(.auth-foot.tight, .nl-fine) a::after{ top:-7px; }
/* Zentrierte Variante (Passwort-Reset/Verify/Abmelden) */
.auth-center{ min-height:100svh; display:flex; align-items:center; justify-content:center; padding:24px;
  background:linear-gradient(to bottom, var(--ash), var(--ash) 55%, var(--acid)); }
.auth-stack{ width:100%; max-width:24rem; }
.auth-mark{ display:block; text-align:center; font-weight:900; font-style:italic; text-transform:uppercase;
  letter-spacing:-.08em; font-size:var(--fs-h3); color:var(--ink); margin-bottom:24px; text-decoration:none; white-space:nowrap; }
.auth-mark .vzmark{ margin:0 auto; }
.auth-card.tc{ text-align:center; }
.auth-card .big-check{ font-size:40px; line-height:1; margin-bottom:12px; color:var(--ink); }

/* Animationen */
/* Bot-Kern-Keyframes (bot-bob/eye/breathe/wave/wave-el) kommen aus base.css. */
@keyframes flow-b{
    0%{ opacity:0; transform:translate(-272px,0) scale(.92) rotate(-2deg); }
    7%{ opacity:1; }
    70%{ opacity:1; transform:translate(-46px,0) scale(.88) rotate(1deg); }
    87%{ opacity:0; transform:translate(2px,0) scale(.82) rotate(2deg); }
    100%{ opacity:0; transform:translate(2px,0) scale(.82); }
  }
@keyframes outflow{
    0%{ opacity:0; transform:translateX(0); }
    12%{ opacity:1; }
    74%{ opacity:1; transform:translateX(165px); }
    92%{ opacity:0; transform:translateX(212px); }
    100%{ opacity:0; transform:translateX(212px); }
  }
@keyframes flow-vert{
    0%{ opacity:0; transform:translate(-50%,-250px) scale(.92); }
    7%{ opacity:1; }
    68%{ opacity:1; transform:translate(-50%,-20px) scale(.88); }
    85%{ opacity:0; transform:translate(-50%,16px) scale(.8); }
    100%{ opacity:0; transform:translate(-50%,16px) scale(.8); }
  }
@keyframes outflow-vert{
    0%{ opacity:0; transform:translate(-50%,0) rotate(90deg); }
    12%{ opacity:1; }
    74%{ opacity:1; transform:translate(-50%,150px) rotate(90deg); }
    92%{ opacity:0; transform:translate(-50%,190px) rotate(90deg); }
    100%{ opacity:0; transform:translate(-50%,190px) rotate(90deg); }
  }
@keyframes spin{ to{ transform:rotate(360deg); } }
@keyframes marquee-run{ from{ transform:translateX(-50%); } to{ transform:translateX(0); } }
@keyframes reveal-up{ from{ opacity:0; } to{ opacity:1; } }
@keyframes chip-in{ 0%{ opacity:0; transform:scale(.82) translateY(10px); } 55%{ opacity:1; } 100%{ opacity:1; transform:none; } }

/* Startseite */
.page-home .field{ position:relative; background:var(--ash); }

@media (prefers-reduced-motion:reduce){ .page-home .btn{ transition:none; transform:none; } }
@media (prefers-reduced-motion:reduce) and (hover:hover) and (pointer:fine){ .page-home .btn:hover{ transform:translateY(-2px); box-shadow:none; } }


/* Hero */
.page-home .hero{ position:relative; padding-block:clamp(18px,2.5vw,36px) clamp(56px,8vw,110px);
  background:linear-gradient(180deg,var(--ash) 0%,var(--ash) 50%,var(--acid) 80%,var(--ash) 100%); }

.page-home .hero h1{ font-weight:900; text-transform:uppercase; letter-spacing:-.045em; line-height:.86; margin:0; margin-inline-start:calc(-1 * var(--bearing-head)); font-size:var(--fs-display); }

.page-home .hero .sub{ font-size:var(--fs-lead); font-weight:600; max-width:40ch; margin:1.4rem 0 0; }


/* die Bühne */
.page-home .stage{ position:relative; margin-top:clamp(20px,3vw,32px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; column-gap:clamp(56px,7vw,108px); }

.page-home .stage::before{ content:""; position:absolute; left:50%; top:50%; width:min(560px,62%); height:300px; transform:translate(-50%,-50%); background:radial-gradient(ellipse,rgba(255,255,255,.72),transparent 70%); filter:blur(24px); z-index:0; }

.page-home .stage > *{ position:relative; z-index:1; }

/* Daten-Block */
.page-home .data{ display:flex; justify-content:flex-end; }

.page-home .pile{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; width:100%; max-width:340px; align-content:center; min-height:230px; margin-right:26px; transform:rotate(-1.5deg); }

.page-home .sticker{ background:var(--paper); border:2px solid var(--ink); border-radius:var(--r-sm); padding:.5em .6em; font-family:var(--mono); font-size:var(--fs-xs); font-weight:700; box-shadow:3px 3px 0 var(--ink); white-space:nowrap; text-align:center; overflow:hidden; text-overflow:ellipsis; }

.page-home .sticker .err{ color:var(--red); }

/* der Automat */
.page-home .botwrap{ position:relative; justify-self:center; width:clamp(190px,22vw,250px); }

.page-home .bot{ position:relative; width:100%; display:block; overflow:visible; }
.page-home .bot-bob{ animation:bot-bob 3.6s ease-in-out infinite; }


.page-home .bot-eye{ transform-box:fill-box; transform-origin:center; animation:bot-eye 4.2s infinite both; }


.page-home .bot-arm.bot-wave{ transform-box:view-box; transform-origin:202px 129px; animation:bot-wave 1.7s ease-in-out .3s 1 both; }
.page-home .bot-arm.bot-wave .bot-el{ transform-box:view-box; transform-origin:219px 154px; animation:bot-wave-el 1.7s ease-in-out .3s 1 both; }


/* der Brief */
.page-home .brief{ width:100%; max-width:340px; background:var(--paper); border:2px solid var(--ink); border-radius:var(--r-box); padding:clamp(16px,1.8vw,24px); box-shadow:8px 8px 0 var(--ink); transform:rotate(1.5deg); }

.page-home .brief .b-line{ font-size:var(--fs-lead); font-weight:800; letter-spacing:-.02em; line-height:1.25; margin:.4rem 0 0; }

.page-home .brief .b-line mark{ background:var(--acid); padding:.05em .3em; box-decoration-break:clone; -webkit-box-decoration-break:clone; }

.page-home .brief .b-mood{ display:inline-flex; align-items:center; gap:.5em; margin-top:1rem; font-weight:700; font-size:var(--fs-sm); }

.page-home .mood-chip{ font-size:var(--fs-xs); font-weight:800; letter-spacing:.06em; text-transform:uppercase; background:var(--acid); color:var(--ink); border-radius:var(--r-tag); padding:.24em .55em; flex:0 0 auto; }
/* Bis 980 px steckt der Header-Knopf im Burger, dann trägt .hero-start die Konto-Handlung: je Breite genau ein Konto-Knopf */
.page-home .hero-intro{ display:grid; grid-template-columns:minmax(0,1fr); align-items:end; gap:clamp(20px,5vw,32px); margin-top:1.4rem; }
.page-home .hero-intro .sub{ margin:0; max-width:36ch; }
.page-home .hero-start{ display:none; }
@media (max-width:980px){ .page-home .hero-start{ display:inline-flex; justify-self:start; } }
@media (max-width:880px){
  .page-home .stage{ grid-template-columns:1fr; justify-items:center; text-align:center; row-gap:1.4rem; }
  .page-home .feeds{ display:none; }   /* Einspaltig laufen die fliegenden Chips sonst quer über den Sticker-Haufen */

  .page-home .data{ justify-content:center; }

  .page-home .pile{ margin-right:0; max-width:440px; }

  .page-home .brief{ max-width:440px; }

}

@media (prefers-reduced-motion:reduce){ .page-home .bot-bob, .page-home .bot-eye, .page-home .bot-arm.bot-wave, .page-home .bot-arm.bot-wave .bot-el{ animation:none !important; }
 }


/* Hero-Animation */
.page-home .feeds{ position:absolute; inset:0; pointer-events:none; }

.page-home .feed{ position:absolute; left:48%; top:42%; white-space:nowrap; opacity:0; transform-origin:center;
  background:var(--paper); border:2px solid var(--ink); border-radius:var(--r-sm); padding:.32em .56em;
  font-family:var(--mono); font-size:var(--fs-xs); font-weight:700; box-shadow:3px 3px 0 var(--ink); }

.page-home .feed .err{ color:var(--red); }

.page-home .outfeeds{ position:absolute; inset:0; pointer-events:none; }

.page-home .outarrow{ position:absolute; left:57%; top:46%; opacity:0; color:var(--ink); width:27px; height:27px; }

@media (prefers-reduced-motion:no-preference){
  .page-home .bot-screen{ animation:bot-breathe 2s ease-in-out infinite; }

  .page-home .feed{ animation:flow-b 3.8s linear infinite; }

  .page-home .feed:nth-child(1){ top:37%; animation-delay:.78s; }

  .page-home .feed:nth-child(2){ top:47%; animation-delay:1.4s; }

  .page-home .feed:nth-child(3){ top:57%; animation-delay:2.02s; }

  .page-home .feed:nth-child(4){ top:37%; animation-delay:2.68s; }

  .page-home .feed:nth-child(5){ top:47%; animation-delay:3.3s; }

  .page-home .feed:nth-child(6){ top:57%; animation-delay:3.92s; }

  .page-home .outarrow{ animation:outflow 3.8s linear infinite; }

  .page-home .outarrow:nth-child(1){ top:38%; animation-delay:.84s; }

  .page-home .outarrow:nth-child(2){ top:48%; animation-delay:1.46s; }

  .page-home .outarrow:nth-child(3){ top:58%; animation-delay:2.08s; }

  .page-home .outarrow:nth-child(4){ top:38%; animation-delay:2.74s; }

  .page-home .outarrow:nth-child(5){ top:48%; animation-delay:3.36s; }

  .page-home .outarrow:nth-child(6){ top:58%; animation-delay:3.98s; }

  
}

/* Mobil (gestapelt): Flow vertikal */
@media (prefers-reduced-motion:no-preference) and (max-width:880px){
  .page-home .feed{ animation-name:flow-vert; }

  .page-home .feed:nth-child(1){ top:50%; left:38%; }

  .page-home .feed:nth-child(2){ top:50%; left:50%; }

  .page-home .feed:nth-child(3){ top:50%; left:62%; }

  .page-home .feed:nth-child(4){ top:50%; left:38%; }

  .page-home .feed:nth-child(5){ top:50%; left:50%; }

  .page-home .feed:nth-child(6){ top:50%; left:62%; }

  
  .page-home .outarrow{ animation-name:outflow-vert; }

  .page-home .outarrow:nth-child(1){ top:50%; left:38%; }

  .page-home .outarrow:nth-child(2){ top:50%; left:50%; }

  .page-home .outarrow:nth-child(3){ top:50%; left:62%; }

  .page-home .outarrow:nth-child(4){ top:50%; left:38%; }

  .page-home .outarrow:nth-child(5){ top:50%; left:50%; }

  .page-home .outarrow:nth-child(6){ top:50%; left:62%; }

  
}

@media (prefers-reduced-motion:reduce){ .page-home .feeds, .page-home .outfeeds{ display:none; }
 }


/* Bento */
.page-home .bento-sec{ padding-block:clamp(48px,7vw,96px); }

/* Sechs Spalten: Modul-Kacheln zu je zwei, drei je Reihe ohne Loch */
.page-home .bento{ display:grid; grid-template-columns:repeat(6,1fr); gap:14px; grid-auto-rows:minmax(118px,auto); }

.page-home .tile{ border:2px solid var(--ink); border-radius:var(--r-box); padding:clamp(16px,1.8vw,24px); background:var(--paper); box-shadow:6px 6px 0 var(--ink); display:flex; flex-direction:column; }

/* Nur der Ausschnitt ist ein Kasten, Name und Satz stehen frei darunter */
.page-home .b-ki{ grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:clamp(24px,4vw,72px); align-items:center; padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; }


.page-home .b-ki h3{ color:var(--ink); font-size:var(--fs-h3); letter-spacing:-.03em; line-height:1.1; margin:0; }

.page-home .b-ki h3 em{ font-style:normal; color:var(--ink); background:linear-gradient(transparent 58%,var(--acid) 0); padding:0 .04em; }

.page-home .b-ki .ki-lead{ color:var(--ink); font-size:var(--fs-lead); font-weight:600; line-height:1.35; margin:.9rem 0 0; max-width:30ch; }

.page-home .b-mod{ grid-column:span 2; justify-content:flex-start; padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; }
/* Modul-Kacheln: Beispiel-Ausschnitte aus dem Tool */
.page-home .b-mod .foot{ margin-top:1.1rem; }
.page-home .b-ki .foot{ grid-column:1 / -1; margin-top:1.1rem; }
.page-home .b-ki .ki-replik{ font-size:.92rem; transition:transform .14s, box-shadow .14s; }
.page-home .b-ki .ki-replik .as-ba{ line-height:1.55; }
.page-home .bento{ row-gap:clamp(30px,3.4vw,48px); column-gap:clamp(20px,2.4vw,34px); }
.page-home .tile-viz{ display:flex; align-items:center; gap:.9rem; min-height:128px; padding:1rem 1.1rem; background:var(--paper); border:2px solid var(--ink); border-radius:var(--r-box); box-shadow:6px 6px 0 var(--ink); transition:transform .14s, box-shadow .14s; }
.page-home .tile-viz.is-col{ flex-direction:column; align-items:flex-start; justify-content:center; gap:.45rem; }
.page-home .tv-big{ font-family:var(--font-head); font-weight:800; font-size:2rem; line-height:1; letter-spacing:-.04em; }
.page-home .tv-big small{ font-size:.55em; letter-spacing:0; margin-left:.1em; }
.page-home .tv-small{ font-size:var(--fs-sm); font-weight:600; color:var(--ink-soft); line-height:1.3; }
.page-home .tv-row{ display:flex; align-items:baseline; gap:.5rem; }
/* Endpunkt ist eine Nullstrecke mit runder Kappe, ein Kreis würde mitgestreckt */
.page-home .tv-spark{ flex:1; min-width:0; height:46px; overflow:visible; }
.page-home .tv-tags{ display:flex; flex-wrap:wrap; gap:.35rem; }
.page-home .tv-tags span{ background:var(--acid); border-radius:var(--r-tag); padding:.12em .5em; font-size:var(--fs-sm); font-weight:700; }
.page-home .tv-gauge{ width:84px; height:50px; flex:0 0 auto; }
.page-home .tv-bar{ display:grid; grid-template-columns:5.6rem minmax(0,1fr); align-items:center; gap:.6rem; width:100%; font-size:var(--fs-sm); font-weight:700; }
.page-home .tv-bar .t{ height:12px; overflow:hidden; background:var(--paper); border:2px solid var(--ink); border-radius:var(--r-pill); }
.page-home .tv-bar .t span{ display:block; height:100%; background:var(--ash); }
.page-home .tv-bar .t span.on{ background:var(--acid); }
.page-home .tv-hint{ display:flex; align-items:center; gap:.5rem; font-size:var(--fs-sm); font-weight:700; }
.page-home .tv-hint::before{ content:""; width:11px; height:11px; flex:0 0 auto; border-radius:50%; border:2px solid var(--ink); background:var(--amber); }
.page-home .tv-hint.ok::before{ background:var(--acid); }
/* Website-Kachel: die vier Fragen mit dem Zeichen der App */
.page-home .tv-frage{ display:flex; align-items:center; gap:.55rem; font-size:var(--fs-sm); font-weight:700; }
.page-home .tv-frage .tv-k{ margin-left:auto; padding-left:.8rem; font-weight:400; color:var(--ink-soft); white-space:nowrap; }
.page-home .tv-frage .zs.half{ border-color:#f0a019; background:linear-gradient(90deg, #f0a019 50%, transparent 50%); }
.page-home .b-mod .name{ font-weight:800; font-size:var(--fs-body); letter-spacing:-.02em; margin-top:1rem; }

/* Verlinkte Kachel, Hover wie die Karten auf /funktionen */
.page-home a.tile{ position:relative; color:inherit; text-decoration:none; transition:transform .14s, box-shadow .14s; }
@media (hover:hover) and (pointer:fine){
  .page-home a.b-mod:hover .tile-viz{ transform:translateY(-3px); box-shadow:9px 9px 0 var(--ink); }
  .page-home a.b-ki:hover .ki-replik{ transform:translateY(-3px); box-shadow:9px 9px 0 var(--ink); }
  .page-home a.tile:hover .go{ transform:translateX(3px); }
}
.page-home a.tile:focus-visible{ outline:3px solid var(--ink); outline-offset:3px; border-radius:var(--r-box); }
.page-home a.tile .go{ display:inline-block; margin-left:.3em; font-size:.85em; line-height:1; vertical-align:-.06em; color:inherit; transition:transform .14s; }
.page-home a.b-ki .go{ color:var(--ink); }
@media (prefers-reduced-motion:reduce){ .page-home :is(.tile-viz, .b-ki .ki-replik, a.tile .go){ transition:none; } }
@media (prefers-reduced-motion:reduce) and (hover:hover) and (pointer:fine){ .page-home :is(a.b-mod:hover .tile-viz, a.b-ki:hover .ki-replik, a.tile:hover .go){ transform:none; } }

@media (max-width:880px){
  .page-home .bento{ grid-template-columns:repeat(2,1fr); }

  .page-home .b-ki{ grid-column:1 / -1; }


  .page-home .b-mod{ grid-column:span 1; }

}

@media (max-width:520px){
  .page-home .bento{ grid-template-columns:1fr; }

  .page-home .b-ki, .page-home .b-mod{ grid-column:span 1; }

}


/* Weitere Sektionen */
.page-home .sec{ padding-block:clamp(60px,8vw,120px); }

/* Macher und Trust */
.page-home .maker{ max-width:var(--read); margin-inline:auto; }

.page-home .maker blockquote{ margin:.6rem 0 0; font-size:var(--fs-h3); font-weight:800; letter-spacing:-.02em; line-height:1.3; max-width:42ch; }

.page-home .maker blockquote em{ font-style:normal; }

.page-home .maker-by{ margin-top:1.6rem; color:var(--ink-soft); font-weight:600; line-height:1.5; }
 .page-home .maker-by b{ color:var(--ink); }
.page-home .maker-by + .maker-by{ margin-top:.4rem; }
.page-home .maker-by a{ color:var(--ink); text-decoration:underline; text-underline-offset:3px; }

/* Tarife */

/* Volle Containerbreite: auf 60ch umbrochen stapelt sich das Kleingedruckte */
.tarif-fine{ text-align:center; color:var(--ink-soft); font-size:var(--fs-sm); margin-top:clamp(22px,3vw,32px); font-weight:600; line-height:1.55; }
.tarif-fine b{ color:var(--ink); font-weight:700; }
.tarif-fine a{ color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.page-home .pfine{ text-align:center; color:var(--ink-soft); font-size:var(--fs-sm); margin-top:clamp(22px,3vw,32px); font-weight:600; }

.page-home .pfine a{ color:var(--ink); text-decoration:underline; text-underline-offset:3px; }

/* Footer-CTA */
.page-home .footer-cta .footer-alt{ margin-top:clamp(20px,2.6vw,30px); font-weight:700; color:var(--ink); }

.page-home .footer-cta .footer-alt a{ color:var(--ink); text-decoration:underline; text-underline-offset:3px; }

.page-home .footer-cta .footer-alt i{ font-size:.85em; vertical-align:-1px; }

/* Wofür diese Seite ist, nach dem Muster der Hilfe-Seiten */
.page-module .mod-usefor{ max-width:52rem; margin:0 0 clamp(18px,2.4vw,28px); font-size:var(--fs-sm); color:var(--ink-soft); line-height:1.6; font-weight:600; }
.page-module .mod-usefor .pip{ display:inline-block; width:.55rem; height:.55rem; border-radius:50%; background:var(--acid); margin-right:.55rem; vertical-align:.05em; }
.page-module .mod-usefor .alt{ color:var(--ink-soft); font-weight:500; }
.page-module .feat-tarif{ margin:clamp(18px,2.4vw,26px) auto 0; max-width:44rem; font-size:var(--fs-sm); color:var(--ink-soft); font-weight:600; }
.page-module .feat-tarif a{ color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.page-module .feat-check{ margin-top:clamp(24px,3vw,36px); }
/* Vertrauenszeile mittig unter dem zentrierten Feld, sonst hängt sie links */
.page-module .feat-check .note, .page-zielgruppen .zg-check .note{ justify-content:center; }

/* Sofort-Check-Feld ohne Seiten-Scope, weil Startseite und Funktions-Seiten es teilen */
.checkfield{ display:flex; gap:.4rem; align-items:center; max-width:520px; background:var(--paper); border:2px solid var(--ink); border-radius:var(--r-pill); padding:.4rem; box-shadow:5px 5px 0 var(--ink); margin-inline:auto; }

/* Feld füllt die Pille als Tippfläche; Fokusring innen, weil der Schatten ihn außen verdeckt */
.checkfield input{ flex:1; min-width:0; align-self:stretch; padding:0 .6rem 0 1.1rem; border:none; background:transparent; outline:none; font-family:inherit; font-size:var(--fs-body); color:var(--ink); border-radius:var(--r-pill); }
.checkfield:focus-within{ outline:2px solid transparent; box-shadow:5px 5px 0 var(--ink), inset 0 0 0 1px var(--ink), inset 0 0 0 4px var(--acid); }

.checkfield input::placeholder{ color:var(--ink-soft); }

.checkfield .btn{ flex:0 0 auto; }
/* Unter 400 px untereinander, nebeneinander schneidet der Knopf den Platzhalter ab */
@media (max-width:400px){
  .checkfield{ flex-direction:column; align-items:stretch; gap:.45rem; border-radius:var(--r-box); }
  .checkfield input{ min-height:44px; padding:0 .8rem; }
  .checkfield .btn{ justify-content:center; }
}

/* Vergleichs-Ergebnis (Du vs. Wettbewerber) */
.cmp-result{ padding:0; }

.cmp-verdict{ padding:clamp(24px,3vw,38px); }


.cmp-verdict h3{ margin:0 0 .3em; font-size:var(--fs-h3); font-weight:900; letter-spacing:-.02em; }

.cmp-verdict p{ color:var(--ink-soft); margin:0; max-width:56ch; }

.cmp-grid{ display:grid; grid-template-columns:1fr 1fr; border-top:2px solid var(--ink); }

.cmp-col{ padding:clamp(18px,2.4vw,28px) clamp(20px,2.6vw,30px); }

.cmp-col + .cmp-col{ border-left:1px solid rgba(0,0,0,.12); }

.cmp-dom{ font-weight:900; letter-spacing:-.01em; font-size:var(--fs-body); margin-bottom:.9rem; word-break:break-word; }

.cmp-self{ display:block; font-weight:600; font-size:var(--fs-xs); color:var(--ink-soft); }

.cmp-row{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem; padding:.7rem 0; border-top:1px solid rgba(0,0,0,.08); }

.cmp-row:first-of-type{ border-top:none; }

.cmp-k{ font-size:var(--fs-sm); color:var(--ink-soft); font-weight:600; }

.cmp-v{ font-weight:800; font-size:var(--fs-body); white-space:nowrap; }
 .cmp-v small{ color:var(--ink-soft); font-weight:700; font-size:.7em; }

.cmp-row.win .cmp-v{ color:var(--good); }

.cmp-row.win .cmp-k::after{ content:""; display:inline-block; width:9px; height:9px; margin-left:.4em; border-radius:50%; background:var(--good); }

.cmp-note{ padding:0 clamp(20px,2.6vw,30px) clamp(18px,2vw,24px); margin:0; color:var(--ink-soft); font-size:var(--fs-sm); line-height:1.5; }

.cmp-share{ padding:0 clamp(20px,2.6vw,30px) clamp(16px,2vw,22px); margin:0; }

.cmp-share a{ font-weight:700; color:var(--ink); text-decoration:underline; text-underline-offset:3px; font-size:var(--fs-sm); }

@media (max-width:560px){ .cmp-grid{ grid-template-columns:1fr; }
 .cmp-col + .cmp-col{ border-left:none; border-top:2px solid var(--ink); }
 }

.page-home .footer-cta .note{ justify-content:center; color:var(--ink); }

.footer-cta [data-check-widget]{ max-width:520px; margin-inline:auto; }

[hidden]{ display:none !important; }

.check-error{ margin-top:1rem; color:var(--amber-deep); font-size:var(--fs-sm); font-weight:700; scroll-margin-bottom:1.5rem; }

.check-error a{ display:inline-block; margin-top:.35rem; color:inherit; text-decoration:underline; text-underline-offset:3px; }

.check-loading{ margin-top:1.2rem; display:flex; align-items:center; gap:.7rem; color:var(--ink-soft); font-size:var(--fs-sm); font-weight:600; justify-content:inherit; }

.check-loading .spin{ width:22px; height:22px; border:3px solid rgba(0,0,0,.14); border-top-color:var(--ink); border-radius:50%; animation:spin .8s linear infinite; flex:0 0 auto; }





/* Ohne Seiten-Scope: das Ergebnis wird per AJAX in Startseite und Funktions-Seiten eingesetzt */
.result{ overflow:hidden; max-width:880px; margin-inline:auto; text-align:left; }

.bridge{ background:var(--ink); color:#fff; padding:clamp(20px,2.6vw,30px) clamp(24px,3vw,38px); display:flex; flex-wrap:wrap; gap:1rem 1.6rem; align-items:center; justify-content:space-between; }

.bridge strong{ font-weight:800; font-size:var(--fs-body); }

.bridge span{ display:block; color:var(--shadow); font-size:var(--fs-sm); margin-top:.25em; }
.serp{ max-width:600px; font-family:Arial,-apple-system,system-ui,sans-serif; }

.serp-head{ display:flex; align-items:center; gap:8px; margin-bottom:3px; }

.serp-fav{ width:26px; height:26px; border-radius:50%; background:#f1f3f4; display:flex; align-items:center; justify-content:center; flex:0 0 auto; }

.serp-fav i{ font-size:14px; color:#5f6368; }

.serp-site{ font-size:12px; line-height:1.3; min-width:0; }

.serp-site .name{ color:#202124; }

.serp-site .url{ color:#5f6368; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* Kopie der .serp-Replik aus app.css, die Startseite lädt app.css nicht; synchron halten */
.serp-title{ color:#1a0dab; font-size:20px; line-height:1.3; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.serp-title:visited{ color:#681da8; }

.serp-desc{ color:#4d5156; font-size:14px; line-height:1.58; margin-top:3px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

.serp-desc.empty{ color:#9aa3b2; font-style:italic; }

/* Befund-Liste und Vergleich der Momentaufnahme */
.cr-todos{ list-style:none; margin:1.1rem 0 0; padding:0; }

.cr-todos li{ display:flex; gap:.75rem; padding:.65rem 0; border-top:1px solid rgba(0,0,0,.1); }

.cr-todos li:first-child{ border-top:none; }

.cr-dot{ width:11px; height:11px; border-radius:50%; border:2px solid var(--ink); margin-top:.4em; flex:0 0 auto; }

.cr-dot.warn{ background:var(--amber-deep); }
 .cr-dot.info{ background:var(--paper); }

.cr-todos b{ font-weight:800; }
 .cr-todos li > span > span{ display:block; color:var(--ink-soft); font-size:var(--fs-sm); font-weight:500; margin-top:.1em; }

/* Vergleich als Block im Ergebnis */
.cr-vs{ margin-top:clamp(24px,3vw,34px); border-top:2px solid var(--ink); padding-top:clamp(16px,2vw,22px); }

.cr-vs-lbl{ font-weight:800; font-size:var(--fs-body); margin:0 0 .85rem; font-family:var(--font); letter-spacing:0; line-height:1.3; text-transform:none; }

.cr-vsform{ display:flex; flex-wrap:wrap; gap:.5rem; }

.cr-vsform input[type="text"]{ flex:1 1 8.5rem; min-width:0; border:2px solid var(--ink); border-radius:var(--r-sm); padding:.62rem .9rem; font-family:inherit; font-size:var(--fs-sm); background:var(--paper); color:var(--ink); }
/* iOS zoomt in Felder unter 16px */
@media (pointer:coarse){ .cr-vsform input[type="text"]{ font-size:1rem; } }

.cr-vsform input::placeholder{ color:var(--ink-soft); }

/* Suchwort-Feld schmaler, damit „wettbewerber.de“ auf 390 px ganz lesbar bleibt */
.cr-vsform input[name="keyword"]{ flex-basis:6.5rem; }

/* +2px ersetzt den Rahmen der Felder, so sind Knopf und Felder gleich hoch */
.cr-vsform .btn{ flex:0 0 auto; font-size:var(--fs-sm); padding:calc(.62rem + 2px) 1.2rem; }

.cr-vs-error{ margin:.7rem 0 0; color:var(--amber-deep); font-size:var(--fs-sm); font-weight:700; }

.cr-vs-loading{ margin:.7rem 0 0; color:var(--ink-soft); font-size:var(--fs-sm); font-weight:600; }

/* „Frag die KI selbst“ ohne Scope, weil sie auf mehreren Seiten steht */
.fdk{ margin-top:clamp(24px,3vw,34px); border-top:2px solid var(--ink); padding-top:clamp(16px,2vw,22px); text-align:left; }
.fdk-h{ display:flex; align-items:center; gap:.45rem; font-weight:800; font-size:var(--fs-body); margin:0 0 .35rem; }
.fdk-sub{ margin:0 0 .8rem; color:var(--ink-soft); font-size:var(--fs-sm); line-height:1.5; max-width:56ch; }
.fdk-lbl{ position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.fdk-q{ display:block; width:100%; box-sizing:border-box; border:2px solid var(--ink); border-radius:var(--r-sm); padding:.62rem .9rem; font-family:inherit; font-size:var(--fs-body); line-height:1.45; background:var(--paper); color:var(--ink); resize:vertical; field-sizing:content; } /* 16 px: iOS zoomt sonst beim Antippen */
.fdk-btns{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.6rem; }
.fdk-btns .btn{ font-size:var(--fs-sm); padding:.62rem 1.1rem; }
.fdk-hint{ margin:.8rem 0 0; font-size:var(--fs-2sm); color:var(--ink-soft); line-height:1.5; max-width:60ch; }


/* Momentaufnahme des Sofort-Checks */
.page-moment{ background:var(--ash); }
.mo{ padding-block:clamp(18px,2.6vw,36px) clamp(56px,7vw,96px); }

.mo-stand{ display:flex; flex-wrap:wrap; align-items:center; gap:.6rem 1.4rem; margin-bottom:clamp(18px,2.6vw,30px); font-size:var(--fs-sm); color:var(--ink-soft); }
.mo-zurueck{ display:inline-flex; align-items:center; gap:.4rem; font-weight:700; color:var(--ink); text-decoration:none; }
.mo-zurueck:hover{ text-decoration:underline; text-underline-offset:3px; }
.mo-standtext b{ color:var(--ink); font-weight:800; }
.mo-neu{ margin-left:auto; }
.mo-neu .btn{ font-size:var(--fs-sm); padding:.55rem 1.05rem; }
.mo-neu .check-error{ margin-top:.5rem; }
@media (max-width:640px){ .mo-standtext{ flex-basis:100%; } .mo-neu{ margin-left:0; } }

.mo-grid{ display:grid; grid-template-columns:minmax(0,1.75fr) minmax(0,1fr); gap:clamp(28px,4.5vw,72px); align-items:start; }
@media (max-width:980px){ .mo-grid{ grid-template-columns:minmax(0,1fr); } }

.mo-mail .bm-mh{ padding:.95rem clamp(18px,3vw,32px); }
.mo-mail .bm-mh img{ height:18px; }
.mo-mh{ display:flex; flex-wrap:wrap; justify-content:flex-end; gap:0 .5rem; font-size:var(--fs-2xs); font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); text-align:right; }
.mo-mh span + span::before{ content:"·"; margin-right:.5rem; }
.mo-tag{ white-space:nowrap; }
@media (max-width:640px){ .mo-mh{ flex-direction:column; align-items:flex-end; } .mo-mh span + span::before{ content:none; } }
.mo-mail .bm-mb{ padding:clamp(20px,3vw,34px) clamp(18px,3vw,32px) clamp(22px,3vw,32px); }
.mo-mail .bm-hi{ margin:0 0 .6rem; font-size:var(--fs-body); }
.mo-lage{ margin:0; font-family:var(--font-head); font-weight:800; letter-spacing:-.05em; font-size:clamp(1.75rem,3.3vw,2.8rem); line-height:1.02; text-wrap:balance; text-transform:none; }
.mo-lage mark{ background:var(--acid); color:var(--ink); padding:0 .22em; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.mo-lede{ margin:.9rem 0 1.5rem; font-size:var(--fs-lead); color:var(--ink-soft); max-width:46ch; line-height:1.45; }

.bm-big.mo-zahl{ flex-wrap:wrap; gap:.3rem 1rem; padding:.9rem 1.1rem; margin-bottom:1.7rem; }
.mo-zahl .num{ font-size:clamp(2.2rem,4vw,3rem); }
.mo-zahl .mo-zahl-u{ flex-basis:100%; font-size:var(--fs-2sm); font-weight:500; color:var(--ink-soft); }
/* Urteilswort wie app.css .stat .w, Form statt Farbe allein; synchron halten */
.page-moment .w{ display:flex; align-items:center; gap:7px; font-size:var(--fs-sm); font-weight:800; white-space:nowrap; }
.page-moment .w::before{ content:''; width:9px; height:9px; border-radius:50%; background:var(--ink); flex:none; }
.page-moment .w.gut::before{ background:var(--good); }
.page-moment .w.mind::before{ background:transparent; border:2px solid var(--amber-deep); width:6px; height:6px; }
.page-moment .w.none::before{ border-radius:0; height:2px; width:10px; background:var(--ink-soft); }

.mo-lbl{ margin:0 0 .6rem; font-size:var(--fs-sm); font-weight:700; color:var(--ink-soft); }
.mo-spiegel{ margin-bottom:1.8rem; padding:1rem 1.1rem; background:var(--ash-soft); border-radius:var(--r-sm); }
.mo-spiegel .serp{ max-width:none; }

.mo-sache{ margin-bottom:1.4rem; padding-top:1.1rem; border-top:2px solid var(--ink); }
.mo-lead{ margin:0 0 .5rem; font-family:var(--font-head); font-weight:800; letter-spacing:-.04em; font-size:1.45rem; line-height:1.1; text-transform:none; }
.mo-tun{ margin:0; font-size:var(--fs-body); line-height:1.55; max-width:56ch; }
.mo-tun b{ font-weight:800; }
.mo-danach{ margin:.7rem 0 0; font-size:var(--fs-sm); color:var(--ink-soft); line-height:1.5; }
.mo-danach b{ color:var(--ink); }
.mo-danach .sep{ margin-inline:.3rem; }
.mo-ki{ margin:0 0 1.5rem; font-size:var(--fs-sm); line-height:1.5; }

/* Leerstellen der Kennzahl-Reihe: Urteilswort statt erfundener Zahl */
.mo-mail .mo-leer > div{ padding:.75rem .7rem .3rem 0; }
.mo-mail .mo-leer > div + div{ padding-left:.8rem; }
.mo-mail .mo-leer .k{ margin:0; font-size:.66rem; color:var(--ink); }
.mo-mail .mo-leer .w{ margin-top:.35rem; font-size:.7rem; font-weight:700; color:var(--ink-soft); white-space:nowrap; }
.mo-u{ display:block; margin-top:.25rem; font-size:.78rem; line-height:1.4; color:var(--ink-soft); }
@media (max-width:640px){
  .mo-mail .mo-leer{ grid-template-columns:minmax(0,1fr); }
  .mo-mail .mo-leer > div, .mo-mail .mo-leer > div + div{ display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:.8rem; padding:.55rem 0; border-left:0; }
  .mo-mail .mo-leer > div + div{ border-top:1px solid var(--ash-soft); }
  .mo-mail .mo-leer .w{ margin-top:0; white-space:nowrap; }
  .mo-u{ grid-column:1 / -1; margin-top:.1rem; }
  .mo-mail .bm-mb{ padding:18px 16px 20px; }
  .mo-lede{ margin:.7rem 0 1.1rem; font-size:var(--fs-body); }
  .bm-big.mo-zahl{ margin-bottom:1.2rem; }
  .mo-spiegel{ margin-bottom:1.2rem; padding:.8rem; }
  .mo-mail .bm-mf{ padding-top:.8rem; }
  .mo-mail .bm-bot{ width:60px; height:62px; }
  .mo-mail .bm-bot .bot{ width:60px; }
}
/* Score-Kasten und Leerstellen der Momentaufnahme im Look der Mail; nach den .mo-Regeln, damit die Reihenfolge wie bisher entscheidet */
.bm-big{ display:flex; align-items:center; gap:1.2rem; margin-bottom:.9rem; padding:.65rem .95rem; background:var(--ash-soft); border-radius:var(--r-sm); }
.bm-big .num{ font-family:var(--font-head); font-weight:800; letter-spacing:-.04em; font-size:1.9rem; line-height:1; }
.bm-big span + span{ font-weight:700; font-size:.76rem; }
.bm-kpis{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:2px solid var(--ink); }
.bm-kpis > div{ padding:.6rem .5rem .3rem 0; }
.bm-kpis > div + div{ padding-left:.6rem; border-left:1px solid var(--ash-soft); }
.bm-kpis .k{ display:block; margin-top:.15rem; font-size:.58rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; line-height:1.3; color:var(--ink-soft); }
@media (max-width:560px){ .bm-kpis{ grid-template-columns:repeat(2,minmax(0,1fr)); } .bm-kpis > div:nth-child(3){ padding-left:0; border-left:0; } }
.mo-leer-satz{ margin:.9rem 0 0; font-size:var(--fs-sm); font-weight:600; }

.mo-anker{ padding-top:clamp(0px,1.6vw,24px); }
.mo-anker h2{ margin:0 0 1.1rem; font-family:var(--font-head); font-weight:800; text-transform:uppercase; letter-spacing:-.04em; font-size:clamp(2rem,3.3vw,3.1rem); line-height:.94; max-width:12ch; }
.mo-anker p{ margin:0 0 .9rem; font-size:var(--fs-body); line-height:1.55; max-width:40ch; }
.mo-anker .btn{ margin-top:.7rem; }

.mo-mehr{ max-width:var(--read); margin-top:clamp(44px,5.5vw,80px); }
.mo-mehr > :first-child{ margin-top:0; }
.mo-vs-sub{ margin:-.45rem 0 .85rem; font-size:var(--fs-sm); color:var(--ink-soft); line-height:1.5; }
.mo-zahlen{ margin-top:clamp(24px,3vw,34px); padding-top:clamp(16px,2vw,22px); border-top:2px solid var(--ink); }
.mo-zahlen h2{ margin:0 0 .35rem; font-family:var(--font); font-size:var(--fs-body); font-weight:800; letter-spacing:0; line-height:1.3; text-transform:none; }
.mo-zahlen-satz{ margin:0 0 .6rem; font-size:var(--fs-sm); color:var(--ink-soft); }
.mo-zg{ margin:1.1rem 0 0; font-family:var(--font); font-size:var(--fs-sm); font-weight:800; letter-spacing:0; line-height:1.3; text-transform:none; }
.mo-todos{ margin-top:.3rem; }
.mo-teilen-lbl{ margin-top:1.8rem; }

/* Einblendung nur direkt nach dem Absenden, sonst steht sofort der Endzustand */
@keyframes mo-auf{ from{ opacity:0; } to{ opacity:1; } }
@media (prefers-reduced-motion:no-preference){
  html.mo-neu .mo-auf{ animation:mo-auf .32s ease both; animation-delay:calc(var(--i, 0) * 55ms); }
}

/* Nicht gefunden und Fehler ohne JavaScript */
.mo-weg{ text-align:center; padding-block:clamp(56px,8vw,120px); }
.mo-weg h1{ margin:0 auto 1rem; max-width:18ch; font-family:var(--font-head); font-weight:800; text-transform:uppercase; letter-spacing:-.04em; font-size:var(--fs-h2); line-height:.95; }
.mo-weg-lede{ max-width:46ch; margin:0 auto 2rem; font-size:var(--fs-lead); color:var(--ink-soft); }
.mo-weg-cta{ margin:-1rem 0 2rem; font-weight:700; }
.mo-weg-cta a{ color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.mo-weg .note{ justify-content:center; }

/* Knopf „Einen Moment …“ während der Prüfung (check-widget.js) */
.spin-btn{ display:inline-block; width:15px; height:15px; border:2.5px solid color-mix(in srgb, currentColor 30%, transparent); border-top-color:currentColor; border-radius:50%; animation:spin .8s linear infinite; vertical-align:-2px; }
.checkfield .btn[disabled], .cr-vsform .btn[disabled], .mo-neu .btn[disabled]{ opacity:1; cursor:progress; }

.zone{ display:inline-flex; align-items:flex-start; gap:6px; font-size:var(--fs-xs); }

.zone-dot{ width:8px; height:8px; border-radius:50%; flex:0 0 auto; margin-top:calc((1lh - 8px) / 2); }

.zone-good .zone-dot{ background:var(--good); }
 .zone-review .zone-dot{ background:var(--ink-soft); }
 .zone-fix .zone-dot{ background:var(--ink); }

.zone-good{ color:var(--good); }
 .zone-review{ color:var(--ink-soft); }
 .zone-fix{ color:var(--ink); }

.serp-preview{ display:flex; flex-direction:column; gap:20px; }

.serp-col-main{ min-width:0; flex:1; }
/* Teilen-Karte: Kopie aus app.css, synchron halten */
.serp-col-ogc{ width:100%; flex-shrink:0; }
@media (min-width:640px){ .serp-col-ogc{ width:280px; } }
.ogc{ max-width:504px; border:1px solid #cfd9de; border-radius:var(--r-box); overflow:hidden; background:#fff; }
.ogc-img{ aspect-ratio:1.91/1; background:#eaedf1 center/cover no-repeat; display:flex;
  align-items:center; justify-content:center; }
.ogc-img i{ font-size:28px; color:#9aa3b2; }
.ogc-body{ padding:10px 14px; }
.ogc-host{ font-size:13px; color:#536471; line-height:1.3; }
.ogc-title{ font-size:15px; font-weight:700; color:#0f1419; line-height:1.3; margin-top:2px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ogc-desc{ font-size:14px; color:#536471; line-height:1.3; margin-top:2px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.serp-ognote{ font-size:var(--fs-xs); color:var(--ink); margin-top:8px; }

.serp-eyebrow{ font-size:var(--fs-xs); text-transform:uppercase; letter-spacing:.04em; color:var(--ink-soft); margin-bottom:8px; }

.serp-zones{ margin-top:12px; display:flex; flex-direction:column; gap:6px; }






/* Substanz-Sektionen */

/* Frage-Kasten: Ink nur als Kasten, als Vollfläche wirkt es zu wuchtig */
.page-home .frage{ padding-block:clamp(20px,3.5vw,52px); text-align:center; }
.page-home .frage-box{ background:var(--ink); color:var(--on-dark); border-radius:var(--r-card); box-shadow:8px 8px 0 var(--shadow); padding:clamp(40px,6vw,88px) clamp(22px,5vw,72px); }
.page-home .frage h2{ font-size:var(--fs-h1); text-transform:uppercase; line-height:.95; color:var(--paper); max-width:20ch; margin:0 auto; text-wrap:balance; hyphens:none; }
@media (max-width:640px){ .page-home .frage h2{ font-size:var(--fs-h2); } }
@media (max-width:480px){ .page-home .frage h2{ font-size:2.25rem; } }
.page-home .frage-text{ font-size:var(--fs-lead); font-weight:500; line-height:1.5; max-width:46ch; margin:1.6rem auto 0; color:var(--on-dark); }
.page-home .frage .punch{ margin:1.6rem 0 0; font-size:var(--fs-h3); letter-spacing:-.04em; line-height:1.2; color:var(--paper); }
.page-home .frage .punch em{ font-style:normal; color:var(--acid); }
.page-home .frage ::selection{ background:var(--acid); color:var(--ink); }

/* Comic: ein Streifen mit einem Schatten, unter 980 px drei einzelne Panels */
.page-home .comic{ padding-block:clamp(56px,7vw,100px) clamp(40px,5vw,72px); }
.page-home .comic-strip{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(22px,2.4vw,34px) 0; }
.page-home .comic-panel{ --start:0s; position:relative; min-width:0; }
.page-home .comic-no{ position:absolute; top:-16px; left:-12px; z-index:6; width:2.4rem; height:2.4rem; display:grid; place-items:center; background:var(--acid); border:2px solid var(--ink); border-radius:50%; font-family:var(--font-head); font-weight:800; font-size:1.25rem; line-height:1; }
.page-home .comic-stage{ position:relative; min-width:0; min-height:370px; padding:24px; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; background:var(--paper); border:2px solid var(--ink); border-radius:0; box-shadow:6px 6px 0 var(--ink); }
.page-home .comic-panel + .comic-panel .comic-stage{ margin-left:-2px; }
.page-home .comic-panel:first-child .comic-stage{ border-radius:var(--r-card) 0 0 var(--r-card); }
.page-home .comic-panel:last-child .comic-stage{ border-radius:0 var(--r-card) var(--r-card) 0; }
.page-home .comic-panel h3{ font-size:var(--fs-h3); margin:1.3rem 0 .3rem; }
.page-home .comic-panel > p{ margin:0; max-width:34ch; color:var(--ink-soft); font-weight:500; }
.page-home .comic-panel > :is(h3, p){ padding-right:clamp(16px,2.4vw,34px); }
.page-home .comic-panel + .comic-panel > :is(h3, p){ padding-left:clamp(14px,1.6vw,24px); }
.page-home .comic-bubble{ position:absolute; top:26px; left:22px; z-index:4; max-width:80%; margin:0; padding:.6rem .9rem; background:var(--paper); border:2px solid var(--ink); border-radius:18px; font-family:var(--font-head); font-weight:800; letter-spacing:-.04em; font-size:1.1rem; line-height:1.2; }
/* Blase 2 so groß wie Blase 3, fest in zwei Zeilen: „Moment, ich schau / mir alles an.“ */
.page-home .comic-strip > li:nth-child(2) .comic-bubble{ font-size:1.3rem; max-width:none; white-space:nowrap; }
.page-home .comic-strip > li:nth-child(3) .comic-bubble{ font-size:1.3rem; }
.page-home .comic-bubble::after{ content:""; position:absolute; bottom:-9px; left:34px; width:14px; height:14px; background:var(--paper); border-right:2px solid var(--ink); border-bottom:2px solid var(--ink); transform:rotate(45deg); }
.page-home .comic-bar{ display:grid; grid-template-columns:4.6rem minmax(0,1fr); align-items:center; gap:.6rem; font-size:var(--fs-sm); font-weight:700; }
.page-home .comic-bar .t{ height:12px; overflow:hidden; background:var(--paper); border:2px solid transparent; border-radius:var(--r-pill); }
.page-home .comic-bar .t span{ display:block; width:100%; height:100%; background:var(--acid); }
/* a · lugt über das Prüf-Feld */
.page-home .comic-stage.is-peek{ background:linear-gradient(180deg, var(--paper) 35%, color-mix(in srgb, var(--acid) 22%, var(--paper)) 100%); }
.page-home .is-peek .comic-bubble{ left:50%; top:60px; transform:translateX(-50%); width:max-content; max-width:86%; text-align:center; }
.page-home .is-peek .comic-bubble::after{ left:50%; margin-left:-7px; }
.page-home .comic-field{ position:relative; z-index:2; width:100%; max-width:none; height:58px; margin:0; padding:.3rem .3rem .3rem 1rem; box-shadow:none; }
.page-home .comic-field .btn{ padding:.7em 1.05em; font-size:var(--fs-sm); pointer-events:none; }
.page-home a.comic-field{ color:inherit; text-decoration:none; cursor:pointer; }
.page-home .comic-panel h3 a{ color:inherit; text-decoration:underline 3px var(--acid); text-underline-offset:4px; }
.page-home .comic-type{ flex:1; min-width:0; display:flex; align-items:center; overflow:hidden; white-space:nowrap; font-weight:600; font-size:var(--fs-sm); }
.page-home .comic-type .caret{ width:2px; height:1.2em; margin-left:2px; flex:0 0 auto; background:var(--ink); }
.page-home .comic-peek{ position:absolute; left:50%; bottom:68px; z-index:1; width:150px; height:104px; margin-left:-75px; overflow:hidden; }
.page-home .comic-peek .bot{ width:150px; }
.page-home .comic-hand{ position:absolute; z-index:3; bottom:70px; width:17px; height:24px; background:var(--paper); border:3.5px solid var(--ink); border-radius:9px; }
.page-home .comic-hand.l{ left:calc(50% - 66px); transform:rotate(14deg); }
.page-home .comic-hand.r{ left:calc(50% + 49px); transform:rotate(-14deg); }
/* b · misst */
.page-home .is-scan .comic-bubble::after{ left:44px; }
.page-home .comic-row{ display:flex; align-items:flex-end; gap:16px; }
.page-home .comic-scanbot{ width:112px; flex:0 0 auto; margin-bottom:-8px; }
.page-home .comic-scanbot .bot{ width:112px; }
.page-home .comic-scanbot .bot-arm{ transform-box:view-box; transform-origin:202px 129px; transform:rotate(-62deg); }
.page-home .comic-scanbot .bot-arm .bot-el{ transform-box:view-box; transform-origin:219px 154px; transform:rotate(-36deg); }
.page-home .comic-measure{ flex:1; min-width:0; display:grid; gap:.55rem; margin-bottom:34px; padding:.9rem 1rem; background:var(--ash-soft); border:2px solid transparent; border-radius:var(--r-box); }
/* c · steht auf dem Bericht */
.page-home .comic-stage.is-sit{ background:var(--paper); }
.page-home .is-sit .comic-bubble{ max-width:56%; }
.page-home .is-sit .comic-bubble::after{ left:auto; right:26px; }
.page-home .comic-paper{ position:relative; padding:1rem 1.1rem; background:var(--ash-soft); border:2px solid transparent; border-radius:var(--r-box); }
.page-home .comic-paper .kw{ display:inline-block; padding:.1em .45em; background:var(--acid); border-radius:var(--r-tag); font-family:var(--font-head); font-weight:800; font-size:var(--fs-sm); }
.page-home .comic-paper p{ max-width:17ch; margin:.5rem 0 .8rem; font-family:var(--font-head); font-weight:800; letter-spacing:-.04em; font-size:1.3rem; line-height:1.15; }
.page-home .comic-paper .comic-bar{ grid-template-columns:5.6rem minmax(0,1fr); }
.page-home .comic-sitbot{ position:absolute; right:18px; bottom:calc(100% - 15px); width:118px; }
.page-home .comic-sitbot .bot{ width:118px; }
.page-home .comic-peek .bot-bob, .page-home .comic-sitbot .bot-bob{ animation:none; }
.page-home .comic-scanbot .bot-scan .bot-eye{ transform-box:fill-box; animation:comic-scan 2.4s ease-in-out infinite; }
.page-home .comic-scanbot .bot-scan .bot-headface{ transform-box:view-box; animation:comic-scan-head 2.4s ease-in-out infinite; }
@keyframes comic-scan{ 0%,100%{ transform:translateX(-11px); } 50%{ transform:translateX(11px); } }
@keyframes comic-scan-head{ 0%,100%{ transform:translateX(-4.5px); } 50%{ transform:translateX(4.5px); } }
@keyframes comic-blink{ 50%{ opacity:0; } }
@keyframes comic-typing{ to{ clip-path:inset(0 0 0 0); } }
@keyframes comic-fill{ to{ width:100%; } }
/* Ploppen per scale und translate hält die Zentrierung, bewusste Ausnahme von nur Opacity; .is-los setzt public.js */
@media (min-width:981px){
  .page-home .comic-panel:nth-child(2){ --start:1.05s; }
  .page-home .comic-panel:nth-child(3){ --start:2.15s; }
}
@keyframes comic-druck{ 50%{ transform:scale(.92); } }
@keyframes comic-ploppt{ 0%{ opacity:0; scale:.8; translate:0 8px; } 100%{ opacity:1; scale:1; translate:0 0; } }
@keyframes comic-wachsen{ from{ width:0; } }
@media (prefers-reduced-motion:no-preference){
  .page-home .comic-type .caret{ animation:comic-blink 1s steps(1) infinite; }
  .page-home .comic-strip.is-armed .comic-type .txt{ clip-path:inset(0 100% 0 0); }
  .page-home .comic-strip.is-armed .comic-measure .t span{ width:0; }
  .page-home .comic-strip.is-armed .comic-bubble, .page-home .comic-strip.is-armed .comic-paper{ opacity:0; }
  /* Panel 1: Blase, Adresse tippt, Knopf wird gedrückt */
  .page-home .comic-strip.is-armed .comic-panel.is-los .comic-bubble{ animation:comic-ploppt .38s cubic-bezier(.3,1.5,.5,1) calc(var(--start) + .08s) both; }
  .page-home .comic-strip.is-armed .comic-panel.is-los .comic-type .txt{ animation:comic-typing .62s steps(11) calc(var(--start) + .34s) forwards; }
  .page-home .comic-strip.is-armed .comic-panel.is-los .comic-field .btn{ animation:comic-druck .26s ease calc(var(--start) + 1s) both; }
  /* Panel 2: Blase, dann die Balken nacheinander */
  .page-home .comic-strip.is-armed .comic-panel.is-los .comic-measure .t span{ animation:comic-fill .42s cubic-bezier(.3,.8,.3,1) calc(var(--start) + .3s) forwards; }
  .page-home .comic-strip.is-armed .comic-panel.is-los .comic-measure .comic-bar:nth-child(2) .t span{ animation-delay:calc(var(--start) + .42s); }
  .page-home .comic-strip.is-armed .comic-panel.is-los .comic-measure .comic-bar:nth-child(3) .t span{ animation-delay:calc(var(--start) + .54s); }
  .page-home .comic-strip.is-armed .comic-panel.is-los .comic-measure .comic-bar:nth-child(4) .t span{ animation-delay:calc(var(--start) + .66s); }
  /* Panel 3: der Bericht kommt samt Bot, der Balken wächst, zuletzt die Blase */
  .page-home .comic-strip.is-armed .comic-panel.is-los .comic-paper{ animation:reveal-up .32s ease var(--start) both; }
  .page-home .comic-strip.is-armed .comic-panel.is-los .comic-paper .comic-bar .t span{ animation:comic-wachsen .48s cubic-bezier(.3,.8,.3,1) calc(var(--start) + .24s) both; }
  .page-home .comic-strip.is-armed .comic-panel.is-los .is-sit .comic-bubble{ animation:comic-ploppt .38s cubic-bezier(.3,1.5,.5,1) calc(var(--start) + .48s) both; }
}
@media (prefers-reduced-motion:reduce){ .page-home .comic-scanbot .bot-scan .bot-eye, .page-home .comic-scanbot .bot-scan .bot-headface{ animation:none; } }
@media (max-width:980px){
  .page-home .comic-strip{ grid-template-columns:minmax(0,1fr); max-width:460px; margin-inline:auto; }
  .page-home .comic-panel:nth-child(n) .comic-stage{ margin-left:0; border-radius:var(--r-card); }
  .page-home .comic-panel:nth-child(n) > :is(h3, p){ padding-inline:0; }
}
@media (min-width:600px) and (max-width:980px){ .page-home .comic .sec-head{ text-align:center; } .page-home .comic .sec-head h2{ margin-inline:auto; } }
@media (max-width:480px){ .page-home .comic-field .btn{ padding:.7em .8em; } }


/* Bento: Modul-Captions + KI */
.page-home .b-mod .foot .name{ display:block; margin-top:0; }

.page-home .b-mod .cap{ font-size:var(--fs-sm); color:var(--ink-soft); font-weight:500; line-height:1.3; margin:.4rem 0 0; }

.page-home .b-ki .honest{ font-size:var(--fs-xs); color:var(--ink-soft); font-weight:500; line-height:1.4; margin:.9rem 0 0; }

.page-home .b-ki .honest b{ color:var(--ink); font-weight:700; }


/* Macher: der Weg zur Über-Seite */
.page-home .maker-more{ display:inline-flex; align-items:center; gap:.45em; margin-top:1.5rem; font-weight:800; font-size:var(--fs-body); color:var(--ink); text-decoration:none; border-bottom:3px solid var(--acid); padding-bottom:2px; }

.page-home .maker-more i{ transition:transform .14s; }
@media (hover:hover) and (pointer:fine){ .page-home .maker-more:hover i{ transform:translateX(3px); } }




/* Startseite: Paper für Persönliches, Acid für Erleichterung, Ash für Service, Kästen nur für Objekte */

/* Mail-Knopf ist hier kein CTA, deshalb weiß ohne Schatten; in der Tab-Szene bleibt er grün */
.page-home .bm{ background:var(--paper); padding-block:clamp(64px,8vw,120px) clamp(48px,6vw,90px); }
.page-home .bm .sec-head{ text-align:left; }
.page-home .bm .sec-head h2{ margin-inline-start:calc(-1 * var(--bearing-head)); }
.page-home .bm .bm-note{ text-align:left; margin-inline:0; }
.page-home .bm-cta{ background:var(--paper); box-shadow:none; }

/* Tab-Szene: fremde Tool-Haut als bewusste Replik-Ausnahme */
.page-home .nachsehen{ background:var(--paper); padding-bottom:clamp(24px,3vw,48px); }
.page-home .nachsehen + .bm{ padding-top:clamp(32px,4vw,64px); }
.page-home .nachsehen .sec-lead{ max-width:54ch; }

/* Fenster bewusst im fremden Browser-Look, wie die SERP-Replik */
.page-home .tabwin{ --fremd:system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; position:relative; margin-top:clamp(28px,3.5vw,48px); overflow:hidden; background:#fff; border:1px solid #cfd1d4; border-radius:14px; box-shadow:0 26px 48px -20px rgba(12,15,19,.38), 0 2px 6px rgba(12,15,19,.08); transition:border-color .5s ease, box-shadow .5s ease; }
.page-home .tabwin-leiste{ display:flex; align-items:flex-end; gap:6px; padding:10px 12px 0; background:#e8e9eb; box-shadow:inset 0 -1px 0 #d3d5d8; overflow:hidden; transition:background-color .5s ease, box-shadow .5s ease; }
.page-home .ampel{ flex:0 0 auto; display:flex; gap:7px; width:50px; align-self:center; margin:0 10px 8px 4px; overflow:hidden; transition:opacity .3s ease, width .45s ease, margin .45s ease; }
.page-home .ampel i{ width:12px; height:12px; border-radius:50%; background:#ff5f57; }
.page-home .ampel i:nth-child(2){ background:#febc2e; }
.page-home .ampel i:nth-child(3){ background:#28c840; }
.page-home .tab{ flex:1 1 0; min-width:0; max-width:230px; display:flex; align-items:center; gap:.5rem; padding:.55rem .7rem; background:#dcdee1; border:1px solid #d3d5d8; border-bottom:0; border-radius:10px 10px 0 0; font-family:var(--fremd); font-size:13px; font-weight:500; color:#5f6368; white-space:nowrap; transition:max-width .3s ease, padding .3s ease, opacity .2s ease, margin .3s ease, flex-grow .3s ease; }
.page-home .tab .t{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; }
.page-home .tab.is-aktiv{ background:#fff; color:#202124; }
.page-home .fav{ flex:0 0 auto; width:16px; height:16px; display:grid; place-items:center; border-radius:4px; background:var(--fav); color:#fff; font-size:10px; }
.page-home .tab .x{ flex:0 0 auto; padding:3px; border-radius:50%; font-size:.85em; color:#5f6368; transition:background-color .12s, color .12s; }
.page-home .tab.drueck .x{ background:#c4c7cb; color:#202124; }
.page-home .nochmal{ flex:0 0 auto; align-self:center; display:inline-flex; align-items:center; gap:.4rem; margin:0 0 8px auto; padding:.4rem .8rem .4rem .65rem; background:var(--acid); border:2px solid var(--ink); border-radius:var(--r-pill); font:700 12.5px/1 var(--font); color:var(--ink); cursor:pointer; box-shadow:2px 2px 0 var(--ink); transition:box-shadow .15s ease, translate .15s ease; }
@media (hover:hover) and (pointer:fine){ .page-home .nochmal:hover{ box-shadow:3px 3px 0 var(--ink); translate:-1px -1px; } }
.page-home .nochmal i{ font-size:14px; transition:transform .5s cubic-bezier(.3,1.4,.5,1); }
@media (hover:hover) and (pointer:fine){ .page-home .nochmal:hover i{ transform:rotate(200deg); } }
@media (max-width:760px){ .page-home .tabwin-leiste{ position:relative; } .page-home .nochmal span{ display:none; } .page-home .nochmal{ position:absolute; top:9px; right:10px; z-index:2; margin:0; padding:.45rem; box-shadow:2px 2px 0 var(--ink), -14px 0 12px 2px #e8e9eb; } }
@media (prefers-reduced-motion: reduce){ .page-home .nochmal i{ transition:none; } }
.page-home .tab.zu{ flex-grow:0; max-width:0; padding-inline:0; margin-inline:-3px; opacity:0; border-width:0; }
/* Schmale Leiste: das Kreuz trägt nur der aktive Tab, auf ihm landet der Zeiger */
@media (min-width:761px){ .page-home .tab-ganz:not(.zu){ min-width:max-content; } }
@media (min-width:761px) and (max-width:1279px){ .page-home .tab:not(.is-aktiv) .x{ display:none; } }
@media (min-width:761px) and (max-width:1023px){ .page-home .tab:not(.tab-ganz):not(.tab-mail){ flex:0 0 auto; } .page-home .tab:not(.tab-ganz):not(.tab-mail) .t{ display:none; } }

.page-home .tabwin-inhalt{ position:relative; min-height:clamp(468px,36vw,520px); }
.page-home .ti{ position:absolute; inset:0; opacity:0; transition:opacity .14s ease; }
.page-home .ti.is-an{ opacity:1; transition:opacity .24s ease .14s; }

/* Fremde Haut: so sieht ein Tool aus, nicht wir */
.page-home .ti-fremd{ display:grid; grid-template-columns:150px minmax(0,1fr); font-family:var(--fremd); color:#3c4043; background:#fafafa; }
.page-home .fr-nav{ display:flex; flex-direction:column; gap:2px; padding:14px 10px; border-right:1px solid #e3e3e3; background:#f3f3f3; }
.page-home .fr-nav > span, .page-home .ordner > span{ padding:7px 10px; border-radius:6px; font-size:13px; color:#5f6368; }
.page-home .fr-nav > span.an, .page-home .ordner > span.an{ background:#e2e2e2; color:#202124; font-weight:600; }
.page-home .fr-main{ display:flex; flex-direction:column; gap:14px; min-width:0; padding:16px 20px; }
.page-home .fr-kopf{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.page-home .fr-titel{ margin:0; font-size:19px; font-weight:600; color:#202124; letter-spacing:0; }
.page-home .fr-sub{ margin:2px 0 0; font-size:12px; color:#70757a; }
/* Inhalt beginnt tiefer, sonst verdeckt der Zeiger unter dem Tab-Schließen den Dienstnamen */
.page-home .ti-fremd:not(.ti-mail) .fr-main{ padding-top:44px; }
.page-home .ti-fremd:not(.ti-mail) .fr-nav{ padding-top:42px; }
.page-home .fr-dienst{ display:flex; align-items:center; gap:10px; margin:0; padding-bottom:12px; border-bottom:1px solid #e3e3e3; font-size:26px; font-weight:700; line-height:1.1; letter-spacing:-.01em; color:#202124; }
.page-home .fr-dienst .fav{ width:26px; height:26px; border-radius:7px; font-size:15px; }
.page-home .fr-knoepfe{ display:flex; gap:6px; }
.page-home .fr-knoepfe span{ padding:5px 10px; border:1px solid #dadce0; border-radius:4px; background:#fff; font-size:12px; color:#3c4043; }
.page-home .fr-metrik{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid #e3e3e3; border-radius:6px; background:#fff; }
.page-home .fr-m{ padding:10px 12px; border-left:1px solid #e3e3e3; }
.page-home .fr-m:first-child{ border-left:0; }
.page-home .fr-m .k{ display:block; font-size:11.5px; color:#70757a; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.page-home .fr-m .v{ display:block; margin-top:3px; font-size:22px; font-weight:500; color:#202124; font-variant-numeric:tabular-nums; }
.page-home .fr-m .err{ color:var(--red); font-weight:600; }
.page-home .fr-m .warn{ color:var(--amber-deep); }
.page-home .fr-unten{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:start; gap:14px; }
.page-home .fr-kurve{ width:100%; height:188px; padding:8px; border:1px solid #e3e3e3; border-radius:6px; background:#fff; }
.page-home .fr-kurve polyline{ fill:none; stroke:#9aa0a6; stroke-width:1.5; vector-effect:non-scaling-stroke; }
.page-home .fr-tab{ border:1px solid #e3e3e3; border-radius:6px; background:#fff; font-size:12px; overflow:hidden; }
.page-home .fr-z{ display:grid; grid-template-columns:minmax(0,1fr) 64px 56px; gap:8px; padding:5px 10px; border-top:1px solid #f0f0f0; color:#3c4043; }
.page-home .fr-z span{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.page-home .fr-z.fr-zk{ border-top:0; background:#f7f7f7; color:#70757a; font-weight:600; }
.page-home .ti-gpt .fr-main{ background:#fff; }
.page-home .ti-chat{ display:flex; flex-direction:column; gap:10px; margin-block:auto; }
.page-home .ti-chat p{ max-width:30rem; margin:0; padding:10px 14px; border-radius:16px; font-size:15px; line-height:1.4; }
.page-home .ti-chat .du{ align-self:flex-end; background:#f0f0f0; }
.page-home .ti-chat .bot{ align-self:flex-start; }

/* Mail-Client mit derselben Mail wie im Bericht-Mockup (.bm-*), per zoom größer */
.page-home .ti-mail .ordner{ display:flex; flex-direction:column; gap:2px; }
.page-home .ti-mail .ordner b{ margin-left:.35em; padding:0 .45em; border-radius:9px; background:#dfe1e4; font-size:11px; }
.page-home .ti-mail .fr-main{ gap:12px; background:#fff; overflow:hidden; }
.page-home .mail-kopf{ flex:0 0 auto; padding-bottom:10px; border-bottom:1px solid #eee; }
.page-home .mail-betreff{ margin:0; font-size:18px; font-weight:600; color:#202124; }
.page-home .mail-betreff .nw{ white-space:nowrap; }
.page-home .mail-von{ margin:3px 0 0; font-size:12.5px; color:#5f6368; }
.page-home .mail-von b{ color:#202124; font-weight:600; }
.page-home .mail-fenster{ flex:1; min-height:0; margin-bottom:-17px; overflow:hidden; }
.page-home .story-schieber{ will-change:transform; }
.page-home .story-karte{ zoom:1.1; width:100%; max-width:760px; box-shadow:none; }
.page-home .story-karte .bm-pin{ display:none; }
.page-home .story-karte .bm-mf{ padding-bottom:1rem; }
.page-home .story-karte .bm-cta{ cursor:pointer; font-family:inherit; color:var(--ink); background-color:var(--acid); transition:box-shadow .2s ease, translate .2s ease; }
/* Läuft die Verwandlung, legt sich Weiß (--paper) darüber: dann ist er Teil der Mail */
html.story-an .page-home .story-karte .bm-cta{ background-image:linear-gradient(rgb(255 255 255 / calc(var(--m) * 5)), rgb(255 255 255 / calc(var(--m) * 5))); }
.page-home .story-karte .bm-cta.lockt{ box-shadow:5px 5px 0 var(--ink); translate:-2px -2px; }
@media (hover:hover) and (pointer:fine){ .page-home .story-karte .bm-cta:hover{ box-shadow:5px 5px 0 var(--ink); translate:-2px -2px; } }
/* Puls, solange der Posteingang steht; .pulst setzt public.js */
.page-home .story-karte .bm-cta{ position:relative; }
.page-home .story-karte .bm-cta::after{ content:""; position:absolute; inset:-2px; border:3px solid var(--ink); border-radius:inherit; opacity:0; pointer-events:none; }
@media (prefers-reduced-motion: no-preference){
  .page-home .story-karte .bm-cta.pulst{ animation:knopf-atmen 1.6s ease-in-out infinite; }
  .page-home .story-karte .bm-cta.pulst::after{ animation:knopf-puls 1.6s cubic-bezier(.2,.6,.3,1) infinite; }
}
@keyframes knopf-atmen{ 0%, 100%{ scale:1; } 45%{ scale:1.045; } }
@keyframes knopf-puls{ 0%{ opacity:1; transform:scale(1); } 75%, 100%{ opacity:0; transform:scale(1.2, 1.6); } }
.page-home .story-kopf, .page-home .story-punkte{ display:none; }
@media (max-width:760px){ .page-home .story-karte{ zoom:1; } .page-home .story-karte .bm-mh span{ display:none; } }
/* Handy: gekürzte Mail, damit der Knopf im Fenster steht; die volle folgt in #brief */
/* Posteingang-Fassung ohne Grund und Schritte, damit der Knopf im Fenster steht; die volle Mail folgt in #brief oder in der Verwandlung */
.page-home .story-karte :is(.bm-why, .bm-schritte){ display:none; }

/* Scroll-Geschichte: public.js setzt --m von 0 bis 1, alles Übrige rechnet calc() daraus */
html.story-an .page-home #brief{ display:none; }
html.story-an .page-home .story{ --m:0; --h0:calc(52px + clamp(468px,36vw,520px)); height:calc(var(--kh, 140px) + var(--h1, 1000px) + 80vh); margin-top:clamp(28px,3.5vw,48px); }
html.story-an .page-home .story-buehne{ position:sticky; top:116px; display:flex; flex-direction:column; }
html.story-an .page-home .story-kopf{ display:block; flex:0 0 auto; height:calc(var(--m) * var(--kh, 140px)); overflow:hidden; opacity:clamp(0, calc((var(--m) - .35) * 1.7), 1); }
html.story-an .page-home .story-kopf .sec-head{ margin-bottom:0; padding-top:12px; } /* Platz für die Ü-Punkte: der Kopf schneidet per overflow */
html.story-an .page-home .story-kopf .bm-note{ margin:.7rem 0 0; text-align:left; padding-bottom:1.4rem; font-size:var(--fs-sm); font-weight:600; color:var(--ink-soft); }
html.story-an .page-home .tabwin{ flex:0 0 auto; display:flex; flex-direction:column; margin-top:0; height:calc(var(--h0) + (var(--h1, 700px) - var(--h0)) * var(--m));
  border-color:rgba(207,209,212, calc(1 - var(--m)));
  box-shadow:0 26px 48px -20px rgba(12,15,19, calc(.38 * (1 - var(--m)))), 0 2px 6px rgba(12,15,19, calc(.08 * (1 - var(--m)))); transition:none; }
html.story-an .page-home .tabwin-leiste{ flex:0 0 auto; height:calc((1 - var(--m)) * 52px); padding-top:calc((1 - var(--m)) * 10px); opacity:clamp(0, calc(1 - var(--m) * 2.2), 1); }
html.story-an .page-home .tabwin-inhalt{ flex:1; min-height:0; }
html.story-an .page-home .ti-mail{ grid-template-columns:calc(150px + (34% - 150px) * var(--m)) minmax(0,1fr); background:transparent; }
html.story-an .page-home .mail-links{ position:relative; background:rgba(243,243,243, calc(1 - var(--m))); border-right-color:rgba(227,227,227, calc(1 - var(--m))); }
html.story-an .page-home .ordner{ opacity:clamp(0, calc(1 - var(--m) * 3), 1); }
html.story-an .page-home .story-punkte{ display:grid; position:absolute; top:clamp(14px,1.8vw,26px); left:0; right:clamp(16px,2.4vw,40px); padding:0; opacity:clamp(0, calc(var(--m) * 2.4 - 1.3), 1); }
html.story-an .page-home .mail-kopf{ max-height:calc((1 - var(--m)) * 80px); padding-bottom:calc((1 - var(--m)) * 10px); overflow:hidden; opacity:clamp(0, calc(1 - var(--m) * 2.5), 1); border-bottom-color:rgba(238,238,238, calc(1 - var(--m))); }
html.story-an .page-home .ti-mail .fr-main{ gap:calc((1 - var(--m)) * 12px); padding-top:calc(16px - var(--m) * 4px); background:transparent; }
html.story-an .page-home .mail-fenster{ margin-bottom:0; padding-left:calc(var(--m) * 54px); }
html.story-an .page-home .story-karte{ max-width:calc(760px + 300px * var(--m)); box-shadow:calc(var(--m) * 5px) calc(var(--m) * 5px) 0 var(--ink); }
html.story-an .page-home .story-karte .bm-pin{ display:grid; opacity:var(--m); }
html.story-an .page-home .story-karte :is(.bm-why, .bm-schritte){ display:block; max-height:calc(var(--m) * 7rem); overflow:hidden; opacity:var(--m); }

/* Comic-Zeiger groß und in Acid, damit ihn niemand für den eigenen Mauszeiger hält */
.page-home .zeiger{ position:absolute; left:0; top:0; z-index:5; pointer-events:none; opacity:0; will-change:transform; }
.page-home .zeiger-y{ display:block; will-change:transform; }
.page-home .zeiger-pfeil{ display:block; width:52px; height:60px; margin:-5px 0 0 -6px; transform-origin:6px 5px; overflow:visible; filter:drop-shadow(3px 3px 0 #0c0f13); }
.page-home .tabwin.mit-zeiger .zeiger{ opacity:1; transition:opacity .25s ease; }
.page-home .klick-burst{ position:absolute; left:0; top:0; z-index:4; width:0; height:0; opacity:0; pointer-events:none; }
.page-home .klick-burst i{ position:absolute; left:-2px; top:-6px; width:4px; height:12px; border-radius:2px; background:var(--ink); }
.page-home .klick-burst i:nth-child(1){ transform:rotate(0deg) translateY(-20px); }
.page-home .klick-burst i:nth-child(2){ transform:rotate(60deg) translateY(-20px); }
.page-home .klick-burst i:nth-child(3){ transform:rotate(120deg) translateY(-20px); }
.page-home .klick-burst i:nth-child(4){ transform:rotate(180deg) translateY(-20px); }
.page-home .klick-burst i:nth-child(5){ transform:rotate(240deg) translateY(-20px); }
.page-home .klick-burst i:nth-child(6){ transform:rotate(300deg) translateY(-20px); }

@media (max-width:760px){
  .page-home .tabwin-inhalt{ min-height:520px; }
  .page-home .tab .t{ display:none; }
  .page-home .tab{ flex:0 0 auto; padding:.5rem .55rem; }
  .page-home .ti-fremd{ grid-template-columns:minmax(0,1fr); }
  .page-home .fr-nav, .page-home .fr-knoepfe, .page-home .fr-kurve{ display:none; }
  .page-home .fr-metrik{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-home .fr-m:nth-child(3){ border-left:0; }
  .page-home .fr-m:nth-child(n+3){ border-top:1px solid #e3e3e3; }
  .page-home .fr-unten{ grid-template-columns:minmax(0,1fr); }
  .page-home .zeiger-pfeil{ width:40px; height:46px; margin:-4px 0 0 -5px; transform-origin:5px 4px; }
}

/* Die Naht: das Laufband liegt auf der Farbkante zwischen Paper und Acid */
.page-home .marquee.naht{ margin-block:0; background:linear-gradient(172deg, var(--paper) 50%, var(--acid) 50%); }

/* „Nichts eilt.“, Schriften dazu im Font-Block */
/* Verlauf in den Ash-Grund folgt smoothstep, sonst sieht man eine Kante */
.page-home{ --ne-aus:clamp(200px,25vw,380px); }
.page-home .nichts-eilt{ background:var(--acid); color:var(--ink); text-align:center; padding-block:clamp(24px,4vw,56px) var(--ne-aus); } /* das Feld endet, wo der Verlauf beginnt */
/* Das Bento beginnt schon im Auslauf, sonst klafft eine leere Fläche */
.page-home .nichts-eilt + .bento-sec{ margin-top:calc(var(--ne-aus) * -.4); }
.page-home .nichts-eilt{ background:linear-gradient(180deg, var(--acid) calc(100% - var(--ne-aus)),
  color-mix(in oklab, var(--acid) 96%, var(--ash)) calc(100% - var(--ne-aus) * .875), color-mix(in oklab, var(--acid) 84%, var(--ash)) calc(100% - var(--ne-aus) * .75),
  color-mix(in oklab, var(--acid) 68%, var(--ash)) calc(100% - var(--ne-aus) * .625), color-mix(in oklab, var(--acid) 50%, var(--ash)) calc(100% - var(--ne-aus) * .5),
  color-mix(in oklab, var(--acid) 32%, var(--ash)) calc(100% - var(--ne-aus) * .375), color-mix(in oklab, var(--acid) 16%, var(--ash)) calc(100% - var(--ne-aus) * .25),
  color-mix(in oklab, var(--acid) 4%, var(--ash)) calc(100% - var(--ne-aus) * .125), var(--ash) 100%); }
.page-home .nichts-eilt h2{ margin:0; }
.page-home .nichts-eilt h2 span{ display:block; }
.page-home .nichts-eilt .z1{ font-size:var(--fs-h3); letter-spacing:-.04em; line-height:1.1; color:var(--ink-soft); }
.page-home .nichts-eilt .z2{ font-size:var(--fs-h2); letter-spacing:-.055em; line-height:1; margin-top:.35rem; }
.page-home .nichts-eilt .z3{ font-size:var(--fs-display); text-transform:uppercase; letter-spacing:-.045em; line-height:.86; margin-top:.2em; hyphens:none; }
.page-home .ne-pruefen{ max-width:560px; margin:clamp(2rem,3.6vw,2.8rem) auto 0; scroll-margin-top:30px; }
.page-home .ne-pruefen h3{ margin:0 0 1.1rem; font-size:var(--fs-h3); letter-spacing:-.04em; }
.page-home .ne-pruefen .note{ justify-content:center; color:var(--ink); }
/* Amber hätte auf Acid nur 2,2:1 Kontrast; das Fuß-Band trägt sein Feld ebenfalls auf Acid */
.page-home :is(.ne-pruefen, .footer-cta) .check-error{ color:var(--ink); }
.page-home .nichts-eilt ::selection{ background:var(--ink); color:var(--acid); }
@media (prefers-reduced-motion: no-preference){
  .page-home .nichts-eilt.is-armed :is(.z1, .z2, .z3, .ne-pruefen){ opacity:0; transition:opacity .5s ease; }
  .page-home .nichts-eilt.is-armed.is-in :is(.z1, .z2, .z3, .ne-pruefen){ opacity:1; }
  .page-home .nichts-eilt.is-armed.is-in .z2{ transition-delay:.6s; }
  .page-home .nichts-eilt.is-armed.is-in .z3{ transition-delay:1.3s; }
  .page-home .nichts-eilt.is-armed.is-in .ne-pruefen{ transition-delay:1.9s; }
  /* Über #pruefen-mitte angesprungen, steht das Feld sofort statt nach zwei Sekunden */
  .page-home .nichts-eilt.is-armed:has(:target) :is(.z1, .z2, .z3, .ne-pruefen){ opacity:1; transition:none; }
}

/* Link im Satz über dem Bento, unterstrichen wie der Macher-Link */
.page-home .bento-sec .sec-lead{ text-wrap:balance; }
.page-home .bento-sec .sec-lead a{ color:var(--ink); text-decoration:underline 3px var(--acid); text-underline-offset:4px; }

@media (max-width:720px){ .page-home .b-ki{ grid-template-columns:minmax(0,1fr); } .page-home .b-ki .ki-mini{ margin-top:1.2rem; } }

/* Macher: ohne Kasten, Schriften im Font-Block */
.page-home .macher{ background:var(--paper); }
.page-home .maker-linie{ border:0; border-top:1px solid var(--ash); margin:1.8rem 0 1.2rem; }
.page-home .maker-fakten{ margin:.6rem 0 0; max-width:62ch; color:var(--ink-soft); font-weight:500; line-height:1.55; }

/* Tarife + FAQ: ein Service-Kapitel auf Ash */
.page-home #preise{ padding-bottom:clamp(40px,5vw,72px); }
.page-home #faq{ padding-top:clamp(24px,3vw,40px); }
.page-home #faq > .wrap{ max-width:calc(900px + 2 * var(--gutter)); }

/* FAQ als Chat; ohne JS und bei reduzierter Bewegung stehen die Blasen fertig da */
.page-home .chat{ max-width:900px; margin:clamp(20px,2.5vw,36px) auto 0; display:flex; flex-direction:column; gap:clamp(26px,3vw,42px); }
.page-home .chat-paar{ display:flex; flex-direction:column; gap:14px; }
.page-home .chat-zeile{ display:flex; align-items:flex-start; margin:0; }
.page-home .chat-zeile.von-uns{ justify-content:flex-end; }
.page-home .blase{ position:relative; overflow:hidden; max-width:min(80%, 640px); padding:1.05rem 1.35rem; border:2px solid var(--ink); border-radius:26px; box-shadow:4px 4px 0 var(--ink); }
.page-home .von-dir .blase{ background:var(--paper); border-bottom-left-radius:8px; }
.page-home .von-uns .blase{ background:var(--acid); border-bottom-right-radius:8px; }
.page-home .chat-text{ display:flex; flex-direction:column; gap:.55rem; }
.page-home .blase p{ margin:0; font-size:var(--fs-lead); line-height:1.4; color:var(--ink); }
.page-home .von-dir .blase p{ font-weight:700; }
.page-home .von-uns .blase p{ font-weight:500; }
.page-home .tippt{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:5px; opacity:0; pointer-events:none; }
.page-home .tippt i{ width:8px; height:8px; border-radius:50%; background:var(--ink); animation:tippt 1s ease-in-out infinite; }
.page-home .tippt i:nth-child(2){ animation-delay:.2s; }
.page-home .tippt i:nth-child(3){ animation-delay:.4s; }
@keyframes tippt{ 0%, 100%{ transform:translateY(0); } 50%{ transform:translateY(-4px); } }
/* Aufklappen: Breite, Höhe, Text; zuklappen umgekehrt, daher je Richtung eigene Delays */
.page-home .chat.is-armed .blase{ width:56px; height:56px; padding:0; border-radius:28px; transform:scale(0);
  transition:transform .25s ease .7s, width .35s ease .3s, height .35s ease .12s, padding .35s ease .12s, border-radius .35s ease .3s; }
.page-home .chat.is-armed .blase p{ opacity:0; transition:opacity .12s ease; }
.page-home .chat.is-armed .tippt{ opacity:1; transition:opacity .2s ease .5s; }
.page-home .chat.is-armed .blase.ist-da{ transform:scale(1);
  transition:transform .32s cubic-bezier(.3,1.5,.5,1), width .35s ease .3s, height .35s ease .12s, padding .35s ease .12s, border-radius .35s ease .3s; }
.page-home .chat.is-armed .blase.ist-da.ist-offen{ width:var(--w); height:var(--h); padding:1.05rem 1.35rem; border-radius:26px;
  transition:transform .32s ease, width .42s cubic-bezier(.65,0,.35,1) .15s, height .42s cubic-bezier(.65,0,.35,1) .38s, padding .42s cubic-bezier(.65,0,.35,1) .38s, border-radius .42s ease .15s; }
.page-home .chat.is-armed .von-dir .blase.ist-offen{ border-bottom-left-radius:8px; }
.page-home .chat.is-armed .von-uns .blase.ist-offen{ border-bottom-right-radius:8px; }
.page-home .chat.is-armed .blase.ist-offen .tippt{ opacity:0; transition:opacity .15s ease; }
.page-home .chat.is-armed .blase.ist-offen p{ opacity:1; transition:opacity .3s ease .72s; }
.page-home .chat.is-armed .blase.ist-offen p:nth-child(2){ transition-delay:.8s; }
.page-home .chat.is-armed .blase.ist-offen p:nth-child(3){ transition-delay:.88s; }
@media (max-width:640px){ .page-home .blase{ max-width:88%; } .page-home .blase p{ font-size:var(--fs-body); } }
@media (prefers-reduced-motion: reduce){ .page-home .tippt i{ animation:none; } }

/* Fuß-Band: Satzpaar leise | laut in Kapitel-Lautstärke */
.page-home .footer-cta h2{ font-size:var(--fs-h1); max-width:20ch; hyphens:none; }
/* beide Überschriften passen ohne Trennung, getrennt lesen sie sich kaputt */
.page-home #brief .sec-head h2{ hyphens:none; }
@media (max-width:640px){ .page-home .footer-cta h2{ font-size:var(--fs-h2); } }

/* Lauftext-Ticker */
.page-home .marquee{ position:relative; overflow:hidden; display:flex; align-items:center; margin-block:clamp(8px,2vw,28px); padding-block:clamp(52px,9.5vw,200px); }

/* flex:none, sonst schrumpft der gedrehte Streifen und seine Ecke zieht vom Rand weg */
.page-home .marquee-strip{ position:relative; display:flex; flex:none; overflow:hidden; width:112%; margin-left:-6%; transform:rotate(-8deg); background:var(--acid); border-block:2px solid var(--ink); box-shadow:0 6px 0 var(--ink); padding-block:.55rem; }

.page-home .marquee-track{ display:flex; flex:none; white-space:nowrap; will-change:transform; }

.page-home .marquee-group{ display:flex; flex:none; align-items:center; font-weight:900; font-style:italic; text-transform:uppercase; letter-spacing:-.01em; font-size:var(--fs-h2); color:var(--ink); padding-right:.55em; }

.page-home .marquee-group .sep{ padding-inline:.42em; font-style:normal; }


@media (prefers-reduced-motion: no-preference){ .page-home .marquee-track{ animation:marquee-run 30s linear infinite; }
 }


/* Intro-Reveal (Opacity-only, sonst fräße transform:none die Box-Neigungen weg) */
@media (prefers-reduced-motion: no-preference){

  .page-home .hero .sub, .page-home .hero .hero-start, .page-home .hero .stage > *:not(.data){ opacity:0; animation:reveal-up .65s cubic-bezier(.2,.7,.2,1) both; }

  .page-home .hero .stage > .botwrap{ animation-delay:.1s; }

  .page-home .hero .sub{ animation-delay:.67s; }

  .page-home .hero .stage > .brief{ animation-delay:1.6s; }

  .page-home .hero .hero-start{ animation-delay:.75s; }

  .page-home .pile .sticker{ opacity:0; animation:chip-in .3s cubic-bezier(.3,1.5,.5,1) both; }

  .page-home .pile .sticker:nth-child(1){ animation-delay:.72s; }

  .page-home .pile .sticker:nth-child(2){ animation-delay:.765s; }

  .page-home .pile .sticker:nth-child(3){ animation-delay:.81s; }

  .page-home .pile .sticker:nth-child(4){ animation-delay:.855s; }

  .page-home .pile .sticker:nth-child(5){ animation-delay:.9s; }

  .page-home .pile .sticker:nth-child(6){ animation-delay:.945s; }

  .page-home .pile .sticker:nth-child(7){ animation-delay:.99s; }

  .page-home .pile .sticker:nth-child(8){ animation-delay:1.035s; }

  .page-home .pile .sticker:nth-child(9){ animation-delay:1.08s; }

  .page-home .pile .sticker:nth-child(10){ animation-delay:1.125s; }

  
}


/* Scroll-Reveal */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    
    .page-home main > section:not(.hero):not(.nichts-eilt) > .wrap{
      animation:reveal-up linear both;
      animation-timeline:view();
      animation-range:entry 4% entry 42%;
    }

  }

}


/* Unterseiten */

/* Über-Seite */

/* Bühne: Überschrift links, das ganze Foto rechts; die Geschichte darunter teilt sich gleich */
.page-about{ --ue-spalt:clamp(40px,5vw,72px); }
.page-about .about-hero{ padding-top:clamp(24px,4vw,48px); padding-bottom:clamp(36px,5vw,64px); background:transparent; }

.page-about .about-hero h1{ margin:.2em 0 .5em; overflow-wrap:break-word; }
.page-about .about-hero h1 .frage{ display:block; }

.page-about .about-hero .lead{ max-width:46ch; margin:0; }

.page-about .about-hero .check-start{ margin-top:1rem; }

@media (max-width:480px){
  .page-about main .about-hero h1{ font-size:2.4rem; }
}

.page-about .about-foto{ margin:clamp(20px,4vw,32px) 0; max-width:560px; }
.page-about .about-foto figcaption{ display:flex; justify-content:flex-end; align-items:center; gap:.4em; margin-top:16px; font-size:var(--fs-sm); color:var(--ink-soft); }
 .page-about .about-foto figcaption i{ font-size:1.15em; }
 .page-about .about-foto figcaption a{ color:inherit; text-decoration:underline; text-underline-offset:3px; }
.page-about .about-foto img{ width:100%; height:auto; aspect-ratio:var(--ue-foto,16 / 9); object-fit:cover; border:2px solid var(--ink); border-radius:var(--r-card); box-shadow:8px 8px 0 var(--ink); }

@media (min-width:981px){
  .page-about .about-buehne{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto auto auto 1fr; column-gap:var(--ue-spalt); }
  /* So groß, dass „der SEO‑Berichte“ in eine Zeile der linken Spalte passt */
  .page-about .about-hero h1{ grid-column:1; grid-row:1; margin:0 0 .45em; font-size:min(4.69vw,60px); }
  .page-about .about-hero .lead{ grid-column:1; grid-row:2; }
  .page-about .about-hero .check-start{ grid-column:1; grid-row:3; }
  .page-about .about-foto{ grid-column:2; grid-row:1 / -1; align-self:start; margin:0; max-width:none; }
}


/* Person und Story */
.page-about .about{ padding-top:clamp(8px,2vw,24px); padding-bottom:clamp(36px,5vw,64px); }

.page-about .about-story{ color:var(--ink); font-size:var(--fs-lead); line-height:1.5; columns:2; column-gap:var(--ue-spalt); }

.page-about .about-story p{ margin:0 0 1.05rem; break-inside:avoid; }
 .page-about .about-story b{ color:var(--ink); font-weight:700; }

/* Sein Satz als Ink-Kasten, nie über die volle Fensterbreite */
.page-about .about blockquote{ margin:clamp(24px,4vw,48px) 0 0; background:var(--ink); color:var(--paper); border-radius:var(--r-card); box-shadow:8px 8px 0 var(--shadow); padding:clamp(32px,5.5vw,80px) clamp(22px,5vw,72px); font-family:var(--font-head); font-size:var(--fs-h1); font-weight:800; letter-spacing:-.06em; line-height:1; text-wrap:balance; hyphens:none; }

.page-about .about .by{ margin:1.8rem 0 0; font-weight:600; color:var(--ink-soft); font-size:var(--fs-body); line-height:1.5; }
 .page-about .about .by b{ color:var(--ink); font-weight:700; }
 .page-about .about .by a{ color:var(--ink); text-decoration:underline; text-underline-offset:3px; }

@media (max-width:980px){ .page-about .about blockquote{ font-size:var(--fs-h2); } }
@media (max-width:820px){ .page-about .about-story{ columns:1; } }
@media (max-width:480px){ .page-about .about blockquote{ font-size:2.25rem; } }


/* Grundlage und Fakten: zugeklappt, die Antworten bleiben im HTML */
.page-about :is(.wissen, .fakten){ padding-block:0; }
.page-about .wege{ padding-top:clamp(20px,3vw,32px); }
.page-about .ue-klapp{ border-top:2px solid var(--ink); }
.page-about .fakten .ue-klapp{ border-bottom:2px solid var(--ink); }
.page-about .ue-klapp summary{ cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.3rem 0; }
.page-about .ue-klapp summary::-webkit-details-marker{ display:none; }
.page-about .ue-klapp summary h2{ font-size:var(--fs-h3); line-height:1.1; }
.page-about .ue-klapp summary .ic{ flex:0 0 auto; font-size:1.5rem; line-height:1; transition:transform .2s; }
.page-about .ue-klapp[open] summary .ic{ transform:rotate(45deg); }
.page-about .ue-klapp-in{ max-width:var(--read); padding-bottom:1.8rem; }
.page-about .ue-klapp-in .lead{ margin:0; }
.page-about .wissen-close{ margin:1rem 0 0; color:var(--ink-soft); font-size:var(--fs-body); line-height:1.6; }
.page-about .fk-liste{ margin:1.2rem 0 0; display:grid; border-top:1px solid var(--shadow); }
.page-about .fk-liste > div{ display:grid; grid-template-columns:9rem 1fr; gap:.2rem 1rem; padding:.8rem 0; border-bottom:1px solid var(--shadow); }
.page-about .fk-liste dt{ font-weight:700; color:var(--ink); }
.page-about .fk-liste dd{ margin:0; color:var(--ink-soft); }
.page-about .fk-liste a, .page-about :is(.wissen-mehr, .ue-wege) a{ color:var(--ink); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:520px){ .page-about .fk-liste > div{ grid-template-columns:1fr; } }
.page-about .fk-stand{ margin:.8rem 0 0; font-size:var(--fs-xs); color:var(--ink-soft); }
.page-about :is(.wissen-mehr, .ue-wege){ margin:1rem 0 0; font-size:var(--fs-sm); color:var(--ink-soft); }
.page-about .ue-wege{ text-align:center; }
@media (prefers-reduced-motion:reduce){ .page-about .ue-klapp summary .ic{ transition:none; } }


/* Tarif-Seite */

/* Hero */
.page-pricing .price-hero{ padding-top:clamp(30px,5vw,60px); padding-bottom:clamp(40px,5.5vw,72px); text-align:center; background:transparent; }

.page-pricing .price-hero .wrap{ max-width:940px; }

.page-pricing .price-hero h1{ margin:.2em 0 .45em; }

.page-pricing .price-hero .lead{ max-width:54ch; margin-inline:auto; }


/* Tarif-Auswahl */
/* Zwei gleich gebaute Knopf-Gruppen mit je einem Satz darüber; reines CSS, die Treffer stehen bei den Karten */
.tarif-auswahl{ display:flex; flex-wrap:wrap; justify-content:center; align-items:flex-end; gap:1.3rem clamp(18px,2.2vw,28px); margin:clamp(24px,3vw,36px) auto 0; }
.ta-gruppe{ min-width:0; margin:0; padding:0; border:0; }
/* float macht die legend zum normalen Block, sonst steht sie nicht mittig über der Pille */
.ta-gruppe legend{ float:left; width:100%; margin:0 0 .6rem; padding:0; text-align:center; font-weight:800; font-size:var(--fs-sm); letter-spacing:-.01em; }
.ta-satz{ padding:.1em .45em; border-radius:var(--r-tag); transition:background-color .2s; }
main:has(.abo-jahr:checked) .ta-satz{ background:var(--acid); }

.ta-pille{ clear:both; position:relative; display:grid; grid-template-columns:1fr 1fr; width:fit-content; margin-inline:auto; padding:3px; border:2px solid var(--ink); border-radius:var(--r-pill); background:var(--paper); box-shadow:3px 3px 0 var(--ink); font-size:var(--fs-sm); }
/* Der Daumen hinter dem gewählten Knopf */
.ta-pille::before{ content:""; position:absolute; top:3px; bottom:3px; left:3px; width:calc((100% - 6px) / 2); background:var(--ink); border-radius:var(--r-pill); transition:left .32s cubic-bezier(0.34,1.56,0.64,1), width .32s cubic-bezier(0.34,1.56,0.64,1), background-color .2s; }
.ta-pille input{ position:absolute; opacity:0; width:1px; height:1px; margin:0; }
.ta-pille label{ position:relative; z-index:1; padding:.55em 1.15em; text-align:center; white-space:nowrap; font-weight:800; letter-spacing:-.01em; color:var(--ink); cursor:pointer; transition:color .2s; }
.ta-pille input:checked + label{ color:var(--acid); }
.ta-pille input:focus-visible + label{ outline:2px solid var(--ink); outline-offset:3px; border-radius:var(--r-pill); }
.ta-abo:has(.abo-jahr:checked)::before{ left:50%; }
/* Das „?“ steht in einer schmaleren Spalte, der Daumen rechnet sie mit */
.ta-web{ --q:2.9em; --s:calc((100% - 6px - var(--q)) / 3); grid-template-columns:var(--q) repeat(3, 1fr); }
.ta-web .ta-offen{ padding-inline:0; font-weight:900; }
.ta-web::before{ width:var(--q); }
.ta-web:has(.ws-solo:checked)::before{ left:calc(3px + var(--q)); width:var(--s); }
.ta-web:has(.ws-pro:checked)::before{ left:calc(3px + var(--q) + var(--s)); width:var(--s); }
.ta-web:has(.ws-agentur:checked)::before{ left:calc(3px + var(--q) + 2 * var(--s)); width:var(--s); }
/* Auf „?“ ist nichts gewählt, der Daumen bleibt ein leiser Grund */
.ta-web:has(.ws-offen:checked)::before{ background:var(--ash-soft); }
.ta-web .ws-offen:checked + label{ color:var(--ink); }

/* Preise: der Abo-Schalter zeigt .m oder .j, die neue Zahl rollt kurz ein */
.wechsel > *{ display:inline-block; animation:abo-rein .3s cubic-bezier(0.34,1.56,0.64,1); }
.wechsel > .j{ display:none; }
main:has(.abo-jahr:checked) .wechsel > .m{ display:none; }
main:has(.abo-jahr:checked) .wechsel > .j{ display:inline-block; }
@keyframes abo-rein{ from{ opacity:0; transform:translateY(.3em); } }
@media (max-width:520px){ .ta-gruppe{ width:100%; } }
@media (prefers-reduced-motion: reduce){ .ta-pille::before, .ta-satz{ transition:none; }
 .wechsel > *{ animation:none; }
 }


/* Tarif-Karten */
/* column-gap statt gap: das Subgrid erbt die Gutters und zöge sonst jede Karte auseinander */
.plans{ display:grid; grid-template-columns:repeat(4,1fr); column-gap:clamp(12px,1.4vw,18px); row-gap:0; align-items:stretch; }

.plan{ background:var(--paper); border:2px solid var(--ink); border-radius:var(--r-box); box-shadow:6px 6px 0 var(--ink); padding:clamp(20px,2vw,26px); display:flex; flex-direction:column; position:relative; transition:transform .28s cubic-bezier(0.34,1.56,0.64,1), box-shadow .28s ease; }

.plan.best{ background:var(--acid); }

.plan.best .pident, .plan.best .price .per, .plan.best .pnote{ color:var(--ink); }

.plan .badge2{ position:absolute; top:-12px; left:18px; background:var(--ink); color:var(--acid); font-family:var(--mono); font-size:var(--fs-xs); font-weight:800; letter-spacing:.06em; padding:.3em .7em; border-radius:var(--r-tag); text-transform:uppercase; }

.plan .pn{ font-weight:900; font-size:var(--fs-lead); letter-spacing:-.025em; }

.plan .pident{ font-size:var(--fs-sm); color:var(--ink-soft); font-weight:600; margin:.2rem 0 0; min-height:2.5em; line-height:1.35; }

.plan .price{ display:flex; align-items:baseline; column-gap:.25rem; margin:.7rem 0 0; }

.plan .price .amt{ font-size:var(--fs-h2); font-weight:900; letter-spacing:-.04em; }

.plan .price .per{ font-size:var(--fs-sm); color:var(--ink-soft); font-weight:400; }

/* Der Jahrespreis gehört zum Preis, nicht zur Liste */
.plan .pnote{ font-size:var(--fs-xs); color:var(--ink-soft); min-height:1.2em; margin:2px 0 1rem; font-weight:600; }

.plan ul{ list-style:none; margin:0 0 1.2rem; padding:0; display:grid; gap:.55rem; font-size:var(--fs-sm); font-weight:600; flex:1; }

.plan li{ display:flex; column-gap:.5rem; align-items:flex-start; line-height:1.4; }
/* Kein margin zwischen den Punkten: das Subgrid behält seinen row-gap, beides addiert sich */


.plan .btn{ margin-top:auto; justify-content:center; width:100%; }

/* Punkt enthalten, Ring geplant (bleibt ungenutzt stehen, sonst kommt das Häkchen zurück); 9px, 12px dominiert neben Text */
.mk-dot, .mk-ring{ width:9px; height:9px; border-radius:50%; flex:0 0 auto; margin-top:.42em; }
.mk-dot{ background:currentColor; }
.mk-ring{ border:2px solid currentColor; }
/* Nicht enthalten: Strich statt Minus-Glyphe, leiser als der Punkt */
.mk-dash{ width:9px; height:2px; border-radius:1px; background:currentColor; opacity:.5; flex:0 0 auto; margin-top:.62em; }

/* 10 Zeilen: 4 Kopf, 5 Achsen, 1 Knopf; eine Achse mehr auch im Markup, ein Test rechnet mit */
@supports (grid-template-rows: subgrid){
  .plans{ grid-template-rows:repeat(10, auto); }
  .plan{ display:grid; grid-row:span 10; grid-template-rows:subgrid; }
  .plan ul{ grid-row:span 5; grid-template-rows:subgrid; margin-bottom:1.2rem; }
  /* Mit Subgrid richten sich die Kopfzonen am Inhalt aus, die min-height-Stütze entfällt */
  .plan .pident, .plan .pnote{ min-height:0; }
}
/* Eigener Tarif: kein Knopf, sondern eine ruhige Markierung an derselben Stelle */
.plan .btn.is-current{ cursor:default; background:transparent; border-style:dashed; opacity:.72; }
/* /tarife: ohne Wahl trägt die empfohlene Karte Acid und den dunklen Knopf, mit Wahl der Treffer */
.page-pricing .tarif-auswahl{ margin:0 auto clamp(30px,3.4vw,42px); }
.page-pricing main:has(.ws-offen:checked) .plan:has(.badge2), .page-pricing :is(main:has(.ws-solo:checked) [data-key="solo"], main:has(.ws-pro:checked) [data-key="pro"], main:has(.ws-agentur:checked) [data-key="agentur"]).plan{ background:var(--acid); }
.page-pricing main:has(.ws-offen:checked) .plan:has(.badge2) :is(.pident, .price .per, .pnote), .page-pricing :is(main:has(.ws-solo:checked) [data-key="solo"], main:has(.ws-pro:checked) [data-key="pro"], main:has(.ws-agentur:checked) [data-key="agentur"]).plan :is(.pident, .price .per, .pnote){ color:var(--ink); }
.page-pricing main:has(.ws-offen:checked) .plan:has(.badge2) .btn-soft, .page-pricing :is(main:has(.ws-solo:checked) [data-key="solo"], main:has(.ws-pro:checked) [data-key="pro"], main:has(.ws-agentur:checked) [data-key="agentur"]).plan .btn-soft{ background:var(--ink); color:var(--acid); }
.page-pricing .woche-mehr{ text-align:center; margin:1rem 0 0; font-size:var(--fs-sm); color:var(--ink-soft); }
.page-pricing .woche-mehr a{ color:var(--ink); font-weight:700; text-decoration:underline; text-underline-offset:3px; }

/* Treffer der Auswahl ohne Scope, Startseite und /tarife teilen ihn */
:is(main:has(.ws-solo:checked) [data-key="solo"], main:has(.ws-pro:checked) [data-key="pro"], main:has(.ws-agentur:checked) [data-key="agentur"]).plan{ transform:perspective(720px) translate3d(-16px,-8px,46px); box-shadow:10px 10px 0 var(--ink), 0 34px 60px -14px rgba(0,0,0,.5); z-index:3; }

.plan .match-pip{ position:absolute; top:-12px; right:18px; background:var(--acid); color:var(--ink); border:2px solid var(--ink); font-family:var(--mono); font-size:var(--fs-xs); font-weight:800; letter-spacing:.05em; padding:.22em .6em; border-radius:var(--r-tag); text-transform:uppercase; opacity:0; transform:translateY(4px); transition:opacity .16s, transform .16s; pointer-events:none; }

:is(main:has(.ws-solo:checked) [data-key="solo"], main:has(.ws-pro:checked) [data-key="pro"], main:has(.ws-agentur:checked) [data-key="agentur"]).plan .match-pip{ opacity:1; transform:translateY(0); }
/* „Empfohlen“ tritt zurück, sobald die Auswahl markiert, sonst konkurrieren zwei Badges */
main:has(.ws-solo:checked, .ws-pro:checked, .ws-agentur:checked) .badge2{ opacity:0; transition:opacity .16s; }

@media (prefers-reduced-motion: reduce){ .plan, .plan .match-pip{ transition:none; }
 :is(main:has(.ws-solo:checked) [data-key="solo"], main:has(.ws-pro:checked) [data-key="pro"], main:has(.ws-agentur:checked) [data-key="agentur"]).plan{ transform:none; }
 }


/* Vergleichs-Matrix */
.page-pricing .compare{ margin-top:clamp(40px,5vw,64px); }

.page-pricing .compare h2{ text-align:center; margin-bottom:.5rem; }

.page-pricing .compare .sub{ text-align:center; max-width:56ch; margin:0 auto clamp(22px,3vw,34px); color:var(--ink-soft); font-size:var(--fs-sm); font-weight:500; }

/* position:relative hält die .sr-Spans in der Tabelle, sonst läuft das Handy über */
.page-pricing .ptable-wrap{ position:relative; overflow-x:auto; border:2px solid var(--ink); border-radius:var(--r-box); box-shadow:6px 6px 0 var(--ink); background:var(--paper); }

.page-pricing .ptable{ width:100%; border-collapse:collapse; min-width:680px; }

.page-pricing .ptable th, .page-pricing .ptable td{ padding:.85rem 1rem; text-align:center; border-top:1px solid var(--ash-soft); }

.page-pricing .ptable thead th{ border-top:none; font-size:var(--fs-body); font-weight:800; letter-spacing:-.02em; }

/* Merkmal-Spalte haftet und bricht um, sonst frisst sie auf dem Handy die ganze Breite */
.page-pricing .ptable tbody th{ text-align:left; font-weight:600; color:var(--ink-soft); font-size:var(--fs-sm);
  white-space:normal; position:sticky; left:0; z-index:2; background:var(--paper); min-width:11rem; }

.page-pricing .ptable tbody td{ font-size:var(--fs-sm); font-weight:600; font-variant-numeric:tabular-nums; }
/* Handy: schmalere Merkmal-Spalte, damit neben „Frei“ auch „Solo“ sichtbar ist */
.page-pricing .ptable-hint{ display:none; }
@media (max-width:680px){
  .page-pricing .ptable-hint{ display:flex; align-items:center; justify-content:flex-end; gap:.4em; margin:0 0 .6rem; font-size:var(--fs-xs); font-weight:700; color:var(--ink-soft); }
  .page-pricing .ptable{ min-width:560px; }
  .page-pricing .ptable tbody th{ min-width:7.5rem; font-size:var(--fs-xs); }
  .page-pricing .ptable th, .page-pricing .ptable td{ padding:.7rem .55rem; }
}

/* Punkt ja, Ring teilweise, Strich nein; deckungsgleich mit .mtable halten */
.page-pricing .ptable .dot{ display:inline-block; width:12px; height:12px; border-radius:50%; background:currentColor; color:var(--ink); vertical-align:-.06em; }
.page-pricing .ptable .dot.half{ box-sizing:border-box; border:2px solid currentColor; background:transparent; }

.page-pricing .ptable .dash{ color:var(--shadow); }

/* Die Spalte folgt der Tarif-Auswahl, ohne Wahl ist keine hervorgehoben */
.page-pricing .ptable :is(main:has(.ws-solo:checked) [data-plan="solo"], main:has(.ws-pro:checked) [data-plan="pro"], main:has(.ws-agentur:checked) [data-plan="agentur"]){ background:var(--acid); }

.page-pricing .ptable tr.grp td{ border-top:none; padding:0; }
@media(hover:hover){
  .page-pricing .ptable tbody tr:not(.grp):hover td, .page-pricing .ptable tbody tr:not(.grp):hover th{ background:var(--ink); color:#fff; }

  .page-pricing .ptable tbody tr:not(.grp):hover td .dot, .page-pricing .ptable tbody tr:not(.grp):hover td .dash, .page-pricing .ptable tbody tr:not(.grp):hover td .muted{ color:#fff; }

}

.page-pricing .ptable tbody tr.grp th{ text-align:left; padding:1.5rem 1rem .35rem; font-family:var(--mono); font-size:var(--fs-xs); font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-soft); border-top:none; white-space:normal; }

.page-pricing .ptable tbody tr.grp:first-child th{ padding-top:.4rem; }

.page-pricing .ptable tbody tr.grp:hover th{ background:none; color:var(--ink-soft); }

.page-pricing .ptable .rnote{ display:block; font-family:var(--font); font-size:var(--fs-xs); font-weight:500; letter-spacing:normal; text-transform:none; color:var(--ink-soft); }

.page-pricing .ptable tbody td .muted{ color:var(--ink-soft); }

.page-pricing .ptable thead th{ vertical-align:bottom; padding:1.1rem .9rem 1.2rem; }

.page-pricing .ptable thead th .tier{ display:block; font-size:var(--fs-body); font-weight:800; letter-spacing:-.02em; }

.page-pricing .ptable thead th .amt2{ display:block; font-size:var(--fs-h3); font-weight:900; letter-spacing:-.045em; line-height:1.05; margin-top:.12rem; }

.page-pricing .ptable thead th .per2{ display:block; font-size:var(--fs-xs); font-weight:600; color:var(--ink-soft); }





.page-pricing .addons{ text-align:center; max-width:60ch; margin:0 auto; color:var(--ink-soft); font-size:var(--fs-sm); font-weight:500; }

/* Direkt unter der Kartenreihe volle Breite, auf 60ch stapelt sich der Text */
.page-pricing .addons-breit{ max-width:none; }

.page-pricing .addons b{ color:var(--ink); font-weight:700; }


/* Add-on-Sektion */
.page-pricing .addons-sec .head{ text-align:center; max-width:940px; margin:0 auto clamp(22px,3vw,36px); }

.page-pricing .addons-sec .head .lead{ margin-top:.6rem; max-width:60ch; margin-inline:auto; }

/* column-gap statt gap: das Subgrid erbt die Gutters, wie bei .plans */
.page-pricing .addon-grid{ display:grid; grid-template-columns:1fr 1fr; column-gap:clamp(14px,1.8vw,20px); row-gap:0; max-width:880px; margin-inline:auto; }

.page-pricing .addon-card{ padding:clamp(24px,2.6vw,34px); display:flex; flex-direction:column; }

.page-pricing .addon-card .ic{ font-size:var(--fs-h2); line-height:1; color:var(--ink); margin-bottom:1rem; }

.page-pricing .ac-head{ display:flex; align-items:baseline; justify-content:space-between; gap:.6rem; flex-wrap:wrap; margin-bottom:.6rem; }

.page-pricing .ac-name{ font-size:var(--fs-lead); font-weight:800; letter-spacing:-.02em; }

.page-pricing .ac-price{ font-size:var(--fs-lead); font-weight:900; letter-spacing:-.03em; }
 .page-pricing .ac-price .per{ font-size:var(--fs-xs); font-weight:400; color:var(--ink-soft); }

.page-pricing .ac-desc{ color:var(--ink-soft); line-height:1.55; margin:0 0 1.1rem; }
 .page-pricing .ac-desc em{ font-style:italic; color:var(--ink); }

.page-pricing .ac-list{ list-style:none; margin:0 0 1.1rem; padding:0; display:grid; gap:.5rem; font-size:var(--fs-sm); font-weight:600; }

.page-pricing .ac-list li{ display:flex; column-gap:.5rem; align-items:flex-start; line-height:1.4; }

/* Subgrid wie die Tarif-Karten; 7 Zeilen = Icon, Kopf, Text, 3 Punkte, Anfrage */
@supports (grid-template-rows: subgrid){
  .page-pricing .addon-grid{ grid-template-rows:repeat(7, auto); }
  .page-pricing .addon-card{ display:grid; grid-row:span 7; grid-template-rows:subgrid; }
  .page-pricing .ac-list{ grid-row:span 3; grid-template-rows:subgrid; }
  /* Im Subgrid hat die Anfrage-Zeile eine eigene Zeile, kein auto-Margin nötig */
  .page-pricing .ac-soon{ margin:0; }
}
 
.page-pricing .ac-soon{ margin:auto 0 0; font-size:var(--fs-sm); font-weight:700; color:var(--ink); display:inline-flex; align-items:center; gap:.4em; align-self:flex-start; text-decoration:underline; text-underline-offset:3px; } /* Link zur Kontaktseite, kein Warnzustand */

@media (max-width:680px){ .page-pricing .addon-grid{ grid-template-columns:1fr; }
 }


/* Ehrlicher Hinweis */
.page-pricing .honest{ max-width:760px; margin-inline:auto; }

.page-pricing .honest .card{ padding:clamp(24px,3vw,38px); display:flex; gap:1.1rem; align-items:flex-start; }

.page-pricing .honest .ic{ font-size:var(--fs-h2); line-height:1; color:var(--ink); flex:0 0 auto; }

.page-pricing .honest h3{ font-size:var(--fs-lead); margin:0 0 .4em; }

.page-pricing .honest p{ color:var(--ink-soft); margin:0; line-height:1.55; }

.page-pricing .honest p + p{ margin-top:.6em; }

/* Deine erste Woche: Zeilen-Tafel wie .score in app.css */
.page-pricing .woche{ max-width:760px; margin-inline:auto; }

.page-pricing .woche h2{ text-align:center; margin-bottom:.4rem; }

.page-pricing .woche .sub{ text-align:center; max-width:52ch; margin:0 auto clamp(20px,3vw,30px); color:var(--ink-soft); font-size:var(--fs-sm); font-weight:500; }

.page-pricing .woche .card{ padding:clamp(18px,3vw,34px) clamp(20px,3vw,38px); }

.page-pricing .woche .tage{ list-style:none; margin:0; padding:0; }

.page-pricing .woche .tage li{ display:grid; grid-template-columns:8.5rem minmax(0,1fr); gap:1.1rem; align-items:start; padding:1rem 0; border-top:1px solid var(--ash-soft); }

.page-pricing .woche .tage li:first-child{ border-top:0; padding-top:0; }

.page-pricing .woche .tage li:last-child{ padding-bottom:0; }

.page-pricing .woche .n{ font-family:var(--font-head); font-size:clamp(1.35rem,2.2vw,1.7rem); font-weight:900; letter-spacing:-.04em; line-height:1.1; color:var(--ink); padding-top:.1em; }

.page-pricing .woche .t{ font-weight:700; font-size:var(--fs-body); line-height:1.35; }

.page-pricing .woche .t small{ display:block; font-weight:400; font-size:var(--fs-sm); color:var(--ink-soft); margin-top:4px; line-height:1.5; }

@media (max-width:560px){
  .page-pricing .woche .tage li{ grid-template-columns:1fr; gap:.25rem; }
}


/* FAQ */
.page-pricing .pfaq{ max-width:760px; margin-inline:auto; }

.page-pricing .pfaq h2{ text-align:center; margin-bottom:clamp(20px,3vw,34px); }

.page-pricing .pfaq details{ background:var(--paper); border:2px solid var(--ink); border-radius:var(--r-sm); box-shadow:4px 4px 0 var(--ink); padding:1.1rem 1.4rem; margin-bottom:.7rem; }

.page-pricing .pfaq summary{ cursor:pointer; font-weight:800; list-style:none; display:flex; justify-content:space-between; gap:1rem; align-items:center; }

.page-pricing .pfaq summary::-webkit-details-marker{ display:none; }
/* Tippfläche über den ganzen Kopf der Karte, die Zeile allein ist zu flach */
.page-pricing .pfaq summary{ position:relative; }
.page-pricing .pfaq summary::after{ content:""; position:absolute; inset:-1.1rem -1.4rem -.6rem; }

.page-pricing .pfaq summary .ic{ color:var(--ink); transition:transform .2s; }

.page-pricing .pfaq details[open] summary .ic{ transform:rotate(45deg); }

.page-pricing .pfaq .a{ color:var(--ink-soft); margin-top:.7rem; line-height:1.55; }

.page-pricing .pfaq .a p{ margin:0; }


/* Footer-CTA */
.page-pricing .footer-cta .lead{ max-width:48ch; margin:0 auto 2rem; color:var(--ink); }


/* Vier Karten brauchen rund 1030 px (die Knöpfe brechen nicht um), darunter liefen sie über den Rand */
@media (max-width:1040px){ .plans{ grid-template-columns:1fr 1fr; }
 /* Abstand zwischen den Reihen als margin, ein row-gap zöge über das Subgrid jede Karte auseinander */
 .plans{ margin-bottom:-28px; }
 .plan{ margin-bottom:28px; }
 :is(main:has(.ws-solo:checked) [data-key="solo"], main:has(.ws-pro:checked) [data-key="pro"], main:has(.ws-agentur:checked) [data-key="agentur"]).plan{ transform:perspective(720px) translate3d(0,-7px,30px); }
 }

@media (max-width:520px){ .plans{ grid-template-columns:1fr; }
 :is(main:has(.ws-solo:checked) [data-key="solo"], main:has(.ws-pro:checked) [data-key="pro"], main:has(.ws-agentur:checked) [data-key="agentur"]).plan{ transform:translateY(-8px); }
 }


/* Vergleichsseite */

/* Hero */
.page-compare .cmp-hero{ padding-top:clamp(30px,5vw,60px); padding-bottom:clamp(48px,6.5vw,88px); text-align:center; background:transparent; }

.page-compare .cmp-hero .wrap{ max-width:940px; }

.page-compare .cmp-hero h1{ margin:.2em 0 .5em; }
 .page-compare .cmp-hero h1 em{ font-style:italic; }

.page-compare .cmp-hero .lead{ max-width:58ch; margin-inline:auto; }


/* Ehrlicher Einstieg */
.page-compare .honest-card{ padding:clamp(28px,3.6vw,48px); display:flex; gap:1.4rem; align-items:flex-start; max-width:860px; margin-inline:auto; }

.page-compare .honest-card .ic{ font-size:var(--fs-h2); line-height:1; color:var(--ink); flex:0 0 auto; }

.page-compare .honest-card h2{ font-size:var(--fs-h3); letter-spacing:-.03em; margin:0 0 .5em; }

.page-compare .honest-card p{ color:var(--ink-soft); margin:0; line-height:1.62; font-size:var(--fs-body); max-width:62ch; }




/* Feature-Tabelle */
.page-compare .cmp-table h2{ text-align:center; margin-bottom:clamp(22px,3vw,38px); }

/* position:relative als Containing Block, sonst ragen die .sr-Spans mobil aus der Tabelle */
.page-compare .ctable-wrap{ position:relative; overflow-x:auto; max-width:880px; margin-inline:auto; border:2px solid var(--ink); border-radius:var(--r-box); box-shadow:6px 6px 0 var(--ink); background:var(--paper); }

.page-compare .ctable{ width:100%; border-collapse:collapse; min-width:560px; }

.page-compare .ctable th, .page-compare .ctable td{ padding:.9rem 1.1rem; text-align:center; border-top:2px solid var(--ash-soft); }

.page-compare .ctable thead th{ border-top:none; font-size:var(--fs-body); font-weight:900; letter-spacing:-.02em; border-bottom:2px solid var(--ink); }

.page-compare .ctable tbody th{ text-align:left; font-weight:600; color:var(--ink-soft); font-size:var(--fs-body); }

.page-compare .ctable tbody td{ font-size:var(--fs-sm); font-weight:600; font-variant-numeric:tabular-nums; }

.page-compare .ctable .dot{ display:inline-block; width:12px; height:12px; border-radius:50%; background:currentColor; color:var(--ink); vertical-align:-.06em; }

.page-compare .ctable .dash{ color:var(--shadow); }

.page-compare .ctable .txt{ color:var(--ink-soft); font-weight:600; font-size:var(--fs-sm); }

.page-compare .ctable .star th::after{ content:"★"; color:var(--ink); font-size:.7em; margin-left:.45em; vertical-align:.15em; }

.page-compare .ctable col.hl, .page-compare .ctable th.hl, .page-compare .ctable td.hl{ background:var(--acid); }

.page-compare .ctable thead th.hl{ color:var(--ink); }

.page-compare .ctable .hl .dot{ color:var(--ink); }
.page-compare .ctable .hl .dash{ color:var(--ink-soft); }
/* Handy: ohne Mindestbreite passen drei Spalten in 350 px, Merkmale brechen um */
@media (max-width:560px){ .page-compare .ctable{ min-width:0; } .page-compare .ctable th, .page-compare .ctable td{ padding:.6rem .4rem; overflow-wrap:anywhere; hyphens:auto; } .page-compare .ctable thead th, .page-compare .ctable tbody th{ font-size:var(--fs-sm); } }

@media(hover:hover){
  .page-compare .ctable tbody tr:hover td, .page-compare .ctable tbody tr:hover th{ background:var(--ink); color:#fff; }

  .page-compare .ctable tbody tr:hover .dot, .page-compare .ctable tbody tr:hover .txt{ color:#fff; }

  .page-compare .ctable tbody tr:hover .dash{ color:rgba(255,255,255,.45); }

}

.page-compare .cmp-legend{ text-align:center; color:var(--ink-soft); font-size:var(--fs-sm); margin:1.1rem auto 0; max-width:60ch; }

.page-compare .cmp-legend .st{ color:var(--ink); }
.page-compare .cmp-funktionen{ text-align:center; color:var(--ink-soft); font-size:var(--fs-sm); margin:.6rem auto 0; max-width:60ch; }
.page-compare .cmp-funktionen a{ color:var(--ink); font-weight:700; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; text-decoration-color:var(--acid); }


/* Für wen */
.page-compare .forwho .head{ text-align:center; max-width:940px; margin:0 auto clamp(24px,3.4vw,40px); }

:is(.page-compare, .page-compare-overview) .forwho-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(14px,1.8vw,20px); max-width:920px; margin-inline:auto; }

:is(.page-compare, .page-compare-overview) .forwho-card{ padding:clamp(26px,3vw,38px); }

:is(.page-compare, .page-compare-overview) .forwho-card.them{ background:var(--ash-soft); }

:is(.page-compare, .page-compare-overview) .forwho-card.us{ background:var(--ink); color:var(--on-dark); box-shadow:6px 6px 0 var(--ash-soft); }

:is(.page-compare, .page-compare-overview) .forwho-card h3{ font-size:var(--fs-lead); letter-spacing:-.02em; margin:0 0 1rem; }

:is(.page-compare, .page-compare-overview) .forwho-card ul{ list-style:none; margin:0; padding:0; display:grid; gap:.7rem; }

:is(.page-compare, .page-compare-overview) .forwho-card li{ display:flex; gap:.6rem; align-items:flex-start; line-height:1.5; font-size:var(--fs-body); }

/* .mk-dot/.mk-dash bringen die Form mit, hier nur die Farbe je Karte */

:is(.page-compare, .page-compare-overview) .forwho-card.them li .mk-dash{ color:var(--ink-soft); }

:is(.page-compare, .page-compare-overview) .forwho-card.us li .mk-dot{ color:var(--acid); }

:is(.page-compare, .page-compare-overview) .forwho-card.us li em{ font-style:italic; color:var(--acid); }


/* Preis */
/* KI-Agent als Wettbewerber, in der Optik der Preis-Karte */
.page-compare .cmp-agent{ max-width:760px; margin-inline:auto; }
.page-compare .cmp-einwand{ margin:0; color:var(--ink-soft); line-height:1.6; text-align:center; text-wrap:pretty; }
.page-compare .cmp-einwand b{ color:var(--ink); }
.page-compare .cmp-einwand a{ color:var(--ink); font-weight:700; text-decoration:underline; text-underline-offset:3px; }

.page-compare .cmp-price{ max-width:760px; margin-inline:auto; }

.page-compare .cmp-price .card{ padding:clamp(26px,3vw,40px); text-align:center; }

.page-compare .cmp-price h2{ letter-spacing:-.03em; margin:0 0 .6em; }

.page-compare .cmp-price p{ color:var(--ink-soft); margin:0 auto; max-width:60ch; line-height:1.62; font-size:var(--fs-body); }

.page-compare .cmp-price .note{ justify-content:center; margin-top:1.1rem; }

.page-compare .cmp-price .note a{ text-decoration:underline; text-underline-offset:3px; }


/* Weitere Vergleiche */
.page-compare .more-compare{ text-align:center; }

.page-compare .more-compare .wrap{ max-width:760px; }

.page-compare .more-compare h2{ letter-spacing:-.03em; margin-bottom:clamp(18px,2.4vw,28px); }

.page-compare .more-compare .links{ display:flex; flex-wrap:wrap; gap:.7rem; justify-content:center; }

.page-compare .more-compare a{ display:inline-flex; align-items:center; gap:.5rem; background:var(--paper); border:2px solid var(--ink); border-radius:var(--r-pill); box-shadow:4px 4px 0 var(--ink); padding:.7em 1.3em; font-weight:800; text-decoration:none; color:var(--ink); transition:transform .14s, box-shadow .14s; }

@media (hover:hover) and (pointer:fine){ .page-compare .more-compare a:hover{ transform:translateY(-2px); box-shadow:6px 6px 0 var(--ink); } }

.page-compare .more-compare a i{ color:var(--ink); }


@media (max-width:760px){ :is(.page-compare, .page-compare-overview) .forwho-grid{ grid-template-columns:1fr; }
 }


/* Vergleichsübersicht */

/* Hero */
.page-compare-overview .ov-hero{ padding-top:clamp(30px,5vw,60px); padding-bottom:clamp(44px,6vw,80px); text-align:center; background:transparent; }

.page-compare-overview .ov-hero .wrap{ max-width:940px; }

.page-compare-overview .ov-hero h1{ margin:.2em 0 .5em; }
@media (max-width:480px){ .page-compare-overview .ov-hero h1{ font-size:2.75rem; } }

.page-compare-overview .ov-hero .lead{ max-width:60ch; margin-inline:auto; font-weight:600; }

.page-compare-overview .ov-hero .lead em{ font-style:normal; background:linear-gradient(transparent 58%,var(--acid) 0); padding:0 .06em; }


/* Matrix */
.page-compare-overview .matrix-sec h2{ text-align:center; font-size:var(--fs-h2); font-weight:900; text-transform:uppercase; letter-spacing:-.04em; line-height:.92; margin-bottom:.3em; text-wrap:balance; }

.page-compare-overview .matrix-sec .sub{ text-align:center; color:var(--ink-soft); max-width:56ch; margin:0 auto clamp(22px,3vw,36px); font-weight:500; }
.page-compare-overview .ov-passt{ padding-top:0; }
.page-compare-overview .ov-passt h2{ text-align:center; margin-bottom:.4em; }
.page-compare-overview .ov-passt .sub{ text-align:center; color:var(--ink-soft); max-width:56ch; margin:0 auto clamp(22px,3vw,36px); font-weight:500; }
.page-compare-overview .mtable th.feat a{ color:inherit; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; text-decoration-color:var(--acid); }
.page-compare-overview :is(.ov-stand, .ov-profi){ text-align:center; color:var(--ink-soft); font-size:var(--fs-sm); margin:1rem auto 0; max-width:64ch; line-height:1.6; }
.page-compare-overview .ov-profi b{ color:var(--ink); }
.page-compare-overview :is(.ov-stand, .ov-profi) a{ color:var(--ink); font-weight:700; text-decoration:underline; text-underline-offset:3px; }

/* Zwischen Karten-Form und voller Breite liegen die hinteren Tools rechts außerhalb des Kastens */
.page-compare-overview .mtable-hint{ display:none; }
@media (min-width:681px) and (max-width:1240px){
  .page-compare-overview .mtable-hint{ display:flex; align-items:center; justify-content:flex-end; gap:.4em; margin:0 0 .6rem; font-size:var(--fs-xs); font-weight:700; color:var(--ink-soft); }
}
/* position:relative als Containing Block, sonst ragen die .sr-Spans mobil aus der Tabelle */
.page-compare-overview .mtable-wrap{ position:relative; overflow-x:auto; -webkit-overflow-scrolling:touch; border:2px solid var(--ink); border-radius:var(--r-box); box-shadow:6px 6px 0 var(--ink); background:var(--paper); }

.page-compare-overview .mtable{ width:100%; border-collapse:collapse; min-width:780px; background:var(--paper); }

.page-compare-overview .mtable th, .page-compare-overview .mtable td{ padding:.7rem .6rem; text-align:center; border-top:2px solid var(--ash-soft); }

.page-compare-overview .mtable thead th{ border-top:none; font-family:var(--mono); font-size:var(--fs-xs); font-weight:700; letter-spacing:.04em; text-transform:uppercase; vertical-align:bottom; padding-top:1.1rem; padding-bottom:.8rem; color:var(--ink-soft); }

.page-compare-overview .mtable thead th a{ text-decoration:none; color:var(--ink); display:inline-flex; flex-direction:column; gap:.2em; align-items:center; }

.page-compare-overview .mtable thead th a:hover{ color:var(--amber-deep); }

.page-compare-overview .mtable thead th .cv{ font-size:var(--fs-xs); font-weight:700; color:var(--ink-soft); letter-spacing:.06em; white-space:nowrap; }

.page-compare-overview .mtable thead th a:hover .cv{ color:var(--amber-deep); }

/* Feature-Spalte (sticky links) */
.page-compare-overview .mtable th.feat, .page-compare-overview .mtable td.feat{ text-align:left; position:sticky; left:0; background:var(--paper); z-index:1; font-weight:700; color:var(--ink-soft); font-size:var(--fs-sm); white-space:normal; min-width:12rem; max-width:17rem; box-shadow:2px 0 0 var(--ash-soft); } /* umbrechen statt 494 px breit, damit am Laptop alle sieben Spalten passen */

@media(hover:hover){
  .page-compare-overview .mtable tbody tr:hover td, .page-compare-overview .mtable tbody tr:hover th.feat{ background:var(--ink); color:#fff; }

  .page-compare-overview .mtable tbody tr:hover td .dot, .page-compare-overview .mtable tbody tr:hover td .paid{ color:#fff; }

  .page-compare-overview .mtable tbody tr:hover td .dash{ color:rgba(255,255,255,.45); }

  .page-compare-overview .mtable tbody tr:hover td.viz{ background:var(--ink); }

  .page-compare-overview .mtable tbody tr:hover td.viz .dot{ color:var(--acid); }

}

/* VIZ‑O‑MAT®-Spalte */
.page-compare-overview .mtable col.viz, .page-compare-overview .mtable th.viz, .page-compare-overview .mtable td.viz{ background:var(--acid); }

.page-compare-overview .mtable thead th.viz{ color:var(--ink); }

.page-compare-overview .mtable thead th.viz .wm{ font-family:var(--font); font-weight:900; font-style:italic; letter-spacing:-.05em; text-transform:uppercase; font-size:var(--fs-sm); }

/* USP-Zeile */
.page-compare-overview .mtable tr.star th.feat::after{ content:"★"; color:var(--amber-deep); font-size:.72em; margin-left:.4em; vertical-align:.12em; }

/* Punkt statt Häkchen: voll = vorhanden, Ring = teilweise; currentColor, damit Hover mitfärbt */
.page-compare-overview .mtable .dot, .page-compare-overview .mlegend .dot{ display:inline-block; width:12px; height:12px; border-radius:50%; background:currentColor; color:var(--ink); vertical-align:-.06em; }

.page-compare-overview .mtable .dot.half, .page-compare-overview .mlegend .dot.half{ box-sizing:border-box; border:2px solid currentColor; background:transparent; }
.page-compare-overview .mtable .dot.soon, .page-compare-overview .mlegend .dot.soon{ box-sizing:border-box; border:2px dashed currentColor; background:transparent; /* gestrichelter Ring = angekündigt, noch nicht verfügbar */ }

.page-compare-overview .mtable .dash{ color:var(--shadow); }

.page-compare-overview .mtable .paid{ color:var(--ink); font-weight:800; font-size:var(--fs-sm); }

.page-compare-overview .mlegend{ text-align:center; color:var(--ink-soft); font-size:var(--fs-sm); margin:1.1rem auto 0; max-width:64ch; display:flex; flex-wrap:wrap; gap:.3rem 1.1rem; justify-content:center; font-weight:600; }

.page-compare-overview .mlegend b{ color:var(--ink); font-weight:800; }

.page-compare-overview .mlegend .star{ color:var(--amber-deep); }


/* Kompletter Vergleich */
.page-compare-overview .detail-sec h2{ text-align:center; font-size:var(--fs-h2); font-weight:900; text-transform:uppercase; letter-spacing:-.04em; line-height:.92; margin-bottom:.3em; text-wrap:balance; }

.page-compare-overview .detail-sec .sub{ text-align:center; color:var(--ink-soft); max-width:54ch; margin:0 auto clamp(22px,3vw,34px); font-weight:500; }

.page-compare-overview .detail-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(12px,1.5vw,18px); }

.page-compare-overview .detail-card{ display:flex; flex-direction:column; gap:.5rem; padding:clamp(20px,2.2vw,28px); text-decoration:none; color:var(--ink); transition:transform .16s, box-shadow .16s; }

@media (hover:hover) and (pointer:fine){ .page-compare-overview .detail-card:hover{ transform:translateY(-3px); box-shadow:9px 9px 0 var(--ink); } }

.page-compare-overview .detail-card .vs{ font-family:var(--mono); font-size:var(--fs-xs); font-weight:700; color:var(--ink-soft); letter-spacing:.08em; text-transform:uppercase; }

.page-compare-overview .detail-card .tool{ font-size:var(--fs-lead); font-weight:900; letter-spacing:-.03em; }
/* .detail-card .go: gemeinsame Hub-Regel im Hilfe-Abschnitt */


@media (max-width:760px){ .page-compare-overview .detail-grid{ grid-template-columns:1fr 1fr; }
 }

@media (max-width:520px){ .page-compare-overview .detail-grid{ grid-template-columns:1fr; }
 .page-compare-overview .mtable th.feat, .page-compare-overview .mtable td.feat{ min-width:150px; }
 }


/* Funktionsseiten */

/* Hero */
/* Vergleichsübersicht am Handy: Matrix als gestapelte Blöcke, acht Spalten passen nicht */
@media (max-width:680px){
  .page-compare-overview .mtable{ min-width:0; }
  .page-compare-overview .mtable thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .page-compare-overview .mtable tbody{ display:block; }
  .page-compare-overview .mtable tbody tr{ display:grid; grid-template-columns:1fr 1fr; gap:.15rem .9rem; border-top:2px solid var(--ash-soft); padding:.7rem .9rem .9rem; }
  .page-compare-overview .mtable tbody tr:first-child{ border-top:none; }
  .page-compare-overview .mtable th.feat{ grid-column:1 / -1; position:static; box-shadow:none; min-width:0; max-width:none; white-space:normal; padding:0 0 .45rem; border:none; background:transparent; color:var(--ink); }
  .page-compare-overview .mtable td{ display:flex; justify-content:space-between; align-items:center; gap:.5rem; text-align:right; border:none; padding:.28rem .45rem; font-size:var(--fs-xs); }
  .page-compare-overview .mtable td::before{ content:attr(data-label); font-weight:700; color:var(--ink-soft); text-align:left; }
  .page-compare-overview .mtable td.viz{ border-radius:var(--r-sm); }
  .page-compare-overview .mtable td.viz::before{ color:var(--ink); }
}
.page-module .feat-hero{ padding-top:clamp(30px,5vw,60px); padding-bottom:clamp(30px,4vw,52px); text-align:center; background:transparent; }

.page-module .feat-hero .wrap{ max-width:940px; }

.page-module .feat-hero h1{ margin:.2em 0 .45em; }
 .page-module .feat-hero h1 em{ font-style:italic; }

.page-module .feat-hero .lead{ max-width:56ch; margin-inline:auto; }



/* Bericht-Mockup bewusst ohne Seiten-Scope, Mail-Größen in rem als Replik-Ausnahme */
.bm .sec-head{ text-align:center; margin-bottom:clamp(30px,3.6vw,48px); }
.bm .sec-head h2{ margin-inline-start:0; }
.bm-stage{ position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:clamp(32px,4.5vw,64px); align-items:start; }
.bm-stage::before{ content:""; position:absolute; right:4%; top:6%; z-index:0; width:58%; height:76%; background:radial-gradient(closest-side, color-mix(in srgb, var(--acid) 50%, transparent), transparent); filter:blur(46px); }
.bm-points{ position:sticky; top:130px; z-index:1; list-style:none; margin:0; padding:1rem 0 0; display:grid; gap:1.7rem; }
.bm-points li{ display:flex; gap:.9rem; align-items:flex-start; color:var(--ink-soft); font-weight:500; line-height:1.45; }
.bm-points b{ display:block; margin-bottom:.25rem; color:var(--ink); font-family:var(--font-head); font-weight:800; letter-spacing:-.04em; font-size:1.45rem; line-height:1.1; }
.bm-n{ width:2.4rem; height:2.4rem; flex:0 0 auto; display:grid; place-items:center; background:var(--acid); border:2px solid var(--ink); border-radius:50%; box-shadow:3px 3px 0 var(--ink); color:var(--ink); font-family:var(--font-head); font-weight:800; font-size:1.25rem; line-height:1; }
.bm-mailcol{ position:relative; z-index:1; padding-left:1.5rem; }
.bm-mail{ background:var(--paper); border:2px solid var(--ink); border-radius:var(--r-box); box-shadow:6px 6px 0 var(--ink); color:var(--ink); }
.bm-mh{ display:flex; justify-content:space-between; align-items:center; gap:.8rem; padding:.8rem 1.5rem; border-bottom:2px solid var(--ink); }
.bm-mh img{ height:15px; width:auto; }
.bm-mh span{ font-size:.58rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); text-align:right; }
.bm-mh .bm-dom{ text-transform:none; letter-spacing:.02em; }
.bm-mb{ padding:1.1rem 1.5rem 1.4rem; }
.bm-hi{ margin:0 0 .3rem; font-weight:700; font-size:.76rem; }
.bm-hl{ position:relative; margin:0 0 .8rem; font-family:var(--font-head); font-weight:800; letter-spacing:-.04em; font-size:1.4rem; line-height:1.15; }
/* Die eine Sache mit dem Acid-Rahmen der Karte im Konto, darunter die Blöcke der Übersicht */
.bm-eine{ position:relative; margin:0 0 1rem; padding:.85rem 1rem 1rem; border:3px solid var(--acid); border-radius:14px; }
.bm-k{ margin:0; font-size:.72rem; color:var(--ink-soft); }
.bm-t{ margin:.1rem 0 .3rem; font-family:var(--font-head); font-weight:800; letter-spacing:-.03em; font-size:1.08rem; line-height:1.15; }
.bm-why{ margin:0; font-size:.78rem; line-height:1.5; color:var(--ink-soft); }
.bm-schritte{ margin:.5rem 0 0; padding:0 0 0 1.2rem; font-size:.8rem; font-weight:700; line-height:1.45; }
.bm-schritte li + li{ margin-top:.2rem; }
.bm-cta{ display:inline-block; margin:.75rem 0 0; padding:.42rem 1rem; background:var(--acid); border:2px solid var(--ink); border-radius:var(--r-pill); box-shadow:3px 3px 0 var(--ink); font-weight:800; font-size:.86rem; }
.bm-block{ position:relative; margin:0 0 .8rem; }
.bm-lbl{ margin:0 0 .3rem; font-size:.58rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-soft); }
.bm-zeile{ display:grid; grid-template-columns:1rem 3.6rem 1fr; gap:.3rem; margin:0; padding:.35rem 0; border-top:1px solid var(--ash-soft); font-size:.78rem; line-height:1.4; }
.bm-zs-ok{ color:var(--good); } .bm-zs-half, .bm-zs-open{ color:var(--amber-deep); } .bm-zs-none{ color:var(--shadow); }
.bm-seit{ margin:0 0 .3rem; font-size:.78rem; line-height:1.5; }
.bm-mf{ padding:1.1rem 1rem 0; text-align:center; background:linear-gradient(180deg, var(--paper), var(--acid)); border-radius:0 0 16px 16px; }
.bm-mf p{ margin:0 0 .4rem; font-weight:800; font-size:.86rem; }
.bm-bot{ width:76px; height:80px; margin:0 auto; overflow:hidden; }
.bm-bot .bot{ display:block; width:76px; }
.bm-hi-bot{ display:flex; align-items:center; gap:.75rem; margin-bottom:.5rem; font-weight:800; font-size:.95rem; }
.bm-hi-bot .bm-bot{ flex:0 0 auto; width:52px; height:auto; margin:0; overflow:visible; }
.bm-hi-bot .bm-bot .bot{ width:52px; }
.bm-mailcol .bm-mf{ padding-bottom:1rem; }
.bm-pin{ position:absolute; left:-2.45rem; top:.05rem; width:1.9rem; height:1.9rem; display:grid; place-items:center; background:var(--acid); border:2px solid var(--ink); border-radius:50%; box-shadow:2px 2px 0 var(--ink); font-family:var(--font-head); font-weight:800; font-size:1rem; line-height:1; }
.bm-eine .bm-pin{ left:calc(-2.45rem - 3px); top:.6rem; }
/* Beispiel-Zeile direkt unter der Überschrift, bevor jemand die Zahlen für echt hält */
.bm-note{ margin:.9rem 0 0; text-align:center; font-size:var(--fs-sm); color:var(--ink-soft); font-weight:600; text-wrap:balance; }
@media (max-width:880px){ .bm-stage{ grid-template-columns:minmax(0,1fr); } .bm-stage::before{ display:none; } .bm-points{ position:static; order:0; padding-top:0; gap:1rem; } }
@media (max-width:560px){ .bm-mailcol{ padding-left:1.1rem; } .bm-pin{ left:-1.9rem; width:1.6rem; height:1.6rem; font-size:.85rem; } }


/* Unter 600 px steht das Icon über dem Text, sonst bleiben dem Text rund 220 px */
@media (max-width:600px){ .page-compare .honest-card{ flex-direction:column; gap:.8rem; } }


/* Zielgruppenseiten */

/* Hero */
.page-zielgruppen .zg-hero{ padding-top:clamp(30px,5vw,60px); padding-bottom:clamp(30px,4vw,52px); text-align:center; background:transparent; }

.page-zielgruppen .zg-hero .wrap{ max-width:940px; }

.page-zielgruppen .zg-hero h1{ margin:.2em 0 .45em; }
 .page-zielgruppen .zg-hero h1 em{ font-style:italic; }

.page-zielgruppen .zg-hero .lead{ max-width:58ch; margin-inline:auto; }

/* Prüf-Feld im Hero wie auf den Funktionsseiten */
.page-zielgruppen .zg-check{ margin-top:clamp(24px,3vw,36px); }


/* Tarif-Tipp */
.page-zielgruppen .zg-plan .wrap{ max-width:640px; }

.page-zielgruppen .plan-card{ padding:clamp(26px,3.4vw,42px); text-align:center; }

.page-zielgruppen .plan-card .pl-satz{ font-family:var(--font-head); font-weight:800; font-size:var(--fs-h3); letter-spacing:-.04em; line-height:1.15; margin:0 auto .5rem; max-width:24ch; text-wrap:balance; }

.page-zielgruppen .plan-card .pl-price{ font-family:var(--mono); font-weight:700; color:var(--ink-soft); margin:0 0 1rem; }

.page-zielgruppen .plan-card .pl-price b{ color:var(--ink); font-size:1.15em; }


.page-zielgruppen .plan-card .cta-row{ display:flex; flex-wrap:wrap; gap:.7rem; justify-content:center; }

.page-zielgruppen .plan-card .pl-free{ margin:1rem 0 0; font-size:var(--fs-sm); color:var(--ink-soft); }
.page-zielgruppen .plan-card .pl-free a{ color:var(--ink); font-weight:700; text-decoration:underline; text-underline-offset:3px; }


/* FAQ */
.page-zielgruppen .zg-faq .wrap{ max-width:760px; }

.page-zielgruppen .zg-faq .head{ text-align:center; margin-bottom:clamp(20px,2.8vw,32px); }

.page-zielgruppen .faq-list{ display:grid; gap:clamp(12px,1.6vw,16px); }

.page-zielgruppen .faq-item{ padding:clamp(20px,2.4vw,28px); }

.page-zielgruppen .faq-item h3{ font-size:var(--fs-body); letter-spacing:-.02em; margin:0 0 .5em; display:flex; gap:.6em; align-items:flex-start; }

.page-zielgruppen .faq-item h3 i{ color:var(--ink); flex:0 0 auto; margin-top:.05em; }

.page-zielgruppen .faq-item p{ color:var(--ink-soft); margin:0; line-height:1.6; font-size:var(--fs-body); }


/* Zielgruppen-Übersicht */

.page-zielgruppen-index .fuer-hero{ padding-top:clamp(30px,5vw,60px); padding-bottom:clamp(22px,3vw,38px); text-align:center; background:transparent; }

.page-zielgruppen-index .fuer-hero .wrap{ max-width:720px; }


.page-zielgruppen-index .fuer-hero h1{ margin:.2em 0 .4em; }
 .page-zielgruppen-index .fuer-hero h1 em{ font-style:italic; }

.page-zielgruppen-index .fuer-hero .lead{ max-width:54ch; margin-inline:auto; }

.page-zielgruppen-index .fuer-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(14px,1.8vw,20px); }

.page-zielgruppen-index .fuer-card{ display:flex; flex-direction:column; gap:.55rem; padding:clamp(22px,2.8vw,32px); text-decoration:none; color:var(--ink); transition:transform .14s, box-shadow .14s; }

@media (hover:hover) and (pointer:fine){ .page-zielgruppen-index .fuer-card:hover{ transform:translateY(-3px); box-shadow:9px 9px 0 var(--ink); } }

.page-zielgruppen-index .fuer-card .ic{ font-size:var(--fs-h2); line-height:1; color:var(--ink); }

.page-zielgruppen-index .fuer-card .nm{ font-weight:800; font-size:var(--fs-lead); letter-spacing:-.02em; }

.page-zielgruppen-index .fuer-card .tg{ color:var(--ink-soft); font-size:var(--fs-sm); line-height:1.45; }

/* .fuer-card .go: gemeinsame Hub-Regel im Hilfe-Abschnitt */

.page-zielgruppen-index .fuer-note{ text-align:center; color:var(--ink-soft); max-width:52ch; margin:clamp(22px,3vw,34px) auto 0; font-size:var(--fs-sm); line-height:1.55; }

@media (max-width:880px){ .page-zielgruppen-index .fuer-grid{ grid-template-columns:1fr 1fr; } }

@media (max-width:520px){ .page-zielgruppen-index .fuer-grid{ grid-template-columns:1fr; } }


/* Blogartikel */

/* Kopfzone nach dem Muster .ov-hero */
.page-blog .bl-hero{ padding-top:clamp(28px,4vw,52px); padding-bottom:clamp(24px,3vw,40px); background:transparent; text-align:center; }

.page-blog .bl-hero .wrap{ max-width:940px; }

.page-blog .bl-back{ display:inline-flex; align-items:center; gap:.4em; font-weight:700; font-size:var(--fs-sm); color:var(--ink); text-decoration:none; margin-bottom:1.2rem; }

.page-blog .bl-back:hover{ text-decoration:underline; text-underline-offset:3px; }

.page-blog .bl-hero h1{ font-size:var(--fs-h2); letter-spacing:-.035em; line-height:1.1; margin:.2em 0 .4em; }

.page-blog .bl-hero .lead{ max-width:60ch; margin-inline:auto; }
.page-blog .bl-hero .bl-meta{ justify-content:center; }
.page-blog .bl-hero .bl-back{ justify-content:center; }

.page-blog .bl-meta{ display:flex; flex-wrap:wrap; gap:.5rem 1.1rem; margin-top:1.3rem; font-size:var(--fs-sm); font-weight:700; color:var(--ink-soft); align-items:center; }

/* Kategorie als eckiger grauer Tag, rund gefüllt ist bei uns die Sprache der Knöpfe */
.page-blog .bl-meta .cat{ background:var(--ash); color:var(--ink); border-radius:var(--r-tag); padding:.3em .65em; font-size:var(--fs-tag); font-weight:800; letter-spacing:.05em; }

.page-blog .bl-meta .dot{ width:4px; height:4px; border-radius:50%; background:var(--ink-soft); }

/* Wie .wrap: Lesebreite plus Seitenabstand, sonst steht der Text neben seiner Überschrift */
.page-blog .bl-body{ max-width:calc(var(--read) + var(--gutter) * 2); margin-inline:auto; padding-inline:var(--gutter); }

.page-blog .prose{ font-size:var(--fs-lead); line-height:1.7; color:var(--ink); }

.page-blog .prose h2{ font-size:var(--fs-h3); letter-spacing:-.025em; line-height:1.25; margin:2em 0 .6em; }

.page-blog .prose p{ margin:0 0 1.1em; }

.page-blog .prose ul{ margin:0 0 1.3em; padding-left:0; list-style:none; display:grid; gap:.6em; }

.page-blog .prose ul li{ position:relative; padding-left:1.7em; }

.page-blog .prose ul li::before{ content:"→"; position:absolute; left:0; color:var(--ink); font-weight:800; }

.page-blog .prose a{ color:var(--ink); font-weight:600; text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:2px; text-decoration-color:var(--ink); padding:0 1px; border-radius:var(--r-tag); transition:background .12s; }

.page-blog .prose a:hover{ background:var(--acid); text-decoration-color:var(--ink); }

.page-blog .prose strong{ font-weight:800; }

.page-blog .prose blockquote{ margin:1.6em 0; padding:1.1em 1.3em; background:var(--ink); color:var(--on-dark); border-radius:var(--r-box); box-shadow:6px 6px 0 var(--ash-soft); font-size:var(--fs-lead); font-weight:800; letter-spacing:-.02em; line-height:1.3; }

.page-blog .prose h3{ font-size:var(--fs-lead); letter-spacing:-.02em; margin:1.6em 0 .4em; }

/* Tabellen brechen auf die Innenbreite von .wrap aus, der Rand zentriert sie zur Textspalte */
.page-blog .prose .table-wrap{ --tbl-w:calc(min(var(--maxw), 100vw) - var(--gutter) * 2); width:var(--tbl-w); margin:1.4em calc(50% - var(--tbl-w) / 2); overflow-x:auto; border:2px solid var(--ink); border-radius:var(--r-sm); }

.page-blog .prose table{ width:100%; border-collapse:collapse; font-size:var(--fs-sm); min-width:520px; }

.page-blog .prose th, .page-blog .prose td{ text-align:left; padding:.75em .9em; border-top:1px solid var(--ash-soft); vertical-align:top; line-height:1.4; }

.page-blog .prose thead th{ border-top:none; border-bottom:2px solid var(--ink); font-weight:800; background:var(--paper); }

.page-blog .prose tbody tr:nth-child(even){ background:rgba(0,0,0,.02); }

/* Zeilen-Hover wie .tbl in app.css, damit das Auge in der Zeile bleibt */
@media(hover:hover){
  .page-blog .prose tbody tr:hover td, .page-blog .prose tbody tr:hover th{ background:var(--ink); color:#fff; }
}

.page-blog .prose .src-note{ font-size:var(--fs-sm); color:var(--ink-soft); margin-top:-.4em; }

.page-blog .bl-author{ max-width:var(--read); margin:clamp(30px,4vw,48px) auto 0; padding-top:1.6rem; border-top:2px solid var(--ash-soft); display:flex; gap:1rem; align-items:center; font-size:var(--fs-sm); color:var(--ink-soft); }

.page-blog .bl-author .av{ width:46px; height:46px; border-radius:50%; background:var(--acid); border:2px solid var(--ink); display:grid; place-items:center; font-weight:900; flex:0 0 auto; }

.page-blog .bl-author b{ color:var(--ink); }

.page-blog .more-arts .head{ text-align:center; margin-bottom:clamp(18px,2.4vw,28px); }

/* Kartenraster, deshalb Containerbreite statt Lesebreite */
.page-blog .more-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:clamp(12px,1.6vw,18px); }

.page-blog .art-card{ display:flex; flex-direction:column; gap:.5rem; padding:clamp(20px,2.4vw,26px); text-decoration:none; color:var(--ink); transition:transform .14s, box-shadow .14s; }

@media (hover:hover) and (pointer:fine){ .page-blog .art-card:hover{ transform:translateY(-3px); box-shadow:9px 9px 0 var(--ink); } }

.page-blog .art-card .cat{ font-family:var(--mono); font-size:var(--fs-xs); font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); }

.page-blog .art-card .ti{ font-weight:800; font-size:var(--fs-body); letter-spacing:-.02em; line-height:1.25; }



/* Blog-Übersicht */

.page-blog-index .blog-hero{ padding-top:clamp(30px,5vw,60px); padding-bottom:clamp(20px,3vw,36px); text-align:center; background:transparent; }

.page-blog-index .blog-hero .wrap{ max-width:940px; }   /* wie .ov-hero auf /vergleich und der Artikel-Hero */


.page-blog-index .blog-hero h1{ margin:.2em 0 .35em; }

.page-blog-index .blog-hero .lead{ max-width:52ch; margin-inline:auto; }

/* Fest zwei Spalten statt auto-fit, sonst werden es auf breiten Schirmen drei */
.page-blog-index .blog-list{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(22px,2.8vw,36px); max-width:none; align-items:stretch; }
@media (max-width:760px){ .page-blog-index .blog-list{ grid-template-columns:1fr; } }

/* Spalte, damit margin-top:auto den Knopf in gleich hohen Karten ans Ende schiebt */
.page-blog-index .post{ display:flex; flex-direction:column; padding:clamp(22px,2.8vw,32px); text-decoration:none; color:var(--ink); transition:transform .14s, box-shadow .14s; }

@media (hover:hover) and (pointer:fine){ .page-blog-index .post:hover{ transform:translateY(-3px); box-shadow:9px 9px 0 var(--ink); } }

.page-blog-index .post .meta{ display:flex; flex-wrap:wrap; gap:.4rem .9rem; align-items:center; font-family:var(--mono); font-size:var(--fs-xs); font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:.7rem; }

.page-blog-index .post .meta .cat{ background:var(--ash); color:var(--ink); border-radius:var(--r-tag); padding:.3em .65em; font-size:var(--fs-tag); font-weight:800; letter-spacing:.05em; }

.page-blog-index .post h2{ font-size:var(--fs-h3); letter-spacing:-.025em; line-height:1.2; margin:0 0 .4em; }

.page-blog-index .post p{ color:var(--ink-soft); margin:0 0 .8em; line-height:1.55; }

/* .post .go: gemeinsame Hub-Regel im Hilfe-Abschnitt */

.page-blog-index .blog-empty{ text-align:center; color:var(--ink-soft); max-width:46ch; margin:0 auto; }


/* Kontrast-Checker */
.page-kontrast .kr{ padding-top:clamp(26px,4vw,52px); padding-bottom:clamp(28px,4vw,48px); }
.page-kontrast .kr .wrap{ max-width:880px; text-align:center; }
.page-kontrast .kr h1 span{ display:block; font-weight:400; }
.page-kontrast .kr .lead{ max-width:46ch; margin:14px auto 34px; }
/* Die Vorschau zeigt fremde Farben, deshalb der fremde Browser-Look wie in der Tab-Szene der Startseite */
.page-kontrast .kr-bild{ overflow:hidden; border:1px solid #cfd1d4; border-radius:14px; background:#fff; box-shadow:0 26px 48px -20px rgba(12,15,19,.38), 0 2px 6px rgba(12,15,19,.08); text-align:left; cursor:default; }
.page-kontrast .kr-leiste{ display:flex; gap:7px; align-items:center; padding:11px 16px; background:#e8e9eb; box-shadow:inset 0 -1px 0 #d3d5d8; color:#5f6368; font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif; font-size:13px; font-weight:500; line-height:1.2; }
.page-kontrast .kr-leiste i{ flex:none; width:12px; height:12px; border-radius:50%; background:#ff5f57; }
.page-kontrast .kr-leiste i:nth-child(2){ background:#febc2e; }
.page-kontrast .kr-leiste i:nth-child(3){ background:#28c840; }
.page-kontrast .kr-leiste span{ margin-left:8px; }
.page-kontrast .kr-buehne{ padding:clamp(24px,5vw,52px) clamp(20px,5vw,56px); font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; transition:background .15s, color .15s; }
.page-kontrast .kr-buehne p{ margin:0; }
.page-kontrast .kr-gross{ font-size:clamp(1.6rem,1rem + 2.4vw,2.5rem); font-weight:700; line-height:1.15; letter-spacing:-.01em; }
.page-kontrast .kr-klein{ font-size:1.05rem; line-height:1.5; max-width:44ch; }
.page-kontrast .kr-buehne .kr-klein{ margin-top:12px; }
/* Die Bedienung liegt auf einer eigenen grauen Fläche, jedes Feld trägt Rahmen und Beschriftung */
.page-kontrast .kr-werkzeug{ margin-top:30px; padding:18px; border-radius:var(--r-box); background:var(--ash-soft); }
.page-kontrast .kr-felder{ display:grid; grid-template-columns:1fr auto 1fr; gap:14px; align-items:end; }
.page-kontrast .kr-feld{ min-width:0; text-align:left; }
.page-kontrast .kr-feld > label{ display:block; margin:0 0 6px 2px; color:var(--ink-soft); font-size:var(--fs-2xs); font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.page-kontrast .kr-eingabe{ display:flex; align-items:stretch; min-height:56px; border:2px solid var(--ink); border-radius:var(--r-sm); background:var(--paper); transition:box-shadow .12s; }
.page-kontrast .kr-eingabe:has(:focus-visible){ box-shadow:0 0 0 3px var(--acid), 0 0 0 5px var(--ink); }
.page-kontrast .kr-eingabe:has([aria-invalid="true"]){ border-color:var(--red); }
.page-kontrast .kr-eingabe input:focus-visible{ outline:0; }
.page-kontrast .kr-wahl{ display:flex; flex:none; gap:7px; align-items:center; padding:0 11px; border-right:1px solid var(--shadow); cursor:pointer; }
/* Der kleine Pfeil sagt wie bei einer Auswahlliste, dass sich hier etwas öffnet */
.page-kontrast .kr-wahl::after{ content:""; border:5px solid transparent; border-top-color:var(--ink); border-bottom-width:0; }
.page-kontrast .kr-wahl input{ flex:none; width:34px; height:34px; padding:0; border:2px solid var(--ink); border-radius:50%; background:none; cursor:pointer; }
.page-kontrast .kr-wahl input::-webkit-color-swatch-wrapper{ padding:0; }
.page-kontrast .kr-wahl input::-webkit-color-swatch{ border:0; border-radius:50%; }
.page-kontrast .kr-wahl input::-moz-color-swatch{ border:0; border-radius:50%; }
.page-kontrast .kr-eingabe input[type=text]{ flex:1 1 auto; width:100%; min-width:0; min-height:44px; padding:0 12px; border:0; background:none; color:var(--ink); font:600 1.1rem var(--font); text-transform:uppercase; cursor:text; }
@media (max-width:480px){ .page-kontrast .kr h1{ font-size:2.6rem; } }
.page-kontrast .kr-tausch{ display:inline-flex; gap:8px; align-items:center; justify-self:center; min-height:48px; margin-bottom:4px; padding:0 18px; border:0; border-radius:var(--r-pill); background:var(--ink); color:var(--paper); font:800 1rem var(--font); cursor:pointer; transition:transform .15s; }
.page-kontrast .kr-tausch i{ font-size:1.15rem; }
/* Die leisen Wege bleiben auf der Fläche der Bedienung, rund und grau, hinter einer Linie */
@media (hover:hover) and (pointer:fine){
  .page-kontrast :is(.kr-tausch, .kr-knopf):hover{ transform:translateY(-2px); }
  .page-kontrast .kr-wahl:hover input{ transform:scale(1.08); }
}
/* Feste Höhe, damit die Fragen darunter nicht springen, wenn der Knopf kommt und geht */
.page-kontrast .kr-urteil{ margin-top:26px; min-height:140px; }
.page-kontrast .kr-wort{ display:flex; gap:.35em; align-items:center; justify-content:center; margin:0; font:800 clamp(1.8rem,1.1rem + 2.4vw,2.8rem)/1.05 var(--font-head); letter-spacing:-.05em; }
.page-kontrast .kr-wort .zs{ width:.5em; height:.5em; border-width:.09em; }
.page-kontrast .kr-satz{ max-width:52ch; margin:8px auto 0; color:var(--ink-soft); }
.page-kontrast .kr-knopf{ display:inline-flex; gap:10px; align-items:center; min-height:48px; margin-top:14px; padding:11px 20px; border:2px solid var(--ink); border-radius:var(--r-pill); background:var(--acid); color:var(--ink); font:800 1rem var(--font); cursor:pointer; transition:transform .15s; }
.page-kontrast .kr-knopf[hidden]{ display:none; }
.page-kontrast .kr-knopf i{ flex:none; width:18px; height:18px; border:2px solid var(--ink); border-radius:50%; }
.page-kontrast .kr-faq{ padding-top:0; }
.page-kontrast .kr-faq .wrap{ max-width:var(--read); }
.page-kontrast .kr-faq h2{ margin-bottom:18px; font-size:var(--fs-h3); text-align:center; }
.page-kontrast .kr-qa{ margin-top:10px; background:var(--paper); border-radius:var(--r-box); }
.page-kontrast .kr-qa summary{ padding:16px 20px; font-weight:700; cursor:pointer; }
.page-kontrast .kr-qa p{ margin:0; padding:0 20px 18px; color:var(--ink-soft); line-height:1.55; }
.page-kontrast .kr-qa a{ color:var(--ink); font-weight:700; text-underline-offset:3px; }
@media (max-width:640px){
  .page-kontrast .kr-felder{ grid-template-columns:1fr; }
  .page-kontrast .kr-werkzeug{ padding:14px; }
  .page-kontrast .kr-tausch{ margin-bottom:0; }
  .page-kontrast .kr-tausch i{ transform:rotate(90deg); }
}
@media (prefers-reduced-motion:reduce){ .page-kontrast :is(.kr-buehne, .kr-eingabe, .kr-tausch, .kr-knopf){ transition:none; } }

/* Geteilter Vergleich */
.page-share *{ box-sizing:border-box; }
 body.page-share{ margin:0; font-family:var(--font); background:var(--ash); color:var(--ink); }

.page-share .wrap{ max-width:900px; margin-inline:auto; padding:clamp(28px,5vw,64px) clamp(18px,4vw,32px); }

.page-share .brand{ font-weight:900; font-style:italic; text-transform:uppercase; letter-spacing:-.06em; font-size:var(--fs-h3); text-decoration:none; color:var(--ink); display:inline-block; }

.page-share .lede{ color:var(--ink-soft); font-weight:600; margin:.4rem 0 1.6rem; }
.page-share .share-zurueck{ margin:.9rem 0 0; font-weight:700; }
.page-share .share-zurueck a{ display:inline-flex; align-items:center; gap:.4rem; color:var(--ink); text-decoration:none; }
.page-share .share-zurueck a:hover{ text-decoration:underline; text-underline-offset:3px; }
.page-share .own [data-check-widget]{ max-width:520px; margin-inline:auto; }
.page-share .own .note{ justify-content:center; margin-top:1rem; }

.page-share .card{ background:var(--paper); border:2px solid var(--ink); border-radius:var(--r-card); box-shadow:6px 6px 0 var(--ink); overflow:hidden; }

.page-share .result{ max-width:none; }
 .page-share .cmp-result{ padding:0; }

.page-share .cmp-verdict{ padding:clamp(24px,3vw,38px); }


.page-share .cmp-verdict h3{ margin:0 0 .3em; font-size:var(--fs-h3); font-weight:900; letter-spacing:-.02em; line-height:1.1; }

.page-share .cmp-verdict p{ color:var(--ink-soft); margin:0; max-width:56ch; }

.page-share .cmp-grid{ display:grid; grid-template-columns:1fr 1fr; border-top:2px solid var(--ink); }

.page-share .cmp-col{ padding:clamp(18px,2.4vw,28px) clamp(20px,2.6vw,30px); }
 .page-share .cmp-col + .cmp-col{ border-left:1px solid rgba(0,0,0,.12); }

.page-share .cmp-dom{ font-weight:900; letter-spacing:-.01em; font-size:var(--fs-body); margin-bottom:.9rem; word-break:break-word; }

.page-share .cmp-self{ display:block; font-weight:600; font-size:var(--fs-xs); color:var(--ink-soft); }

.page-share .cmp-row{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem; padding:.7rem 0; border-top:1px solid rgba(0,0,0,.08); }
 .page-share .cmp-row:first-of-type{ border-top:none; }

.page-share .cmp-k{ font-size:var(--fs-sm); color:var(--ink-soft); font-weight:600; }

.page-share .cmp-v{ font-weight:800; font-size:var(--fs-body); white-space:nowrap; }
 .page-share .cmp-v small{ color:var(--ink-soft); font-weight:700; font-size:.7em; }

.page-share .cmp-row.win .cmp-v{ color:var(--good); }
 .page-share .cmp-row.win .cmp-k::after{ content:""; display:inline-block; width:9px; height:9px; margin-left:.4em; border-radius:50%; background:var(--good); }

.page-share .cmp-note{ padding:0 clamp(20px,2.6vw,30px) clamp(18px,2vw,24px); margin:0; color:var(--ink-soft); font-size:var(--fs-sm); line-height:1.5; }

.page-share .cmp-share{ display:none; }

.page-share .own{ margin-top:clamp(30px,5vw,52px); text-align:center; }

.page-share .own h2{ font-size:var(--fs-h3); font-weight:900; letter-spacing:-.03em; margin:0 0 .4rem; }

.page-share .own p{ color:var(--ink-soft); margin:0 0 1.3rem; }

@media (max-width:560px){ .page-share .cmp-grid{ grid-template-columns:1fr; }
 .page-share .cmp-col + .cmp-col{ border-left:none; border-top:2px solid var(--ink); }
 }


/* Rechtstexte */
.page-legal .legal{ max-width:820px; }

.page-legal .legal h1{ font-size:var(--fs-h2); font-weight:900; letter-spacing:-.04em; line-height:1.02; margin:.2em 0 .35em; }

.page-legal .legal .stamp{ color:var(--ink-soft); font-size:var(--fs-sm); font-weight:600; margin:0 0 1.6rem; }

.page-legal .section:has(.nf4){ padding-top:24px; }
.page-legal .nf4 + .legal-card{ max-width:560px; margin-inline:auto; }
.page-legal .legal-card{ background:var(--paper); border:2px solid var(--ink); border-radius:var(--r-box); box-shadow:6px 6px 0 var(--ink);
  padding:clamp(26px,3.2vw,44px); display:grid; gap:1.7rem; font-size:var(--fs-body); line-height:1.62; }

.page-legal .legal-card section{ display:grid; gap:.5rem; }
/* Die längste URL darf die Spalte bei 320 px nicht über den Rand ziehen */
.page-legal :is(.legal-card, .legal-card section){ grid-template-columns:minmax(0, 1fr); }
.page-legal .legal-card a{ overflow-wrap:anywhere; }

.page-legal .legal-card h2{ font-size:var(--fs-lead); font-weight:800; letter-spacing:-.02em; margin:0; }

.page-legal .legal-card p{ margin:0; color:var(--ink-soft); }

.page-legal .legal-card a{ font-weight:700; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:2px; text-decoration-color:var(--acid); }

.page-legal .legal-card a:hover{ background:var(--acid); color:var(--ink); text-decoration-color:transparent; }

.page-legal .legal-card ul{ margin:.2rem 0 0; padding-left:1.25rem; display:grid; gap:.5rem; color:var(--ink-soft); }

.page-legal .legal-card strong{ color:var(--ink); font-weight:800; }

/* Fremdtext der AGB: nackte Tags ohne Grid, deshalb klassische Abstände statt gap */
/* Kopf und Breite sind getrennte Klassen, das Impressum bleibt trotz Kopf schmal */
.page-legal .legal:has(.legal-breit){ max-width:var(--maxw); }

/* Kopf zentriert wie .bl-hero, das Intro bleibt als Fließtext auf Lesebreite */
.page-legal .legal-kopf{ text-align:center; margin-bottom:clamp(22px,2.6vw,36px); }
.page-legal .legal-kopf h1{ margin:.2em 0 .35em; hyphens:auto; overflow-wrap:break-word; } /* „Leistungsbeschreibung“ ist bei 390 px breiter als die Spalte */
.page-legal .legal .legal-intro{ max-width:60ch; margin:0 auto; color:var(--ink-soft);
  font-size:var(--fs-lead); line-height:1.5; }
/* Punkt statt Häkchen oder farbigem Chip (Marken-Sprache) */
.page-legal .legal-kopf .legal-stand{ display:inline-flex; align-items:center; gap:.5rem;
  margin:1rem 0 0; font-size:var(--fs-sm); font-weight:600; color:var(--ink-soft); }
.page-legal .legal-kopf .legal-stand::before{ content:""; width:.5rem; height:.5rem;
  border-radius:50%; background:var(--acid); flex:none; }
.page-legal .legal .legal-intro a{ font-weight:700; text-decoration:underline; text-decoration-thickness:2px;
  text-underline-offset:2px; text-decoration-color:var(--acid); }
.page-legal .legal .legal-intro a:hover{ background:var(--acid); color:var(--ink); text-decoration-color:transparent; }

/* Enger Zeilenabstand, der lange Vertragstext wirkt dicht gesetzt ruhiger */
.page-legal .legal-card.legal-itrk{ display:block; line-height:1.3; }

.page-legal .legal-card.legal-itrk h2{ font-size:var(--fs-h3); margin:2.4rem 0 .8rem; }
.page-legal .legal-card.legal-itrk h3{ font-size:var(--fs-lead); font-weight:800; letter-spacing:-.02em; margin:1.9rem 0 .6rem; }
.page-legal .legal-card.legal-itrk h4{ font-size:var(--fs-body); font-weight:800; margin:1.4rem 0 .5rem; }
/* Die erste Überschrift schließt direkt an die Kartenkante an, sonst klafft doppelte Luft. */
.page-legal .legal-card.legal-itrk > div > :is(h1,h2,h3):first-child{ margin-top:0; }

.page-legal .legal-card.legal-itrk p{ margin:0 0 .9rem; }
.page-legal .legal-card.legal-itrk :is(ol,ul){ margin:.4rem 0 1.2rem; padding-left:1.5rem; color:var(--ink-soft); }
.page-legal .legal-card.legal-itrk li{ margin:0 0 .45rem; }
/* Verschachtelte Aufzählungen (Vertragsziffern wie 2.8.1) enger, sonst zerfasert der Absatz. */
.page-legal .legal-card.legal-itrk :is(ol,ul) :is(ol,ul){ margin:.35rem 0 .35rem; }


/* Displayschrift; [data-original] setzt nur der lokale Vergleichsschalter */
/* Überschriften aller öffentlichen Seiten; (0,2,2) schlägt die Seitenregeln, die SERP-Replik bleibt Arial */
html:not([data-original]) :is([class^="page-"], [class^="auth-"]) :is(h1, h2, h3){
  font-family:var(--font-head);
  font-weight:800;
  font-style:normal;
  letter-spacing:-.07em;
}
/* Weitere Bausteine in der Displayschrift */
html:not([data-original]) .page-home .tile .foot .name{
  font-family:var(--font-head);
  font-weight:800;
  letter-spacing:-.07em;
}
/* Laufband: Gruppen und Trenner erben die Displayschrift */
html:not([data-original]) .page-home .marquee-group{
  font-family:var(--font-head);
  font-weight:800;
  font-style:normal;
  letter-spacing:-.07em;
}
html:not([data-original]) :is(
  .page-home .hero .sub, .page-home .frage .punch,
  /* Zahlen gehören in die Displayschrift (Marken-Regel) */
  .plan .price .amt,
  .page-pricing .ac-price, .page-pricing .ptable thead th .amt2){
  font-family:var(--font-head);
  font-weight:800;
}
html:not([data-original]) .page-home .hero .sub{ color:var(--ink); }
/* Regular stellt die Frage, ExtraBold gibt die Antwort */
html:not([data-original]) .page-home :is(.frage h2, .nichts-eilt .z1, .nichts-eilt .z2, .macher .maker blockquote){ font-family:var(--font-head); font-weight:400; letter-spacing:-.055em; }
html:not([data-original]) .page-home :is(.frage h2 b, .macher .maker blockquote em){ font-weight:800; }
html:not([data-original]) .page-home .nichts-eilt .z3{ font-weight:800; letter-spacing:-.045em; }
html:not([data-original]) .page-home .footer-cta h2 .leise{ font-weight:400; }
html:not([data-original]) .page-home .ne-pruefen h3{ letter-spacing:-.04em; }
/* Wortmarken außer dem Header-Logo */
html:not([data-original]) :is(.foot-mark, .auth-mark, .page-share .brand){
  font-family:var(--font-head);
  font-weight:800;
  font-style:normal;
}
html:not([data-original]) .site-header .wordmark{
  font-family:var(--font-head);
  font-weight:800;
  font-style:italic;
}
/* em in Überschriften ohne Kursiv: auf Hell ein leichterer Schnitt, Acid wäre dort unsichtbar */
html:not([data-original]) .page-home .b-ki h3 em{
  font-family:var(--font-head);   /* KI-Kachel: VIZOMAT, aufrecht; die Acid-Markierung trägt die Betonung */
  font-style:normal;
}
html:not([data-original]) :is(.page-compare .cmp-hero h1 em, .page-module .feat-hero h1 em, .page-module .feat-hero h1 .frage,
  .page-zielgruppen .zg-hero h1 em, .page-zielgruppen .zg-hero h1 .frage, .page-pricing .price-hero h1 .frage, .page-about .about-hero h1 .frage, .page-zielgruppen-index .fuer-hero h1 em){
  font-family:var(--font-head);   /* helle Heroes: VIZOMAT, aufrecht, leichterer Schnitt als Kontrast */
  font-weight:400;
  font-style:normal;
}


/* Hilfe und Hilfe-Übersicht */
:is(.page-hilfe,.page-hilfe-index) .hf-hero{ padding-top:clamp(30px,5vw,60px); padding-bottom:clamp(18px,2.6vw,32px); text-align:center; background:transparent; }
:is(.page-hilfe,.page-hilfe-index) .hf-hero .wrap{ max-width:760px; }
:is(.page-hilfe,.page-hilfe-index) .hf-hero h1{ margin:.2em 0 .4em; }
:is(.page-hilfe,.page-hilfe-index) .hf-hero h1 em{ font-style:italic; }
/* Lange Komposita laufen bei 390 px aus dem Bild: trennen und kleiner */
@media (max-width:480px){ :is(.page-hilfe,.page-hilfe-index,.page-funktionen-index) .hf-hero h1{ font-size:2.4rem; hyphens:auto; overflow-wrap:anywhere; } }
:is(.page-hilfe,.page-hilfe-index) .hf-hero .lead{ max-width:58ch; margin-inline:auto; }
.page-hilfe .hf-crumb{ font-size:var(--fs-sm); font-weight:700; color:var(--ink-soft); margin:0 0 1rem; display:flex; align-items:center; justify-content:center; gap:.45em; }
.page-hilfe .hf-crumb a{ color:var(--ink); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; text-decoration-color:var(--acid); }
.page-hilfe .hf-crumb i{ font-size:.8em; }
.page-hilfe .hf-body .wrap{ max-width:820px; }
/* Block statt Flex, sonst wird ein <b> im Satz zur eigenen Spalte */
.page-hilfe .hf-use{ display:block; position:relative; padding-left:1.5rem; font-size:var(--fs-body); color:var(--ink-soft); line-height:1.6; margin:0 0 clamp(20px,2.6vw,30px); }
.page-hilfe .hf-use .pip{ position:absolute; left:0; top:.55em; width:10px; height:10px; border-radius:50%; background:var(--acid); border:2px solid var(--ink); }
.page-hilfe .hf-szenario{ padding:clamp(22px,3vw,34px); margin-bottom:clamp(16px,2vw,22px); }
.page-hilfe .hf-szenario h2{ font-size:var(--fs-h3); font-weight:900; letter-spacing:-.02em; margin:0 0 .9em; }
.page-hilfe .hf-steps{ list-style:none; counter-reset:hf; margin:0; padding:0; display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; }
.page-hilfe .hf-steps li{ counter-increment:hf; position:relative; padding-left:3rem; color:var(--ink-soft); line-height:1.6; min-width:0; } /* min-width:0: ein <pre> darf die Spalte nicht sprengen */
.page-hilfe .hf-steps li b{ color:var(--ink); }
.page-hilfe .hf-steps li::before{ content:counter(hf); position:absolute; left:0; top:0;
  width:2rem; height:2rem; display:grid; place-items:center; border:2px solid var(--ink); border-radius:50%;
  font-weight:900; font-size:var(--fs-sm); color:var(--ink); background:var(--paper); }
.page-hilfe .hf-steps a{ font-weight:700; color:var(--ink); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:2px; text-decoration-color:var(--acid); }
/* Monospace nur für kopierbaren Code, nie für Labels */
.page-hilfe code{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.92em; background:var(--ash-soft); padding:.05em .35em; border-radius:4px; color:var(--ink); }
.page-hilfe pre{ max-width:100%; margin:.75rem 0 0; padding:.9rem 1.1rem; background:var(--ink); color:#fff; border-radius:var(--r-sm); overflow-x:auto; line-height:1.55; }
.page-hilfe pre code{ background:transparent; padding:0; color:inherit; font-size:.82rem; white-space:pre; }
.page-hilfe .hf-h2{ font-size:var(--fs-h3); font-weight:900; letter-spacing:-.02em; margin:clamp(26px,3.4vw,40px) 0 .8em; }
.page-hilfe .hf-haken{ margin:0; display:grid; gap:.9rem; }
.page-hilfe .hf-hake{ padding:clamp(18px,2.2vw,26px); }
.page-hilfe .hf-hake dt{ font-weight:800; letter-spacing:-.01em; margin:0 0 .35em; }
.page-hilfe .hf-hake dd{ margin:0; color:var(--ink-soft); line-height:1.6; }
.page-hilfe .hf-danach{ margin-top:clamp(26px,3.4vw,40px); padding:clamp(22px,3vw,34px); display:flex; gap:1.4rem 2rem; align-items:center; justify-content:space-between; flex-wrap:wrap; background:var(--acid); }
.page-hilfe .hf-danach h2{ font-size:var(--fs-lead); font-weight:900; letter-spacing:-.02em; margin:0 0 .3em; }
.page-hilfe .hf-danach p{ margin:0; color:var(--ink); max-width:46ch; line-height:1.55; }
.page-hilfe .hf-danach .btn{ flex:none; }
/* Handy: lange Knopftexte brechen um, der Textblock darf schrumpfen */
.page-hilfe .hf-danach > div{ min-width:0; }
@media (max-width:560px){ .page-hilfe .btn{ white-space:normal; text-align:left; line-height:1.25; } .page-hilfe .hf-danach .btn{ flex:0 1 auto; } }
.page-hilfe .hf-more{ margin:clamp(22px,2.8vw,32px) 0 0; font-size:var(--fs-sm); color:var(--ink-soft); font-weight:600; }
.page-hilfe .hf-more a{ color:var(--ink); font-weight:700; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; text-decoration-color:var(--acid); }
.page-hilfe-index .hf-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,1.8vw,20px); }
.page-hilfe-index .hf-card{ display:flex; flex-direction:column; gap:.55rem; padding:clamp(22px,2.8vw,32px); text-decoration:none; color:var(--ink); transition:transform .14s, box-shadow .14s; }
/* „Fang hier an“ ist ein Label: eckiger Tag, nie die runde Knopf-Form */
.page-hilfe-index .hf-card{ position:relative; }
.page-hilfe-index .hf-start{ position:absolute; top:-.7rem; left:1.2rem; background:var(--acid); color:var(--ink);
  font-size:var(--fs-2xs); font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding:.25rem .6rem;
  border-radius:var(--r-tag); }
@media (hover:hover) and (pointer:fine){ .page-hilfe-index .hf-card:hover{ transform:translateY(-3px); box-shadow:9px 9px 0 var(--ink); } }
.page-hilfe-index .hf-card .ic{ font-size:var(--fs-h2); line-height:1; color:var(--ink); }
.page-hilfe-index .hf-card .nm{ font-weight:800; font-size:var(--fs-lead); letter-spacing:-.02em; }
.page-hilfe-index .hf-card .tg{ color:var(--ink-soft); font-size:var(--fs-sm); line-height:1.5; }
/* Karten-Link der fünf Hubs, ein gemeinsamer Stil */
.page-funktionen-index .fn-card .go, .page-zielgruppen-index .fuer-card .go, .page-compare-overview .detail-card .go,
.page-hilfe-index .hf-card .go, .page-blog-index .post .go, .page-blog .art-card .go{ margin-top:auto; padding-top:.6rem; align-self:flex-start;
  display:inline-flex; align-items:center; gap:.4em; font-weight:800; font-size:var(--fs-sm); color:var(--ink); }
.page-hilfe-index .hf-note{ margin:clamp(22px,2.8vw,32px) auto 0; text-align:center; font-size:var(--fs-sm); color:var(--ink-soft); font-weight:600; max-width:60ch; }
.page-hilfe-index .hf-note a{ color:var(--ink); font-weight:700; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; text-decoration-color:var(--acid); }
.page-hilfe-index .hf-gruppe{ font-size:var(--fs-sm); font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft); margin:clamp(26px,3.2vw,40px) 0 .9rem; }
.page-hilfe-index .hf-gruppe:first-of-type{ margin-top:0; }
/* Am Handy kompakt: das Icon neben Name, Satz und Weg */
@media (max-width:600px){
  .page-hilfe-index .hf-card{ display:grid; grid-template-columns:2rem 1fr; column-gap:.8rem; row-gap:.2rem; padding:16px 18px; }
  .page-hilfe-index .hf-card .ic{ grid-row:1 / 4; font-size:1.6rem; }
}
@media (max-width:860px){
  .page-hilfe-index .hf-grid{ grid-template-columns:1fr; }
  .page-hilfe .hf-danach{ align-items:flex-start; flex-direction:column; }
}

/* Funktionen-Übersicht */
.page-funktionen-index .hf-hero{ padding-top:clamp(30px,5vw,60px); padding-bottom:clamp(18px,2.6vw,32px); text-align:center; background:transparent; }
.page-funktionen-index .hf-hero .wrap{ max-width:760px; }
.page-funktionen-index .hf-hero h1{ margin:.2em 0 .4em; }
.page-funktionen-index .hf-hero h1 em{ font-style:italic; }
.page-funktionen-index .hf-hero .lead{ max-width:58ch; margin-inline:auto; }
.page-funktionen-index .fn-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(14px,1.8vw,20px); }
/* Bereiche ohne Detailseite (Bericht, KI) als erste Reihe ohne Gruppenlabel */
.page-funktionen-index .fn-card{ position:relative; display:flex; flex-direction:column; padding:clamp(20px,2.2vw,26px); color:var(--ink); transition:transform .14s, box-shadow .14s; }
.page-funktionen-index .fn-card .kopf{ display:flex; align-items:center; gap:.6rem; margin:0 0 .45rem; }
.page-funktionen-index .fn-card .kopf i{ font-size:1.9rem; }
.page-funktionen-index .fn-card .nm{ font-family:var(--font-head); font-weight:800; font-size:var(--fs-h3); letter-spacing:-.05em; line-height:1; }
.page-funktionen-index .fn-card .nm a{ color:inherit; text-decoration:none; }
.page-funktionen-index .fn-card .nm a::after{ content:""; position:absolute; inset:0; border-radius:inherit; }
.page-funktionen-index .fn-card .fr{ margin:0 0 1.1rem; font-size:var(--fs-lead); font-weight:500; line-height:1.3; color:var(--ink-soft); }
.page-funktionen-index .fn-card .fuss{ margin-top:auto; display:flex; flex-wrap:wrap; align-items:baseline; gap:.3rem 1.4rem; }
.page-funktionen-index .fn-card .fuss .go{ margin-top:0; padding-top:0; }
.page-funktionen-index .fn-card .dazu{ position:relative; z-index:1; margin:0; font-size:var(--fs-sm); color:var(--ink-soft); }
.page-funktionen-index .fn-card .dazu a{ color:var(--ink); font-weight:700; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; text-decoration-color:var(--acid); }
@media (hover:hover) and (pointer:fine){ .page-funktionen-index .fn-card:hover{ transform:translateY(-3px); box-shadow:9px 9px 0 var(--ink); } }
.page-funktionen-index .fn-note{ margin:clamp(26px,3.2vw,38px) auto 0; text-align:center; font-size:var(--fs-sm); color:var(--ink-soft); font-weight:600; }
.page-funktionen-index .fn-note a{ color:var(--ink); font-weight:700; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; text-decoration-color:var(--acid); }
@media (max-width:860px){ .page-funktionen-index .fn-grid{ grid-template-columns:1fr; } }

/* Funktionsseiten: Schritte, Beispielfragen, FAQ */
/* Anlässe und Tipps: ruhige Listen mit der .pip-Optik der Zielgruppenseiten */

/* Zum Weiterlesen: Weg in Blog und Hilfe */

.page-module .mod-faq .wrap{ max-width:760px; }
.page-module .mod-faq .head{ text-align:center; margin-bottom:clamp(18px,2.4vw,28px); }
.page-module .faq-list{ display:grid; gap:clamp(12px,1.6vw,16px); }
.page-module .faq-item{ padding:clamp(20px,2.4vw,28px); }
.page-module .faq-item h3{ font-size:var(--fs-body); letter-spacing:-.02em; margin:0 0 .5em; display:flex; gap:.6em; align-items:flex-start; }
.page-module .faq-item h3 i{ color:var(--ink); flex:0 0 auto; margin-top:.05em; }
.page-module .faq-item p{ color:var(--ink-soft); margin:0; line-height:1.6; font-size:var(--fs-body); }
/* Fragen jenseits der dritten zugeklappt, im Muster von /tarife */
:is(.page-module, .page-zielgruppen) .faq-zu{ background:var(--paper); border:2px solid var(--ink); border-radius:var(--r-box); box-shadow:4px 4px 0 var(--ink); padding:1rem clamp(20px,2.4vw,28px); }
:is(.page-module, .page-zielgruppen) .faq-zu summary{ cursor:pointer; font-weight:800; list-style:none; display:flex; justify-content:space-between; gap:1rem; align-items:center; }
:is(.page-module, .page-zielgruppen) .faq-zu summary::-webkit-details-marker{ display:none; }
:is(.page-module, .page-zielgruppen) .faq-zu summary{ position:relative; }
:is(.page-module, .page-zielgruppen) .faq-zu summary::after{ content:""; position:absolute; inset:-1rem -20px -.6rem; }
:is(.page-module, .page-zielgruppen) .faq-zu summary .ic{ transition:transform .2s; flex:0 0 auto; }
:is(.page-module, .page-zielgruppen) .faq-zu[open] summary .ic{ transform:rotate(45deg); }
:is(.page-module, .page-zielgruppen) .faq-zu .a p{ color:var(--ink-soft); margin:.7rem 0 0; line-height:1.6; }
:is(.page-module, .page-zielgruppen) .faq-zu a, .page-module .faq-item a{ color:var(--ink); font-weight:700; text-decoration:underline; text-underline-offset:3px; }

/* Welcher Weg wofür: unter dem Prüf-Feld der Funktions- und Für-Seiten */
.check-weg{ margin:1rem auto 0; max-width:40ch; font-size:var(--fs-sm); color:var(--ink); line-height:1.5; text-wrap:pretty; }
.check-start{ margin:.55rem 0 0; font-size:var(--fs-sm); font-weight:800; }
.check-start a{ color:var(--ink); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; text-decoration-color:var(--acid); }

/* Funktionsseite in der Antwort-Grammatik */
.krume{ font-size:var(--fs-sm); color:var(--ink-soft); margin:0 0 .9rem; }
/* Die vier Bereiche auf der öffentlichen 404, die Rechtstext-Karte darf sie nicht einrücken und unterstreichen */
.page-legal .legal-card .nf-bereiche{ list-style:none; margin:1.2rem 0 0; padding:0; display:grid; gap:.5rem; }
.page-legal .legal-card .nf-bereiche a{ display:block; font-weight:500; color:var(--ink-soft); text-decoration:none; padding:.55rem .8rem; border:2px solid var(--ash-soft); border-radius:var(--r-sm); }
.page-legal .legal-card .nf-bereiche a:hover{ background:transparent; border-color:var(--ink); color:var(--ink-soft); }
.page-legal .legal-card .nf-bereiche b{ color:var(--ink); margin-right:.35rem; }
.krume a{ color:var(--ink-soft); text-decoration:underline; text-underline-offset:3px; }
.krume [aria-current]{ color:var(--ink); font-weight:700; }
.page-module .feat-hinweis{ margin:.9rem auto 0; max-width:46ch; font-size:var(--fs-2sm); color:var(--ink-soft); line-height:1.5; text-wrap:pretty; }
:is(.page-module, .page-zielgruppen) :is(.feat-beweis, .feat-warum, .feat-lauf, .feat-blick) .wrap{ max-width:760px; }
:is(.page-module, .page-zielgruppen) :is(.feat-beweis, .feat-warum, .feat-lauf, .feat-blick) h2{ text-align:center; margin-bottom:.8rem; }
:is(.page-module, .page-zielgruppen) :is(.feat-warum, .feat-lauf, .feat-blick){ padding-top:0; }
.page-module .feat-warum .wrap{ max-width:1040px; }
:is(.page-module, .page-zielgruppen) .bsp-lbl{ display:table; margin:0 auto 1rem; font-size:var(--fs-xs); font-weight:700; color:var(--ink-soft); border:1.5px solid var(--ash); border-radius:var(--r-pill); padding:.2rem .7rem; background:var(--paper); }
.page-module .feat-fdk{ margin-top:clamp(18px,2.4vw,26px); padding:clamp(20px,2.6vw,30px); }
.page-module .feat-fdk .fdk{ margin-top:0; border-top:0; padding-top:0; }
.page-module .lauf{ list-style:none; counter-reset:lauf; margin:0; padding:0; display:grid; gap:1.1rem; }
.page-module .lauf li{ counter-increment:lauf; position:relative; padding-left:3.2rem; color:var(--ink-soft); line-height:1.6; }
.page-module .lauf li b{ display:block; color:var(--ink); }
.page-module .lauf li::before{ content:counter(lauf); position:absolute; left:0; top:-.1rem; width:2.2rem; height:2.2rem; display:grid; place-items:center; border:2px solid var(--ink); border-radius:50%; font-weight:900; font-size:var(--fs-sm); color:var(--ink); background:var(--paper); }
.page-module .feat-lauf .mod-usefor{ margin:clamp(18px,2.4vw,26px) 0 0; }
:is(.page-module, .page-zielgruppen) .blick{ list-style:none; margin:0; padding:0; background:var(--paper); border:2px solid var(--ink); border-radius:var(--r-box); box-shadow:6px 6px 0 var(--ink); }
:is(.page-module, .page-zielgruppen) .blick li{ display:grid; gap:.15rem; padding:.85rem 1.2rem; border-top:1px solid var(--ash-soft); line-height:1.5; }
:is(.page-module, .page-zielgruppen) .blick li:first-child{ border-top:0; }
:is(.page-module, .page-zielgruppen) .blick b{ color:var(--ink); }
:is(.page-module, .page-zielgruppen) .blick span{ color:var(--ink-soft); font-size:var(--fs-sm); }
.page-module .blick-dazu{ margin:1rem 0 0; font-size:var(--fs-sm); color:var(--ink-soft); text-align:center; line-height:1.7; }
:is(.page-module, .page-zielgruppen) :is(.blick-dazu, .branchen) a{ color:var(--ink); font-weight:700; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; text-decoration-color:var(--acid); }
:is(.page-module, .page-zielgruppen) .branchen{ margin:clamp(18px,2.4vw,26px) 0 0; text-align:center; font-size:var(--fs-sm); color:var(--ink-soft); line-height:1.7; }

/* Kopie der KI-Antwort aus app.css (Antwort, Urteil), die Website lädt app.css nicht; synchron halten */
.ki-replik{ background:var(--paper); border:2px solid var(--ink); border-radius:var(--r-card); box-shadow:6px 6px 0 var(--ink); padding:clamp(20px,3vw,30px); text-align:left; }
.ki-replik .as-bu{ margin:0 0 0 auto; max-width:72%; background:var(--ash-soft); border-radius:22px 22px 6px 22px; padding:14px 18px; font-weight:600; width:fit-content; }
.ki-replik .as-who{ display:flex; align-items:center; gap:8px; font-size:.82rem; font-weight:700; color:var(--ink-soft); margin:22px 0 8px; }
.ki-replik .as-who i{ font-size:16px; color:var(--ink); }
.ki-replik .as-ba{ max-width:90%; border:1px solid var(--ash-soft); border-radius:22px 22px 22px 6px; padding:18px 22px; line-height:1.7; }
.ki-replik .as-ba :is(p, ul){ margin:0 0 .6em; }
.ki-replik .as-ba :is(p, ul):last-child{ margin:0; }
.ki-replik .as-ba .luecke{ color:var(--ink-soft); }
.ki-replik .as-ba mark.ich{ background:var(--acid); color:var(--ink); padding:.05em .25em; border-radius:5px; font-weight:600; }
.ki-replik .as-ba mark.andere{ background:var(--ash-soft); color:var(--ink); padding:.05em .25em; border-radius:5px; }
.ki-replik .as-ba .quelle{ font-weight:600; box-shadow:inset 0 -2px 0 var(--shadow); }
.ki-replik .as-urteil{ display:flex; gap:12px; align-items:flex-start; margin-top:20px; padding-top:18px; border-top:1px solid var(--ash-soft); }
.ki-replik .as-urteil .zs{ margin-top:6px; }
.ki-replik .as-urteil b{ display:block; margin-bottom:2px; }
.ki-replik .as-leise{ color:var(--ink-soft); }
.ki-replik .as-chips{ display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; font-size:.84rem; color:var(--ink-soft); align-items:center; }
.ki-replik .as-chips em{ font-style:normal; background:var(--ash-soft); border-radius:var(--r-pill); padding:3px 10px; color:var(--ink); }
.zs{ display:inline-block; width:11px; height:11px; border-radius:50%; flex:0 0 auto; vertical-align:middle; }
.zs.ok{ background:var(--good); }
.zs.open{ border:2px solid var(--amber-deep); }
.zs.half{ border:2px solid var(--amber-deep); background:linear-gradient(90deg, var(--amber-deep) 50%, transparent 50%); }
.zs.none{ width:12px; height:2px; border-radius:2px; background:var(--shadow); }
/* Kopie der Antwort-Seiten aus app.css (Frage, Satz, Zeilen, Trefferbild), synchron halten; im Kasten kleiner als dort als Überschrift */
.app-replik{ background:var(--paper); border:2px solid var(--ink); border-radius:var(--r-card); box-shadow:6px 6px 0 var(--ink); padding:clamp(20px,3vw,30px); text-align:left; }
.app-replik .as-frage{ font-family:var(--font-head); font-weight:400; font-size:1.15rem; letter-spacing:-.03em; color:var(--ink-soft); margin:0; }
.app-replik .as-satz{ font-family:var(--font-head); font-weight:800; font-size:clamp(1.5rem,1.1rem + 1.4vw,2.2rem); line-height:1.05; letter-spacing:-.05em; margin:.2em 0 .7em; text-wrap:balance; }
.app-replik .as-satz mark{ background:var(--ink); color:var(--paper); padding:0 .14em; border-radius:.1em; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.app-replik .as-leise{ color:var(--ink-soft); margin:0; }
.app-replik .as-krume{ font-size:var(--fs-sm); color:var(--ink-soft); margin:0 0 .2rem; }
.app-replik .as-krume b{ color:var(--ink); }
.app-replik :is(.as-liste, .as-track){ border:1px solid var(--ash-soft); }
/* „So stehst du da“ der Für-Seiten: die eine Sache mit dem Acid-Ring der Übersicht */
.stand-replik{ --gelb:#f0a019; }
.stand-replik .ki-liste{ border:1px solid var(--ash-soft); border-radius:var(--r-card); overflow:hidden; }
.stand-replik .ki-z{ border-top:1px solid var(--ash-soft); }
.stand-replik .ki-z:first-child{ border-top:0; }
.stand-replik .ki-zk{ display:grid; grid-template-columns:18px minmax(0,5fr) minmax(0,6fr); column-gap:16px; align-items:center; padding:16px 22px; min-height:64px; }
.stand-replik .ki-zk > i{ font-size:18px; }
.stand-replik .ki-q{ color:var(--ink-soft); }
.stand-replik .ki-a{ display:block; font-weight:650; }
.stand-replik .ki-a .zs{ margin-right:9px; border-color:var(--red); }
.stand-replik .ue-spur{ display:flex; gap:2px; height:8px; max-width:22rem; margin-top:9px; }
.stand-replik .ue-spur i{ display:block; min-width:6px; border-radius:3px; background:var(--ash); }
.stand-replik .ue-spur .ok{ background:var(--good); }
.stand-replik .ue-spur .half{ background:var(--gelb); }
.stand-replik .ue-spur .open{ background:var(--red); }
@media (max-width:700px){
  .stand-replik .ki-zk{ grid-template-columns:18px minmax(0,1fr); }
  .stand-replik .ki-a{ grid-column:2; margin-top:4px; }
}
.stand-replik .as-eine{ margin-top:18px; padding:20px 22px; background:var(--paper); border-radius:20px; box-shadow:0 0 0 3px var(--acid); }
.stand-replik .as-eine .k{ font-size:.95rem; color:var(--ink-soft); margin:0 0 4px; }
.stand-replik .as-eine .t{ font-family:var(--font-head); font-weight:800; font-size:clamp(1.3rem,1.1rem + .8vw,1.7rem); line-height:1.08; letter-spacing:-.05em; margin:0 0 .4em; text-wrap:balance; }
.stand-replik .as-eine .why{ margin:0; color:var(--ink-soft); text-wrap:pretty; }
.as-liste{ background:var(--paper); border-radius:var(--r-card); overflow:hidden; text-align:left; }
.as-zeile{ display:grid; grid-template-columns:minmax(150px,260px) 1fr; align-items:center; gap:6px; padding:15px 22px; border-top:1px solid var(--ash-soft); color:var(--ink); }
.as-zeile:first-child{ border-top:0; }
.as-zeile .lb{ font-weight:600; }
.as-zeile .tx{ color:var(--ink-soft); font-size:.94rem; display:flex; align-items:center; gap:10px; min-width:0; }
.as-zeile.mit-ic{ grid-template-columns:30px minmax(90px,170px) 1fr; }
.as-zeile .ic{ font-size:20px; }
.as-track{ background:var(--paper); border-radius:var(--r-card); padding:22px 24px 16px; text-align:left; }
.as-track :is(.tr-head, .tr-row){ display:grid; grid-template-columns:minmax(120px,190px) 1fr; }
.as-track .tr-head{ font-size:.75rem; font-weight:700; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.05em; padding-bottom:8px; }
.as-track .tr-head div:last-child{ display:grid; grid-template-columns:1fr 1fr 1fr; text-align:center; }
.as-track .tr-row{ align-items:center; height:40px; border-top:1px solid var(--ash-soft); }
.as-track .tr-row b{ font-weight:600; font-size:.92rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; padding-right:10px; }
.as-track .tr-bar{ position:relative; height:40px; background:linear-gradient(90deg,var(--ash-soft) 0 33.33%,transparent 33.33%); }
.as-track .tr-bar::before, .as-track .tr-bar::after{ content:""; position:absolute; top:8px; bottom:8px; width:1px; background:var(--ash-soft); }
.as-track .tr-bar::before{ left:33.33%; }
.as-track .tr-bar::after{ left:66.66%; }
.as-track .tr-dot{ position:absolute; top:50%; transform:translate(-50%,-50%); min-width:30px; height:24px; border-radius:999px; background:var(--ink); color:var(--paper); font-size:.78rem; font-weight:800; display:grid; place-items:center; padding:0 7px; }
.as-track .tr-dot.p1{ background:var(--good); }
/* Ampel wie in den Bereichen Google und KI der App, die übrigen Kästen behalten Amber */
:is(.go-replik, .ki-replik, .we-replik){ --gelb:#f0a019; }
:is(.go-replik, .ki-replik, .we-replik) .zs.half{ border-color:var(--gelb); background:linear-gradient(90deg, var(--gelb) 50%, transparent 50%); }
:is(.go-replik, .ki-replik, .we-replik) .zs.open{ border-color:var(--red); }
.we-replik .as-satz{ margin-bottom:0; }
.we-replik .we-spur{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2px; height:12px; margin-top:28px; }
.we-replik .we-spur i{ display:block; border-radius:4px; background:var(--ash); }
.we-replik .we-spur .ok{ background:var(--good); }
.we-replik .we-spur .half{ background:var(--gelb); }
.we-replik .we-spur .open{ background:var(--red); }
.we-replik .we-vier{ list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2px; margin:14px 0 0; padding:0; }
.we-replik .we-vier li{ display:grid; gap:3px; align-content:start; padding-right:4px; }
.we-replik .we-vier .q{ font-size:.84rem; color:var(--ink-soft); white-space:nowrap; }
.we-replik .we-vier b{ display:flex; align-items:flex-start; gap:7px; font-size:.88rem; font-weight:700; line-height:1.3; }
.we-replik .we-vier .zs{ margin-top:.36em; }
.we-replik .we-vier .zs.none{ margin-top:.62em; }
.we-replik .we-vier .zs.none + span{ font-weight:400; color:var(--ink-soft); }
@media (max-width:900px){
  .we-replik .we-vier{ grid-template-columns:minmax(0,1fr); gap:0; margin-top:10px; }
  .we-replik .we-vier li{ grid-template-columns:minmax(0,9.6rem) minmax(0,1fr); gap:12px; align-items:start; padding:9px 0; border-top:1px solid var(--ash); }
  .we-replik .we-vier .q{ font-size:.92rem; }
  .we-replik .we-vier b{ font-size:1rem; }
  .we-replik .we-vier li:first-child{ border-top:0; }
}
.go-replik .as-satz{ margin-bottom:0; }
.go-replik .ki-vor{ margin:24px 0 0; color:var(--ink-soft); }
.go-replik .ki-gross{ list-style:none; display:flex; flex-wrap:wrap; gap:12px 40px; margin:14px 0 0; padding:0; }
.go-replik .ki-gross li{ display:grid; gap:2px; }
.go-replik .ki-gross b{ font-family:var(--font-head); font-weight:800; font-size:2.4rem; letter-spacing:-.05em; line-height:1; }
.go-replik .ki-gross span{ display:flex; align-items:center; gap:8px; font-size:.92rem; color:var(--ink-soft); }
.go-replik .ki-spur{ display:flex; gap:2px; height:12px; margin-top:16px; }
.go-replik .ki-spur i{ display:block; min-width:6px; border-radius:4px; }
.go-replik .ki-spur .ok{ background:var(--good); }
.go-replik .ki-spur .half{ background:var(--gelb); }
.go-replik .ki-spur .open{ background:var(--red); }
.go-replik .ki-dk{ margin:18px 0 0; font-size:var(--fs-sm); color:var(--ink-soft); }
.go-replik .rep-bild{ margin-top:30px; padding-top:26px; border-top:1px solid var(--ash-soft); }
.go-replik .ki-h{ font-family:var(--font-head); font-weight:800; font-size:1.45rem; line-height:1.12; letter-spacing:-.05em; margin:.15em 0 0; text-wrap:balance; }
.go-replik .as-track{ margin-top:20px; }
.go-replik .tr-dot.p2{ background:var(--gelb); color:var(--ink); }
.go-replik .tr-dot.p3{ background:var(--paper); color:var(--ink); box-shadow:inset 0 0 0 2px var(--red); }
.go-replik .ki-fein{ font-size:var(--fs-sm); color:var(--ink-soft); margin:14px 0 0; text-wrap:pretty; }
@media (max-width:640px){
  .go-replik .ki-vor{ margin-top:16px; }
  .go-replik .ki-gross{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px 14px; }
  .go-replik .ki-gross li{ grid-column:1 / -1; grid-template-columns:subgrid; gap:0 14px; align-items:center; }
  .go-replik .ki-gross b{ font-size:2rem; text-align:right; }
  .as-zeile{ grid-template-columns:1fr; padding:13px 16px; }
  .as-zeile.mit-ic{ grid-template-columns:26px 1fr; }
  .as-zeile.mit-ic .ic{ grid-row:1/3; }
  .as-zeile.mit-ic .tx{ grid-column:2; }
  .as-track{ padding:16px 14px 10px; }
  .as-track :is(.tr-head, .tr-row){ grid-template-columns:104px 1fr; }
  .as-track .tr-row{ height:auto; min-height:40px; }
  .as-track .tr-row b{ white-space:normal; overflow:visible; font-size:.84rem; line-height:1.25; padding:6px 8px 6px 0; }
}
/* Warum in drei Sätzen, der Zusatz-Beweis, Wege in „Alles im Blick“ */
:is(.page-module, .page-zielgruppen) .warum-p{ max-width:var(--read); margin:0 auto; font-size:var(--fs-lead); line-height:1.55; color:var(--ink); text-align:center; text-wrap:pretty; }
.page-module .feat-zusatz{ padding-top:0; }
:is(.page-module, .page-zielgruppen) .blick b a{ color:var(--ink); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; text-decoration-color:var(--acid); }
:is(.page-module, .page-zielgruppen) .blick span a{ color:var(--ink); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.page-zielgruppen .zg-profi{ max-width:var(--read); margin:1.2rem auto 0; font-size:var(--fs-sm); color:var(--ink-soft); line-height:1.6; text-align:center; text-wrap:pretty; }
.page-zielgruppen .zg-profi b{ color:var(--ink); }
@media (max-width:640px){ .ki-replik{ padding:20px 16px; } .ki-replik .as-bu{ max-width:88%; } .ki-replik .as-ba{ max-width:100%; padding:14px 16px; } }

/* Neuigkeiten */
.page-neuigkeiten .hf-hero{ padding-top:clamp(30px,5vw,60px); padding-bottom:clamp(18px,2.6vw,32px); text-align:center; background:transparent; }
.page-neuigkeiten .hf-hero .wrap{ max-width:760px; }
.page-neuigkeiten .hf-hero h1{ margin:.2em 0 .4em; }
.page-neuigkeiten .hf-hero h1 em{ font-style:italic; }
.page-neuigkeiten .hf-hero .lead{ max-width:58ch; margin-inline:auto; }
.page-neuigkeiten .nk-wrap{ max-width:760px; }
.page-neuigkeiten .nk-release{ padding:clamp(22px,3vw,32px); margin-bottom:clamp(14px,1.8vw,20px); }
.page-neuigkeiten .nk-date{ font-size:var(--fs-lead); font-weight:900; letter-spacing:-.02em; margin:0 0 .8rem; }
/* Das Datum verlinkt auf seinen Eintrag */
.page-neuigkeiten .nk-date a{ color:inherit; text-decoration:none; }
.page-neuigkeiten .nk-date a:hover{ text-decoration:underline; text-underline-offset:4px; }

/* Newsletter als dunkles Band, im Blog wäre eine weiße Karte nur weiterer Inhalt */
.nl-block{ padding-block:clamp(26px,3.2vw,42px); }
/* Keine max-width, die Containerbreite kommt vom .wrap; max-width:none höbe jede Grenze auf */
.nl-inner{ background:var(--ink); color:var(--on-dark); border:2px solid var(--ink); border-radius:var(--r-box); box-shadow:6px 6px 0 var(--shadow); padding:clamp(24px,3.2vw,40px);
  display:grid; grid-template-columns:1fr minmax(0,27rem); gap:clamp(22px,3.4vw,52px); align-items:center; }
@media (max-width:900px){ .nl-inner{ grid-template-columns:1fr; align-items:stretch; } }
/* Auf Ink wäre der Fokusring unsichtbar */
.nl-inner :focus-visible{ outline-color:var(--acid); }
/* Gemischt statt versal, damit das Band nicht mit dem Check-Abschluss konkurriert */
.nl-block h2{ font-size:var(--fs-h2); font-weight:900; letter-spacing:-.045em; line-height:.98; margin:0; color:var(--on-dark); text-wrap:balance; }
/* Unter 480 px bleibt --fs-h2 bei 48 px, der Titel stünde fast an der Kante */
@media (max-width:480px){ .nl-block h2{ font-size:2.25rem; hyphens:auto; } }
.nl-lead{ margin:.55rem 0 0; font-size:var(--fs-sm); color:var(--shadow); font-weight:600; line-height:1.6; max-width:46ch; }
.nl-form{ margin:0; }
.nl-row{ display:flex; flex-wrap:wrap; gap:.6rem; align-items:stretch; }
/* Einzige helle Fläche im Band, soll nach „hier tippst du“ aussehen */
.nl-row input[type=email]{ flex:1 1 15rem; min-width:0; border:2px solid var(--paper); border-radius:var(--r-pill); padding:.72em 1.1em; font:inherit; font-size:var(--fs-sm); background:var(--paper); color:var(--ink); }
@media (pointer:coarse){ .nl-row input[type=email]{ font-size:1rem; } }
.nl-row input[type=email]::placeholder{ color:#6b7076; }
.nl-row input[type=email]:focus-visible{ outline:3px solid var(--acid); outline-offset:2px; }
.nl-row .btn{ flex:0 0 auto; font-size:var(--fs-sm); }
.nl-consent{ display:flex; gap:.55rem; align-items:flex-start; margin-top:.95rem; font-size:var(--fs-sm); color:var(--shadow); font-weight:600; line-height:1.5; cursor:pointer; }
.nl-consent{ position:relative; }
.nl-consent::after{ content:""; position:absolute; inset:-12px 0; }
.nl-consent input{ flex:0 0 auto; margin-top:.2em; width:1.05em; height:1.05em; accent-color:var(--acid); }
/* Einzug rechnet mit --fs-sm der Zustimmungs-Zeile (Checkbox 1.05em plus gap .55rem) */
.nl-fine{ margin:.45rem 0 0 calc(1.05 * var(--fs-sm) + .55rem); font-size:var(--fs-tag); color:var(--shadow); font-weight:600; }
.nl-fine a{ color:var(--on-dark); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; text-decoration-color:var(--acid); }
/* Fehlerfall ohne Rot: eine Nachfrage an den Leser, kein Fehler der Seite */
.nl-flash{ margin:0 0 .95rem; padding:.7em 1em; border-radius:var(--r-tag); font-size:var(--fs-sm); font-weight:700; }
.nl-flash.is-ok{ background:var(--acid); color:var(--ink); }
.nl-flash.is-error{ background:var(--paper); color:var(--ink); }
/* Schmal volle Knopfbreite, als Touch-Ziel größer */
@media (max-width:560px){ .nl-row .btn{ flex:1 1 100%; } }

/* Bestätigen und Abmelden: schmale Seite mit einer Frage */
.page-neuigkeiten .nl-status-form{ margin-top:clamp(18px,2.4vw,28px); }

/* Label für Screenreader, ein Placeholder ist kein Label */
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.page-neuigkeiten .nk-lead{ margin:-.4rem 0 1rem; font-size:var(--fs-sm); color:var(--ink-soft); font-weight:600; line-height:1.6; }
.page-neuigkeiten .nk-list a{ color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.page-neuigkeiten .nk-rubrik{ font-size:var(--fs-xs); font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft); margin:1rem 0 .5rem; }
.page-neuigkeiten .nk-rubrik:first-of-type{ margin-top:0; }
.page-neuigkeiten .nk-list{ list-style:none; margin:0; padding:0; display:grid; gap:.55rem; }
.page-neuigkeiten .nk-list li{ display:flex; gap:.7em; align-items:baseline; color:var(--ink-soft); line-height:1.55; font-size:var(--fs-body); }
.page-neuigkeiten .nk-pip{ flex:none; width:9px; height:9px; border-radius:50%; border:2px solid var(--ink); transform:translateY(-1px); }
.page-neuigkeiten .nk-pip.neu{ background:var(--acid); }
.page-neuigkeiten .nk-pip.fix{ background:var(--paper); }
.page-neuigkeiten .nk-note{ margin:clamp(20px,2.6vw,30px) auto 0; text-align:center; font-size:var(--fs-sm); color:var(--ink-soft); font-weight:600; }
.page-neuigkeiten .nk-note a{ color:var(--ink); font-weight:700; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; text-decoration-color:var(--acid); }

/* Blog-Inhaltsverzeichnis */
.page-blog .bl-toc{ background:var(--paper); border:2px solid var(--ink); border-radius:var(--r-box); box-shadow:6px 6px 0 var(--ink);
  padding:clamp(18px,2.2vw,26px); margin-bottom:clamp(24px,3vw,36px); }
.page-blog .bl-toc .t{ font-size:var(--fs-xs); font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft); margin:0 0 .6rem; }
.page-blog .bl-toc ol{ margin:0; padding-left:1.3rem; display:grid; gap:.35rem; }
.page-blog .bl-toc li{ color:var(--ink-soft); font-size:var(--fs-sm); }
.page-blog .bl-toc a{ color:var(--ink); font-weight:700; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; text-decoration-color:var(--acid); }

/* Teilen-Knöpfe ohne Acid, der eine Acid-Knopf der Seite gehört dem Footer-CTA */
.page-blog .bl-share{ max-width:var(--read); margin:1.4rem auto 0; display:flex; flex-wrap:wrap; align-items:center; gap:.5rem .7rem; }
.page-blog .bl-share .bs-lbl{ font-size:var(--fs-sm); font-weight:800; color:var(--ink-soft); margin-right:.2rem; }
.page-blog .bl-share .bs-btn{ display:inline-flex; align-items:center; gap:.4rem; padding:.42rem .8rem; border:2px solid var(--ink); border-radius:9px; background:#fff; color:var(--ink); font:inherit; font-size:var(--fs-sm); font-weight:700; text-decoration:none; cursor:pointer; }
.page-blog .bl-share .bs-btn:hover{ background:var(--ink); color:#fff; }
.page-blog .bl-share .bs-btn.is-done{ background:var(--ink); color:#fff; }

/* Hub-Links im Hero unter der Unterzeile, deshalb zentriert */
.page-blog-index .hub-more, .page-neuigkeiten .hub-more{ margin:clamp(16px,2vw,24px) 0 0; display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem 1.6rem; font-size:var(--fs-sm); font-weight:700; }
.page-blog-index .hub-more a, .page-neuigkeiten .hub-more a{ display:inline-flex; align-items:center; gap:.4rem; color:var(--ink-soft); text-decoration:none; }
.page-blog-index .hub-more a:hover, .page-neuigkeiten .hub-more a:hover{ color:var(--ink); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; text-decoration-color:var(--acid); }

.page-compare .cmp-pflege, .page-blog .bl-pflege{ max-width:var(--read); margin:1.2rem auto 0; text-align:center; font-size:var(--fs-sm); color:var(--ink-soft); font-weight:600; }
.page-compare .cmp-pflege a, .page-blog .bl-pflege a{ color:var(--ink); font-weight:700; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; text-decoration-color:var(--acid); }
.page-blog .bl-pflege{ text-align:left; margin-top:.9rem; }
