/* ============================================================
   IT mit Lina — Glas auf lebendigem violettem Verlauf
   ============================================================ */
:root{
  --bg1:#3b1179;  --bg2:#7c3aed;  --bg3:#a21caf;
  --ink:#1b1235;
  --ink-soft:#4e4677;
  --brand:#6d28d9;
  --brand-dark:#5b21b6;
  --accent:#db2777;
  --glass:rgba(255,255,255,.86);
  --glass-line:rgba(255,255,255,.6);
  --radius:24px;
  --wrap:1120px;
  --shadow:0 18px 44px rgba(20,6,50,.20);
  --page-bg:
    radial-gradient(1200px 820px at 12% 16%, rgba(255,255,255,.30) 0%, rgba(255,255,255,0) 55%),
    radial-gradient(900px 700px at 88% 24%, rgba(80,210,255,.24) 0%, rgba(255,255,255,0) 60%),
    radial-gradient(820px 620px at 62% 92%, rgba(255,160,90,.20) 0%, rgba(255,255,255,0) 62%),
    linear-gradient(145deg, var(--bg1), var(--bg2) 46%, var(--bg3));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%; overflow-x:clip}
body{
  margin:0; min-height:100vh; overflow-x:clip; color:var(--ink);
  overflow-wrap:break-word; hyphens:auto;
  font-family:ui-rounded,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:17px; line-height:1.68; -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block}

.skip{
  position:absolute; left:-9999px; top:0; z-index:99; padding:12px 18px;
  background:#fff; color:var(--brand-dark); border-radius:0 0 12px 0; font-weight:700;
}
.skip:focus{left:0}

/* ---------- Hintergrund ---------- */
.bg{position:fixed; inset:0; z-index:-2; background:var(--page-bg); background-size:cover}
.bg::after{
  content:""; position:absolute; inset:0;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.25) 0 2px, transparent 3px),
    radial-gradient(circle at 70% 20%, rgba(255,255,255,.22) 0 2px, transparent 3px),
    radial-gradient(circle at 40% 75%, rgba(255,255,255,.20) 0 2px, transparent 3px),
    radial-gradient(circle at 85% 70%, rgba(255,255,255,.18) 0 2px, transparent 3px),
    radial-gradient(circle at 10% 80%, rgba(255,255,255,.16) 0 2px, transparent 3px);
  opacity:.9;
}

/* ---------- Aufsteigende Themen-Bubbles ---------- */

/* ---------- Raster & Typo ---------- */
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 20px}
.wrap--narrow{max-width:780px}
.section{padding:clamp(34px,6vw,72px) 0}

h1,h2,h3{line-height:1.2; margin:0 0 .6em; letter-spacing:-.02em}
h2{font-size:clamp(1.5rem,4.6vw,2.2rem)}
h3{font-size:clamp(1.06rem,3.2vw,1.22rem)}
p{margin:0 0 1em}
a{color:var(--brand-dark)}
strong{color:var(--brand-dark)}
.lead{font-size:clamp(1.02rem,2.6vw,1.13rem); color:var(--ink-soft)}
.h2-soft{
  font-weight:700; font-size:.78em; display:inline-block; margin-top:.25em;
  background:linear-gradient(120deg,var(--brand),var(--accent));
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.section__title{
  color:#fff; text-align:center; margin-bottom:clamp(20px,3.5vw,34px);
  text-shadow:0 2px 20px rgba(30,5,70,.3);
}

.glass{
  background:var(--glass); border:1px solid var(--glass-line);
  border-radius:var(--radius); box-shadow:var(--shadow);
}
.panel{padding:clamp(24px,4.6vw,46px)}
.panel--accent{
  background:linear-gradient(140deg, rgba(255,255,255,.92), rgba(243,232,255,.88));
}

/* ---------- Kopf ---------- */
.top{
  position:sticky; top:0; z-index:20; padding-top:env(safe-area-inset-top);
  background:rgba(52,16,108,.92);
  border-bottom:1px solid rgba(255,255,255,.12);
  box-shadow:0 6px 24px rgba(20,4,56,.22);
}
.nav{display:flex; align-items:center; justify-content:space-between; gap:12px; padding-block:14px; flex-wrap:wrap}
.nav__brand{color:#fff; font-weight:800; font-size:1.08rem; text-decoration:none; letter-spacing:-.01em}

/* Der Name wird wie ein HTML-Tag gesetzt — einfarbig, gleiche Schrift */
.brand{white-space:nowrap; color:inherit}
.nav__links{display:flex; gap:7px; flex-wrap:wrap}
.nav__burger{display:none}
.nav__links{gap:clamp(14px,2.2vw,30px)}
.nav__links a{
  color:rgba(255,255,255,.92); text-decoration:none; font-size:.97rem; font-weight:600;
  padding:6px 2px; border-bottom:2px solid transparent; transition:color .2s, border-color .2s;
}
.nav__links a:hover,.nav__links a:focus-visible{color:#fff; border-bottom-color:rgba(255,255,255,.75)}


/* ---------- Hero ---------- */
.hero-wrap{padding-top:clamp(20px,3vw,36px); padding-bottom:clamp(14px,2.5vw,26px)}
.hero{
  position:relative;
  padding:clamp(28px,5vw,64px) 0 clamp(40px,7vw,96px);
  border-radius:var(--radius); overflow:hidden; color:#fff; isolation:isolate;
}
/* Bild rechts, Text links — der Verlauf hält die Schrift lesbar */
.hero__media{
  position:absolute; inset:0; z-index:-1;
  background:url("hero.jpg") right center / cover no-repeat;
}
.hero__media::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(58,20,130,.92) 0%, rgba(74,29,150,.72) 32%,
                             rgba(88,40,170,.28) 52%, rgba(88,40,170,0) 66%);
}
.hero__inner{max-width:52%; padding-left:clamp(20px,3.5vw,44px); padding-right:16px}
.hero__kicker{
  display:inline-block; margin:0 0 20px;
  margin-left:clamp(20px,3.5vw,44px);
  padding:9px 18px; border-radius:999px;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.3);
  font-size:.86rem; letter-spacing:.02em; font-weight:600;
}
.hero__title{
  hyphens:none;
  font-size:clamp(1.8rem,4.1vw,3.1rem); font-weight:800; margin-bottom:.5em; line-height:1.1;
  text-shadow:0 3px 26px rgba(25,4,60,.45);
}
.hero__accent{color:#f3dfc8}
.hero__text{
  font-size:clamp(1rem,1.6vw,1.2rem); color:rgba(255,255,255,.95); max-width:36ch;
  margin-bottom:1.8em; text-shadow:0 2px 14px rgba(25,4,60,.4);
}

.tags{list-style:none; display:flex; flex-wrap:wrap; justify-content:center; gap:8px; padding:0; margin:22px 0 28px}
.tags li{
  padding:8px 16px; border-radius:999px; font-size:.88rem; font-weight:600;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.28); color:#fff;
}

/* ---------- Buttons ---------- */
.btn{
  position:relative; overflow:hidden; isolation:isolate;
  display:inline-block; padding:16px 32px; border-radius:999px; min-height:50px;
  font-weight:700; font-size:1rem; text-decoration:none; text-align:center;
  border:1px solid transparent; cursor:pointer;
  transition:box-shadow .25s, filter .25s, color .3s;
}
/* Füllung läuft von links ein */
.btn::before{
  content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit;
  background:linear-gradient(120deg,var(--brand),var(--accent));
  transform:scaleX(0); transform-origin:left center;
  transition:transform .38s cubic-bezier(.3,.8,.35,1);
}
.btn:hover::before,.btn:focus-visible::before{transform:scaleX(1)}

.btn--light{background:#fff; color:var(--brand-dark); box-shadow:0 14px 32px rgba(20,6,50,.3)}
.btn--light:hover,.btn--light:focus-visible{color:#fff; box-shadow:0 20px 44px rgba(109,40,217,.45)}
.btn--primary{
  background:linear-gradient(135deg,var(--brand),var(--accent)); color:#fff;
  box-shadow:0 14px 32px rgba(109,40,217,.35);
}
.btn--primary::before{background:#fff}
.btn--primary:hover,.btn--primary:focus-visible{color:var(--brand-dark); box-shadow:0 20px 44px rgba(109,40,217,.45)}
.btn--big{padding:18px 38px; font-size:1.06rem}

/* ---------- Frage-Antwort-Block ---------- */
.qa{
  margin:26px 0; padding:22px 24px; border-radius:18px;
  background:linear-gradient(135deg,rgba(124,58,237,.09),rgba(219,39,119,.07));
  border-left:4px solid var(--brand);
}
.qa__q{font-size:clamp(1.04rem,2.8vw,1.18rem); font-weight:700; margin-bottom:.4em}
.qa__a{
  font-size:clamp(1.4rem,3.6vw,1.9rem); font-weight:800; color:var(--accent);
  margin:0 0 .35em; letter-spacing:-.02em;
}
.qa__after{margin:0; font-size:clamp(1rem,2.6vw,1.1rem)}

.motto{
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px;
  margin:30px 0 0; padding-top:26px; border-top:1px solid rgba(124,58,237,.18);
  font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  font-size:clamp(.82rem,2.4vw,1rem);
}
.motto span{
  background:linear-gradient(135deg,var(--brand),var(--accent));
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.motto i{color:rgba(124,58,237,.4); font-style:normal}

/* ---------- Listen mit Haken ---------- */
.checks{list-style:none; margin:0 0 1.2em; padding:0; display:grid; gap:10px}
.checks--two{grid-template-columns:1fr 1fr}
.checks li{position:relative; padding-left:34px; color:var(--ink-soft)}
.checks li::before{
  content:"✓"; position:absolute; left:0; top:1px;
  width:22px; height:22px; border-radius:50%; display:grid; place-items:center;
  font-size:.78rem; font-weight:800; color:#fff;
  background:linear-gradient(135deg,var(--brand),var(--accent));
}
.note{
  margin:0; padding:14px 18px; border-radius:14px; font-weight:700;
  background:rgba(124,58,237,.09); color:var(--brand-dark); text-align:center;
}

/* ---------- Karten ---------- */
.grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px}
.card{padding:26px 24px; transition:box-shadow .25s}
.card:hover{box-shadow:0 26px 54px rgba(20,6,50,.26)}
.card--wide{grid-column:1 / -1}
.card__icon{
  width:54px; height:54px; border-radius:16px; display:grid; place-items:center;
  font-size:1.6rem; background:linear-gradient(140deg,#ede9fe,#fce7f3); margin-bottom:16px;
}
.card p{color:var(--ink-soft); font-size:.97rem}
.card__q{font-weight:600; color:var(--ink) !important}
.card__tags{display:flex; flex-wrap:wrap; gap:7px; margin-bottom:1em}
.card__tags span{
  padding:5px 13px; border-radius:999px; font-size:.83rem; font-weight:700;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  background:linear-gradient(135deg,rgba(124,58,237,.12),rgba(219,39,119,.10));
  border:1px solid rgba(124,58,237,.2); color:var(--brand-dark);
}
.card__tags--soft span{font-family:inherit; font-weight:600}

/* ---------- 1:1 ---------- */
.ratio{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:1.1em;
  font-size:clamp(1rem,3vw,1.25rem); font-weight:600; color:var(--ink-soft);
}
.ratio b{
  font-size:1.5em; font-weight:800;
  background:linear-gradient(135deg,var(--brand),var(--accent));
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.ratio i{color:rgba(124,58,237,.4); font-style:normal}

/* Drei Punkte mit Icon im 1:1-Abschnitt */
.pluses{
  list-style:none; margin:clamp(24px,3.5vw,34px) 0 0; padding:clamp(24px,3.5vw,32px) 0 0;
  display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2.4vw,26px);
  border-top:1px solid rgba(124,58,237,.18);
}
.pluses li{display:flex; flex-direction:column; gap:12px}
.pluses__icon{
  width:50px; height:50px; border-radius:16px; display:grid; place-items:center;
  font-size:1.45rem; background:linear-gradient(140deg,#ede9fe,#fce7f3);
  border:1px solid rgba(124,58,237,.16);
}
.pluses h3{margin:0 0 .35em; font-size:1.04rem}
.pluses p{margin:0; color:var(--ink-soft); font-size:.95rem}

/* ---------- Lernweg ---------- */
.path{list-style:none; margin:0; padding:0; display:grid; gap:16px}
.step{padding:24px 26px; position:relative; overflow:hidden}
.step::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:5px;
  background:linear-gradient(180deg,var(--brand),var(--accent));
}
.step__age{
  display:inline-block; margin-bottom:12px; padding:7px 16px; border-radius:999px;
  font-weight:800; font-size:.92rem; color:#fff;
  background:linear-gradient(135deg,var(--brand),var(--accent));
}
.step__flow{
  font-weight:700; color:var(--ink); margin-bottom:.5em;
  font-size:clamp(.95rem,2.5vw,1.05rem);
}
.step__flow i{color:var(--accent); font-style:normal; padding:0 3px}
.step__text{color:var(--ink-soft); font-size:.96rem; margin:0}
.path__note{
  margin:20px 0 0; text-align:center; color:rgba(255,255,255,.88);
  font-size:.95rem; font-style:italic;
}

/* ---------- Über mich ---------- */
.about{display:grid; grid-template-columns:minmax(300px,360px) 1fr; gap:clamp(26px,4vw,48px); align-items:start}
.about__media{text-align:center}
.about__photo{
  width:100%; aspect-ratio:1/1; border-radius:24px; overflow:hidden;
  display:grid; place-items:center; text-align:center; line-height:1.3;
  background:linear-gradient(140deg,#ddd6fe,#fbcfe8);
  border:2px dashed rgba(124,58,237,.35);
  color:var(--brand-dark); font-weight:700; font-size:.95rem;
}
.about__photo img{width:100%; height:100%; object-fit:cover}
.about__photo.has-photo{border:none}
.about__name{
  margin:16px 0 2px; font-weight:800; font-size:1.12rem; color:var(--ink); letter-spacing:-.01em;
}
.about__role{
  margin:0; font-weight:600; color:var(--brand-dark); font-size:.92rem;
}
.stats{
  grid-column:1 / -1; list-style:none; margin:clamp(26px,4vw,38px) 0 0; padding:0;
  display:grid; grid-template-columns:repeat(3,1fr); gap:14px;
  border-top:1px solid rgba(124,58,237,.18); padding-top:clamp(24px,3.5vw,32px);
}
.stats li{
  text-align:center; padding:20px 14px; border-radius:18px;
  background:linear-gradient(140deg,rgba(124,58,237,.10),rgba(219,39,119,.08));
  border:1px solid rgba(124,58,237,.18);
}
.stats b{
  display:block; font-size:clamp(1.6rem,4.4vw,2.2rem); font-weight:800; line-height:1.1;
  background:linear-gradient(135deg,var(--brand),var(--accent));
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.stats span{display:block; margin-top:6px; color:var(--ink-soft); font-size:.92rem; font-weight:600}

.about__quote{
  margin:22px 0 0; padding:20px 22px; border-radius:18px;
  background:linear-gradient(135deg,rgba(124,58,237,.10),rgba(219,39,119,.08));
  border-left:4px solid var(--accent);
  font-size:clamp(1rem,2.6vw,1.1rem); font-weight:600; color:var(--ink);
}

/* ---------- Ablauf ---------- */
.steps{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.howto{padding:24px 22px; position:relative}
.howto--wide{grid-column:span 2}
.howto--wide p{margin-bottom:.7em}
.howto--wide p:last-child{margin-bottom:0}
.howto__num{
  display:grid; place-items:center; width:42px; height:42px; border-radius:14px;
  font-weight:800; font-size:1.15rem; color:#fff; margin-bottom:14px;
  background:linear-gradient(135deg,var(--brand),var(--accent));
}
.howto h3{margin-bottom:.4em}
.howto p{margin:0; color:var(--ink-soft); font-size:.95rem}

/* ---------- FAQ ---------- */
.preis{display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:.8em}
.preis b{
  font-size:clamp(1.8rem,5vw,2.3rem); font-weight:800; line-height:1;
  background:linear-gradient(135deg,var(--brand),var(--accent));
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.preis span{color:var(--ink-soft); font-weight:600}
.faq{display:grid; gap:12px}
.faq__item{padding:0; overflow:hidden}
.faq__item summary{
  list-style:none; cursor:pointer; position:relative;
  padding:clamp(18px,2.6vw,24px) clamp(52px,6vw,64px) clamp(18px,2.6vw,24px) clamp(20px,3vw,30px);
  font-weight:700; font-size:clamp(1rem,2.6vw,1.12rem); color:var(--ink);
  transition:color .2s;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary:hover{color:var(--brand-dark)}
/* Plus, das beim Öffnen zum Minus wird */
.faq__item summary::after{
  content:""; position:absolute; right:clamp(20px,3vw,28px); top:50%;
  width:16px; height:2px; border-radius:2px; background:var(--brand);
  box-shadow:0 0 0 0 transparent;
}
.faq__item summary::before{
  content:""; position:absolute; right:clamp(27px,3vw,35px); top:50%;
  width:2px; height:16px; margin-top:-8px; border-radius:2px; background:var(--brand);
  transition:opacity .2s, transform .2s;
}
.faq__item[open] summary::before{opacity:0; transform:rotate(90deg)}
.faq__item[open] summary{color:var(--brand-dark)}
.faq__body{
  padding:0 clamp(20px,3vw,30px) clamp(20px,3vw,28px);
  border-top:1px solid rgba(124,58,237,.14); padding-top:clamp(16px,2.4vw,22px);
}
.faq__body p{color:var(--ink-soft)}
.faq__body p:last-child{margin-bottom:0}
.faq__body .checks{margin-bottom:0}

/* Technische Voraussetzungen */
.technik__list{list-style:none; margin:18px 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:14px}
.technik__list li{
  display:flex; gap:13px; align-items:flex-start;
  padding:16px 18px; border-radius:16px;
  background:linear-gradient(140deg,rgba(124,58,237,.09),rgba(219,39,119,.06));
  border:1px solid rgba(124,58,237,.16);
}
.technik__list span{font-size:1.3rem; line-height:1.2}
.technik__list b{display:block; color:var(--ink); font-size:1rem; margin-bottom:2px}
.technik__list div{color:var(--ink-soft); font-size:.92rem; line-height:1.5}
.technik__hinweis{
  margin:0; padding:15px 18px; border-radius:14px;
  background:rgba(219,39,119,.08); border-left:4px solid var(--accent);
  color:var(--ink-soft); font-size:.95rem;
}

/* ---------- Kontakt ---------- */
/* Hinweiskasten unter den Themen */
.note-panel{
  display:flex; gap:clamp(16px,2.5vw,26px); align-items:flex-start;
  margin-top:20px; padding:clamp(22px,3.2vw,32px);
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(243,232,255,.88));
}
.note-panel__icon{
  flex:0 0 auto; width:52px; height:52px; border-radius:16px; display:grid; place-items:center;
  font-size:1.5rem; background:linear-gradient(140deg,#ede9fe,#fce7f3);
}
.note-panel h3{margin-bottom:.4em}
.note-panel p{margin:0; color:var(--ink-soft)}

.cta{text-align:center; padding:clamp(30px,5.5vw,56px) 26px}
.cta p{color:var(--ink-soft)}
.cta__strong{font-size:clamp(1.05rem,3vw,1.2rem); font-weight:700; color:var(--ink) !important}
.cta__fallback{margin:18px 0 0; font-size:.92rem; word-break:break-word}

/* ---------- Fuß ---------- */
.footer{
  color:rgba(255,255,255,.9); font-size:.92rem;
  padding:clamp(34px,5vw,56px) 0 calc(34px + env(safe-area-inset-bottom));
  margin-top:clamp(28px,5vw,56px);
  background:rgba(52,16,108,.92);
  border-top:1px solid rgba(255,255,255,.12);
}
.footer a{color:rgba(255,255,255,.88); text-decoration:none; border-bottom:1px solid rgba(255,255,255,.3)}
.footer a:hover{color:#fff; border-bottom-color:rgba(255,255,255,.7)}
.footer__inner{display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap}
.footer p{margin:0 0 .4em}
.footer__brand{font-weight:800; font-size:1.12rem; margin-bottom:.5em !important; color:#fff}
.footer__topics{color:rgba(255,255,255,.72)}
.footer__meta{text-align:right; color:rgba(255,255,255,.75)}
.footer em{color:rgba(255,255,255,.62)}


/* ============================================================
   Handy & Tablet
   ============================================================ */
@media (max-width:980px){
  .steps{grid-template-columns:repeat(2,1fr)}
  .howto--wide{grid-column:span 2}
}
@media (max-width:860px){
  .pluses{grid-template-columns:1fr; gap:20px}
  .pluses li{flex-direction:row; align-items:flex-start; gap:14px}
  .pluses__icon{flex:0 0 auto; width:44px; height:44px; font-size:1.25rem}
  .about{grid-template-columns:1fr; justify-items:center; text-align:center}
  .about__media{max-width:340px; width:100%}
  .about__quote{text-align:left}
  .checks--two{grid-template-columns:1fr}
  .checks li{text-align:left}
}
@media (max-width:1200px){
  .hero__title{font-size:clamp(1.7rem,3.6vw,2.6rem)}
  .hero__media::after{
    background:linear-gradient(100deg, rgba(58,20,130,.94) 0%, rgba(74,29,150,.78) 38%,
                               rgba(88,40,170,.32) 58%, rgba(88,40,170,0) 72%);
  }
}
@media (max-width:980px){
  .hero__inner{max-width:66%}
  .hero__media::after{
    background:linear-gradient(100deg, rgba(58,20,130,.95) 0%, rgba(74,29,150,.82) 42%,
                               rgba(88,40,170,.35) 62%, rgba(88,40,170,0) 78%);
  }
}
@media (max-width:760px){
  /* Bild bleibt Hintergrund: Gesicht oben sichtbar, Text unten darüber */
  .hero{
    display:flex; flex-direction:column; justify-content:space-between;
    min-height:min(88vh,700px); padding:clamp(16px,4vw,22px) 0 clamp(22px,5vw,30px);
    background:linear-gradient(180deg,#34107a 0%,#4a1b9e 46%,#6b2ec0 100%);
  }
  /* Bild oben in voller Szene, Text schiebt sich über den Anzug — nicht übers Gesicht */
  .hero__media{
    background-size:188% auto; background-position:64% top; background-repeat:no-repeat;
  }
  /* Der Verlauf muss dort schon deckend sein, wo das Bild endet — sonst bleibt eine Kante */
  .hero__media::after{
    background:linear-gradient(180deg,
      rgba(52,16,122,0) 0%, rgba(52,16,122,0) 28%,
      rgba(56,18,128,.42) 42%, rgba(60,22,136,.88) 54%,
      rgba(64,24,140,1) 61%);
  }
  .hero__inner{max-width:none; text-align:left; padding-inline:18px}
  .hero__kicker{
    align-self:flex-start; font-size:.74rem; padding:7px 13px;
    margin:0 18px 0 18px; max-width:calc(100% - 36px); white-space:normal;
  }
  .hero__title{font-size:clamp(1.6rem,7.4vw,2.2rem); margin-bottom:.5em}
  .hero__text{margin-bottom:1.5em; font-size:.97rem; max-width:none}
  .hero .btn{margin-inline:0}
}
@media (max-width:680px){
  .note-panel{flex-direction:column; gap:14px}
  .technik__list{grid-template-columns:1fr; gap:10px}
  .technik__list li{padding:14px 15px}
  .stats{gap:8px}
  .stats li{padding:14px 6px; border-radius:14px}
  .stats span{font-size:.76rem; margin-top:3px}
  body{font-size:16px}
  .wrap{padding:0 16px}
  .grid,.steps{grid-template-columns:1fr; gap:14px}
  .howto--wide{grid-column:span 1}
  .nav{padding-block:10px; gap:8px}
  .nav__brand{width:100%; font-size:1rem}
  .nav{flex-wrap:wrap; align-items:center; row-gap:0}
  .nav__brand{width:auto; flex:1}

  .nav__burger{
    display:grid; gap:5px; align-content:center; justify-items:stretch;
    width:44px; height:44px; padding:10px; margin-right:-8px;
    background:none; border:0; cursor:pointer;
  }
  .nav__burger span{display:block; height:2px; border-radius:2px; background:#fff}
  .nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav__burger[aria-expanded="true"] span:nth-child(2){opacity:0}
  .nav__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .nav__links{
    display:none; width:100%; flex-direction:column; gap:0;
    padding:6px 0 10px; border-top:1px solid rgba(255,255,255,.16); margin-top:12px;
  }
  .nav__links.is-open{display:flex}
  .nav__links a{
    font-size:1rem; padding:13px 2px; border-bottom:1px solid rgba(255,255,255,.1);
    border-top:0;
  }
  .nav__links a:last-child{border-bottom:0}
  .nav__links a:hover,.nav__links a:focus-visible{border-bottom-color:rgba(255,255,255,.1)}
  .btn{display:block; width:100%; max-width:440px; margin-inline:auto}
  .panel{padding:22px 18px}
  .card,.step,.howto{padding:20px 18px}
  .qa{padding:18px 18px; margin:20px 0}
  .tags{gap:6px; margin:18px 0 24px}
  .tags li{font-size:.8rem; padding:7px 13px}
  .footer__inner{flex-direction:column}
  .footer__meta{text-align:left}
  .motto{gap:7px; letter-spacing:.05em}
}
@media (max-width:380px){
  .nav__links a{font-size:.95rem}
  .hero__kicker{font-size:.68rem; padding:6px 11px}
  .step__age{font-size:.85rem}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none !important; transition:none !important; scroll-behavior:auto}
}

/* ============================================================
   Rechtstexte (Impressum, Datenschutz)
   ============================================================ */
.legal{padding:clamp(24px,5vw,56px) 0 clamp(40px,6vw,72px)}
.legal h1{color:var(--ink); font-size:clamp(1.6rem,4.6vw,2.2rem); margin-bottom:.8em}
.legal h2{font-size:clamp(1.1rem,3.2vw,1.3rem); margin-top:1.8em; color:var(--brand-dark)}
.legal h2:first-of-type{margin-top:0}
.legal address{font-style:normal; line-height:1.8}
.legal .back{
  display:inline-block; margin-top:2em; padding:12px 22px; border-radius:999px;
  background:linear-gradient(135deg,var(--brand),var(--accent)); color:#fff;
  text-decoration:none; font-weight:700; font-size:.95rem;
}
.legal ul{padding-left:1.2em; color:var(--ink-soft)}
.legal li{margin-bottom:.4em}
.legal .updated{margin-top:2.4em; font-size:.88rem; color:var(--ink-soft)}
