/* ============================================================================
   TrueSource AI — Design System v3.1  ·  MOBILE FIRST
   Basis = Telefon. Jede Media Query ist min-width und fügt hinzu, nie weg.
   Unverändert: Palette, Funnel Display/Sans, Radius 0, Glow-Orbs.

   Breakpoints
     Basis     < 600   Telefon, eine Spalte
     ≥ 600     grosses Telefon / kleines Tablet quer
     ≥ 900     Tablet
     ≥ 1100    Laptop, Nav-Links, Hero zweispaltig
   ============================================================================ */

:root{
  --bg:#F9F4EA;
  --dark:#1A0030;
  --text:#6100A2;
  --accent:#CCFF00;
  --accent2:#52FF00;

  --muted-light:#6A4691;              /* auf Creme  → 6,61:1 */
  --muted-dark:rgba(249,244,234,.72); /* auf Dunkel → 9,17:1 */
  --hair-light:rgba(97,0,162,.14);
  --hair-dark:rgba(249,244,234,.14);
  --panel:rgba(249,244,234,.03);

  --mono:ui-monospace,"SFMono-Regular","JetBrains Mono","Menlo","Consolas",monospace;
  --nav-h:60px;
  --gutter:20px;

  /* Schriftgrössen: mobil grösser als die alten Fixwerte, damit 11px-Text verschwindet */
  --fs-micro:.82rem;   /* Mono-Labels, Eyebrow  — 13,1px */
  --fs-small:.92rem;   /* Kartentext, Listen    — 14,7px */
  --fs-body:1rem;
  --fs-lede:1.08rem;
}
@media (min-width:600px){ :root{ --nav-h:64px; --gutter:32px; --fs-micro:.78rem; } }
@media (min-width:900px){ :root{ --gutter:44px; --fs-micro:.75rem; --fs-small:.9rem; --fs-lede:1.15rem; } }
@media (min-width:1100px){ :root{ --gutter:60px; --fs-lede:1.25rem; } }

*{margin:0;padding:0;box-sizing:border-box;min-width:0}   /* min-width:0 = kein Grid-Blowout */
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px);
     -webkit-text-size-adjust:100%}
body{font-family:'Funnel Sans',"Helvetica Neue",Helvetica,sans-serif;background:var(--bg);
  color:var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
code{font-family:var(--mono);font-size:.92em;overflow-wrap:anywhere}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--accent);outline-offset:3px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important}
  html{scroll-behavior:auto}
}

.skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--accent);
  color:var(--dark);padding:14px 22px;font-weight:700}
.skip:focus{left:12px;top:12px}

/* ------------------------------------------------------------- Struktur */
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--gutter)}
.wrap-narrow{max-width:900px}
.section{padding:56px 0}
@media (min-width:600px){ .section{padding:76px 0} }
@media (min-width:900px){ .section{padding:96px 0} }
@media (min-width:1100px){ .section{padding:110px 0} }
.s-dark{background:var(--dark);color:var(--bg);position:relative;overflow:hidden}
.s-light{background:var(--bg)}
.s-dark .wrap{position:relative;z-index:1}

.glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.12;pointer-events:none;z-index:0}
.glow-a{width:300px;height:300px;background:var(--accent);right:-120px;top:-100px}
.glow-b{width:260px;height:260px;background:var(--accent2);left:-100px;bottom:-90px}
@media (min-width:900px){
  .glow{filter:blur(120px)}
  .glow-a{width:560px;height:560px;right:-220px;top:-180px}
  .glow-b{width:420px;height:420px;left:-140px;bottom:-160px}
}

/* ----------------------------------------------------------- Typografie */
h1,h2,h3,h4{font-family:'Funnel Display',sans-serif;overflow-wrap:break-word}
h1{font-weight:800;font-size:clamp(1.95rem,7.4vw,3.9rem);line-height:1.08;letter-spacing:-.02em}
h2{font-weight:800;font-size:clamp(1.55rem,5.2vw,2.6rem);line-height:1.14;letter-spacing:-.012em}
h3{font-weight:700;font-size:1.15rem;line-height:1.3}
h4{font-weight:700;font-size:1rem;line-height:1.3}
@media (min-width:900px){ h1{letter-spacing:-.025em} h3{font-size:1.25rem} }

p{font-weight:400;font-size:var(--fs-body);line-height:1.62;max-width:62ch}
.s-light p{color:rgba(97,0,162,.82)}
.s-dark p{color:var(--muted-dark)}
.s-dark h1,.s-dark h2,.s-dark h3,.s-dark h4{color:var(--bg)}
.lede{font-size:var(--fs-lede);margin-top:1rem;line-height:1.55}
.wide{max-width:none}

.eyebrow{font-size:var(--fs-micro);font-weight:600;text-transform:uppercase;
  letter-spacing:.13em;margin-bottom:.85rem;max-width:none}
.s-dark .eyebrow{color:var(--accent)}
.s-light .eyebrow{color:var(--muted-light)}

.s-dark .accent{color:var(--accent)}
.s-light .accent{color:var(--accent);background:var(--dark);padding:.02em .2em;
  box-decoration-break:clone;-webkit-box-decoration-break:clone}
.s-light a.inline{color:var(--text);text-decoration:underline;text-underline-offset:2px;font-weight:500}
.s-dark a.inline{color:var(--accent);text-decoration:underline;text-underline-offset:3px;font-weight:500}

/* --------------------------------------------------------------- Buttons */
.btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;
  min-height:54px;padding:15px 24px;font-family:'Funnel Sans';font-weight:700;
  font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;text-align:center;
  border:2px solid transparent;cursor:pointer;
  transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease}
@media (min-width:600px){ .btn{display:inline-flex;width:auto;padding:14px 30px;font-size:.92rem} }
.btn-primary{background:var(--accent);color:var(--dark)}
.btn-primary:hover{background:var(--accent2);transform:translateY(-2px)}
.btn-ghost-dark{border-color:var(--hair-dark);color:var(--bg);background:transparent}
.btn-ghost-dark:hover{border-color:var(--accent);color:var(--accent)}
.btn-ghost-light{border-color:var(--text);color:var(--text);background:transparent}
.btn-ghost-light:hover{background:var(--dark);border-color:var(--dark);color:var(--bg)}
.btn-row{display:flex;flex-direction:column;gap:12px;margin-top:1.8rem}
@media (min-width:600px){ .btn-row{flex-direction:row;flex-wrap:wrap;gap:14px;margin-top:2.2rem} }
.btn-note{font-size:var(--fs-small);margin-top:.9rem}
.s-dark .btn-note{color:var(--muted-dark)}
.s-light .btn-note{color:var(--muted-light)}

/* ------------------------------------------------------------ Navigation */
.nav{position:fixed;inset:0 0 auto 0;z-index:200;height:var(--nav-h);
  background:rgba(26,0,48,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--hair-dark)}
.nav-in{max-width:1200px;margin:0 auto;height:100%;padding:0 var(--gutter);
  display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.logo{display:flex;align-items:center;gap:8px;font-family:'Funnel Display';font-weight:800;
  font-size:1rem;color:var(--bg);white-space:nowrap;min-height:44px}
.logo i{width:9px;height:9px;background:var(--accent);display:block;flex:0 0 auto}
@media (min-width:600px){ .logo{font-size:1.1rem;gap:9px} .logo i{width:10px;height:10px} }

.nav-links{display:none}
@media (min-width:1100px){
  .nav-links{display:flex;align-items:center;gap:.1rem}
  .nav-links a{padding:12px 13px;font-size:.88rem;font-weight:500;color:rgba(249,244,234,.86);
    min-height:44px;display:flex;align-items:center;white-space:nowrap}
  .nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--accent)}
}
/* Unter 600px trägt die Sticky-Leiste den CTA — im Nav würde er überlaufen */
.nav-cta{display:none}
@media (min-width:600px){
  .nav-cta{background:var(--accent);color:var(--dark);font-weight:700;font-size:.8rem;
    text-transform:uppercase;letter-spacing:.07em;padding:12px 18px;min-height:44px;
    display:inline-flex;align-items:center;white-space:nowrap}
  .nav-cta:hover{background:var(--accent2)}
}
/* Sprachumschalter bleibt immer erreichbar */
.nav-lang{display:inline-flex;align-items:center;min-height:44px;padding:12px 10px;
  font-size:.85rem;font-weight:600;color:rgba(249,244,234,.86)}
.nav-lang:hover{color:var(--accent)}
@media (min-width:1100px){ .nav-lang{display:none} }

/* ------------------------------------------------------------------ Hero */
.hero{padding-top:calc(var(--nav-h) + 36px);padding-bottom:48px}
@media (min-width:900px){ .hero{padding-top:calc(var(--nav-h) + 56px);padding-bottom:72px} }
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-items:center}
@media (min-width:1100px){
  .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,4vw,64px)}
}
.hero h1 .rot{color:var(--accent);display:inline-block;transition:opacity .28s ease}
.hero p{max-width:46ch}

/* ---------------------------------------- Artefakt-Panel (Signature) ---- */
.artifact{border:1px solid var(--hair-dark);background:rgba(0,0,0,.35);
  font-family:var(--mono);min-width:0;max-width:100%}
.artifact-bar{display:flex;align-items:center;justify-content:space-between;gap:.6rem;
  padding:9px 12px;border-bottom:1px solid var(--hair-dark);
  color:rgba(249,244,234,.65);font-size:.78rem}
@media (min-width:900px){ .artifact-bar{font-size:.72rem} }
.artifact-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.artifact-bar b{color:var(--accent);font-weight:400;white-space:nowrap}
.artifact-tabs{display:flex;border-bottom:1px solid var(--hair-dark);
  overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.artifact-tabs::-webkit-scrollbar{display:none}
.artifact-tabs button{flex:0 0 auto;background:none;border:0;border-bottom:2px solid transparent;
  color:rgba(249,244,234,.65);font-family:var(--mono);font-size:.82rem;padding:12px 14px;
  min-height:44px;cursor:pointer;white-space:nowrap}
.artifact-tabs button[aria-selected="true"]{color:var(--accent);border-bottom-color:var(--accent);
  background:rgba(204,255,0,.05)}
.artifact-body{padding:14px;min-height:230px;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (min-width:900px){ .artifact-body{padding:18px;min-height:290px}
  .artifact-tabs button{font-size:.75rem} }
.artifact-body pre{color:rgba(249,244,234,.87);line-height:1.7;white-space:pre;font-size:.82rem}
@media (min-width:900px){ .artifact-body pre{font-size:.76rem} }
.artifact-body .c{color:rgba(249,244,234,.58)}
.artifact-body .k{color:var(--accent)}
.artifact-body .s{color:#9BE8B0}
.artifact-foot{border-top:1px solid var(--hair-dark);padding:2px 12px;display:flex;
  flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.2rem 1rem;
  color:rgba(249,244,234,.65);font-size:.78rem}
@media (min-width:900px){ .artifact-foot{font-size:.72rem} }
.artifact-foot a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;
  min-height:44px;display:inline-flex;align-items:center}

/* -------------------------------------------------------------- Scan-Band */
.band{background:var(--dark);color:var(--bg);padding:26px var(--gutter);display:flex;
  flex-direction:column;align-items:stretch;gap:18px;margin-top:2.4rem}
.band h3{color:var(--bg);margin-bottom:.3rem}
.band p{color:var(--muted-dark);font-size:var(--fs-small);margin:0}
@media (min-width:768px){
  .band{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;
    gap:22px;padding:34px clamp(24px,4vw,44px);margin-top:3rem}
  .band .btn{width:auto}
}
.s-dark .band{background:rgba(204,255,0,.06);border:1px solid rgba(204,255,0,.28)}

/* ------------------------------------------------------------ Raster */
.grid-2,.grid-3,.grid-4{display:grid;grid-template-columns:minmax(0,1fr);gap:1.1rem;margin-top:2rem}
@media (min-width:600px){
  .grid-2,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
}
@media (min-width:900px){
  .grid-2,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:2.6rem}
  .grid-4{gap:1rem;margin-top:2.4rem}
}
@media (min-width:1100px){
  .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
}

.card{padding:1.5rem;border:1px solid var(--hair-light);display:flex;flex-direction:column;
  transition:border-color .25s,box-shadow .25s}
@media (min-width:900px){ .card{padding:1.9rem} }
.card:hover{border-color:rgba(97,0,162,.3);box-shadow:0 10px 40px rgba(97,0,162,.07)}
.s-dark .card{border-color:var(--hair-dark);background:var(--panel);box-shadow:none}
.s-dark .card:hover{border-color:rgba(249,244,234,.28);box-shadow:none}
.card h3{margin-bottom:.6rem;display:flex;align-items:center;gap:9px}
.card h3 i{width:8px;height:8px;background:var(--accent);display:block;flex:0 0 auto}
.card p{font-size:var(--fs-small);line-height:1.55}
.card .more{margin-top:auto;padding-top:1rem;font-weight:700;font-size:.88rem;
  text-decoration:underline;text-underline-offset:3px;min-height:44px;
  display:inline-flex;align-items:flex-end}
.step{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.1em;
  color:var(--accent);margin-bottom:.5rem}
.s-light .step{color:var(--muted-light)}
.tag{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.07em;
  margin-bottom:.4rem;display:block}
.s-light .tag{color:var(--muted-light)}
.s-dark .tag{color:rgba(249,244,234,.65)}

.deliv{display:flex;gap:.85rem;padding:1.1rem;background:rgba(26,0,48,.04);
  border:1px solid rgba(26,0,48,.09)}
.deliv i{flex:0 0 auto;width:26px;height:26px;background:var(--accent);color:var(--dark);
  display:grid;place-items:center;font-weight:800;font-size:.85rem;font-style:normal}
.deliv strong{display:block;font-family:'Funnel Display';font-weight:700;
  font-size:1rem;margin-bottom:.25rem}
.deliv span{display:block;font-size:var(--fs-small);line-height:1.5;color:rgba(26,0,48,.72)}
.deliv a{color:var(--text);text-decoration:underline;text-underline-offset:2px;font-weight:500}

/* --------------------------------------------------------- Team & Zahlen */
.team-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;margin-top:1.4rem}
@media (min-width:900px){
  .team-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,56px);margin-top:1.6rem}
}
.team-cols p{max-width:none;font-size:var(--fs-body)}
.verify{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem 1.2rem;margin-top:1.8rem;
  padding-top:1.2rem;border-top:1px solid var(--hair-dark);font-family:var(--mono);
  font-size:var(--fs-micro);max-width:none}
.verify span{color:rgba(249,244,234,.6);letter-spacing:.06em;text-transform:uppercase}
.verify a{color:var(--accent);text-decoration:underline;text-underline-offset:4px;
  min-height:44px;display:inline-flex;align-items:center}

.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem;
  margin-top:2.2rem;padding-top:1.8rem;border-top:1px solid var(--hair-dark)}
.s-light .stats{border-top-color:var(--hair-light)}
@media (min-width:1100px){ .stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.6rem;
  margin-top:2.6rem;padding-top:2rem} }
.stat b{display:block;font-family:'Funnel Display';font-weight:800;
  font-size:clamp(1.8rem,6vw,2.8rem);line-height:1}
.s-dark .stat b{color:var(--bg)}
.s-light .stat b{color:var(--text)}
.stat span{display:block;font-size:var(--fs-small);margin-top:.35rem;line-height:1.4}
.s-dark .stat span{color:var(--muted-dark)}
.s-light .stat span{color:var(--muted-light)}

/* ----------------------------------------------------------------- Beweis */
.proof{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:center;margin-top:2.2rem}
@media (min-width:1100px){ .proof{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,56px)} }
.score{border:2px solid var(--dark);padding:1.4rem}
@media (min-width:600px){ .score{padding:1.8rem} }
.s-dark .score{border-color:var(--accent)}
.score-top{display:flex;align-items:baseline;flex-wrap:wrap;gap:.6rem;
  border-bottom:1px solid var(--hair-light);padding-bottom:1rem;margin-bottom:1rem}
.s-dark .score-top{border-bottom-color:var(--hair-dark)}
.score-num{font-family:'Funnel Display';font-weight:800;font-size:2.8rem;line-height:1}
@media (min-width:600px){ .score-num{font-size:3.4rem} }
.score-grade{background:var(--dark);color:var(--accent);font-family:'Funnel Display';
  font-weight:800;padding:.1em .45em;font-size:1.1rem}
.s-dark .score-grade{background:var(--accent);color:var(--dark)}
.score-row{display:flex;justify-content:space-between;gap:.8rem;font-size:var(--fs-small);
  padding:.42rem 0;font-family:var(--mono)}
.score-row+.meter{margin-bottom:.6rem}
.meter{height:6px;background:rgba(97,0,162,.12)}
.s-dark .meter{background:rgba(249,244,234,.14)}
.meter i{display:block;height:100%;background:var(--dark)}
.s-dark .meter i{background:var(--accent)}

/* ----------------------------------------------------------------- Preise */
.price-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.2rem;margin-top:2.4rem;
  align-items:start;max-width:520px}
@media (min-width:768px){
  .price-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:1.4rem;margin-top:2.8rem}
}
@media (min-width:1100px){ .price-grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
.price-grid-2{max-width:520px}
@media (min-width:768px){ .price-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px} }
@media (min-width:1100px){ .price-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))} }
.price{padding:1.8rem 1.4rem;border:1px solid var(--hair-dark);background:var(--panel);position:relative}
@media (min-width:600px){ .price{padding:2.2rem 1.9rem} }
.s-light .price{border-color:var(--hair-light);background:transparent}
.price-hi{border-color:var(--accent);background:rgba(204,255,0,.05);order:-1}
@media (min-width:1100px){ .price-hi{order:0} }
.badge{position:absolute;top:-13px;left:1.4rem;background:var(--accent);color:var(--dark);
  font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:5px 14px}
@media (min-width:600px){ .badge{left:1.9rem} }
.price h3{font-size:1.2rem;margin-bottom:.7rem}
.price .amount{font-family:'Funnel Display';font-weight:800;
  font-size:clamp(1.9rem,7vw,2.7rem);line-height:1}
.s-dark .price .amount{color:var(--bg)}
.s-light .price .amount{color:var(--text)}
.price .amount small{font-family:'Funnel Sans';font-weight:400;font-size:.36em;letter-spacing:0}
.price .who{font-size:var(--fs-small);margin:.4rem 0 1.2rem}
.s-dark .price .who{color:rgba(249,244,234,.68)}
.s-light .price .who{color:var(--muted-light)}
.price ul{list-style:none}
.price li{font-size:var(--fs-small);line-height:1.45;padding:.42em 0 .42em 1.3em;position:relative}
.s-dark .price li{color:var(--muted-dark)}
.s-light .price li{color:rgba(97,0,162,.82)}
.price li::before{content:'';position:absolute;left:0;top:.7em;width:6px;height:6px;background:var(--accent)}
.s-light .price li::before{background:var(--text)}
.price .btn{width:100%;margin-top:1.4rem}
.price-foot{margin-top:2rem;padding-top:1.4rem;border-top:1px solid var(--hair-dark);
  display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}
@media (min-width:768px){ .price-foot{flex-direction:row;flex-wrap:wrap;
  justify-content:space-between;align-items:center;gap:1rem;margin-top:2.4rem} }
.s-light .price-foot{border-top-color:var(--hair-light)}
.price-foot p{margin:0;font-size:var(--fs-small)}
.price-foot a{font-weight:500;text-decoration:underline;text-underline-offset:3px;
  min-height:44px;display:inline-flex;align-items:center}
@media (min-width:768px){ .price-foot a{white-space:nowrap} }
.s-dark .price-foot a{color:var(--accent)}
.s-light .price-foot a{color:var(--text)}

/* ----------------------------------------------------------------- Presse */
.press a{display:block;padding:1.1rem;border:1px solid var(--hair-light);
  font-size:var(--fs-small);line-height:1.5;transition:border-color .2s;color:rgba(97,0,162,.82)}
.press a:hover{border-color:var(--text)}
.press .src{display:block;font-family:var(--mono);font-size:var(--fs-micro);
  letter-spacing:.05em;color:var(--muted-light);margin-bottom:.5rem}

/* -------------------------------------------------------------------- FAQ */
details{border-bottom:1px solid var(--hair-dark)}
.s-light details{border-bottom-color:var(--hair-light)}
summary{list-style:none;cursor:pointer;padding:1.05rem 2.2rem 1.05rem 0;position:relative;
  font-family:'Funnel Display';font-weight:700;font-size:1rem;line-height:1.35;
  min-height:44px;display:flex;align-items:center}
@media (min-width:600px){ summary{font-size:1.05rem} }
.s-dark summary{color:var(--bg)}
.s-light summary{color:var(--text)}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';position:absolute;right:.2rem;top:50%;transform:translateY(-50%);
  color:var(--accent);font-size:1.5rem;font-weight:400;line-height:1}
.s-light summary::after{color:var(--text)}
details[open] summary::after{content:'\2013'}
details p{padding-bottom:1.2rem;font-size:var(--fs-small);max-width:80ch}
.faq-more{margin-top:1.8rem;font-size:var(--fs-small)}

/* --------------------------------------------------------------- Formular */
.form{max-width:660px}
.form-row{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
@media (min-width:600px){ .form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem} }
.fg{margin-bottom:1.05rem}
.fg label{display:block;font-size:var(--fs-micro);font-weight:600;text-transform:uppercase;
  letter-spacing:.08em;margin-bottom:.4rem;color:var(--muted-light)}
.fg label .opt{text-transform:none;letter-spacing:0;font-weight:400}
.fg input,.fg select,.fg textarea{width:100%;min-height:50px;padding:13px 15px;
  border:1px solid rgba(97,0,162,.3);background:transparent;font-family:'Funnel Sans';
  font-size:16px;color:var(--text)}   /* 16px = kein Auto-Zoom auf iOS */
.fg textarea{min-height:110px;resize:vertical}
.fg input::placeholder,.fg textarea::placeholder{color:rgba(97,0,162,.5)}
.form-error{display:none;margin-top:1rem;padding:1rem;background:rgba(176,0,32,.07);
  border:1px solid rgba(176,0,32,.35);color:#8A0018;font-size:var(--fs-small)}

/* --------------------------------------------------------- Methodik-Seite */
.m-block{border:1px solid var(--hair-dark);background:var(--panel);padding:1.3rem;margin-top:1.1rem}
@media (min-width:600px){ .m-block{padding:1.8rem;margin-top:1.2rem} }
.s-light .m-block{border-color:var(--hair-light);background:transparent}
.m-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;
  gap:.4rem .8rem;border-bottom:1px solid var(--hair-dark);padding-bottom:.8rem;margin-bottom:.9rem}
.s-light .m-head{border-bottom-color:var(--hair-light)}
.m-head h3{font-size:1.08rem}
.m-head .pts{font-family:'Funnel Display';font-weight:800;font-size:1.25rem;
  color:var(--accent);white-space:nowrap}
.s-light .m-head .pts{color:var(--text)}
.m-q{font-style:italic;font-size:var(--fs-small);margin-bottom:.9rem}
.m-list{list-style:none}
.m-list li{display:flex;flex-direction:column;gap:.15rem;padding:.6rem 0;
  border-bottom:1px solid rgba(249,244,234,.07);font-size:var(--fs-small);line-height:1.5}
@media (min-width:600px){
  .m-list li{flex-direction:row;gap:1rem;justify-content:space-between;padding:.55rem 0}
}
.s-light .m-list li{border-bottom-color:rgba(97,0,162,.08)}
.m-list li:last-child{border-bottom:0}
.m-list .n{font-family:var(--mono);font-size:var(--fs-micro);white-space:nowrap;flex:0 0 auto}
.s-dark .m-list li{color:var(--muted-dark)}
.s-light .m-list li{color:rgba(97,0,162,.82)}
.s-dark .m-list .n{color:var(--accent)}
.s-light .m-list .n{color:var(--text)}
.penalty{border:2px solid #B00020;padding:1.3rem;margin-top:1.8rem;background:rgba(176,0,32,.06)}
@media (min-width:600px){ .penalty{padding:1.6rem;margin-top:2rem} }
.penalty h3{margin-bottom:.8rem}
.grades{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem}
.grade{font-family:var(--mono);font-size:var(--fs-micro);padding:.5rem .8rem;
  border:1px solid var(--hair-dark)}
.s-light .grade{border-color:var(--hair-light)}
.grade b{color:var(--accent);font-family:'Funnel Display';font-size:1rem}
.s-light .grade b{color:var(--text)}
.toc{border-left:2px solid var(--accent);padding:.4rem 0 .4rem 1.1rem;margin-top:1.8rem;list-style:none}
.toc li{padding:.1rem 0}
.toc a{text-decoration:underline;text-underline-offset:3px;font-size:var(--fs-small);
  min-height:44px;display:flex;align-items:center}

/* ------------------------------------------------------------- Sticky CTA */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:190;display:flex;
  border-top:1px solid rgba(26,0,48,.25)}
.sticky a{flex:1 1 0;min-width:0;min-height:56px;display:flex;align-items:center;
  justify-content:center;padding:0 8px;font-weight:700;font-size:.84rem;text-transform:uppercase;
  letter-spacing:.04em;text-align:center;line-height:1.15}
@media (min-width:600px){ .sticky a{font-size:.85rem;letter-spacing:.06em} }
.sticky .a{background:var(--accent);color:var(--dark)}
.sticky .b{background:var(--dark);color:var(--bg)}
body{padding-bottom:56px}
@media (min-width:1100px){ .sticky{display:none} body{padding-bottom:0} }

/* ----------------------------------------------------------------- Footer */
.footer{background:var(--dark);color:var(--muted-dark);padding:40px 0 32px;font-size:var(--fs-small)}
@media (min-width:900px){ .footer{padding:52px 0 40px} }
.footer-in{display:flex;flex-direction:column;gap:1.4rem;justify-content:space-between;
  align-items:flex-start}
@media (min-width:768px){ .footer-in{flex-direction:row;flex-wrap:wrap} }
.footer a{padding:8px 0;display:inline-block}
.footer a:hover{color:var(--accent)}
.footer-links{display:flex;flex-wrap:wrap;gap:.6rem 1.3rem}
.footer small{display:block;color:rgba(249,244,234,.62);font-size:var(--fs-micro);margin-top:.5rem}

.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}
