/* =============================================================
   DSGVO-konforme Schriftarten — lokal eingebunden (assets/fonts/)
   Keine Anfragen mehr an Google-Server.
   font-display:swap → kein FOIT, sofort Fallback-Text sichtbar.
   ============================================================= */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/inter-v20-latin-regular.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/inter-v20-latin-500.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/inter-v20-latin-600.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/inter-v20-latin-700.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:800;font-display:swap;src:url("assets/fonts/inter-v20-latin-800.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:900;font-display:swap;src:url("assets/fonts/inter-v20-latin-900.woff2") format("woff2")}

@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/plus-jakarta-sans-v12-latin-600.woff2") format("woff2")}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/plus-jakarta-sans-v12-latin-700.woff2") format("woff2")}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:800;font-display:swap;src:url("assets/fonts/plus-jakarta-sans-v12-latin-800.woff2") format("woff2")}

@font-face{font-family:"Caveat";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/caveat-v23-latin-500.woff2") format("woff2")}
@font-face{font-family:"Caveat";font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/caveat-v23-latin-700.woff2") format("woff2")}

:root{--green:#169c5b;--green-700:#117946;--green-50:#eff9f3;--text:#122019;--muted:#637168;--line:#e4ece7;--soft:#f7fbf8;--shadow:0 18px 50px rgba(18,32,25,.10);--shadow-soft:0 12px 30px rgba(18,32,25,.06);--shadow-premium:0 24px 60px rgba(10,20,16,.12);--max:1200px;--ease:cubic-bezier(.22,.61,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--text);background:#fff}body{background-image:radial-gradient(900px 420px at 50% -80px, rgba(22,156,91,.035), transparent 60%)}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}a,button,.btn,.nav-link,.card,.drop-card,.subject-link,.footer-support-logos img,.footer-links a,.footer-bottom-links a,.footer-contact-item,.visual-card,.image-card,.contact-box,.form-box,.nav-cta{transition:transform .28s var(--ease), box-shadow .28s var(--ease), background-color .28s var(--ease), border-color .28s var(--ease), color .28s var(--ease), opacity .28s var(--ease), filter .28s var(--ease)}
.container{max-width:var(--max);margin:0 auto;padding:0 24px}.section{padding:88px 0}.section.soft{background:var(--soft)}
.kicker{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid #d8ebdf;background:var(--green-50);color:var(--green-700);font-size:13px;font-weight:800}
.section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:28px}.section-head h2{margin:14px 0 0;font-size:40px;line-height:1.08;letter-spacing:-1px;font-family:"Plus Jakarta Sans",Inter,sans-serif}.section-head p{max-width:520px;margin:0;color:var(--muted);line-height:1.7}
.lead{font-size:18px;line-height:1.8;color:var(--muted)} .grid-3,.grid-4{display:grid;gap:18px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow-soft);padding:24px;position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:-1px auto auto -1px;width:120px;height:120px;border-radius:999px;background:radial-gradient(circle, rgba(22,156,91,.08), rgba(22,156,91,0) 72%);pointer-events:none}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-premium);border-color:#d8e8df} .icon{width:50px;height:50px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#f7fbf8,#eef7f2);border:1px solid #e2eee7;color:var(--green);margin-bottom:16px;box-shadow:0 10px 24px rgba(22,156,91,.08)} .card h3{margin:0 0 10px;font-size:20px;line-height:1.2;font-family:"Plus Jakarta Sans",Inter,sans-serif}.card p{margin:0;color:var(--muted);line-height:1.72}
.card-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:var(--green-700);font-weight:800}.btn-row{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 22px;border-radius:16px;font-weight:800;font-size:15px;position:relative;isolation:isolate}.btn-primary{background:linear-gradient(135deg,var(--green),#28b66d);color:#fff;box-shadow:0 18px 34px rgba(22,156,91,.22)}.btn-primary:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 24px 44px rgba(22,156,91,.28)}.btn-primary:active{transform:translateY(0) scale(.985)}.btn-secondary{background:#fff;color:var(--text);border:1px solid var(--line)}.btn-secondary:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft);border-color:#d7e4dc}
.site-header{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(18,32,25,.06);box-shadow:0 10px 30px rgba(18,32,25,.04)} .nav-inner{max-width:1240px;margin:0 auto;padding:12px 24px;display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center}.nav-left,.nav-rightgroup{display:flex;align-items:center;gap:8px}.nav-left{justify-content:flex-start}.nav-rightgroup{justify-content:flex-end}.brand{display:flex;align-items:center;justify-content:center}.brand img{height:56px;width:auto;filter:drop-shadow(0 8px 18px rgba(18,32,25,.04))}.nav-link{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border-radius:999px;color:#46574f;font-size:14px;font-weight:700;white-space:nowrap}.nav-link:hover{background:#f3f7f4;color:#1d3027;transform:translateY(-1px)}.nav-link.active{color:var(--green)}.nav-item{position:relative;padding-bottom:18px;margin-bottom:-18px}.nav-item > .nav-link{position:relative;z-index:2}.caret{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-1px);display:inline-block;opacity:.7}
.dropdown{position:absolute;left:0;top:100%;width:580px;padding:14px;border:1px solid rgba(18,32,25,.08);border-radius:24px;background:rgba(255,255,255,.98);backdrop-filter:blur(12px);box-shadow:var(--shadow-premium);opacity:0;pointer-events:none;transform:translateY(6px)}.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;pointer-events:auto;transform:translateY(0)}.dropdown::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}.dropdown-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.drop-card{display:block;padding:14px;border-radius:18px;background:#fff;border:1px solid #e5ece7}.drop-card:hover{background:#f7fbf8;border-color:#d7e9df;transform:translateY(-2px);box-shadow:0 16px 32px rgba(18,32,25,.08)}.drop-card strong{display:block;font-size:14px;line-height:1.2;margin-bottom:6px}.drop-card small{display:block;font-size:12px;line-height:1.45;color:#728078;font-weight:600}.nav-cta{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 18px;border-radius:16px;font-size:14px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--green),#2fba71);box-shadow:0 16px 30px rgba(22,156,91,.2)}.nav-cta:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 22px 40px rgba(22,156,91,.26)}
.hero{position:relative;overflow:hidden;padding:88px 0 42px;background:linear-gradient(180deg,#fff 0%,#f7fbf8 100%)} .hero:before,.hero:after{content:"";position:absolute;border-radius:999px;filter:blur(10px);opacity:.6;pointer-events:none}.hero:before{width:360px;height:360px;background:#e6f5ed;right:-80px;top:50px}.hero:after{width:260px;height:260px;background:#eef8f3;left:-60px;bottom:40px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}.hero h1{margin:18px 0 16px;font-size:62px;line-height:.98;letter-spacing:-2.2px;font-family:"Plus Jakarta Sans",Inter,sans-serif}.hero p{margin:0 0 24px}.hero-stats{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.hero-stat{display:inline-flex;align-items:center;gap:10px;padding:12px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-soft);font-size:14px;font-weight:700}
.visual-wrap{position:relative}.visual-card{background:#fff;border:1px solid var(--line);border-radius:32px;padding:16px;box-shadow:var(--shadow)}.float-card{position:absolute;padding:16px 18px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft);font-size:14px;font-weight:800}.float-card small{display:block;font-size:12px;color:var(--muted);font-weight:700;margin-top:4px}.float-card.a{left:-28px;bottom:36px}.float-card.b{right:-18px;top:34px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center}.image-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:16px;box-shadow:var(--shadow)}.list{display:grid;gap:14px;margin-top:20px}.list-row{display:flex;align-items:flex-start;gap:12px}.tiny{width:38px;height:38px;border-radius:12px;background:var(--green-50);border:1px solid #dcefe5;color:var(--green);display:flex;align-items:center;justify-content:center}
.cta-band{background:linear-gradient(135deg,#143a29,#1b4f38 45%,#1c6a45);color:#fff;border-radius:32px;padding:44px;box-shadow:var(--shadow)}.cta-band h2{margin:0 0 12px;font-size:40px;line-height:1.05;font-family:"Plus Jakarta Sans",Inter,sans-serif}.cta-band p{margin:0 0 22px;color:#dbe8e0;max-width:700px;line-height:1.7}.cta-band .btn-secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);color:#fff}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px}.contact-box,.form-box{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow-soft)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px} input,select,textarea{width:100%;padding:16px 16px;border-radius:16px;border:1px solid var(--line);outline:none;font:inherit;color:var(--text);background:#fff} textarea{min-height:120px;resize:vertical}
footer{padding:40px 0;background:#102019;color:#e9f2ed;margin-top:40px}.foot{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.booking-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:24px;align-items:start}.booking-panel{background:#fff;border:1px solid var(--line);border-radius:30px;padding:22px;box-shadow:var(--shadow)}.booking-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:18px}.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--green-50);border:1px solid #dceee5;color:var(--green-700);font-size:13px;font-weight:800}.calendar{border:1px solid var(--line);border-radius:22px;padding:18px;background:#fff}.calendar-head{display:flex;justify-content:space-between;align-items:center;font-weight:800;margin-bottom:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-grid span{font-size:12px;color:var(--muted);text-align:center}.day,.slot{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 8px;font:inherit;font-weight:800;color:var(--text)}.day.active,.slot.active{background:var(--green);color:#fff;border-color:var(--green)}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.note{padding:14px 16px;border-radius:18px;background:#f8faf8;border:1px dashed #d9e4dd;color:var(--muted);font-size:14px;line-height:1.6;margin-top:14px}
@media (max-width:1080px){.hero-grid,.split,.contact-grid,.booking-layout,.grid-4{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr 1fr}.hero h1{font-size:52px}}
@media (max-width:760px){.nav-inner{grid-template-columns:1fr auto}.nav-left{display:none}.brand{justify-self:start}.brand img{height:48px}.hero h1{font-size:42px;letter-spacing:-1.2px}.hero-grid,.split,.contact-grid,.booking-layout,.grid-3,.grid-4,.form-grid,.foot,.slot-grid{grid-template-columns:1fr}.section{padding:72px 0}.section-head{display:block}.section-head p{margin-top:14px}.float-card{position:static;margin-top:12px}.cta-band{padding:30px}.cta-band h2{font-size:32px}}



/* ===== Premium footer upgrade ===== */
footer{margin-top:0;padding:0;background:radial-gradient(1200px 480px at 50% -12%, rgba(22,156,91,.05), transparent 56%),linear-gradient(180deg, #141720 0%, #0f1118 100%);color:#e8edf3}
.footer-shell{padding:64px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.35fr .78fr .82fr 1.08fr;gap:44px;align-items:start}
.footer-brand{max-width:390px}.footer-wordmark{margin-bottom:18px}.footer-wordmark-title{font-family:"Plus Jakarta Sans",Inter,sans-serif;font-size:34px;line-height:1;letter-spacing:-1.3px;font-weight:900;color:#fff}.footer-wordmark-accent{color:#23d274}.footer-wordmark-sub{margin-top:8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:#99a6b4}.footer-brand p{margin:0 0 28px;color:#bfc8d3;line-height:1.72;font-size:16px}.footer-cta{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;background:linear-gradient(135deg,#16a05d,#34d97c);color:#fff;font-weight:800;box-shadow:0 18px 34px rgba(22,156,91,.22)}.footer-cta:hover{transform:translateY(-2px);box-shadow:0 24px 44px rgba(22,156,91,.28)}.footer-col h4,.footer-support-row h4{margin:0 0 20px;font-size:13px;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;color:#ffffff;font-family:"Plus Jakarta Sans",Inter,sans-serif}.footer-links{display:grid;gap:16px}.footer-links a{color:#c4ccd7;font-size:15px;font-weight:500}.footer-links a:hover{color:#fff;transform:translateX(2px)}.footer-contact{display:grid;gap:14px}.footer-contact-item{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start}.footer-contact-item:hover{transform:translateY(-1px)}.footer-icon{width:48px;height:48px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);color:#f4bf2a;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}.footer-icon svg{width:20px;height:20px}.footer-contact-item strong{display:block;color:#fff;margin-bottom:3px;font-size:15px}.footer-contact-item span{color:#c4ccd7;line-height:1.5}.footer-sep{margin:50px 0 24px;border:none;border-top:1px solid rgba(255,255,255,.06)}.footer-sep-soft{margin:24px 0 22px}.footer-support-row{padding:10px 0 6px;text-align:center}.footer-support-row h4{margin-bottom:18px;color:#7f8a9b;letter-spacing:.14em}.footer-support-logos{display:flex;justify-content:center;align-items:center}.footer-support-logos img{width:min(100%, 430px);height:auto;opacity:.72;filter:grayscale(1) brightness(1.08)}.footer-support-row:hover .footer-support-logos img{opacity:.9;filter:grayscale(.1) brightness(1.14);transform:translateY(-1px)}.footer-bottom{display:flex;justify-content:space-between;gap:16px;align-items:center;color:#9ca7b6;font-size:14px}.footer-bottom-links{display:flex;gap:24px;flex-wrap:wrap}.footer-bottom-links a{color:#9ca7b6}.footer-bottom-links a:hover{color:#fff}
@media (max-width:1100px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-brand{max-width:none;grid-column:1 / -1}}
@media (max-width:760px){.footer-shell{padding:52px 0 22px}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-sep{margin:34px 0 20px}.footer-sep-soft{margin:20px 0}.footer-bottom{flex-direction:column;align-items:flex-start}.footer-support-logos img{width:min(100%,320px)}}

/* ===== Fächer dropdown + page ===== */
.dropdown.subjects-dropdown{
  width:260px;
  padding:10px;
}
.subjects-list{
  display:grid;
  gap:8px;
}
.subject-link{
  display:block;
  padding:12px 14px;
  border-radius:14px;
  background:#fff;
  border:1px solid #e5ece7;
  color:#3e4d45;
  font-weight:700;
  transition:.18s ease;
}
.subject-link:hover{
  background:#f7fbf8;
  border-color:#d7e9df;
  color:#169c5b;
  transform:translateY(-1px);
}
.subject-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.subject-chip{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 16px;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  font-weight:700;
}
.subject-chip .mini-icon{
  width:34px;
  height:34px;
  border-radius:12px;
  background:var(--green-50);
  color:var(--green);
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #dcefe5;
}
@media (max-width:900px){
  .subject-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  .subject-grid{grid-template-columns:1fr}
}



/* ===== Subject pages premium refinement ===== */
.offer-card{
  position:relative;
  overflow:hidden;
}
.offer-card:after{
  content:"";
  position:absolute;
  inset:auto -40px -60px auto;
  width:140px;
  height:140px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(22,156,91,.08) 0%, rgba(22,156,91,0) 70%);
  pointer-events:none;
}
.offer-card .offer-meta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:var(--green-50);
  border:1px solid #dcefe5;
  color:var(--green-700);
  font-size:12px;
  font-weight:800;
  margin-bottom:14px;
}
.offer-card .offer-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:18px;
  color:var(--green-700);
  font-weight:800;
}
.stage-card{
  position:relative;
  text-align:left;
  padding:24px;
}
.stage-card .stage-kicker{
  display:block;
  margin-bottom:8px;
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
}
.stage-card strong{
  display:block;
  font-size:22px;
  line-height:1.15;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
}
.teacher-split{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:24px;
  align-items:center;
}
.teacher-visual{
  background:linear-gradient(180deg,#f6fbf8 0%, #eef8f3 100%);
  border:1px solid var(--line);
  border-radius:30px;
  padding:18px;
  box-shadow:var(--shadow-soft);
}
.teacher-stat-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:22px;
}
.teacher-stat{
  padding:16px;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
}
.teacher-stat strong{
  display:block;
  font-size:24px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  margin-bottom:4px;
}
.recommend-box{
  position:relative;
  overflow:hidden;
}
.recommend-box:before{
  content:"";
  position:absolute;
  right:-80px;
  top:-50px;
  width:240px;
  height:240px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(22,156,91,.08) 0%, rgba(22,156,91,0) 70%);
}
.testimonial{
  position:relative;
}
.testimonial:before{
  content:"“";
  position:absolute;
  top:16px;
  right:18px;
  color:rgba(22,156,91,.12);
  font-size:56px;
  line-height:1;
  font-weight:900;
}
.testimonial p{
  color:var(--muted);
  line-height:1.8;
}
.testimonial-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:#f7fbf8;
  border:1px solid var(--line);
  font-size:12px;
  font-weight:800;
  margin-bottom:14px;
}
.subject-cta .subject-cta-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-size:12px;
  font-weight:800;
  margin-bottom:14px;
}
.more-subjects{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.more-subject{
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px;
  border-radius:20px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  font-weight:800;
}
.more-subject .mini{
  width:40px;
  height:40px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--green);
  background:var(--green-50);
  border:1px solid #dcefe5;
}
@media (max-width:1100px){
  .teacher-split{grid-template-columns:1fr}
  .more-subjects{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  .teacher-stat-row,
  .more-subjects{grid-template-columns:1fr}
}



/* ===== ultra premium subject pages ===== */
.subject-premium .section{padding:96px 0}
.subject-premium .section.soft{
  background:
    radial-gradient(900px 300px at 20% 0%, rgba(22,156,91,.06), transparent 60%),
    linear-gradient(180deg,#f8fcf9 0%,#f6fbf8 100%);
}
.subject-premium .section-head{margin-bottom:32px}
.subject-premium .section-head h2{
  font-size:44px;
  letter-spacing:-1.2px;
}
.subject-premium .section-head p{
  max-width:560px;
}

.subject-hero-grid{
  display:grid;
  grid-template-columns:1.04fr .96fr;
  gap:36px;
  align-items:center;
}
.subject-hero-copy{
  max-width:640px;
}
.subject-quote{
  margin:16px 0 18px;
  font-size:20px;
  line-height:1.6;
  font-weight:750;
  color:#183025;
}
.subject-intro{
  font-size:18px;
  line-height:1.9;
  color:var(--muted);
}
.subject-visual-wrap{
  position:relative;
}
.subject-visual-wrap:before{
  content:"";
  position:absolute;
  inset:18px -10px -10px 28px;
  border-radius:36px;
  background:linear-gradient(180deg,#eef8f3 0%,#e7f5ed 100%);
  z-index:0;
}
.subject-visual-card{
  position:relative;
  z-index:1;
  background:#fff;
  border:1px solid var(--line);
  border-radius:34px;
  padding:16px;
  box-shadow:0 22px 56px rgba(18,32,25,.10);
}
.subject-hero-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.subject-badge{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:10px 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  font-size:14px;
  font-weight:700;
}
.subject-badge .dot{
  width:9px;
  height:9px;
  border-radius:999px;
  background:var(--green);
}

.offer-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
  align-items:stretch;
}
.offer-card{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  padding:22px 20px 20px;
  background:linear-gradient(180deg,#fff 0%,#fcfefd 100%);
  border:1px solid var(--line);
  box-shadow:0 12px 32px rgba(18,32,25,.06);
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.offer-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 50px rgba(18,32,25,.10);
  border-color:#d2e7db;
}
.offer-card:before{
  content:"";
  position:absolute;
  inset:auto -42px -64px auto;
  width:160px;
  height:160px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(22,156,91,.10) 0%, rgba(22,156,91,0) 72%);
}
.offer-card .offer-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:14px;
}
.offer-card .offer-meta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:var(--green-50);
  border:1px solid #dcefe5;
  color:var(--green-700);
  font-size:12px;
  font-weight:800;
}
.offer-card .offer-icon{
  width:44px;
  height:44px;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--green);
  background:linear-gradient(180deg,#f7fbf8,#eef7f2);
  border:1px solid #dfece5;
  box-shadow:0 10px 22px rgba(22,156,91,.08);
  font-size:14px;
  font-weight:900;
}
.offer-card h3{
  margin:0 0 10px;
  font-size:20px;
  line-height:1.2;
}
.offer-card p{
  margin:0;
  color:var(--muted);
  line-height:1.74;
}
.offer-card ul{
  margin:16px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.offer-card li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#55635b;
  line-height:1.6;
}
.offer-card li:before{
  content:"";
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin-top:2px;
  border-radius:999px;
  background:var(--green-50);
  border:1px solid #dcefe5;
  box-shadow:inset 0 0 0 5px var(--green);
}
.offer-card .offer-link{
  margin-top:auto;
  padding-top:18px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--green-700);
  font-weight:800;
}

.stage-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.stage-card{
  position:relative;
  overflow:hidden;
  border-radius:26px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  padding:24px;
}
.stage-card:before{
  content:"";
  position:absolute;
  top:-38px;
  right:-26px;
  width:110px;
  height:110px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(22,156,91,.08) 0%, rgba(22,156,91,0) 70%);
}
.stage-card .stage-kicker{
  display:block;
  margin-bottom:8px;
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
}
.stage-card strong{
  display:block;
  font-size:24px;
  line-height:1.16;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
}
.stage-card p{
  margin:10px 0 0;
  color:var(--muted);
  line-height:1.65;
}

.teacher-section-card,
.recommend-section-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:34px;
  box-shadow:0 16px 44px rgba(18,32,25,.07);
  padding:30px;
}
.teacher-split{
  display:grid;
  grid-template-columns:.96fr 1.04fr;
  gap:24px;
  align-items:center;
}
.teacher-visual{
  border-radius:28px;
  background:
    radial-gradient(520px 200px at 20% 0%, rgba(22,156,91,.08), transparent 60%),
    linear-gradient(180deg,#f8fcf9 0%,#eef8f3 100%);
  border:1px solid var(--line);
  padding:18px;
}
.teacher-stat-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:22px;
}
.teacher-stat{
  padding:16px;
  border-radius:18px;
  background:#f9fcfa;
  border:1px solid #e4ede8;
}
.teacher-stat strong{
  display:block;
  font-size:24px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  margin-bottom:4px;
}
.teacher-stat span{
  color:var(--muted);
  line-height:1.45;
}

.recommend-section-card{
  position:relative;
  overflow:hidden;
}
.recommend-section-card:before{
  content:"";
  position:absolute;
  right:-90px;
  top:-70px;
  width:250px;
  height:250px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(22,156,91,.08) 0%, rgba(22,156,91,0) 70%);
}
.recommend-inner{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:22px;
  align-items:center;
}
.recommend-points{
  display:grid;
  gap:12px;
  margin-top:16px;
}
.recommend-point{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  border-radius:18px;
  background:#f8fbf9;
  border:1px solid #e4ede8;
}
.recommend-point .mini{
  width:38px;
  height:38px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--green-50);
  border:1px solid #dcefe5;
  color:var(--green);
  font-size:13px;
  font-weight:800;
}

.testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.testimonial{
  position:relative;
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  padding:24px;
  box-shadow:var(--shadow-soft);
}
.testimonial:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(18,32,25,.08);
}
.testimonial:before{
  content:"“";
  position:absolute;
  top:14px;
  right:18px;
  color:rgba(22,156,91,.10);
  font-size:56px;
  line-height:1;
  font-weight:900;
}
.testimonial-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:#f7fbf8;
  border:1px solid var(--line);
  font-size:12px;
  font-weight:800;
  margin-bottom:14px;
}
.testimonial strong{
  display:block;
  margin-bottom:6px;
  font-size:16px;
}
.testimonial small{
  display:block;
  margin-bottom:12px;
  color:var(--muted);
}
.testimonial p{
  color:var(--muted);
  line-height:1.82;
}

.subject-cta{
  background:
    radial-gradient(1000px 280px at 18% 0%, rgba(255,255,255,.08), transparent 55%),
    linear-gradient(135deg,#143a29,#1b4f38 45%,#1c6a45);
  color:#fff;
  border-radius:36px;
  padding:44px;
  box-shadow:0 22px 56px rgba(18,32,25,.14);
}
.subject-cta .subject-cta-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-size:12px;
  font-weight:800;
  margin-bottom:14px;
}
.subject-cta p{
  color:#dbe8e0;
  max-width:720px;
}
.subject-cta .btn-secondary{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.14);
  color:#fff;
}

.more-subjects{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.more-subject{
  display:flex;
  align-items:center;
  gap:12px;
  padding:18px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  font-weight:800;
}
.more-subject:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 42px rgba(18,32,25,.08);
  border-color:#d6e8de;
}
.more-subject .mini{
  width:42px;
  height:42px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--green);
  background:var(--green-50);
  border:1px solid #dcefe5;
  font-size:13px;
  font-weight:800;
}
.more-subject .copy{
  display:block;
}
.more-subject .copy small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-weight:600;
  line-height:1.45;
}

@media (max-width:1180px){
  .offer-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:980px){
  .subject-hero-grid,
  .teacher-split,
  .recommend-inner,
  .testimonial-grid,
  .stage-grid,
  .more-subjects{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .subject-premium .section{padding:76px 0}
  .subject-hero-grid,
  .offer-grid,
  .teacher-split,
  .recommend-inner,
  .testimonial-grid,
  .stage-grid,
  .teacher-stat-row,
  .more-subjects{grid-template-columns:1fr}
  .subject-cta{padding:30px}
}



/* ===== Unser Angebot premium redesign ===== */
.subject-premium .offer-grid{
  display:grid;
  grid-template-columns:1.18fr 1fr 1fr;
  gap:18px;
  align-items:stretch;
}
.subject-premium .offer-card{
  position:relative;
  overflow:hidden;
  min-height:100%;
  background:linear-gradient(180deg,#ffffff 0%, #fbfefd 100%);
  border:1px solid var(--line);
  border-radius:30px;
  box-shadow:0 14px 34px rgba(18,32,25,.06);
  padding:22px;
  display:flex;
  flex-direction:column;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.subject-premium .offer-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 48px rgba(18,32,25,.10);
  border-color:#d1e6da;
}
.subject-premium .offer-card:before{
  content:"";
  position:absolute;
  right:-40px;
  bottom:-54px;
  width:150px;
  height:150px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(22,156,91,.08) 0%, rgba(22,156,91,0) 72%);
}
.subject-premium .offer-card--featured{
  grid-row:span 2;
  padding:28px;
  box-shadow:0 20px 44px rgba(18,32,25,.08);
}
.subject-premium .offer-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}
.subject-premium .offer-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border-radius:999px;
  background:var(--green-50);
  border:1px solid #dcefe5;
  color:var(--green-700);
  font-size:12px;
  font-weight:800;
}
.subject-premium .offer-icon-box{
  width:48px;
  height:48px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#f7fbf8,#eef7f2);
  border:1px solid #dfece5;
  box-shadow:0 10px 24px rgba(22,156,91,.08);
  color:var(--green);
  font-size:13px;
  font-weight:900;
  flex:0 0 48px;
}
.subject-premium .offer-card h3{
  margin:0 0 10px;
  font-size:20px;
  line-height:1.18;
  letter-spacing:-.02em;
}
.subject-premium .offer-card--featured h3{
  font-size:28px;
}
.subject-premium .offer-copy{
  color:var(--muted);
  line-height:1.76;
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.subject-premium .offer-card--featured .offer-copy{
  -webkit-line-clamp:6;
}
.subject-premium .offer-list{
  list-style:none;
  padding:0;
  margin:18px 0 0;
  display:grid;
  gap:10px;
}
.subject-premium .offer-list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#55635b;
  line-height:1.58;
}
.subject-premium .offer-list li:before{
  content:"";
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin-top:2px;
  border-radius:999px;
  background:var(--green-50);
  border:1px solid #dcefe5;
  box-shadow:inset 0 0 0 5px var(--green);
}
.subject-premium .offer-footer{
  margin-top:auto;
  padding-top:18px;
}
.subject-premium .offer-mini-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  border-radius:14px;
  background:#fff;
  border:1px solid #d7e6de;
  color:var(--green-700);
  font-size:14px;
  font-weight:800;
  box-shadow:0 8px 20px rgba(18,32,25,.04);
}
.subject-premium .offer-card--featured .offer-mini-btn{
  background:linear-gradient(135deg,var(--green),#28b66d);
  color:#fff;
  border-color:transparent;
  box-shadow:0 16px 28px rgba(22,156,91,.18);
}
@media (max-width:1200px){
  .subject-premium .offer-grid{
    grid-template-columns:1fr 1fr;
  }
  .subject-premium .offer-card--featured{
    grid-row:auto;
    grid-column:1 / -1;
  }
}
@media (max-width:760px){
  .subject-premium .offer-grid{
    grid-template-columns:1fr;
  }
}



/* ===== Unser Angebot final grid redesign ===== */
.subject-premium .offer-section-intro{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-end;
  margin-bottom:28px;
}
.subject-premium .offer-section-intro .left h2{
  margin:14px 0 0;
  font-size:44px;
  line-height:1.06;
  letter-spacing:-1.2px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
}
.subject-premium .offer-section-intro .left p,
.subject-premium .offer-section-intro .right{
  color:var(--muted);
  line-height:1.75;
}
.subject-premium .offer-section-intro .left p{
  margin:12px 0 0;
  max-width:520px;
}
.subject-premium .offer-section-intro .right{
  max-width:360px;
}

.subject-premium .offer-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  align-items:stretch;
}
.subject-premium .offer-card{
  position:relative;
  overflow:hidden;
  min-height:100%;
  background:linear-gradient(180deg,#ffffff 0%, #fbfefd 100%);
  border:1px solid var(--line);
  border-radius:30px;
  box-shadow:0 14px 34px rgba(18,32,25,.06);
  padding:24px;
  display:flex;
  flex-direction:column;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.subject-premium .offer-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 48px rgba(18,32,25,.10);
  border-color:#d1e6da;
}
.subject-premium .offer-card:before{
  content:"";
  position:absolute;
  right:-44px;
  bottom:-58px;
  width:150px;
  height:150px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(22,156,91,.08) 0%, rgba(22,156,91,0) 72%);
}
.subject-premium .offer-card.offer-cta-card{
  background:
    radial-gradient(420px 180px at 20% 0%, rgba(22,156,91,.10), transparent 60%),
    linear-gradient(180deg,#f7fbf8 0%,#eef8f3 100%);
}
.subject-premium .offer-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}
.subject-premium .offer-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border-radius:999px;
  background:var(--green-50);
  border:1px solid #dcefe5;
  color:var(--green-700);
  font-size:12px;
  font-weight:800;
}
.subject-premium .offer-icon-box{
  width:46px;
  height:46px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#f7fbf8,#eef7f2);
  border:1px solid #dfece5;
  box-shadow:0 10px 24px rgba(22,156,91,.08);
  color:var(--green);
  flex:0 0 46px;
}
.subject-premium .offer-icon-box svg{
  width:22px;
  height:22px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.subject-premium .offer-card h3{
  margin:0 0 10px;
  font-size:22px;
  line-height:1.18;
  letter-spacing:-.02em;
}
.subject-premium .offer-copy{
  color:var(--muted);
  line-height:1.76;
  margin:0;
}
.subject-premium .offer-list{
  list-style:none;
  padding:0;
  margin:18px 0 0;
  display:grid;
  gap:10px;
}
.subject-premium .offer-list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#55635b;
  line-height:1.58;
}
.subject-premium .offer-list li:before{
  content:"";
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin-top:2px;
  border-radius:999px;
  background:var(--green-50);
  border:1px solid #dcefe5;
  box-shadow:inset 0 0 0 5px var(--green);
}
.subject-premium .offer-footer{
  margin-top:auto;
  padding-top:20px;
}
.subject-premium .offer-mini-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  border-radius:14px;
  background:#fff;
  border:1px solid #d7e6de;
  color:var(--green-700);
  font-size:14px;
  font-weight:800;
  box-shadow:0 8px 20px rgba(18,32,25,.04);
  transition:.16s ease;
}
.subject-premium .offer-mini-btn:hover{
  background:var(--green);
  color:#fff;
  border-color:var(--green);
}
.subject-premium .offer-cta-card .offer-mini-btn{
  background:linear-gradient(135deg,var(--green),#28b66d);
  color:#fff;
  border-color:transparent;
  box-shadow:0 16px 28px rgba(22,156,91,.18);
}
.subject-premium .offer-cta-card .offer-copy{
  max-width:420px;
}
@media (max-width:1100px){
  .subject-premium .offer-grid{
    grid-template-columns:1fr 1fr !important;
  }
  .subject-premium .offer-section-intro{
    display:block;
  }
  .subject-premium .offer-section-intro .right{
    margin-top:14px;
    max-width:560px;
  }
}
@media (max-width:760px){
  .subject-premium .offer-grid{
    grid-template-columns:1fr !important;
  }
}



/* ===== Premium Fächer grid ===== */
.subjects-premium-intro{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  margin-bottom:28px;
}
.subjects-premium-intro .left h2{
  margin:14px 0 0;
  font-size:44px;
  line-height:1.06;
  letter-spacing:-1.2px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
}
.subjects-premium-intro .left p,
.subjects-premium-intro .right{
  color:var(--muted);
  line-height:1.78;
}
.subjects-premium-intro .left p{
  margin:12px 0 0;
  max-width:560px;
}
.subjects-premium-intro .right{
  max-width:360px;
}
.subjects-grid-premium{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
}
.subject-card{
  display:flex;
  align-items:center;
  gap:14px;
  padding:20px 20px;
  border-radius:24px;
  background:linear-gradient(180deg,#fff 0%, #fbfefd 100%);
  border:1px solid var(--line);
  box-shadow:0 12px 30px rgba(18,32,25,.05);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.subject-card:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 40px rgba(18,32,25,.08);
  border-color:#d1e6da;
}
.subject-card-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  color:var(--green);
  background:linear-gradient(180deg,#f7fbf8,#eef7f2);
  border:1px solid #dfece5;
  box-shadow:0 8px 20px rgba(22,156,91,.06);
}
.subject-card-icon svg{
  width:20px;
  height:20px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.subject-card-copy{
  min-width:0;
}
.subject-card-title{
  display:block;
  font-size:18px;
  line-height:1.2;
  color:var(--text);
  font-weight:800;
  letter-spacing:-.01em;
}
.subject-card-sub{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
  font-weight:600;
}
@media (max-width:1100px){
  .subjects-premium-intro{
    display:block;
  }
  .subjects-premium-intro .right{
    margin-top:14px;
    max-width:560px;
  }
  .subjects-grid-premium{
    grid-template-columns:repeat(2, 1fr);
  }
}
@media (max-width:700px){
  .subjects-grid-premium{
    grid-template-columns:1fr;
  }
}



/* ===== Angebote overview ===== */
.angebote-intro{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  margin-bottom:28px;
}
.angebote-intro .left h2{
  margin:14px 0 0;
  font-size:44px;
  line-height:1.06;
  letter-spacing:-1.2px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
}
.angebote-intro .left p,
.angebote-intro .right{
  color:var(--muted);
  line-height:1.78;
}
.angebote-intro .left p{
  margin:12px 0 0;
  max-width:560px;
}
.angebote-intro .right{
  max-width:360px;
}
.angebote-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:18px;
}
.angebote-card{
  display:flex;
  align-items:center;
  gap:14px;
  padding:22px 22px;
  border-radius:24px;
  background:linear-gradient(180deg,#fff 0%, #fbfefd 100%);
  border:1px solid var(--line);
  box-shadow:0 12px 30px rgba(18,32,25,.05);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.angebote-card:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 40px rgba(18,32,25,.08);
  border-color:#d1e6da;
}
.angebote-card-icon{
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  color:var(--green);
  background:linear-gradient(180deg,#f7fbf8,#eef7f2);
  border:1px solid #dfece5;
  box-shadow:0 8px 20px rgba(22,156,91,.06);
}
.angebote-card-icon svg{
  width:20px;
  height:20px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.angebote-card-copy{
  min-width:0;
}
.angebote-card-title{
  display:block;
  font-size:18px;
  line-height:1.2;
  color:var(--text);
  font-weight:800;
  letter-spacing:-.01em;
}
.angebote-card-sub{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
  font-weight:600;
}
@media (max-width:1100px){
  .angebote-intro{
    display:block;
  }
  .angebote-intro .right{
    margin-top:14px;
    max-width:560px;
  }
}
@media (max-width:760px){
  .angebote-grid{
    grid-template-columns:1fr;
  }
}



/* ===== Angebote premium landing ===== */
.angebote-page .hero{
  padding:72px 0 46px;
}
.angebote-hero-grid{
  display:grid;
  grid-template-columns:1.04fr .96fr;
  gap:30px;
  align-items:center;
}
.angebote-copy h1{
  margin:18px 0 16px;
  font-size:62px;
  line-height:.98;
  letter-spacing:-2px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
}
.angebote-copy p{
  max-width:640px;
}
.angebote-copy .hero-stats{
  margin-top:20px;
}
.angebote-side{
  display:grid;
  gap:16px;
}
.angebote-side-card,
.angebote-highlight{
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:var(--shadow-soft);
  padding:24px;
}
.angebote-highlight{
  background:
    radial-gradient(500px 180px at 15% 0%, rgba(22,156,91,.08), transparent 60%),
    linear-gradient(180deg,#ffffff 0%, #fbfefd 100%);
}
.angebote-side-card h3,
.angebote-highlight h3{
  margin:0 0 10px;
  font-size:22px;
  line-height:1.18;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
}
.angebote-side-card p,
.angebote-highlight p{
  margin:0;
  color:var(--muted);
  line-height:1.78;
}
.angebote-mini-list{
  list-style:none;
  padding:0;
  margin:18px 0 0;
  display:grid;
  gap:12px;
}
.angebote-mini-list li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  color:#55635b;
  line-height:1.6;
}
.angebote-mini-list li:before{
  content:"";
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin-top:2px;
  border-radius:999px;
  background:var(--green-50);
  border:1px solid #dcefe5;
  box-shadow:inset 0 0 0 5px var(--green);
}
.angebote-section{
  padding:24px 0 86px;
}
.angebote-intro{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  margin-bottom:28px;
}
.angebote-intro .left h2{
  margin:14px 0 0;
  font-size:44px;
  line-height:1.06;
  letter-spacing:-1.2px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
}
.angebote-intro .left p,
.angebote-intro .right{
  color:var(--muted);
  line-height:1.78;
}
.angebote-intro .left p{
  margin:12px 0 0;
  max-width:560px;
}
.angebote-intro .right{
  max-width:360px;
}
.angebote-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:18px;
}
.angebote-card{
  display:flex;
  align-items:center;
  gap:16px;
  padding:24px;
  border-radius:28px;
  background:linear-gradient(180deg,#fff 0%, #fbfefd 100%);
  border:1px solid var(--line);
  box-shadow:0 12px 30px rgba(18,32,25,.05);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.angebote-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 44px rgba(18,32,25,.08);
  border-color:#d1e6da;
}
.angebote-card-icon{
  width:48px;
  height:48px;
  flex:0 0 48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  color:var(--green);
  background:linear-gradient(180deg,#f7fbf8,#eef7f2);
  border:1px solid #dfece5;
  box-shadow:0 10px 24px rgba(22,156,91,.08);
}
.angebote-card-icon svg{
  width:22px;
  height:22px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.angebote-card-copy{
  min-width:0;
}
.angebote-card-title{
  display:block;
  font-size:20px;
  line-height:1.2;
  color:var(--text);
  font-weight:800;
  letter-spacing:-.01em;
}
.angebote-card-sub{
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-size:14px;
  line-height:1.6;
  font-weight:600;
}
.angebote-card-arrow{
  margin-left:auto;
  color:var(--green);
  opacity:.75;
  transition:transform .18s ease;
}
.angebote-card:hover .angebote-card-arrow{
  transform:translateX(3px);
}
.angebote-cta-band{
  margin-top:28px;
  background:
    radial-gradient(860px 220px at 18% 0%, rgba(255,255,255,.08), transparent 60%),
    linear-gradient(135deg,#143a29,#1b4f38 45%,#1c6a45);
  color:#fff;
  border-radius:32px;
  padding:38px;
  box-shadow:var(--shadow);
}
.angebote-cta-band h3{
  margin:0 0 12px;
  font-size:36px;
  line-height:1.08;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
}
.angebote-cta-band p{
  margin:0 0 20px;
  color:#dce7e0;
  max-width:700px;
  line-height:1.75;
}
.angebote-cta-band .btn-secondary{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.14);
  color:#fff;
}
@media (max-width:1100px){
  .angebote-hero-grid,
  .angebote-grid{
    grid-template-columns:1fr;
  }
  .angebote-intro{
    display:block;
  }
  .angebote-intro .right{
    margin-top:14px;
    max-width:560px;
  }
}
@media (max-width:760px){
  .angebote-copy h1{
    font-size:42px;
    letter-spacing:-1.2px;
  }
  .angebote-cta-band{
    padding:28px;
  }
}



/* ===== Angebote synced landing refinements ===== */
.angebote-page .hero{padding:88px 0 42px}
.angebote-page .hero .container{max-width:1240px}
.angebote-hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:34px;align-items:center}
.angebote-copy{max-width:680px}
.angebote-copy h1{margin:18px 0 16px;font-size:62px;line-height:.98;letter-spacing:-2px;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.angebote-copy p{max-width:640px}
.angebote-side{display:grid;gap:18px}
.angebote-side-card,.angebote-highlight{background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow-soft);padding:24px}
.angebote-highlight{background:radial-gradient(420px 180px at 15% 0%, rgba(22,156,91,.08), transparent 60%),linear-gradient(180deg,#ffffff 0%, #fbfefd 100%)}
.angebote-side-card h3,.angebote-highlight h3{margin:0 0 10px;font-size:22px;line-height:1.18;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.angebote-side-card p,.angebote-highlight p{margin:0;color:var(--muted);line-height:1.78}
.angebote-mini-list{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:12px}
.angebote-mini-list li{display:flex;align-items:flex-start;gap:12px;color:#55635b;line-height:1.6}
.angebote-mini-list li:before{content:"";width:18px;height:18px;flex:0 0 18px;margin-top:2px;border-radius:999px;background:var(--green-50);border:1px solid #dcefe5;box-shadow:inset 0 0 0 5px var(--green)}
.angebote-section{padding:26px 0 92px}
.angebote-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}
.angebote-intro .left h2{margin:14px 0 0;font-size:44px;line-height:1.06;letter-spacing:-1.2px;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.angebote-intro .left p,.angebote-intro .right{color:var(--muted);line-height:1.78}
.angebote-intro .left p{margin:12px 0 0;max-width:560px}
.angebote-intro .right{max-width:360px}
.angebote-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:18px}
.angebote-card{display:flex;align-items:center;gap:16px;padding:24px;border-radius:28px;background:linear-gradient(180deg,#fff 0%, #fbfefd 100%);border:1px solid var(--line);box-shadow:0 12px 30px rgba(18,32,25,.05);transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.angebote-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px rgba(18,32,25,.08);border-color:#d1e6da}
.angebote-card-icon{width:48px;height:48px;flex:0 0 48px;display:flex;align-items:center;justify-content:center;border-radius:16px;color:var(--green);background:linear-gradient(180deg,#f7fbf8,#eef7f2);border:1px solid #dfece5;box-shadow:0 10px 24px rgba(22,156,91,.08)}
.angebote-card-icon svg,.angebote-card-arrow svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.angebote-card-copy{min-width:0}
.angebote-card-title{display:block;font-size:20px;line-height:1.2;color:var(--text);font-weight:800;letter-spacing:-.01em}
.angebote-card-sub{display:block;margin-top:6px;color:var(--muted);font-size:14px;line-height:1.6;font-weight:600}
.angebote-card-arrow{margin-left:auto;color:var(--green);opacity:.75;transition:transform .18s ease}
.angebote-card:hover .angebote-card-arrow{transform:translateX(3px)}
.angebote-cta-band{margin-top:30px;background:radial-gradient(860px 220px at 18% 0%, rgba(255,255,255,.08), transparent 60%),linear-gradient(135deg,#143a29,#1b4f38 45%,#1c6a45);color:#fff;border-radius:32px;padding:40px;box-shadow:var(--shadow)}
.angebote-cta-band h3{margin:0 0 12px;font-size:36px;line-height:1.08;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.angebote-cta-band p{margin:0 0 20px;color:#dce7e0;max-width:700px;line-height:1.75}
.angebote-cta-band .btn-secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff}
@media (max-width:1100px){.angebote-hero-grid,.angebote-grid{grid-template-columns:1fr}.angebote-intro{display:block}.angebote-intro .right{margin-top:14px;max-width:560px}}
@media (max-width:760px){.angebote-copy h1{font-size:42px;letter-spacing:-1.2px}.angebote-cta-band{padding:28px}}


/* ===== Angebote final sync fix ===== */
.angebote-page main{display:block}
.angebote-hero-shell{padding-top:88px;padding-bottom:42px}
.angebote-page .site-header + main .hero{margin-top:0}
.angebote-page .site-header{position:sticky}
.angebote-trust-row{margin-bottom:22px}
.angebote-hero-actions{margin-top:24px}
.angebote-panel-kicker{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#f1f8f4;border:1px solid #dbeee2;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px}
.angebote-side-card-strong{background:linear-gradient(180deg,#fff 0%,#f8fcfa 100%)}
.angebote-intro-premium{padding:0 2px 6px}
.angebote-grid{align-items:stretch}
.angebote-card{min-height:132px}
.angebote-card-copy{display:block}
.angebote-cta-band{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.angebote-cta-copy{max-width:760px}
.angebote-cta-band .btn-row{flex:0 0 auto}
.legal-hero{padding:82px 0 32px}
.legal-shell{max-width:840px}
.legal-shell h1{margin:14px 0 10px;font-size:56px;line-height:1.02;letter-spacing:-1.8px;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.legal-section{padding-top:16px}
.legal-card{max-width:840px;padding:34px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow-soft)}
.legal-card h2{margin-top:0;margin-bottom:12px;font-size:28px;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.legal-card p{line-height:1.8;color:var(--muted)}
@media (max-width:1100px){.angebote-cta-band{display:block}.angebote-cta-band .btn-row{margin-top:20px}}
@media (max-width:760px){.angebote-hero-shell{padding-top:72px}.legal-shell h1{font-size:40px;letter-spacing:-1px}.legal-card{padding:24px}}

/* ===== Global premium polish ===== */
.hero,.section.soft,.cta-band,.visual-card,.image-card,.contact-box,.form-box{position:relative}
.visual-card,.image-card,.contact-box,.form-box{box-shadow:var(--shadow-soft)}
.visual-card:hover,.image-card:hover,.contact-box:hover,.form-box:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.cta-band{overflow:hidden}
.cta-band:before{content:"";position:absolute;inset:auto -120px -140px auto;width:280px;height:280px;border-radius:999px;background:radial-gradient(circle, rgba(255,255,255,.1), rgba(255,255,255,0) 72%);pointer-events:none}
.kicker,.hero-stat,.subject-chip,.pill,.offer-card .offer-meta,.testimonial-badge{box-shadow:0 8px 22px rgba(18,32,25,.05)}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{transition:none !important;animation:none !important;scroll-behavior:auto !important}}


/* ===== Extended navigation ===== */
.nav-left{gap:4px}
.nav-item-more .dropdown{width:340px}
.dropdown-stack{display:grid;gap:10px}
.nav-item-more .drop-card{padding:16px 18px}

/* ===== New premium content pages ===== */
.page-hero{padding:88px 0 42px;position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:auto 0 -120px 0;height:320px;background:radial-gradient(640px 220px at 50% 0, rgba(22,156,91,.08), transparent 70%);pointer-events:none}
.hero-panel{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center;padding:44px;border:1px solid rgba(18,32,25,.08);border-radius:32px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(245,249,246,.96));box-shadow:0 28px 72px rgba(18,32,25,.08)}
.hero-panel.compact{grid-template-columns:1fr;max-width:860px;margin:0 auto;text-align:center}
.hero-panel aside,.hero-side{padding:28px;border-radius:26px;background:linear-gradient(180deg,#13231c,#0f1714);color:#eaf2ee;box-shadow:0 24px 48px rgba(15,23,20,.22)}
.hero-side h3,.hero-panel aside h3{margin:0 0 14px;font-size:18px;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.hero-side p,.hero-panel aside p{margin:0;color:#b5c2ba;line-height:1.7}
.check-list,.steps-list,.bullet-list{display:grid;gap:14px;margin-top:18px}
.check-list .list-row,.steps-list .list-row,.bullet-list .list-row{background:#fff;border:1px solid rgba(18,32,25,.07);border-radius:20px;padding:16px 18px;box-shadow:0 16px 34px rgba(18,32,25,.05)}
.dark-list .list-row{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.06);box-shadow:none}
.dark-list .list-row strong,.dark-list .list-row span{color:#edf4f0}
.stats-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.stat-box{padding:18px 20px;border-radius:22px;background:#fff;border:1px solid rgba(18,32,25,.07);box-shadow:0 14px 30px rgba(18,32,25,.05)}
.stat-box strong{display:block;font-size:28px;line-height:1;color:var(--green);font-family:"Plus Jakarta Sans",Inter,sans-serif;margin-bottom:6px}
.feature-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.feature-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.process-card,.mini-card{padding:26px;border-radius:24px;background:#fff;border:1px solid rgba(18,32,25,.07);box-shadow:0 16px 36px rgba(18,32,25,.06)}
.process-card .step-index{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;background:rgba(22,156,91,.12);color:var(--green);font-weight:800;margin-bottom:16px}
.quote-band{padding:30px 34px;border-radius:28px;background:linear-gradient(135deg,#13231c,#163125);color:#f4faf6;box-shadow:0 22px 52px rgba(18,32,25,.18)}
.quote-band p{margin:0;color:#c4d0ca;line-height:1.75}
.quote-band h2{margin:8px 0 14px;color:#fff}
.empty-state{padding:36px;border-radius:26px;border:1px dashed rgba(18,32,25,.18);background:linear-gradient(180deg,#f8fbf9,#f1f6f3)}
.empty-state h3{margin-top:0}
.subject-pills{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.subject-pill{padding:10px 14px;border-radius:999px;background:#fff;border:1px solid rgba(18,32,25,.08);font-weight:700;color:#355345}
.testimonial-card{padding:28px;border-radius:24px;background:#fff;border:1px solid rgba(18,32,25,.07);box-shadow:0 18px 38px rgba(18,32,25,.06)}
.testimonial-card strong{display:block;margin-bottom:8px}
@media (max-width:1100px){.hero-panel,.feature-grid-3,.process-grid{grid-template-columns:1fr 1fr}.stats-strip{grid-template-columns:1fr}.feature-grid-2{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.hero-panel,.feature-grid-2,.feature-grid-3,.process-grid{grid-template-columns:1fr;padding:26px}.page-hero{padding:72px 0 28px}.quote-band{padding:24px}.stat-box{padding:16px 18px}}


/* ===== 2026 premium UI system ===== */
:root{--glass:rgba(255,255,255,.74);--glass-border:rgba(255,255,255,.54);--blue:#4F8CFF;--violet:#7A5CFF;--dark:#0f1118}
body{background:
radial-gradient(900px 480px at 12% -10%, rgba(79,140,255,.09), transparent 60%),
radial-gradient(760px 420px at 92% 4%, rgba(122,92,255,.08), transparent 56%),
linear-gradient(180deg,#ffffff 0%,#fbfcff 42%,#f7fbf8 100%);
background-attachment:fixed}
.section{position:relative}.section:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(18,32,25,.06),transparent);opacity:.55;pointer-events:none}.section.soft{background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(246,250,247,.86))}
.site-header{background:var(--glass);border-bottom:1px solid rgba(18,32,25,.05);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.site-header.is-scrolled{background:rgba(255,255,255,.88);box-shadow:0 18px 40px rgba(16,17,24,.08)}
.nav-inner{padding:14px 24px;grid-template-columns:auto 1fr auto;gap:28px}
.brand{justify-self:start}.brand img{height:58px}
.nav-left{justify-content:center;gap:4px;flex-wrap:wrap}
.nav-link{position:relative;padding:11px 15px;color:#30413a}
.nav-link:after{content:"";position:absolute;left:16px;right:16px;bottom:7px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--green),#46c885);transform:scaleX(0);transform-origin:left;opacity:0}
.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1);opacity:1}
.nav-link.active{color:#122019;background:rgba(22,156,91,.06)}
.nav-cta{background:linear-gradient(135deg,var(--green),#28b66d);box-shadow:0 14px 34px rgba(22,156,91,.24)}
.nav-cta:hover{box-shadow:0 20px 44px rgba(22,156,91,.32)}
.dropdown,.subjects-dropdown{top:calc(100% - 2px)}
.dropdown{background:rgba(255,255,255,.93);border:1px solid rgba(18,32,25,.06);box-shadow:0 22px 54px rgba(16,17,24,.12)}
.drop-card,.subject-link,.card,.visual-card,.image-card,.contact-box,.form-box,.booking-panel,.calendar,.teacher-stat,.hero-stat{background:rgba(255,255,255,.86);backdrop-filter:blur(8px)}
.card,.visual-card,.image-card,.contact-box,.form-box,.booking-panel,.calendar{box-shadow:0 12px 30px rgba(12,18,28,.06), 0 30px 80px rgba(12,18,28,.06)}
.card:hover,.image-card:hover,.visual-card:hover,.contact-box:hover,.form-box:hover{transform:translateY(-6px);box-shadow:0 24px 58px rgba(12,18,28,.12)}
.hero{padding:88px 0 42px;background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(247,251,248,.94))}
.hero-home{padding-top:94px;min-height:calc(100vh - 86px)}
.hero-home .hero-grid{grid-template-columns:1.04fr .96fr;gap:44px;align-items:center}
.hero-copy{position:relative;z-index:1}.hero h1{font-size:clamp(48px,6vw,78px);line-height:.94;letter-spacing:-2.6px;margin:20px 0 18px}
.hero .lead{font-size:19px;max-width:650px}
.hero-proof .hero-stat{display:grid;gap:4px;border-radius:22px;padding:16px 18px;min-width:170px}
.hero-proof .hero-stat strong{font-size:22px;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.hero-proof .hero-stat span{font-size:13px;color:var(--muted);font-weight:700}
.hero-visual{min-height:540px}.visual-glow-card{position:relative;overflow:hidden}.visual-glow-card:before{content:"";position:absolute;inset:-15% auto auto -15%;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle, rgba(79,140,255,.18), transparent 70%)}.visual-glow-card:after{content:"";position:absolute;inset:auto -16% -18% auto;width:250px;height:250px;border-radius:999px;background:radial-gradient(circle, rgba(22,156,91,.14), transparent 70%)}
.hero-orb{position:absolute;border-radius:999px;filter:blur(18px);opacity:.72;pointer-events:none}.hero-orb-a{right:8%;top:2%;width:180px;height:180px;background:radial-gradient(circle, rgba(79,140,255,.24), transparent 70%)}.hero-orb-b{left:2%;bottom:8%;width:200px;height:200px;background:radial-gradient(circle, rgba(122,92,255,.18), transparent 70%)}
.float-card{animation:float 6s ease-in-out infinite;background:rgba(255,255,255,.92)}.float-card.b{animation-delay:1.4s}.float-card.c{right:8%;bottom:3%;animation-delay:2.2s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.btn-primary{background:linear-gradient(135deg,var(--green),#28b66d);box-shadow:0 18px 34px rgba(22,156,91,.22)}
.btn-primary:hover{box-shadow:0 24px 48px rgba(22,156,91,.28)}
.btn-secondary{background:rgba(255,255,255,.8)}
.kicker{box-shadow:0 10px 30px rgba(22,156,91,.08)}
.cta-band{position:relative;overflow:hidden;background:linear-gradient(135deg,#101f18,#133628 35%,#1d5f43 60%,#3569ff 120%)}
.cta-band:before{content:"";position:absolute;right:-10%;top:-30%;width:280px;height:280px;border-radius:999px;background:radial-gradient(circle, rgba(79,140,255,.26), transparent 70%)}
.cta-band:after{content:"";position:absolute;left:-8%;bottom:-25%;width:260px;height:260px;border-radius:999px;background:radial-gradient(circle, rgba(52,217,124,.18), transparent 70%)}
.footer-support-row{position:relative}.footer-support-row:before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:min(560px,100%);height:100%;background:radial-gradient(circle at center, rgba(79,140,255,.08), transparent 65%);pointer-events:none}
.nav-toggle{display:none;position:relative;width:48px;height:48px;border-radius:14px;border:1px solid rgba(27,67,50,.18);background:rgba(255,255,255,.92);padding:0;cursor:pointer;box-shadow:0 10px 24px rgba(18,32,25,.06);transition:background-color .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease)}
.nav-toggle:hover{background:#fff;border-color:rgba(27,67,50,.32);box-shadow:0 14px 30px rgba(27,67,50,.14)}
.nav-toggle span{position:absolute;left:50%;top:50%;display:block;width:22px;height:2.5px;border-radius:999px;background:#1b4332;transform:translate(-50%,-50%);transition:transform .35s cubic-bezier(.65,.05,.36,1),opacity .2s ease,top .35s cubic-bezier(.65,.05,.36,1),width .25s ease}
.nav-toggle span:nth-child(1){top:14px}
.nav-toggle span:nth-child(2){top:50%}
.nav-toggle span:nth-child(3){top:34px}
.nav-toggle[aria-expanded="true"]{background:#fff;border-color:rgba(27,67,50,.4)}
.nav-toggle[aria-expanded="true"] span:nth-child(1){top:50%;transform:translate(-50%,-50%) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;width:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){top:50%;transform:translate(-50%,-50%) rotate(-45deg)}
.mobile-nav{display:none}
.more-dropdown{width:360px}.dropdown-stack{display:grid;gap:10px}
.hero-compact{min-height:auto;padding-top:90px;padding-bottom:50px}.info-stack{display:grid;gap:14px;padding:14px}.info-card{padding:18px;border-radius:20px;border:1px solid var(--line);background:rgba(255,255,255,.78);box-shadow:0 12px 28px rgba(12,18,28,.06)}.info-card strong{display:block;font-size:18px;font-family:"Plus Jakarta Sans",Inter,sans-serif}.info-card small{display:block;margin-top:6px;color:var(--muted);font-weight:700}
@media (max-width:1080px){.nav-inner{grid-template-columns:auto 1fr auto;gap:18px}.nav-left{gap:0}.nav-link{padding:10px 12px;font-size:13px}.hero-home{min-height:auto}}
@media (max-width:900px){.site-header{backdrop-filter:blur(10px)}.nav-left{display:none}.nav-toggle{display:inline-flex}.nav-rightgroup{gap:10px}.mobile-nav{display:block;position:fixed;inset:82px 0 auto 0;padding:0 16px;opacity:0;pointer-events:none;transform:translateY(-8px);transition:all .24s ease;z-index:89}.mobile-nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-nav-panel{padding:18px;border-radius:28px;background:rgba(255,255,255,.96);border:1px solid rgba(18,32,25,.08);box-shadow:0 26px 60px rgba(12,18,28,.18);display:grid;gap:8px}.mobile-link,.mobile-group summary,.mobile-subnav a,.mobile-cta{display:block;padding:14px 16px;border-radius:16px;font-weight:700}.mobile-link,.mobile-group summary,.mobile-subnav a{background:#fff;border:1px solid #e7ecea;color:#1c2b24}.mobile-link.active{color:var(--green);background:#f3faf6}.mobile-group summary{cursor:pointer;list-style:none}.mobile-group summary::-webkit-details-marker{display:none}.mobile-subnav{display:grid;gap:8px;padding:10px 0 4px 12px}.mobile-cta{text-align:center;background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff;box-shadow:0 14px 28px rgba(79,140,255,.22)}body.menu-open{overflow:hidden}.hero-home .hero-grid,.hero-grid,.split,.contact-grid,.booking-layout,.teacher-split{grid-template-columns:1fr}.hero-visual{min-height:auto}.float-card.c{position:static;margin-top:12px}}
@media (max-width:760px){.nav-inner{padding:12px 18px;grid-template-columns:auto 1fr auto}.brand img{height:50px}.nav-cta{display:none}.section{padding:68px 0}.hero{padding-top:84px}.hero-home .hero-grid{gap:24px}.hero h1{font-size:44px;letter-spacing:-1.3px}.hero .lead{font-size:17px}.hero-proof .hero-stat{min-width:auto}.mobile-nav{inset:76px 0 auto 0}.dropdown,.subjects-dropdown,.more-dropdown{width:100%}.footer-support-logos img{width:min(100%,340px)}}


/* ===== Coach werden landing page ===== */
.hero-coach{padding-top:158px;padding-bottom:92px;background:
  radial-gradient(700px 360px at 12% 8%, rgba(79,140,255,.10), transparent 60%),
  radial-gradient(620px 320px at 88% 12%, rgba(22,156,91,.11), transparent 58%),
  linear-gradient(180deg,#f7fbff 0%, #f5fbf8 52%, #ffffff 100%)}
.coach-hero-grid{align-items:center;gap:34px}
.coach-copy h1{max-width:12ch}
.coach-proof{margin-top:28px}
.coach-visual-wrap{min-height:540px}
.coach-visual-card{position:relative;padding:26px;min-height:500px;display:flex;align-items:center;justify-content:center}
.coach-visual-card img{width:min(100%,430px);height:auto;display:block;filter:drop-shadow(0 18px 42px rgba(0,0,0,.12))}
.coach-float{position:absolute;display:grid;gap:4px;max-width:210px;padding:16px 18px;border-radius:22px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.75);backdrop-filter:blur(12px);box-shadow:0 18px 36px rgba(19,31,26,.12)}
.coach-float strong{font-size:14px;font-weight:900;color:var(--text)}
.coach-float small{font-size:12px;line-height:1.45;color:var(--muted)}
.coach-float-a{top:24px;right:-8px;animation:float 6.3s ease-in-out infinite}
.coach-float-b{left:-16px;bottom:84px;animation:float 7.2s ease-in-out infinite .4s}
.coach-float-c{right:20px;bottom:18px;animation:float 6.8s ease-in-out infinite .8s}
.coach-proof-strip-section{padding-top:0;margin-top:-32px;position:relative;z-index:3}
.coach-proof-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:18px;border-radius:28px;background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.85);box-shadow:0 24px 54px rgba(18,32,25,.10);backdrop-filter:blur(10px)}
.coach-proof-chip{padding:18px 20px;border-radius:22px;background:linear-gradient(180deg,#fff 0%, #fbfdfc 100%);border:1px solid #e8efeb;display:grid;gap:6px}
.coach-proof-chip strong{font-size:15px}
.coach-proof-chip span{font-size:13px;line-height:1.5;color:var(--muted)}
.coach-benefit-card,.coach-step-card,.coach-anchor-card{height:100%}
.coach-benefit-card p,.coach-step-card p,.coach-anchor-card p{color:var(--muted)}
.coach-benefit-card .icon,.coach-step-card .icon{box-shadow:0 10px 24px rgba(22,156,91,.10)}
.coach-split{align-items:start}
.coach-fit-box{padding:26px;border-radius:32px;position:relative;overflow:hidden}
.coach-fit-box:before{content:"";position:absolute;right:-70px;top:-50px;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle, rgba(79,140,255,.12) 0%, rgba(79,140,255,0) 70%)}
.coach-fit-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.coach-list .list-row{align-items:flex-start}
.coach-mid-cta,.coach-final-cta{display:grid;grid-template-columns:minmax(0,1.08fr) auto;gap:28px;align-items:center;padding-block:38px}.coach-mid-cta h2,.coach-final-cta h2{max-width:12ch;margin:0 0 14px}.coach-mid-cta p,.coach-final-cta p{max-width:60ch;margin:0;color:#dbe8e0}.coach-mid-cta .btn-row,.coach-final-cta .btn-row{justify-content:flex-end;align-items:center;align-self:center}.kicker-light{background:rgba(255,255,255,.1);color:#f3f6fa;border-color:rgba(255,255,255,.18)}
.btn-secondary-light{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#fff}
.btn-secondary-light:hover{background:rgba(255,255,255,.16);color:#fff}
.coach-anchor-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.coach-anchor-card{padding:28px}
.coach-final-copy{max-width:640px}
@media (max-width:1080px){
  .coach-proof-strip{grid-template-columns:1fr}
  .coach-mid-cta,.coach-final-cta{grid-template-columns:1fr;gap:18px;padding-block:34px}
  .coach-mid-cta .btn-row,.coach-final-cta .btn-row{justify-content:flex-start}
  .coach-mid-cta h2,.coach-final-cta h2{max-width:16ch}
  .coach-visual-wrap{min-height:auto}
}
@media (max-width:760px){
  .hero-coach{padding-top:132px;padding-bottom:72px}
  .coach-visual-card{min-height:auto;padding:18px}
  .coach-float{position:relative;left:auto;right:auto;top:auto;bottom:auto;max-width:none;margin-top:12px}
  .coach-fit-grid,.coach-anchor-grid{grid-template-columns:1fr}
  .coach-mid-cta,.coach-final-cta{padding:30px 28px}
  .coach-mid-cta h2,.coach-final-cta h2{max-width:11ch;margin-bottom:12px}
  .coach-mid-cta p,.coach-final-cta p{max-width:none}
}



/* ===== Premium FAQ landing page ===== */
.faq-hero{padding:88px 0 42px}
.faq-hero-shell{display:grid;grid-template-columns:1.08fr .92fr;gap:28px;align-items:center}
.faq-hero-copy h1{max-width:760px}
.faq-hero-aside{position:relative}
.faq-proof-card{border-radius:30px;padding:22px;position:relative;overflow:hidden}
.faq-proof-card::after{content:"";position:absolute;right:-42px;top:-42px;width:180px;height:180px;border-radius:999px;background:radial-gradient(circle, rgba(22,156,91,.1), rgba(22,156,91,0) 70%)}
.faq-proof-kicker,.faq-group-label,.faq-cta-kicker{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:var(--green-50);border:1px solid #dcefe5;color:var(--green-700);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.faq-proof-list{display:grid;gap:14px;margin-top:16px;position:relative;z-index:1}
.faq-proof-item{padding:16px 18px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.faq-proof-item strong{display:block;font-family:"Plus Jakarta Sans",Inter,sans-serif;font-size:18px;line-height:1.15;margin-bottom:5px}
.faq-proof-item small{display:block;color:var(--muted);font-size:13px;font-weight:700}
.faq-strip-section{padding:18px 0 0}
.faq-strip{display:flex;gap:12px;flex-wrap:wrap}
.faq-chip{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft);font-size:14px;font-weight:800;color:#31443b}
.faq-chip:hover{transform:translateY(-2px);border-color:#d7e9df;box-shadow:var(--shadow);color:var(--green-700)}
.faq-main-section{padding-top:40px}
.faq-layout{display:grid;grid-template-columns:.42fr .58fr;gap:22px;align-items:start}
.faq-main-intro{position:sticky;top:108px;padding:8px 8px 8px 0}
.faq-main-intro h2{margin:16px 0 14px;font-size:42px;line-height:1.04;letter-spacing:-1.3px;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.faq-main-intro p{margin:0;color:var(--muted);line-height:1.75}
.faq-groups{display:grid;gap:18px}
.faq-group{padding:28px}
.faq-group-head{display:grid;gap:14px;margin-bottom:10px}
.faq-group-head h3{margin:0;font-size:26px;line-height:1.12;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.faq-accordion{display:grid;gap:12px}
.faq-item{border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,#ffffff 0%, #fbfdfb 100%);box-shadow:0 12px 28px rgba(18,32,25,.05);overflow:hidden}
.faq-item[open]{border-color:#d8ebe0;background:linear-gradient(180deg,#ffffff 0%, #f6fbf8 100%);box-shadow:0 18px 40px rgba(18,32,25,.08)}
.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;cursor:pointer;font-size:17px;font-weight:800;line-height:1.45}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{background:rgba(22,156,91,.03)}
.faq-item summary i{width:18px;height:18px;position:relative;flex:0 0 auto}
.faq-item summary i::before,.faq-item summary i::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;background:#395247;border-radius:999px;transform:translate(-50%,-50%);transition:transform .25s var(--ease), opacity .25s var(--ease), background-color .25s var(--ease)}
.faq-item summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item[open] summary i::before,.faq-item[open] summary i::after{background:var(--green-700)}
.faq-item[open] summary i::after{transform:translate(-50%,-50%) rotate(0deg);opacity:0}
.faq-answer{padding:0 22px 20px;color:var(--muted)}
.faq-answer p{margin:0;line-height:1.78}
.faq-help{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:32px}
.faq-help h2{margin:14px 0 10px;font-size:34px;line-height:1.08;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.faq-help p{margin:0;color:var(--muted);line-height:1.75;max-width:720px}
.faq-cta-band{position:relative;overflow:hidden}
.faq-cta-band::after{content:"";position:absolute;right:-90px;top:-80px;width:260px;height:260px;border-radius:999px;background:radial-gradient(circle, rgba(255,255,255,.18), rgba(255,255,255,0) 70%)}
.faq-cta-band .faq-cta-kicker{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff;margin-bottom:16px}
@media (max-width:1080px){.faq-hero-shell,.faq-layout,.faq-help{grid-template-columns:1fr}.faq-main-intro{position:static;padding:0}.faq-main-intro h2{font-size:38px}}
@media (max-width:760px){.faq-hero{padding:66px 0 28px}.faq-chip{width:100%;justify-content:flex-start}.faq-group{padding:22px}.faq-group-head h3{font-size:23px}.faq-item summary{padding:18px;font-size:16px}.faq-answer{padding:0 18px 18px}.faq-help{padding:24px}.faq-help h2{font-size:28px}}


/* ===== Blog rebuild ===== */
.blog-page main,.blog-article-page main{overflow:hidden}
.blog-hero-shell{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:28px;align-items:start}
.blog-hero-copy{display:flex;flex-direction:column;justify-content:center}
.blog-hero-copy h1{margin:16px 0 14px;font-size:64px;line-height:.98;letter-spacing:-2px;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.blog-hero-copy p{margin:0 0 24px;max-width:640px}
.blog-hero-aside{position:relative;overflow:hidden}
.blog-hero-aside::before{content:"";position:absolute;inset:-20% auto auto -10%;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle, rgba(79,140,255,.20), transparent 70%)}
.blog-hero-aside::after{content:"";position:absolute;inset:auto -10% -20% auto;width:260px;height:260px;border-radius:999px;background:radial-gradient(circle, rgba(22,156,91,.18), transparent 70%)}
.editorial-stats{display:grid;grid-template-columns:1fr;gap:10px;margin-top:20px}
.editorial-stat{padding:18px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.06);backdrop-filter:blur(6px);display:flex;align-items:center;gap:16px}
.editorial-stat strong{display:block;font-size:32px;line-height:1;font-family:"Plus Jakarta Sans",Inter,sans-serif;color:#fff;margin-bottom:0;flex-shrink:0;min-width:52px}
.editorial-stat span{display:block;color:#b9c9c0;font-size:13px;line-height:1.5;font-weight:600}
.featured-editorial-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:20px;align-items:start}
.featured-stack{display:grid;gap:20px}
.editorial-post{position:relative;overflow:hidden;display:block;padding:26px;border-radius:28px;border:1px solid rgba(18,32,25,.07);background:#fff;box-shadow:0 2px 4px rgba(12,18,28,.04), 0 12px 32px rgba(12,18,28,.08)}
.editorial-post:hover{transform:translateY(-5px);box-shadow:0 4px 8px rgba(12,18,28,.05), 0 24px 56px rgba(12,18,28,.13);border-color:#cce0d4}
.editorial-post.featured-main{display:flex;flex-direction:column;justify-content:flex-start;height:auto;background:#fff}
.editorial-post::before{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:999px;background:radial-gradient(circle, rgba(22,156,91,.12), rgba(22,156,91,0) 72%)}
.editorial-post .post-meta-top{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:20px;position:relative;z-index:1}
.post-badge,.article-category-badge,.filter-chip{display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border-radius:999px;border:1px solid #d9ebe1;background:#f1faf5;color:var(--green-700);font-size:12px;font-weight:800;letter-spacing:.01em}
.post-read,.article-meta-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);color:#4f6058;font-size:12px;font-weight:800}
.editorial-post h3{position:relative;z-index:1;margin:0 0 12px;font-size:26px;line-height:1.08;letter-spacing:-.04em;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.featured-stack .editorial-post h3{font-size:24px}
.editorial-post p{position:relative;z-index:1;margin:0;color:var(--muted);line-height:1.76}
.post-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:var(--green-700);font-weight:800;position:relative;z-index:1}
.blog-filter-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.filter-chip{cursor:pointer;background:#fff;color:#30413a;border-color:#e1eae5;transition:all .22s ease}
.filter-chip:hover,.filter-chip.is-active{background:#143a29;border-color:#143a29;color:#fff;box-shadow:0 14px 28px rgba(20,58,41,.16)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.blog-card{height:100%;display:flex;flex-direction:column;padding:24px;border-radius:28px;border:1px solid rgba(18,32,25,.07);background:#fff;box-shadow:0 2px 4px rgba(12,18,28,.04), 0 12px 32px rgba(12,18,28,.08)}
.blog-card:hover{transform:translateY(-5px);box-shadow:0 26px 56px rgba(12,18,28,.10);border-color:#d6e7dd}
.blog-card h3{margin:16px 0 12px;font-size:24px;line-height:1.14;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.blog-card p{margin:0;color:var(--muted);line-height:1.74}
.blog-card .card-bottom{margin-top:auto;padding-top:18px;display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.blog-card.hidden{display:none}
.blog-anchor-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.blog-anchor-card{display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:24px;border:1px solid rgba(18,32,25,.08);background:#fff;box-shadow:var(--shadow-soft)}
.blog-anchor-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.blog-anchor-card strong{font-size:18px;line-height:1.18;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.blog-anchor-card span{color:var(--muted);font-size:14px;line-height:1.6}
.blog-anchor-card em{font-style:normal;color:var(--green-700);font-weight:800;font-size:13px}
.trust-cta-shell{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:stretch}
.trust-cta-panel{padding:34px;border-radius:30px;background:linear-gradient(180deg,#ffffff,#f7fbf8);border:1px solid rgba(18,32,25,.08);box-shadow:var(--shadow-soft)}
.trust-points{display:grid;gap:12px;margin-top:20px}
.trust-points div{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid var(--line)}
.trust-points strong{display:block;font-size:15px}
.article-shell{max-width:860px;margin:0 auto}
.article-hero{padding-top:48px}
.article-hero-panel{position:relative;overflow:hidden;padding:42px;border-radius:34px;border:1px solid rgba(18,32,25,.08);background:linear-gradient(180deg,#ffffff 0%,#f7fbf8 100%);box-shadow:0 24px 60px rgba(12,18,28,.08)}
.article-hero-panel::after{content:"";position:absolute;right:-50px;top:-50px;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle, rgba(22,156,91,.12), rgba(22,156,91,0) 70%)}
.article-hero h1{position:relative;z-index:1;margin:16px 0 16px;font-size:54px;line-height:1.02;letter-spacing:-1.8px;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.article-hero .lead{position:relative;z-index:1;max-width:760px;margin-bottom:0}
.article-meta-row{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px}
.article-content{padding:44px 0 24px}
.article-content h2{margin:0 0 14px;font-size:34px;line-height:1.08;letter-spacing:-1px;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.article-content p{margin:0 0 18px;color:#34443d;line-height:1.88;font-size:17px}
.article-section{margin-bottom:34px}
.article-list{margin:18px 0 0;padding-left:0;list-style:none;display:grid;gap:10px}
.article-list li{position:relative;padding-left:26px;color:#34443d;line-height:1.82}
.article-list li::before{content:"";position:absolute;left:0;top:.7em;width:10px;height:10px;border-radius:999px;background:linear-gradient(135deg,var(--green),#46c885)}
.info-box,.inline-cta-box{padding:24px 26px;border-radius:28px;border:1px solid rgba(18,32,25,.08);background:linear-gradient(180deg,#f8fcfa,#eef7f2);box-shadow:0 14px 34px rgba(12,18,28,.05);margin:26px 0}
.info-box h3,.inline-cta-box h3{margin:0 0 10px;font-size:22px;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.info-box p,.inline-cta-box p{margin:0;color:var(--muted);line-height:1.76}
.article-final-cta{padding-top:8px}
.related-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.related-posts .blog-card h3{font-size:20px}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px;color:#67756c;font-size:14px;font-weight:700}
.breadcrumbs a:hover{color:var(--green-700)}
.blog-empty-note{display:none;padding:22px;border-radius:22px;border:1px dashed rgba(18,32,25,.18);background:linear-gradient(180deg,#f8fbf9,#f1f6f3);color:var(--muted);margin-top:16px}
.blog-empty-note.is-visible{display:block}
@media (max-width:1100px){.blog-hero-shell,.featured-editorial-grid,.trust-cta-shell,.blog-grid,.related-posts{grid-template-columns:1fr 1fr}.blog-anchor-nav{grid-template-columns:repeat(3,1fr)}.blog-hero-copy h1{font-size:54px}.article-hero h1{font-size:46px}}
@media (max-width:760px){.blog-hero-shell,.featured-editorial-grid,.trust-cta-shell,.blog-grid,.related-posts,.editorial-stats,.blog-anchor-nav{grid-template-columns:1fr}.blog-hero-copy h1{font-size:44px;letter-spacing:-1.2px}.article-hero h1{font-size:38px;letter-spacing:-1.2px}.article-content h2{font-size:28px}.article-content p{font-size:16px;line-height:1.8}.article-hero-panel,.trust-cta-panel,.editorial-post,.blog-card{padding:24px}.article-content{padding-top:32px}}


/* --- About page premium rebuild --- */
.about-page .page-hero{padding-top:88px;padding-bottom:42px}
.about-hero-shell{display:grid;grid-template-columns:1.08fr .92fr;gap:28px;align-items:start}
.about-hero-copy{display:flex;flex-direction:column;justify-content:center}
.about-hero-copy h1{margin:16px 0 16px;font-size:64px;line-height:.98;letter-spacing:-2px;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.about-hero-copy p{margin:0 0 24px;max-width:660px}
.about-chip-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.about-chip{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:999px;border:1px solid rgba(18,32,25,.08);background:rgba(255,255,255,.92);box-shadow:0 14px 28px rgba(12,18,28,.06);font-size:13px;font-weight:800;color:#274136}
.about-hero-aside{position:relative;overflow:hidden;display:grid;gap:18px}
.about-hero-visual{position:relative;padding:20px;border-radius:32px;border:1px solid rgba(18,32,25,.08);background:linear-gradient(180deg,#ffffff 0%,#f7fbf8 100%);box-shadow:0 26px 62px rgba(12,18,28,.08)}
.about-hero-visual::before{content:"";position:absolute;inset:-12% auto auto -10%;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle, rgba(79,140,255,.18), transparent 70%)}
.about-hero-visual::after{content:"";position:absolute;inset:auto -14% -18% auto;width:260px;height:260px;border-radius:999px;background:radial-gradient(circle, rgba(22,156,91,.15), transparent 70%)}
.about-hero-visual img{position:relative;z-index:1;width:100%;height:auto;border-radius:24px}
.about-aside-card{padding:24px 26px;border-radius:28px;background:linear-gradient(160deg,#143a29 0%,#1e6e4f 55%,#4278f5 128%);color:#f4fbf7;box-shadow:0 28px 56px rgba(16,28,23,.2)}
.about-aside-card h3{margin:0 0 12px;font-size:22px;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.about-aside-card p{margin:0;color:#d5e6de;line-height:1.76}
.about-aside-points{display:grid;gap:12px;margin-top:18px}
.about-aside-points div{padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);font-weight:700}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.value-card{height:100%;padding:28px;border-radius:28px;border:1px solid rgba(18,32,25,.08);background:linear-gradient(180deg,#fff,#fbfefd);box-shadow:0 18px 40px rgba(12,18,28,.06)}
.value-card:hover{transform:translateY(-5px);box-shadow:0 26px 56px rgba(12,18,28,.10);border-color:#d6e7dd}
.value-card .icon{width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,#eff8f3,#ffffff);color:var(--green);margin-bottom:18px;box-shadow:0 12px 24px rgba(12,18,28,.05)}
.value-card h3{margin:0 0 10px;font-size:22px;line-height:1.12;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.value-card p{margin:0;color:var(--muted);line-height:1.74}
.about-approach{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:stretch}
.about-copy-card,.about-visual-card,.dual-copy-card,.about-service-card{padding:32px;border-radius:30px;border:1px solid rgba(18,32,25,.08);background:linear-gradient(180deg,#ffffff,#f8fbf9);box-shadow:0 18px 42px rgba(12,18,28,.06)}
.about-copy-card h2,.about-visual-card h3,.dual-copy-card h3{margin:0 0 14px;font-size:34px;line-height:1.06;letter-spacing:-1px;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.about-copy-card p,.about-visual-card p,.dual-copy-card p,.about-service-card p{margin:0 0 16px;color:#34443d;line-height:1.8}
.about-mini-points{display:grid;gap:12px;margin-top:20px}
.about-mini-points div{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:20px;background:#fff;border:1px solid var(--line)}
.about-mini-points strong{display:block;font-size:15px}
.about-visual-card{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,#13231c,#10261b);color:#edf4f0}
.about-visual-card::after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:999px;background:radial-gradient(circle, rgba(79,140,255,.22), transparent 70%)}
.about-visual-card p{color:#bfd1c7}
.about-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.about-proof div{padding:16px;border-radius:20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10)}
.about-proof strong{display:block;font-size:24px;line-height:1;font-family:"Plus Jakarta Sans",Inter,sans-serif;color:#fff;margin-bottom:6px}
.about-proof span{display:block;color:#c2d0c9;font-size:13px;line-height:1.55;font-weight:700}
.about-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.about-service-card{height:100%;display:flex;flex-direction:column}
.about-service-card h3{margin:14px 0 10px;font-size:22px;line-height:1.12;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.about-service-card .post-link{margin-top:auto;padding-top:16px}
.about-service-icon{width:58px;height:58px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef7f2,#ffffff);color:var(--green);box-shadow:0 12px 24px rgba(12,18,28,.05)}
.about-testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.about-testimonial-grid .testimonial-card{height:100%}
.about-dual-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.about-final-cta .trust-cta-panel{padding:38px}
.about-final-cta .hero-side{display:flex;flex-direction:column;justify-content:center}
.about-final-cta .btn-row{margin-top:22px}
@media (max-width:1100px){.about-hero-shell,.about-approach,.about-service-grid,.about-testimonial-grid,.about-dual-grid,.value-grid{grid-template-columns:1fr 1fr}.about-page .page-hero{padding-top:80px}.about-hero-copy h1{font-size:54px}}
@media (max-width:760px){.about-hero-shell,.about-approach,.about-service-grid,.about-testimonial-grid,.about-dual-grid,.value-grid,.about-proof{grid-template-columns:1fr}.about-hero-copy h1{font-size:44px;letter-spacing:-1.2px}.about-copy-card,.about-visual-card,.dual-copy-card,.about-service-card,.value-card,.about-aside-card,.about-hero-visual{padding:24px}.about-chip{width:100%;justify-content:flex-start}.about-page .page-hero{padding-top:72px;padding-bottom:28px}}


/* ===== UI refinement pass ===== */
.split-balanced{align-items:start}
.compact-benefit-card{padding:30px 24px 22px;display:flex;flex-direction:column;justify-content:flex-start}
.compact-benefit-card::before{display:none}
.card-eyebrow{display:inline-flex;align-items:center;gap:8px;width:max-content;padding:8px 12px;border-radius:999px;background:var(--green-50);border:1px solid #dceee5;color:var(--green-700);font-size:12px;font-weight:800;margin-bottom:14px}
.compact-benefit-card h3{margin:0 0 10px;font-size:18px;line-height:1.2;max-width:18ch}
.compact-benefit-card p{max-width:48ch}
.compact-benefit-list{display:grid;gap:12px;margin-top:18px}
.compact-benefit-item{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start;padding:14px 0;border-top:1px solid #ecf1ee}
.compact-benefit-item:first-child{border-top:none;padding-top:0}
.compact-benefit-item strong{display:block;font-size:15px;line-height:1.25;margin-bottom:4px}
.compact-benefit-item span{display:block;color:var(--muted);line-height:1.6;font-size:14px}

.blog-hero-shell{grid-template-columns:1.02fr .98fr;gap:24px}
.blog-hero-copy h1{max-width:11.5ch}
.blog-hero-copy .lead{max-width:60ch}
.blog-hero-aside{padding:28px 28px 26px;display:flex;flex-direction:column;justify-content:flex-start;gap:16px;min-height:0}
.blog-hero-aside h3{max-width:none;font-size:19px;line-height:1.2;margin:8px 0 10px;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.blog-hero-aside p{max-width:46ch;line-height:1.72;color:#d7e4de;margin:0}
.editorial-stats{align-items:start;gap:12px;margin-top:22px}
.editorial-stat{padding:16px 18px;border-radius:18px}
.editorial-stat strong{font-size:30px}
.editorial-stat span{font-size:13px;line-height:1.5}

.trust-cta-shell{grid-template-columns:1.03fr .97fr;gap:20px;align-items:start}
.trust-cta-panel{padding:32px 30px}
.trust-cta-panel h2{max-width:11ch}
.trust-cta-panel .lead{max-width:56ch;line-height:1.72}
.trust-points{gap:10px}
.trust-points > div{padding:14px 16px;grid-template-columns:40px 1fr;display:grid;align-items:start;border-radius:20px}
.trust-points strong{display:block;margin-bottom:4px;font-size:15px;line-height:1.22}
.trust-points span{display:block;color:#52635b;line-height:1.6;font-size:14px}
.trust-points .tiny{width:40px;height:40px;border-radius:14px;font-weight:900}
.trust-cta-shell .cta-band{padding:34px 34px 32px;min-height:0;display:flex;flex-direction:column;justify-content:flex-start}
.trust-cta-shell .cta-band h2{max-width:10ch;font-size:38px}
.trust-cta-shell .cta-band p{max-width:34ch;margin-bottom:20px}

.about-copy-card h2{max-width:11ch}
.about-copy-card p{max-width:58ch}
.about-approach{grid-template-columns:1.08fr .92fr;gap:22px;align-items:start}
.about-mini-points{gap:10px}
.about-mini-points > div{padding:14px 16px;border-radius:22px;display:grid;grid-template-columns:52px 1fr;gap:14px}
.about-mini-points .icon{margin:0;width:52px;height:52px;border-radius:16px}
.about-mini-points span{display:block;color:#52635b;line-height:1.58;font-size:14px;margin-top:4px}
.about-visual-card{padding:30px 30px 26px;gap:20px;background:linear-gradient(160deg,#10241c 0%,#123224 42%,#184f37 72%,#2357b9 132%)}
.about-visual-card h3{max-width:12ch;font-size:28px;line-height:1.08}
.about-visual-card p{max-width:36ch;line-height:1.72;color:#d7e4de;margin-bottom:0}
.about-visual-notes{display:grid;gap:10px;margin-top:2px}
.about-note{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10)}
.about-note strong{display:block;color:#fff;font-size:15px;line-height:1.2;margin-bottom:4px}
.about-note span{display:block;color:#c9d5cf;font-size:13px;line-height:1.55}
.about-proof{gap:12px;margin-top:2px}
.about-proof div{padding:15px 15px 16px;border-radius:20px}
.about-proof strong{font-size:22px}
.about-proof span{font-size:12.5px;line-height:1.5}

.value-grid,.about-service-grid,.about-testimonial-grid,.blog-grid{gap:18px}
.value-card,.about-service-card,.testimonial-card,.blog-card,.editorial-post,.trust-cta-panel,.about-copy-card,.about-visual-card,.dual-copy-card{box-shadow:0 18px 40px rgba(12,18,28,.06)}
.value-card,.about-service-card,.testimonial-card,.blog-card,.editorial-post,.trust-cta-panel,.about-copy-card,.about-visual-card,.dual-copy-card,.compact-benefit-card{border-radius:28px}
.value-card:hover,.about-service-card:hover,.testimonial-card:hover,.blog-card:hover,.editorial-post:hover{transform:translateY(-4px)}
.section-head h2{max-width:13ch}

@media (max-width:1100px){
  .blog-hero-shell,.trust-cta-shell,.about-approach{grid-template-columns:1fr}
  .blog-hero-copy h1,.trust-cta-panel h2,.about-copy-card h2,.about-visual-card h3,.section-head h2{max-width:none}
  .trust-cta-shell .cta-band h2{max-width:none}
}
@media (max-width:760px){
  .compact-benefit-card,.trust-cta-panel,.trust-cta-shell .cta-band,.about-copy-card,.about-visual-card{padding:24px}
  .compact-benefit-item,.trust-points > div,.about-mini-points > div{grid-template-columns:38px 1fr}
  .blog-hero-aside h3{font-size:24px}
  .editorial-stats,.about-proof{grid-template-columns:1fr}
  .blog-filter-row{gap:10px}
}


/* ===== Global UI design system refinement ===== */
.blog-hero-aside .kicker{width:max-content;max-width:100%;margin-bottom:12px;padding:8px 14px;font-size:12px;letter-spacing:0}
.blog-hero-aside{padding:30px 30px 28px}
.blog-hero-aside h3{max-width:none;font-size:20px;line-height:1.18;margin:8px 0 10px}
.blog-hero-aside p{max-width:32ch}
.editorial-stats{margin-top:16px;padding-top:0;align-items:start}
.editorial-stat{min-height:0;display:flex;flex-direction:column;justify-content:flex-start}

.coach-list{gap:12px}
.coach-list .list-row{gap:14px;align-items:flex-start;padding:0;background:transparent;border:none;box-shadow:none}
.coach-list .tiny{width:34px;height:34px;border-radius:12px;flex:0 0 34px}
.coach-list .tiny svg{width:16px;height:16px;stroke-width:2.4}
.coach-list strong{display:block;font-size:18px;line-height:1.18;margin-bottom:4px}
.coach-list span{display:block;line-height:1.5}

.about-mini-points>div{grid-template-columns:44px 1fr;gap:12px;padding:14px 15px;border-radius:20px}
.about-mini-points .icon{width:44px;height:44px;border-radius:14px}
.about-mini-points .icon svg{width:18px;height:18px;stroke-width:2}
.about-mini-points strong{display:block;font-size:16px;line-height:1.2;margin-bottom:3px}
.about-mini-points span{font-size:14px;line-height:1.55;margin-top:0}

.trust-points{gap:12px}
.trust-points>div{display:block;padding:16px 18px;border-radius:20px}
.trust-points strong{display:block;font-size:16px;line-height:1.18;margin:0 0 6px}
.trust-points span{display:block;font-size:14px;line-height:1.58;max-width:56ch}

.about-final-cta .trust-cta-panel{padding:34px 32px}
.about-final-cta .trust-cta-panel h2{max-width:13ch}
.about-final-cta .hero-side{padding:34px 32px;min-height:auto}
.about-final-cta .hero-side h3{margin:0 0 12px;font-size:34px;line-height:1.05;font-family:"Plus Jakarta Sans",Inter,sans-serif}
.about-final-cta .hero-side p{max-width:30ch;margin:0 0 20px;color:#d7e4de;line-height:1.72}

@media (max-width:760px){
  .blog-hero-aside{padding:24px}
  .blog-hero-aside h3{max-width:none;font-size:26px}
  .editorial-stat{min-height:0}
  .coach-list .list-row{gap:12px}
  .coach-list .tiny{width:30px;height:30px;flex-basis:30px;border-radius:10px}
  .coach-list strong{font-size:16px}
  .about-mini-points>div{grid-template-columns:36px 1fr;gap:10px;padding:13px 14px}
  .about-mini-points .icon{width:36px;height:36px;border-radius:12px}
  .about-mini-points .icon svg{width:16px;height:16px}
  .trust-points>div{padding:14px 15px}
  .about-final-cta .trust-cta-panel,.about-final-cta .hero-side{padding:24px}
}

/* ===== Final premium refinement pass ===== */
.blog-hero-aside{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:14px;
  border-radius:30px;
  padding:32px 32px 30px;
}
.blog-hero-aside .kicker{
  align-self:flex-start;
  padding:8px 12px;
  font-size:11.5px;
  font-weight:800;
}
.blog-hero-aside h3{
  max-width:none;
  margin:0;
  font-size:24px;
  line-height:1.12;
  letter-spacing:-.03em;
}
.blog-hero-aside p{
  max-width:34ch;
  margin:0;
  color:#d2dfd8;
}
.editorial-stats{
  margin-top:16px;
  gap:10px;
  align-self:stretch;
}
.editorial-stat{
  min-height:0;
  padding:16px 18px;
  border-radius:18px;
  background:linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.05));
}
.editorial-stat strong{
  font-size:30px;
  margin-bottom:0;
}
.editorial-stat span{
  max-width:none;
}

.coach-list{
  gap:0;
  margin-top:18px;
}
.coach-list .list-row{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:14px 0;
  border-top:1px solid #e8efea;
}
.coach-list .list-row:first-child{
  padding-top:0;
  border-top:none;
}
.coach-list .tiny{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:12px;
  margin-top:1px;
  box-shadow:none;
}
.coach-list .tiny svg{
  width:16px;
  height:16px;
  stroke-width:2.35;
}
.coach-list-copy strong{
  display:block;
  margin:0 0 4px;
  font-size:17px;
  line-height:1.18;
}
.coach-list-copy span{
  display:block;
  color:var(--muted);
  font-size:14px;
  line-height:1.58;
}

.trust-cta-shell{
  align-items:stretch;
}
.about-final-cta .trust-cta-panel{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.about-final-cta .trust-cta-panel h2{
  max-width:12ch;
}
.about-final-cta .trust-cta-panel .lead{
  max-width:56ch;
}
.trust-points{
  margin-top:24px;
  gap:14px;
}
.trust-points > div{
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:16px 18px;
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfc 100%);
  box-shadow:0 12px 28px rgba(12,18,28,.04);
}
.trust-points .tiny{
  width:40px;
  height:40px;
  border-radius:14px;
  flex:0 0 40px;
  margin-top:1px;
}
.trust-points .tiny svg{
  width:18px;
  height:18px;
  stroke-width:2.1;
}
.trust-point-copy strong{
  display:block;
  margin:0 0 5px;
  font-size:16px;
  line-height:1.18;
}
.trust-point-copy span{
  display:block;
  color:#52635b;
  font-size:14px;
  line-height:1.6;
}
.about-final-cta .hero-side{
  gap:0;
  align-items:flex-start;
}
.about-final-cta .hero-side .btn-row{
  margin-top:24px;
}
.about-final-cta .hero-side .btn{
  min-width:min(100%, 280px);
}

@media (max-width:980px){
  .editorial-stats{
    grid-template-columns:1fr;
  }
  .blog-hero-aside h3,
  .blog-hero-aside p,
  .editorial-stat span{
    max-width:none;
  }
}

@media (max-width:760px){
  .blog-hero-aside{
    padding:24px;
    gap:16px;
  }
  .blog-hero-aside h3{
    font-size:26px;
  }
  .editorial-stat{
    padding:16px;
  }
  .coach-list .list-row{
    grid-template-columns:30px minmax(0,1fr);
    gap:12px;
    padding:13px 0;
  }
  .coach-list .tiny{
    width:30px;
    height:30px;
    flex-basis:30px;
    border-radius:10px;
  }
  .coach-list-copy strong{
    font-size:16px;
  }
  .trust-points > div{
    grid-template-columns:36px minmax(0,1fr);
    gap:12px;
    padding:14px 15px;
  }
  .trust-points .tiny{
    width:36px;
    height:36px;
    flex-basis:36px;
    border-radius:12px;
  }
  .trust-points .tiny svg{
    width:16px;
    height:16px;
  }
  .about-final-cta .hero-side .btn{
    min-width:0;
    width:100%;
  }
}

/* ===== Image system upgrade ===== */
.visual-card,
.image-card,
.about-hero-visual,
.angebote-media-card,
.post-cover{
  overflow:hidden;
}
.visual-card img,
.image-card img,
.about-hero-visual img,
.angebote-media-card img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
}
.hero-visual .visual-card{
  padding:0;
  min-height:520px;
  border-radius:34px;
  background:#edf5f0;
}
.hero-visual .visual-card img{
  min-height:520px;
}
.split .image-card{
  padding:0;
  min-height:460px;
  background:#f2f7f4;
}
.split .image-card img{
  min-height:460px;
}
#unterricht .image-card,
.about-hero-visual,
.coach-visual-card{
  background:#f2f7f4;
}
.about-hero-visual{
  border-radius:28px;
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
}
.about-hero-visual img{
  min-height:0;
}
.coach-visual-card{
  padding:0;
  overflow:hidden;
  border-radius:34px;
}
.coach-visual-card::after,
.about-hero-visual::after,
.angebote-media-card::after,
.hero-visual .visual-card::after,
.split .image-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(10,18,14,0) 46%, rgba(10,18,14,.16) 100%);
  pointer-events:none;
}
.coach-visual-card img{
  width:100%;
  min-height:500px;
  object-fit:cover;
  filter:none;
}
.angebote-media-card{
  position:relative;
  border-radius:30px;
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  min-height:265px;
  background:#f2f7f4;
}
.angebote-media-card img{
  min-height:265px;
}
.angebote-side{
  grid-template-rows:auto auto auto;
}
.angebote-card{
  position:relative;
  overflow:hidden;
}
.angebote-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(22,156,91,.03) 100%);
  pointer-events:none;
}
.blog-hero-shell{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(120deg, rgba(12,21,17,.18), rgba(12,21,17,0) 36%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(244,249,246,.98)),
    url('assets/images/blog-hero.webp') center/cover no-repeat;
}
.blog-hero-shell::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(255,255,255,.84) 0%, rgba(255,255,255,.72) 42%, rgba(255,255,255,.38) 100%);
  pointer-events:none;
}
.blog-hero-copy,
.blog-hero-aside{
  position:relative;
  z-index:1;
}
.editorial-post,
.blog-card{
  position:relative;
}
.post-cover{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  border-radius:22px;
  margin-bottom:20px;
  background:
    linear-gradient(180deg, rgba(17,28,22,0) 44%, rgba(17,28,22,.16) 100%),
    var(--cover-image) center/cover no-repeat;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.editorial-post.featured-main .post-cover{
  aspect-ratio:16/10;
  border-radius:24px;
  margin-bottom:24px;
}
.editorial-post::before{
  display:none;
}
.blog-card{
  padding:22px;
}
.blog-card .card-bottom{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.featured-editorial-grid .featured-main{
  min-height:0;
}
.blog-card h3,
.editorial-post h3,
.editorial-post p,
.blog-card p,
.post-badge,
.post-read,
.article-meta-chip,
.post-link{
  position:relative;
  z-index:1;
}
@media (max-width:1080px){
  .hero-visual .visual-card,
  .hero-visual .visual-card img{min-height:460px}
  .split .image-card,
  .split .image-card img{min-height:400px}
}
@media (max-width:760px){
  .hero-visual .visual-card,
  .hero-visual .visual-card img,
  .split .image-card,
  .split .image-card img,
  .coach-visual-card img{min-height:320px}
  .about-hero-visual,
  .about-hero-visual img,
  .angebote-media-card,
  .angebote-media-card img{min-height:0}
  .blog-hero-shell::before{background:linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.88) 64%, rgba(255,255,255,.82) 100%)}
  .post-cover{aspect-ratio:4/3}
}
.about-hero-visual,
.angebote-media-card,
.split .image-card{
  position:relative;
}

/* ===== Blog premium refinement 2026 ===== */

.blog-page .page-hero{padding-top:28px;padding-bottom:24px}
.premium-blog-shell{
  grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr);
  gap:24px;
  padding:32px;
  border-radius:32px;
  border:1px solid rgba(18,32,25,.08);
  box-shadow:0 20px 56px rgba(12,18,28,.07);
}
.premium-blog-shell.blog-hero-shell{
  background:
    linear-gradient(118deg, rgba(8,20,16,.72) 0%, rgba(8,20,16,.36) 27%, rgba(255,255,255,.02) 56%),
    linear-gradient(180deg, rgba(248,251,249,.94) 0%, rgba(245,249,247,.96) 100%),
    url('assets/images/blog-hero.webp') center/cover no-repeat;
}
.premium-blog-shell.blog-hero-shell::before{
  background:
    linear-gradient(90deg, rgba(247,250,248,.95) 0%, rgba(246,250,247,.88) 36%, rgba(248,251,249,.30) 70%, rgba(8,19,15,.16) 100%);
}
.blog-hero-copy{
  padding:18px 8px 12px 4px;
}
.hero-copy-stack{
  display:grid;
  gap:14px;
}
.eyebrow-note{
  margin:0;
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:800;
  color:#4e6357;
}
.blog-hero-copy h1{
  max-width:10.75ch;
  margin:0;
  font-size:clamp(2.8rem, 4.2vw, 4rem);
  line-height:.96;
  letter-spacing:-.05em;
  text-wrap:balance;
}
.blog-hero-copy .lead{
  max-width:58ch;
  margin:0;
  font-size:18px;
  line-height:1.82;
  color:#41524a;
}
.hero-proof-row{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
  margin:26px 0 0;
}
.hero-proof-chip{
  padding:14px 16px;
  border-radius:22px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(18,32,25,.08);
  box-shadow:0 14px 32px rgba(12,18,28,.05);
  backdrop-filter:blur(10px);
}
.hero-proof-chip strong{
  display:block;
  margin-bottom:5px;
  font-size:13px;
  line-height:1.2;
  color:#122019;
}
.hero-proof-chip span{
  display:block;
  font-size:12px;
  line-height:1.55;
  color:#566860;
  font-weight:600;
}
.blog-hero-copy .btn-row{
  margin-top:24px;
}
.blog-hero-aside{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:14px;
  padding:30px;
  border-radius:30px;
  background:
    radial-gradient(460px 220px at 10% 12%, rgba(82,139,255,.18), transparent 62%),
    radial-gradient(400px 300px at 92% 84%, rgba(16,177,97,.18), transparent 65%),
    linear-gradient(180deg, rgba(6,18,15,.92) 0%, rgba(7,22,17,.94) 100%);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 24px 70px rgba(6,16,13,.24);
}
.blog-hero-aside::before{
  width:280px;
  height:280px;
  inset:-16% auto auto -16%;
  background:radial-gradient(circle, rgba(79,140,255,.24), transparent 70%);
}
.blog-hero-aside::after{
  width:320px;
  height:320px;
  inset:auto -18% -18% auto;
  background:radial-gradient(circle, rgba(22,156,91,.26), transparent 72%);
}
.blog-aside-kicker{
  width:max-content;
}
.aside-top{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.aside-label{
  margin:14px 0 0;
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-weight:800;
  color:#9eb2a8;
}
.blog-hero-aside h3{
  max-width:none;
  margin:8px 0 10px;
  font-size:19px;
  line-height:1.2;
  letter-spacing:-.02em;
}
.blog-hero-aside p{
  max-width:33ch;
  font-size:16px;
  line-height:1.78;
  color:#dbe8e1;
}
.editorial-stats{
  margin-top:16px;
  gap:10px;
}
.editorial-stat{
  min-height:0;
  display:flex;
  align-items:center;
  gap:16px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.05));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(10px);
}
.editorial-stat strong{
  font-size:30px;
  margin-bottom:0;
  flex-shrink:0;
  min-width:52px;
}
.editorial-stat span{
  font-size:13px;
  line-height:1.55;
  color:#cfddd7;
}
.featured-editorial-grid{
  gap:24px;
  align-items:start;
}
.editorial-post{
  padding:24px;
  border-radius:28px;
  border:1px solid rgba(18,32,25,.07);
  background:#fff;
  box-shadow:0 2px 4px rgba(12,18,28,.04), 0 12px 32px rgba(12,18,28,.08);
}
.editorial-post .post-cover,
.blog-card .post-cover{
  border-radius:18px;
  overflow:hidden;
  background-position:center center;
}
.featured-editorial-grid .featured-main{
  padding:24px;
}
.editorial-post.featured-main .post-cover{
  aspect-ratio: 4 / 3;
  min-height:0;
  margin-bottom:20px;
}
.editorial-post h3{
  font-size:26px;
  margin-bottom:14px;
  line-height:1.08;
  letter-spacing:-.04em;
}
.featured-stack{
  display:grid;
  gap:20px;
}
.featured-stack .editorial-post{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.featured-stack .editorial-post .post-cover{
  aspect-ratio:16/9;
  min-height:0;
}
.featured-stack .editorial-post h3{
  font-size:20px;
  line-height:1.18;
  letter-spacing:-.02em;
  max-width:none;
}
.editorial-post p,
.blog-card p{
  color:#55665e;
}
.blog-grid{
  gap:24px;
}
.blog-card{
  padding:24px;
  border-radius:30px;
}
.blog-card h3{
  font-size:22px;
  line-height:1.1;
  letter-spacing:-.03em;
  text-wrap:balance;
}
.blog-card .post-cover{
  aspect-ratio:1.5/1;
  min-height:200px;
  margin-bottom:22px;
}
.trust-cta-shell-premium{
  grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);
  gap:24px;
}
.trust-cta-panel-refined,
.cta-band-premium{
  height:100%;
  border-radius:32px;
}
.trust-cta-panel-refined{
  padding:34px 34px 32px;
}
.trust-cta-title{
  margin:16px 0 12px;
  max-width:13ch;
  font-size:clamp(2.3rem, 3.4vw, 3.1rem);
  line-height:1.03;
  letter-spacing:-.05em;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
}
.trust-cta-lead{
  margin:0;
}
.cta-band-premium{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.78fr);
  align-items:center;
  gap:24px;
  padding:30px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(520px 260px at 10% 10%, rgba(79,140,255,.20), transparent 65%),
    radial-gradient(420px 280px at 92% 82%, rgba(40,209,117,.18), transparent 62%),
    linear-gradient(180deg, #071611 0%, #081b15 100%);
  box-shadow:0 26px 70px rgba(6,16,13,.25);
}
.cta-band-premium::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, rgba(255,255,255,.04), rgba(255,255,255,0) 46%);
  pointer-events:none;
}
.cta-band-copy,
.cta-band-visual{
  position:relative;
  z-index:1;
}
.cta-band-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:100%;
}
.cta-band-premium h2{
  margin:14px 0 14px;
  max-width:10ch;
  font-size:clamp(2.7rem, 4vw, 4.2rem);
  line-height:.98;
  letter-spacing:-.05em;
  color:#fff;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
}
.cta-band-premium p{
  max-width:30ch;
  margin:0;
  font-size:18px;
  line-height:1.8;
  color:#dce8e2;
}
.cta-mini-points{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:24px 0 0;
}
.cta-mini-points span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  color:#edf4f0;
  font-size:13px;
  font-weight:700;
}
.cta-band-premium .btn-row{
  margin-top:24px;
}
.cta-band-visual{
  display:flex;
  flex-direction:column;
  gap:14px;
  align-items:stretch;
  justify-self:end;
  width:min(100%, 360px);
}
.cta-band-visual img{
  width:100%;
  min-height:360px;
  object-fit:cover;
  object-position:center;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 20px 50px rgba(0,0,0,.22);
}
.cta-visual-card{
  padding:16px 18px;
  border-radius:22px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(10px);
}
.cta-visual-card strong{
  display:block;
  margin-bottom:6px;
  color:#fff;
  font-size:15px;
}
.cta-visual-card span{
  display:block;
  color:#d5e3dc;
  line-height:1.65;
  font-size:14px;
}
@media (max-width:1180px){
  .premium-blog-shell{
    grid-template-columns:1fr;
  }
  .blog-hero-copy h1,
  .blog-hero-aside h3,
  .trust-cta-title,
  .cta-band-premium h2{
    max-width:none;
  }
  .blog-hero-aside p{
    max-width:42ch;
  }
  .trust-cta-shell-premium{
    grid-template-columns:1fr;
  }
  .cta-band-premium{
    grid-template-columns:1fr;
  }
  .cta-band-visual{
    width:100%;
    max-width:none;
    justify-self:stretch;
  }
  .cta-band-visual img{
    min-height:300px;
  }
}
@media (max-width:900px){
  .featured-editorial-grid,
  .blog-grid{
    grid-template-columns:1fr;
  }
  .featured-stack .editorial-post h3,
  .blog-card h3{
    max-width:none;
  }
}
@media (max-width:760px){

  .blog-page .page-hero{padding-top:20px;padding-bottom:16px}
  .premium-blog-shell{
    padding:20px;
    border-radius:28px;
  }
  .blog-hero-copy{
    padding:2px 0 4px;
  }
  .blog-hero-copy h1{
    font-size:clamp(2.4rem, 9vw, 3.3rem);
    line-height:.98;
  }
  .blog-hero-copy .lead{
    font-size:16px;
    line-height:1.78;
  }
  .hero-proof-row,
  .editorial-stats{
    grid-template-columns:1fr;
  }
  .blog-hero-aside{
    padding:22px;
    border-radius:26px;
  }
  .blog-hero-aside h3{
    font-size:30px;
  }
  .editorial-stat{
    min-height:0;
  }
  .editorial-post,
  .blog-card,
  .trust-cta-panel-refined,
  .cta-band-premium{
    padding:22px;
    border-radius:26px;
  }
  .editorial-post.featured-main .post-cover,
  .blog-card .post-cover{
    min-height:210px;
  }
  .blog-card h3{
    font-size:25px;
  }
  .cta-band-premium h2{
    font-size:clamp(2.2rem, 10vw, 3rem);
  }
  .cta-band-premium p{
    font-size:16px;
  }
}

/* ===== Hero image replacement refinement ===== */
.page-hero-media img{object-position:center center}
.page-hero-media-faecher img{object-position:58% center}
.page-hero-media-digital img{object-position:54% center}
.page-hero-media-empfehlungen img{object-position:center center}

/* ===== CTA section fix — override all conflicting rules ===== */
.trust-cta-shell-premium {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
  align-items: stretch;
}
.trust-cta-panel-refined {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 100%;
  border-radius: 32px;
  padding: 38px 36px;
}
.trust-cta-panel-refined .trust-cta-title {
  max-width: 14ch;
  margin: 16px 0 12px;
  font-size: clamp(1.9rem, 2.8vw, 2.6rem);
  line-height: 1.05;
  letter-spacing: -.04em;
}
.trust-cta-panel-refined .trust-cta-lead {
  max-width: 54ch;
  line-height: 1.72;
}
.trust-cta-panel-refined .trust-points {
  display: grid;
  gap: 12px;
  margin-top: 22px;
}
.trust-cta-panel-refined .trust-points > div {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 14px;
  align-items: start;
  padding: 16px 18px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid rgba(18,32,25,.07);
  box-shadow: 0 8px 20px rgba(12,18,28,.04);
}
/* about-final-cta: right panel as cta-band-premium */
.about-final-cta .cta-band-premium {
  display: flex;
  flex-direction: column;
  justify-content: center;
  grid-template-columns: unset;
  height: 100%;
  border-radius: 32px;
  padding: 38px 36px;
}
.about-final-cta .cta-band-premium .cta-band-copy {
  min-height: unset;
}
.about-final-cta .cta-band-premium h3 {
  margin: 0 0 14px;
  font-size: clamp(1.9rem, 2.8vw, 2.6rem);
  line-height: 1.02;
  letter-spacing: -.04em;
  font-family: "Plus Jakarta Sans", Inter, sans-serif;
  color: #fff;
}
.about-final-cta .cta-band-premium p {
  max-width: 32ch;
  margin: 0;
  font-size: 17px;
  line-height: 1.78;
  color: #dce8e2;
}
.cta-band-premium-btns {
  margin-top: 26px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.cta-band-premium-btns .btn {
  display: block;
  text-align: center;
  width: 100%;
}
@media (max-width: 900px) {
  .trust-cta-shell-premium {
    grid-template-columns: 1fr;
  }
  .trust-cta-panel-refined .trust-cta-title,
  .about-final-cta .cta-band-premium h3 {
    max-width: none;
  }
}
@media (max-width: 760px) {
  .trust-cta-panel-refined,
  .about-final-cta .cta-band-premium {
    padding: 24px 22px;
    border-radius: 26px;
  }
}

/* ===== KESIN FIX: about-final-cta sağ panel dikey ortalama ===== */
.about-final-cta .trust-cta-shell,
.about-final-cta .trust-cta-shell-premium {
  display: grid !important;
  grid-template-columns: 1.1fr 0.9fr !important;
  gap: 24px !important;
  align-items: stretch !important;
}
.about-final-cta .hero-side,
.about-final-cta .cta-band-premium {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 0 !important;
  grid-template-columns: unset !important;
  min-height: 0 !important;
  height: auto !important;
}
@media (max-width: 760px) {
  .about-final-cta .trust-cta-shell,
  .about-final-cta .trust-cta-shell-premium {
    grid-template-columns: 1fr !important;
  }
}

/* ===== Angebote hero whitespace premium fix ===== */
.angebote-page .site-header{
  top:0;
  z-index:60;
  background:rgba(255,255,255,.88);
  backdrop-filter:saturate(160%) blur(14px);
}
.angebote-page .site-header + main{
  overflow:hidden;
}
.angebote-page .hero,
.angebote-hero-shell{
  position:relative;
  padding-top:44px;
  padding-bottom:34px;
}
.angebote-hero-shell::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:420px;
  background:
    radial-gradient(700px 260px at 12% 8%, rgba(22,156,91,.09), rgba(22,156,91,0) 68%),
    radial-gradient(520px 220px at 88% 14%, rgba(15,38,28,.05), rgba(15,38,28,0) 70%),
    linear-gradient(180deg, #fbfdfc 0%, rgba(251,253,252,0) 100%);
  pointer-events:none;
}
.angebote-page .hero .container,
.angebote-hero-grid,
.angebote-copy,
.angebote-side{
  position:relative;
  z-index:1;
}
.angebote-hero-grid{
  grid-template-columns:minmax(0, .98fr) minmax(360px, 1.02fr);
  gap:28px;
  align-items:start;
}
.angebote-copy{
  max-width:700px;
  align-self:start;
  padding-top:4px;
}
.angebote-copy .kicker{
  margin-bottom:14px;
}
.angebote-copy h1{
  margin:0 0 18px;
  max-width:12ch;
  font-size:clamp(3.35rem, 5.5vw, 6rem);
  line-height:.94;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.angebote-copy .lead{
  margin:0;
  max-width:720px;
  font-size:clamp(1.08rem, 1.55vw, 1.34rem);
  line-height:1.72;
}
.angebote-trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
  margin-bottom:0;
}
.angebote-copy .hero-stat{
  min-height:58px;
  padding:15px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(10px);
  border:1px solid rgba(220,236,229,.95);
  box-shadow:0 12px 28px rgba(18,32,25,.06);
}
.angebote-hero-actions{
  margin-top:22px;
}
.angebote-side{
  grid-template-columns:minmax(0, 1fr) minmax(0, .72fr);
  grid-template-areas:
    "media media"
    "highlight strong";
  gap:18px;
  align-self:start;
}
.angebote-media-card{
  grid-area:media;
  min-height:380px;
  border-radius:32px;
}
.angebote-media-card img{
  width:100%;
  height:100%;
  min-height:380px;
  object-fit:cover;
  object-position:center 38%;
}
.angebote-highlight{
  grid-area:highlight;
  min-height:100%;
  padding:26px;
}
.angebote-side-card-strong{
  grid-area:strong;
  padding:26px;
}
.angebote-panel-kicker{
  margin-bottom:12px;
}
.angebote-highlight h3,
.angebote-side-card h3{
  font-size:24px;
  letter-spacing:-.03em;
}
.angebote-highlight p,
.angebote-side-card p,
.angebote-mini-list li{
  font-size:15px;
  line-height:1.7;
}
.angebote-section{
  padding-top:10px;
}
@media (max-width:1180px){
  .angebote-hero-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
  .angebote-copy{
    max-width:none;
  }
  .angebote-copy h1{
    max-width:11ch;
  }
  .angebote-side{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:760px){
  .angebote-page .hero,
  .angebote-hero-shell{
    padding-top:26px;
    padding-bottom:24px;
  }
  .angebote-hero-shell::before{
    height:300px;
  }
  .angebote-copy{
    padding-top:0;
  }
  .angebote-copy h1{
    max-width:100%;
    font-size:clamp(2.75rem, 12vw, 4rem);
    line-height:.96;
  }
  .angebote-copy .lead{
    font-size:1.02rem;
    line-height:1.68;
  }
  .angebote-trust-row{
    gap:10px;
    margin-top:20px;
  }
  .angebote-copy .hero-stat{
    width:100%;
    min-height:0;
    padding:14px 16px;
  }
  .angebote-side{
    grid-template-columns:1fr;
    grid-template-areas:
      "media"
      "highlight"
      "strong";
  }
  .angebote-media-card,
  .angebote-media-card img{
    min-height:250px;
  }
  .angebote-highlight,
  .angebote-side-card-strong{
    padding:22px;
  }
}


/* ===== Home hero whitespace premium fix ===== */
.hero-home{
  position:relative;
  min-height:0;
  padding-top:46px;
  padding-bottom:36px;
  background:
    radial-gradient(760px 280px at 14% 8%, rgba(22,156,91,.09), rgba(22,156,91,0) 70%),
    radial-gradient(560px 240px at 88% 12%, rgba(79,140,255,.10), rgba(79,140,255,0) 72%),
    linear-gradient(180deg,#fbfdfc 0%, #f7fbf8 58%, #ffffff 100%);
}
.hero-home::before{
  width:340px;
  height:340px;
  right:-70px;
  top:12px;
  background:radial-gradient(circle, rgba(22,156,91,.12), rgba(22,156,91,0) 68%);
  filter:blur(18px);
  opacity:.8;
}
.hero-home::after{
  width:280px;
  height:280px;
  left:-60px;
  bottom:10px;
  background:radial-gradient(circle, rgba(79,140,255,.12), rgba(79,140,255,0) 70%);
  filter:blur(16px);
  opacity:.72;
}
.hero-home .container,
.hero-home .hero-grid,
.hero-home .hero-copy,
.hero-home .hero-visual{
  position:relative;
  z-index:1;
}
.hero-home .hero-grid{
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);
  gap:34px;
  align-items:start;
}
.hero-home .hero-copy{
  align-self:start;
  padding-top:10px;
}
.hero-home .kicker{
  margin-bottom:14px;
}
.hero-home h1{
  max-width:10.5ch;
  margin:0 0 18px;
  font-size:clamp(3.4rem,5.9vw,6.2rem);
  line-height:.93;
  letter-spacing:-.05em;
  text-wrap:balance;
}
.hero-home .lead{
  max-width:62ch;
  margin:0;
  font-size:clamp(1.06rem,1.45vw,1.28rem);
  line-height:1.72;
}
.hero-home .btn-row{
  margin-top:24px;
}
.hero-home .hero-stats{
  margin-top:24px;
  gap:12px;
}
.hero-home .hero-proof .hero-stat{
  min-height:0;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.8);
  border:1px solid rgba(220,236,229,.95);
  box-shadow:0 12px 28px rgba(18,32,25,.06);
}
.hero-home h1 .hero-title-line{display:block}
.hero-home h1 .hero-title-line:first-child{margin-bottom:.08em}
.hero-home .hero-visual{
  min-height:0;
  align-self:start;
  padding-top:0;
}
.hero-home .visual-card,
.hero-home .visual-card img{
  min-height:460px;
}
.hero-home .visual-card{
  border-radius:34px;
}
.hero-home .visual-card img{
  object-fit:cover;
  object-position:center 34%;
}
.hero-home .float-card.a{top:22px;right:-8px;}
.hero-home .float-card.b{left:-10px;bottom:96px;}
.hero-home .float-card.c{right:18px;bottom:16px;}
@media (max-width:1180px){
  .hero-home .hero-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
  .hero-home .hero-copy{
    padding-top:0;
  }
  .hero-home h1{
    max-width:min(100%,28ch);
  }
}
@media (max-width:760px){
  .hero-home{
    padding-top:30px;
    padding-bottom:24px;
  }
  .hero-home .hero-grid{
    gap:20px;
  }
  .hero-home h1{
    max-width:100%;
    font-size:clamp(2.8rem,12vw,4rem);
    line-height:.95;
  }
  .hero-home .lead{
    font-size:1.02rem;
    line-height:1.68;
  }
  .hero-home .btn-row{
    margin-top:20px;
  }
  .hero-home .hero-stats{
    margin-top:18px;
  }
  .hero-home .hero-proof .hero-stat{
    width:100%;
  }
  .hero-home .visual-card,
  .hero-home .visual-card img{
    min-height:280px;
  }
}


/* ===== Home hero hotfix: remove stretched overlay cards ===== */
.hero-home .float-card{
  width:auto;
  max-width:260px;
}
.hero-home .float-card.a{
  top:22px;
  right:-8px;
  left:auto;
  bottom:auto;
}
.hero-home .float-card.b{
  left:-10px;
  bottom:96px;
  top:auto;
  right:auto;
}
.hero-home .float-card.c{
  right:18px;
  bottom:16px;
  left:auto;
  top:auto;
}
@media (max-width:1180px){
  .hero-home .float-card.a,
  .hero-home .float-card.b,
  .hero-home .float-card.c{
    max-width:240px;
  }
}
@media (max-width:900px){
  .hero-home .float-card.a,
  .hero-home .float-card.b,
  .hero-home .float-card.c{
    position:static;
    max-width:none;
    margin-top:12px;
  }
}

/* ===== 2026 final optimization pass ===== */
html{overflow-x:hidden}
body{overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{height:auto}
img[width][height]{contain-intrinsic-size:attr(width px) attr(height px)}
.hero h1,.section-head h2,.cta-band h2,.footer-wordmark-title{text-wrap:balance}
p,li,.card p,.lead{text-wrap:pretty}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:3px solid rgba(22,156,91,.24);
  outline-offset:3px;
}
.section > .container,.hero > .container,footer > .container{position:relative;z-index:1}
.page-hero-media,.visual-card,.image-card{overflow:hidden}
.page-hero-media img,.visual-card img,.image-card img{
  width:100%;
  height:auto;
  aspect-ratio:16/11;
  object-fit:cover;
  border-radius:22px;
}
.hero-home .visual-card img{aspect-ratio:4/5}
.grid-3 > .card,.grid-4 > .card,.subject-grid > .card,.more-subjects > .more-subject{height:100%}
.card,.drop-card,.subject-link,.more-subject,.contact-box,.form-box,.booking-panel{will-change:transform}
input,select,textarea{box-shadow:0 1px 0 rgba(255,255,255,.6) inset}
input::placeholder,textarea::placeholder{color:#8a9890}
.container{width:min(var(--max), calc(100% - 32px))}
@media (max-width:1080px){
  .container{width:min(var(--max), calc(100% - 28px))}
  .hero-home{padding-top:88px}
}
@media (max-width:760px){
  .container{width:min(var(--max), calc(100% - 24px))}
  .hero{padding-top:80px;padding-bottom:34px}
  .hero h1{max-width:12ch}
  .kicker{max-width:100%;white-space:normal}
  .float-card{width:100%}
  .section-head h2{font-size:34px;letter-spacing:-1.1px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none !important;transition:none !important}
}

.float-card-link{
  display:block;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease), background-color .25s var(--ease);
}
.float-card-link:hover{
  transform:translateY(-3px) scale(1.02);
  box-shadow:0 22px 44px rgba(18,32,25,.14);
  border-color:#f5d57a;
  background:#fffdf5;
}
.float-card-link:focus-visible{
  outline:3px solid rgba(245,158,11,.45);
  outline-offset:3px;
}
.float-card-row{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.float-card-star{
  width:18px;
  height:18px;
  flex:0 0 18px;
  fill:#fbbf24;
  stroke:#f59e0b;
  filter:drop-shadow(0 2px 4px rgba(245,158,11,.25));
}

.subjects-strip{padding:18px 0 28px}
.subjects-strip .subjects-strip-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.subject-quick-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 12px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow-soft);
  text-align:center;
  color:var(--text);
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
  min-width:0;
}
.subject-quick-card:hover{
  transform:translateY(-3px);
  border-color:#d8e8df;
  box-shadow:0 18px 36px rgba(18,32,25,.08);
  background:#fafdfb;
}
.subject-quick-card .icon{
  width:36px;
  height:36px;
  border-radius:12px;
  background:linear-gradient(180deg,#f7fbf8,#eef7f2);
  border:1px solid #e2eee7;
  color:var(--green);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
  box-shadow:0 8px 18px rgba(22,156,91,.08);
}
.subject-quick-card .icon svg{width:18px;height:18px}
.subject-quick-label{
  font-size:13.5px;
  letter-spacing:.01em;
  color:var(--text);
  white-space:nowrap;
}

.section-anchor-process{
  padding-inline:clamp(18px,4vw,40px);
}
.section-anchor-process .section-head.section-head--anchor-process{
  display:flex;
  justify-content:center;
  align-items:flex-start;
  margin-bottom:clamp(36px,5vw,56px);
}
.section-anchor-process .section-head.section-head--anchor-process > div{
  width:100%;
  max-width:min(920px,100%);
  margin-inline:auto;
  text-align:center;
}
.section-anchor-process .section-head .kicker{
  margin-inline:auto;
}
.section-anchor-process .section-head h2.anchor-process-title{
  margin:14px auto 0;
  max-width:none;
  text-align:center;
  font-size:clamp(28px,4vw,40px);
  line-height:1.14;
  letter-spacing:-1px;
}
.anchor-process-title-line{
  display:block;
}
.anchor-process-title-line--dark{
  color:var(--text);
}
.anchor-process-title-line--green{
  color:var(--green);
  margin-top:.14em;
}

.anchor-process-grid{align-items:stretch;width:100%}
.anchor-process-grid > .card-process{
  display:flex;
  flex-direction:column;
  height:100%;
}
.card-process .process-cta{
  margin-top:auto;
  align-self:flex-start;
  height:46px;
  padding:0 20px;
  font-size:14px;
}

@media (max-width:760px){
  /* Fächer-Slider auf Mobile: später definiert (siehe SUBJECTS-SLIDER Block) */
  .card-process .process-cta{align-self:stretch;justify-content:center}
  .section-anchor-process .section-head.section-head--anchor-process{margin-bottom:clamp(28px,8vw,40px)}
  .section-anchor-process .section-head h2.anchor-process-title{font-size:clamp(24px,6vw,32px)}
}

footer{
  background:linear-gradient(180deg,#1b4332 0%,#143226 100%);
  color:#e9f2ed;
}
.footer-shell{padding:56px 0 22px}
.footer-brand p{color:#cfe1d6}
.footer-wordmark-sub{color:#a3c0b0}
.footer-cta{
  background:linear-gradient(135deg,#23d274,#34e389);
  color:#0f2419;
  box-shadow:0 18px 34px rgba(35,210,116,.28);
}
.footer-cta:hover{
  background:linear-gradient(135deg,#34e389,#52ee9c);
  color:#0f2419;
  box-shadow:0 24px 44px rgba(35,210,116,.36);
}
.footer-col h4{color:#fff}
.footer-links a{color:#cfe1d6}
.footer-links a:hover{color:#fff;transform:translateX(2px)}
.footer-icon{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  color:#bff0d2;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.footer-contact-item strong{color:#fff}
.footer-contact-item span{color:#cfe1d6}
.footer-sep{
  margin:36px 0 18px;
  border-top:1px solid rgba(255,255,255,.12);
}
.footer-bottom{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  gap:10px;
  text-align:center;
  color:#a8c2b3;
}
.footer-bottom-links{justify-content:center}
.footer-bottom-links a{color:#a8c2b3}
.footer-bottom-links a:hover{color:#fff}
@media (max-width:760px){
  .footer-shell{padding:46px 0 20px}
  .footer-bottom{align-items:center;flex-direction:column}
}

.section-spaces .spaces-head{
  text-align:center;
  max-width:760px;
  margin:0 auto clamp(28px,4vw,44px);
}
.section-spaces .spaces-head .kicker{margin-inline:auto}
.section-spaces .spaces-title{
  margin:18px auto 14px;
  font-size:clamp(28px,3.6vw,40px);
  line-height:1.1;
  letter-spacing:-1px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  color:var(--text);
}
.section-spaces .spaces-lead{
  margin:0 auto;
  color:var(--muted);
  max-width:640px;
}
.spaces-slider{
  position:relative;
  --spaces-cols:3;
  --spaces-gap:clamp(16px,2vw,22px);
}
.spaces-viewport{
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding-bottom:6px;
}
.spaces-viewport::-webkit-scrollbar{display:none}
.spaces-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - (var(--spaces-cols) - 1) * var(--spaces-gap)) / var(--spaces-cols));
  column-gap:var(--spaces-gap);
}
.spaces-slide{
  margin:0;
  scroll-snap-align:start;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.spaces-tile{
  position:relative;
  display:block;
  width:100%;
  margin:0;
  padding:0;
  border:1px solid var(--line);
  background:#fff;
  border-radius:22px;
  overflow:hidden;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(18,32,25,.06);
  aspect-ratio:1/1;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.spaces-tile img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s var(--ease);
}
.spaces-tile:hover{box-shadow:0 22px 44px rgba(18,32,25,.1)}
.spaces-tile:hover img{transform:scale(1.05)}
.spaces-tile:focus-visible{outline:3px solid rgba(22,156,91,.35);outline-offset:3px}
.spaces-caption{
  margin:0;
  text-align:center;
  font-size:14px;
  line-height:1.5;
  color:var(--muted);
  font-weight:600;
  padding:0 6px;
}
.spaces-arrow{
  position:absolute;
  top:calc(50% - clamp(24px,4vw,30px));
  transform:translateY(-50%);
  width:48px;
  height:48px;
  border-radius:999px;
  border:1px solid rgba(22,156,91,.2);
  background:#fff;
  color:var(--green);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(22,156,91,.16);
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background-color .25s var(--ease), color .25s var(--ease), opacity .25s var(--ease);
  z-index:3;
}
.spaces-arrow svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.spaces-arrow:hover{background:var(--green);color:#fff;transform:translateY(-50%) scale(1.05)}
.spaces-arrow:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}
.spaces-arrow-prev{left:-22px}
.spaces-arrow-next{right:-22px}
.spaces-dots{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-top:18px;
}
.spaces-dot{
  width:9px;
  height:9px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(22,156,91,.22);
  cursor:pointer;
  transition:width .25s var(--ease), background-color .25s var(--ease), transform .25s var(--ease);
}
.spaces-dot:hover{background:rgba(22,156,91,.45)}
.spaces-dot.is-active{
  background:var(--green);
  width:26px;
}
.spaces-cta{
  display:flex;
  justify-content:center;
  margin-top:clamp(24px,3vw,36px);
}
@media (max-width:1024px){
  .spaces-slider{--spaces-cols:2}
  .spaces-arrow-prev{left:-14px}
  .spaces-arrow-next{right:-14px}
}
@media (max-width:640px){
  .spaces-slider{--spaces-cols:1}
  .spaces-arrow{display:none}
  .spaces-tile{border-radius:20px}
  .spaces-caption{font-size:13.5px}
}

.lightbox{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(10,18,14,.86);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  opacity:0;
  pointer-events:none;
  z-index:1000;
  transition:opacity .25s var(--ease);
}
.lightbox.is-open{
  opacity:1;
  pointer-events:auto;
}
.lightbox-figure{
  margin:0;
  max-width:min(1100px,92vw);
  max-height:88vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  transform:scale(.96);
  transition:transform .3s var(--ease);
}
.lightbox.is-open .lightbox-figure{transform:scale(1)}
.lightbox-image{
  max-width:100%;
  max-height:78vh;
  width:auto;
  height:auto;
  border-radius:18px;
  box-shadow:0 30px 80px rgba(0,0,0,.45);
  background:#fff;
}
.lightbox-caption{
  color:#f3f7f4;
  font-size:15px;
  line-height:1.55;
  text-align:center;
  font-weight:600;
  max-width:60ch;
}
.lightbox-close,
.lightbox-nav{
  position:absolute;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.1);
  color:#fff;
  cursor:pointer;
  transition:background-color .2s var(--ease), transform .2s var(--ease);
  z-index:2;
}
.lightbox-close svg,
.lightbox-nav svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.lightbox-close:hover,
.lightbox-nav:hover{background:var(--green);border-color:var(--green);transform:scale(1.05)}
.lightbox-close{top:18px;right:18px}
.lightbox-prev{left:18px;top:50%;transform:translateY(-50%)}
.lightbox-next{right:18px;top:50%;transform:translateY(-50%)}
.lightbox-prev:hover{transform:translateY(-50%) scale(1.05)}
.lightbox-next:hover{transform:translateY(-50%) scale(1.05)}
body.lightbox-open{overflow:hidden}
@media (max-width:640px){
  .lightbox{padding:14px}
  .lightbox-close{top:10px;right:10px;width:42px;height:42px}
  .lightbox-prev{left:8px}
  .lightbox-next{right:8px}
  .lightbox-image{max-height:70vh;border-radius:14px}
}

#kontakt-formular .contact-grid{align-items:start}
.contact-stack{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.contact-bubble{
  margin:0;
}
.whatsapp-bubble{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  background:linear-gradient(180deg,#ffffff 0%,#f1faf4 100%);
  border-color:#d8ebdf;
}
.whatsapp-bubble-icon{
  width:48px;
  height:48px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,var(--green),#28b66d);
  color:#fff;
  box-shadow:0 12px 28px rgba(22,156,91,.28);
}
.whatsapp-bubble-icon svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.whatsapp-bubble-title{
  margin:6px 0 0;
  font-size:20px;
  line-height:1.25;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  color:var(--text);
}
.whatsapp-bubble-text{
  margin:0 0 6px;
  color:var(--muted);
  line-height:1.6;
  font-size:14.5px;
}
.whatsapp-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  align-self:stretch;
  padding:14px 22px;
  height:52px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--green),#28b66d);
  color:#fff;
  font-weight:800;
  font-size:15px;
  letter-spacing:.01em;
  box-shadow:0 14px 30px rgba(22,156,91,.28);
  cursor:pointer;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), filter .25s var(--ease);
}
.whatsapp-cta svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.whatsapp-cta:hover{
  transform:translateY(-2px) scale(1.01);
  box-shadow:0 22px 44px rgba(22,156,91,.36);
  filter:brightness(1.03);
}
.whatsapp-cta:active{transform:translateY(0) scale(.99)}
.whatsapp-cta:focus-visible{outline:3px solid rgba(22,156,91,.35);outline-offset:3px}

.index-form-wrap{display:contents}
.index-form-wrap .booking-panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  padding:24px;
  box-shadow:var(--shadow-soft);
}
.index-form-wrap .booking-top{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  margin-bottom:18px;
  flex-wrap:wrap;
}
.index-form-wrap .calendar{
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
}
@media (max-width:760px){
  #kontakt-formular .contact-grid{gap:18px}
  .contact-stack{gap:14px}
  .whatsapp-bubble{padding:24px}
  .index-form-wrap .calendar{padding:18px !important}
  .index-form-wrap .booking-top .pill:last-child{display:none}
}

.section-bewerbung .bewerbung-head{
  text-align:center;
  max-width:680px;
  margin:0 auto clamp(28px,4vw,40px);
}
.section-bewerbung .bewerbung-head .kicker{margin-inline:auto}
.section-bewerbung .bewerbung-title{
  margin:18px auto 14px;
  font-size:clamp(28px,3.6vw,40px);
  line-height:1.1;
  letter-spacing:-1px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  color:var(--text);
}
.section-bewerbung .bewerbung-lead{
  margin:0 auto;
  color:var(--muted);
  max-width:600px;
}
.bewerbung-panel{
  max-width:760px;
  margin:0 auto;
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  padding:clamp(22px,3.2vw,36px);
  box-shadow:0 18px 44px rgba(18,32,25,.06);
}
.bewerbung-panel .form-group{margin-bottom:24px;text-align:left}
.bewerbung-panel .form-group > label{
  font-weight:700;
  display:block;
  margin-bottom:12px;
  color:#122019;
  font-size:1em;
}
.bewerbung-panel .clean-input{
  width:100%;
  padding:12px;
  border:1px solid #e4ece7;
  border-radius:8px;
  font-family:inherit;
  font-size:.95rem;
  background:#fff;
  color:var(--text);
  transition:outline .2s, border-color .2s;
}
.bewerbung-panel .clean-input:focus{outline:2px solid #169c5b;border-color:#169c5b}
.bewerbung-panel select.clean-input{
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23169c5b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:18px 18px;
  padding-right:42px;
}
.bewerbung-panel .options-grid{display:flex;flex-wrap:wrap;gap:10px 20px}
.bewerbung-panel .option-item{
  display:flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  font-size:.95rem;
}
.bewerbung-panel .option-item input{
  margin:0;
  width:18px;
  height:18px;
  accent-color:#169c5b;
}
.bewerbung-panel .submit-btn{
  width:100%;
  padding:16px;
  background:linear-gradient(135deg,#169c5b,#28b66d);
  color:#fff;
  border:none;
  border-radius:10px;
  font-weight:800;
  font-size:1.05em;
  cursor:pointer;
  letter-spacing:.01em;
  margin-top:6px;
  box-shadow:0 14px 30px rgba(22,156,91,.22);
  transition:transform .2s, box-shadow .25s, filter .25s;
}
.bewerbung-panel .submit-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 40px rgba(22,156,91,.32);
  filter:brightness(1.04);
}
.bewerbung-panel .submit-btn:active{transform:translateY(0) scale(.99)}

.bewerbung-panel .file-upload{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px 18px;
  border:2px dashed #d8ebdf;
  background:#f7fbf8;
  border-radius:14px;
  cursor:pointer;
  transition:border-color .25s, background-color .25s, transform .2s;
}
.bewerbung-panel .file-upload:hover,
.bewerbung-panel .file-upload:focus-within{
  border-color:#169c5b;
  background:#eff9f3;
}
.bewerbung-panel .file-upload.has-file{
  border-color:#169c5b;
  background:#eff9f3;
}
.bewerbung-panel .file-upload-icon{
  width:46px;
  height:46px;
  flex:0 0 46px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#169c5b,#28b66d);
  color:#fff;
  box-shadow:0 10px 22px rgba(22,156,91,.25);
}
.bewerbung-panel .file-upload-icon svg{
  width:22px;
  height:22px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bewerbung-panel .file-upload-text{
  display:flex;
  flex-direction:column;
  flex:1;
  min-width:0;
}
.bewerbung-panel .file-upload-text strong{
  color:#122019;
  font-weight:700;
  font-size:14.5px;
}
.bewerbung-panel .file-upload-text span{
  color:#637168;
  font-size:12.5px;
  margin-top:2px;
}
.bewerbung-panel .file-upload-name{
  font-size:13px;
  color:#117946;
  font-weight:700;
  text-align:right;
  padding-left:12px;
  flex:0 0 auto;
  max-width:46%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media (max-width:560px){
  .bewerbung-panel{padding:22px}
  .bewerbung-panel .file-upload{flex-wrap:wrap}
  .bewerbung-panel .file-upload-name{
    flex:1 1 100%;
    max-width:100%;
    text-align:left;
    padding-left:0;
    margin-top:4px;
  }
}

/* =============================================================
   MOBILE OPTIMIZATION — finaler Block, hat Vorrang
   Ziel: 1-Spalten-Layout, fingerfreundliche Buttons, kein
   horizontales Scrollen, fluide Typografie.
   ============================================================= */

/* Sicherheitsnetz gegen horizontalen Scroll auf der ganzen Seite */
html{overflow-x:hidden;max-width:100%}
body{overflow-x:hidden;max-width:100%}
img,video,iframe,svg{max-width:100%;height:auto}

/* Fluide Hero-Headlines (verhindert hässliche Umbrüche) */
.hero h1,.booking-panel h3,.bewerbung-title{
  word-break:break-word;
  overflow-wrap:break-word;
  hyphens:auto;
}

@media (max-width:760px){
  /* ---------- LAYOUT & GRID ---------- */
  .grid-2,.grid-3,.grid-4,.form-grid,.foot,.slot-grid,
  .anchor-process-grid,.coach-process-grid,.coach-benefits-grid,
  .coach-fit-grid,.coach-anchor-grid,.coach-proof-strip,
  .booking-layout,.contact-grid,.feature-grid-2,.feature-grid-3,
  .process-grid,.stats-strip,.footer-grid,
  .options-grid,.about-hero-shell,.about-approach,.about-service-grid,
  .about-testimonial-grid,.about-dual-grid,.value-grid,.about-proof,
  .blog-hero-shell,.featured-editorial-grid,.trust-cta-shell,.blog-grid,
  .related-posts,.editorial-stats,.blog-anchor-nav,.faq-hero-shell,
  .faq-layout,.faq-help,.angebote-hero-grid,.angebote-grid,.split,
  .teacher-split,.coach-split,.hero-grid,.hero-stats,.coach-proof,
  .coach-fit-box .coach-fit-grid{
    grid-template-columns:1fr !important;
    gap:14px;
  }

  /* ---------- CONTAINER & SECTIONS ---------- */
  .container{
    padding-left:max(20px, env(safe-area-inset-left));
    padding-right:max(20px, env(safe-area-inset-right));
  }
  .section{padding:54px 0}

  /* ---------- KARTEN: volle Breite, atmen ---------- */
  .card,.contact-bubble,.whatsapp-bubble,.booking-panel,.bewerbung-panel,
  .anchor-process-card,.coach-step-card,.coach-anchor-card,.coach-benefit-card,
  .coach-proof-chip,.subject-quick-card,.stage-card,.visual-card,
  .float-card,.feature-card,.stat-box,.hero-stat,.cta-band,.about-copy-card,
  .about-visual-card,.dual-copy-card,.about-service-card,.value-card,
  .about-aside-card,.about-hero-visual,.testimonial,.blog-card,.editorial-post,
  .article-hero-panel,.trust-cta-panel,.faq-group,.faq-help,.legal-card{
    width:100%;
    box-sizing:border-box;
  }

  /* ---------- TEXT & TYPOGRAFIE ---------- */
  .hero h1,.about-hero-copy h1,.angebote-copy h1,.legal-shell h1{
    font-size:clamp(28px,8vw,42px) !important;
    line-height:1.08;
    letter-spacing:-1px;
  }
  .booking-panel h3,.bewerbung-title{font-size:clamp(22px,6vw,28px) !important}
  h2,.section-head h2{font-size:clamp(24px,6.5vw,32px) !important;line-height:1.15}
  h3{font-size:clamp(19px,5vw,23px) !important}
  .lead,.hero .lead,.bewerbung-lead{
    font-size:16px;
    line-height:1.55;
    padding-left:0;
    padding-right:0;
  }

  /* ---------- FORMULARE: Inputs/Selects/Textareas voll ---------- */
  .clean-input,
  input[type="text"],input[type="email"],input[type="tel"],
  input[type="number"],input[type="search"],input[type="url"],
  input[type="password"],input[type="date"],input[type="time"],
  select,textarea{
    width:100% !important;
    max-width:100%;
    box-sizing:border-box;
    font-size:16px !important;   /* verhindert iOS-Zoom beim Fokus */
    padding:14px 14px;
    min-height:48px;
    border-radius:10px;
  }
  textarea{min-height:120px}

  .form-group{margin-bottom:18px}
  .form-group label{font-size:15px}

  /* Checkboxes/Radio: größere Tap-Fläche */
  .option-item,.options-grid label{
    display:flex;
    align-items:center;
    gap:10px;
    padding:6px 2px;
    min-height:40px;
    font-size:15px;
  }
  .option-item input[type="checkbox"],
  .option-item input[type="radio"],
  .options-grid input[type="checkbox"],
  .options-grid input[type="radio"]{
    width:22px;
    height:22px;
    flex:0 0 22px;
  }

  /* ---------- BUTTONS: fingerfreundlich + volle Breite ---------- */
  .submit-btn,.btn,.btn-primary,.btn-secondary,
  .footer-cta,.danke-btn,.process-cta,
  .whatsapp-bubble .btn,.whatsapp-bubble a.btn,
  .anchor-process-card .btn,.btn-row > .btn{
    width:100%;
    box-sizing:border-box;
    padding:16px 22px !important;
    min-height:52px;
    font-size:16px;
    justify-content:center;
    text-align:center;
  }

  /* btn-row stapelt Buttons untereinander */
  .btn-row{
    display:flex;
    flex-direction:column;
    gap:10px;
    width:100%;
  }
  .btn-row .btn{width:100%}

  /* Booking-/Bewerbungs-Panel kompakter */
  .booking-panel,.bewerbung-panel{padding:22px !important;border-radius:24px}
  .index-form-wrap .calendar{padding:18px !important}
  .index-form-wrap .booking-top{flex-wrap:wrap;gap:12px}
  .index-form-wrap .booking-top .pill:last-child{display:none}

  /* contact-grid: linke Bubble + Form sauber stapeln */
  .contact-grid{display:block}
  .contact-stack{display:flex;flex-direction:column;gap:14px}

  /* ---------- HERO ---------- */
  .hero{padding-top:96px;padding-bottom:30px}
  .hero-grid{gap:22px}
  .hero-stats{gap:10px}

  /* Coach-Hero Float-Karten lesbar machen */
  .coach-float{position:static !important;margin-top:10px;width:100%}
  .visual-card,.visual-glow-card{padding:14px}

  /* ---------- BILDER & GALERIE ---------- */
  img{object-fit:cover}
  .spaces-viewport{
    overscroll-behavior-x:contain;
    touch-action:pan-x;
    scroll-padding-inline:16px;
  }
  .spaces-tile{aspect-ratio:1/1}
  .spaces-tile img{object-fit:cover}

  /* ---------- FOOTER ---------- */
  .footer-bottom{flex-direction:column;text-align:center;gap:10px}
  .footer-bottom-links{justify-content:center;flex-wrap:wrap}
  .footer-cta{width:100%;text-align:center}
}

/* Sehr kleine Geräte (≤380 px) */
@media (max-width:380px){
  .container{padding-left:14px;padding-right:14px}
  .hero h1{font-size:clamp(24px,8.5vw,32px) !important}
  .booking-panel h3,.bewerbung-title{font-size:clamp(20px,6vw,24px) !important}
  .booking-panel,.bewerbung-panel{padding:18px !important;border-radius:20px}
}

/* =============================================================
   FLOATING WHATSAPP FAB
   ============================================================= */
.wa-fab{
  position:fixed;
  right:max(18px, env(safe-area-inset-right));
  bottom:max(18px, env(safe-area-inset-bottom));
  width:60px;
  height:60px;
  border-radius:50%;
  background:linear-gradient(135deg,#25d366 0%,#128c7e 100%);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  box-shadow:0 16px 36px rgba(18,140,126,.34), 0 0 0 8px rgba(37,211,102,.10);
  z-index:90;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), opacity .25s var(--ease);
  animation:wa-pulse 2.4s cubic-bezier(.4,0,.6,1) infinite;
}
.wa-fab svg{
  width:34px;height:34px;
  fill:#fff;
  stroke:none;
  display:block;
}
.wa-fab:hover{
  transform:scale(1.08);
  box-shadow:0 22px 46px rgba(18,140,126,.55), 0 0 0 10px rgba(37,211,102,.14);
  animation-play-state:paused;
}
.wa-fab:active{transform:scale(.96)}
.wa-fab:focus-visible{outline:3px solid rgba(37,211,102,.5);outline-offset:4px}
.wa-fab[aria-hidden="true"]{
  opacity:0;
  pointer-events:none;
  transform:translateY(10px) scale(.94);
  animation:none;
}
@keyframes wa-pulse{
  0%,100%{box-shadow:0 16px 36px rgba(18,140,126,.34), 0 0 0 0 rgba(37,211,102,.55)}
  70%   {box-shadow:0 16px 36px rgba(18,140,126,.34), 0 0 0 16px rgba(37,211,102,0)}
}
@media (max-width:760px){
  .wa-fab{width:56px;height:56px;right:14px;bottom:14px}
  .wa-fab svg{width:32px;height:32px}
}
@media (prefers-reduced-motion:reduce){
  .wa-fab{animation:none}
  .wa-fab,.wa-fab:hover,.wa-fab:active{transition:none;transform:none}
}

/* =============================================================
   COOKIE CONSENT BANNER (DSGVO)
   ============================================================= */
.cookie-banner{
  position:fixed;
  left:max(16px, env(safe-area-inset-left));
  right:max(16px, env(safe-area-inset-right));
  bottom:max(16px, env(safe-area-inset-bottom));
  z-index:120;
  background:linear-gradient(180deg,#1b4332 0%,#143228 100%);
  color:#fff;
  border-radius:22px;
  box-shadow:0 30px 70px rgba(8,18,12,.45), 0 0 0 1px rgba(255,255,255,.06);
  padding:0;
  max-width:1080px;
  margin-inline:auto;
  font-family:Inter,system-ui,sans-serif;
  opacity:0;
  transform:translateY(24px);
  transition:opacity .35s var(--ease), transform .35s var(--ease);
  pointer-events:none;
}
.cookie-banner.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
.cookie-banner[hidden]{display:none}
.cookie-banner-inner{padding:24px 28px}
.cookie-banner-main{display:flex;align-items:flex-start;gap:14px}
.cookie-banner-icon{
  flex:0 0 44px;width:44px;height:44px;border-radius:14px;
  background:rgba(255,255,255,.10);
  display:inline-flex;align-items:center;justify-content:center;color:#9be7b8;
}
.cookie-banner-icon svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cookie-banner-copy{flex:1;min-width:0}
.cookie-banner-title{
  margin:0 0 6px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-size:18px;font-weight:800;letter-spacing:-.2px;color:#fff;
}
.cookie-banner-text{
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:14.5px;line-height:1.55;
}
.cookie-banner-text .cookie-link{
  color:#9be7b8;text-decoration:underline;font-weight:600;
}
.cookie-banner-text .cookie-link:hover{color:#fff}
.cookie-banner-options{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.cookie-option{
  display:flex;align-items:flex-start;gap:10px;
  padding:14px 16px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  cursor:pointer;
  transition:background-color .25s ease, border-color .25s ease;
}
.cookie-option:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.18)}
.cookie-option input[type="checkbox"]{
  width:18px;height:18px;flex:0 0 18px;margin-top:2px;
  accent-color:#28b66d;cursor:pointer;
}
.cookie-option input[disabled]{cursor:not-allowed;opacity:.7}
.cookie-option > div{display:flex;flex-direction:column;gap:2px;min-width:0}
.cookie-option strong{font-size:14px;font-weight:700;color:#fff}
.cookie-option span{font-size:12.5px;color:rgba(255,255,255,.66);line-height:1.45}
.cookie-banner-actions{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  justify-content:flex-end;
}
.cookie-btn{
  appearance:none;border:0;cursor:pointer;
  font-family:inherit;font-size:14.5px;font-weight:700;
  border-radius:12px;
  padding:13px 22px;
  transition:transform .2s ease, box-shadow .25s ease, background-color .25s ease, color .25s ease, border-color .25s ease, opacity .2s ease;
  letter-spacing:.01em;
}
.cookie-btn:focus-visible{outline:3px solid rgba(155,231,184,.55);outline-offset:3px}
.cookie-btn-primary{
  background:linear-gradient(135deg,#28b66d,#9be7b8);
  color:#0d2419;
  box-shadow:0 12px 26px rgba(40,182,109,.32);
}
.cookie-btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(40,182,109,.42);filter:brightness(1.05)}
.cookie-btn-ghost{
  background:transparent;color:#fff;
  border:1.5px solid rgba(255,255,255,.55);
}
.cookie-btn-ghost:hover{background:rgba(255,255,255,.10);border-color:#fff}
.cookie-btn-link{
  background:transparent;color:#9be7b8;
  text-decoration:underline;text-underline-offset:3px;
  padding:13px 10px;
}
.cookie-btn-link:hover{color:#fff}
.cookie-btn[hidden]{display:none}
.cookie-banner.is-settings .cookie-banner-actions{justify-content:space-between}

@media (max-width:760px){
  .cookie-banner{
    left:10px;right:10px;bottom:10px;
    border-radius:20px;
  }
  .cookie-banner-inner{padding:20px}
  .cookie-banner-main{gap:12px}
  .cookie-banner-icon{width:38px;height:38px;flex:0 0 38px;border-radius:12px}
  .cookie-banner-icon svg{width:20px;height:20px}
  .cookie-banner-title{font-size:16.5px}
  .cookie-banner-text{font-size:13.5px}
  .cookie-banner-options{
    grid-template-columns:1fr;
    gap:8px;
    margin-top:14px;
  }
  .cookie-banner-actions{
    flex-direction:column-reverse;
    align-items:stretch;
    gap:8px;
    margin-top:14px;
  }
  .cookie-btn{width:100%;padding:14px 18px;text-align:center;justify-content:center;display:inline-flex;align-items:center}
  .cookie-btn-link{order:99}
}
@media (max-width:380px){
  .cookie-banner{left:8px;right:8px;bottom:8px}
  .cookie-banner-inner{padding:18px}
}
@media (prefers-reduced-motion:reduce){
  .cookie-banner,.cookie-btn,.cookie-option{transition:none}
}

/* Wenn der Cookie-Banner aktiv ist, FAB ausblenden, damit nichts überlagert wird */
body.si-cookie-active .wa-fab{
  opacity:0;
  pointer-events:none;
  transform:translateY(10px) scale(.94);
  animation:none;
}

/* =============================================================
   HOMEPAGE — Overlay-Header, Scroll-Logik, Mobile Bottombar
   Scope: body.home  —  alle anderen Seiten bleiben unberührt
   ============================================================= */

/* ---- Header: transparent, fixiert, slide-fähig ---- */
.home .site-header{
  position:fixed;
  top:0;left:0;right:0;width:100%;
  z-index:1000;
  background:transparent;
  border-bottom:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  will-change:transform;
  transition:background-color .3s ease, box-shadow .3s ease, transform .38s cubic-bezier(.4,.04,.16,1);
}
/* slide-up beim Runterscrollen */
.home .site-header.is-hidden{transform:translateY(-100%)}
/* Solid-BG: nur wenn die Hero verlassen UND hoch-gescrollt */
.home .site-header.has-bg{
  background:#1b4332;
  box-shadow:0 8px 24px rgba(7,16,12,.36);
}
/* Menü offen → Header NIE wegschieben */
body.menu-open .home .site-header{transform:none !important}

/* ---- Logo scharf auf Tafel ---- */
.home .brand img{height:50px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.30))}
@media (min-width:1024px){.home .brand img{height:54px}}

/* ---- Nav-Links immer weiß ---- */
.home .nav-link,.home .nav-link.active{color:#fff}
.home .nav-link:hover{background:rgba(255,255,255,.12);color:#fff;transform:translateY(-1px)}
.home .nav-link:after{background:linear-gradient(90deg,#fff,#cbeed9)}
.home .nav-link.active{background:rgba(255,255,255,.10)}

/* ---- CTA-Pill: weiß/grün ---- */
.home .nav-cta{background:#fff;color:#1b4332;box-shadow:0 10px 26px rgba(0,0,0,.18)}
.home .nav-cta:hover{box-shadow:0 14px 32px rgba(0,0,0,.26);transform:translateY(-2px)}

/* ---- Hamburger-Toggle: immer weiße Striche ---- */
.home .nav-toggle{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.32);box-shadow:none}
.home .nav-toggle span{background:#fff}
.home .nav-toggle:hover{background:rgba(255,255,255,.24);border-color:rgba(255,255,255,.5)}
.home .nav-toggle[aria-expanded="true"]{background:#fff;border-color:rgba(255,255,255,.6)}
.home .nav-toggle[aria-expanded="true"] span{background:#1b4332}

/* ---- DESKTOP TOPBAR (nur ≥ 1024px) ---- */
.topbar{display:none}
@media (min-width:1024px){
  .home .topbar{
    display:flex;align-items:center;justify-content:space-between;gap:24px;
    padding:7px 28px;
    background:rgba(7,16,12,.40);
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    color:#f5fbf8;font-size:13px;
    border-bottom:1px solid rgba(255,255,255,.08);
    transition:background-color .3s ease;
  }
  .home .site-header.has-bg .topbar{background:rgba(7,16,12,.55)}
  .home .topbar-left,.home .topbar-right{display:flex;align-items:center;gap:18px}
  .home .topbar a{
    color:#fff;font-weight:600;display:inline-flex;align-items:center;gap:8px;
    text-decoration:none;opacity:.92;transition:opacity .2s ease,transform .2s ease;white-space:nowrap;
  }
  .home .topbar a:hover{opacity:1;transform:translateY(-1px)}
  .home .topbar svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
}

/* ---- MOBILE STICKY BOTTOM-BAR (< 1024px) — global ---- */
/* Basis: standardmäßig versteckt (rechtliche & sonstige Seiten ohne Klasse) */
.mobile-bottombar{display:none !important}
/* Aktiv auf Home und allen Subpages mit has-bottombar */
body.home .mobile-bottombar,
body.has-bottombar .mobile-bottombar{
  display:flex !important;
  position:fixed;
  left:0;right:0;bottom:0;
  min-height:calc(60px + env(safe-area-inset-bottom));
  z-index:9999;
  background:#1b4332;
  box-shadow:0 -8px 24px rgba(7,16,12,.36);
  border-top:1px solid rgba(255,255,255,.08);
  align-items:center;justify-content:space-between;gap:10px;
  padding:0 16px env(safe-area-inset-bottom);
  color:#fff;
  opacity:0;
  transform:translateY(110%);
  pointer-events:none;
  transition:opacity .3s ease, transform .38s cubic-bezier(.4,.04,.16,1);
}
body.home.bar-visible .mobile-bottombar,
body.has-bottombar.bar-visible .mobile-bottombar{
  opacity:1 !important;
  transform:translateY(0) !important;
  pointer-events:auto !important;
}
/* End-of-Page: sobald Footer sichtbar wird → Bar wieder weg,
   damit Impressum/Datenschutz/Links klickbar sind */
body.bar-visible.footer-visible .mobile-bottombar{
  opacity:0 !important;
  transform:translateY(110%) !important;
  pointer-events:none !important;
}
/* Auf Desktop wieder verstecken */
@media (min-width:1024px){
  body.home .mobile-bottombar,
  body.has-bottombar .mobile-bottombar{display:none !important}
}
.mobile-bottombar a{text-decoration:none;font-weight:700}
.mobile-bottombar-call{
  display:inline-flex;align-items:center;gap:9px;
  color:#fff;font-size:14.5px;padding:10px 8px;border-radius:12px;
  transition:background-color .2s ease;
}
.mobile-bottombar-call:active{background:rgba(255,255,255,.10)}
.mobile-bottombar-call svg{
  width:22px;height:22px;fill:none;stroke:#bff0d5;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;
}
.mobile-bottombar-num{letter-spacing:.01em}
.mobile-bottombar-cta{
  background:#fff;color:#1b4332;
  padding:11px 18px;border-radius:999px;font-size:14px;font-weight:800;
  box-shadow:0 8px 18px rgba(0,0,0,.20);
  display:inline-flex;align-items:center;gap:8px;letter-spacing:.01em;
  transition:transform .15s ease,box-shadow .2s ease;
}
.mobile-bottombar-cta:active{transform:scale(.97)}
.mobile-bottombar-cta svg{
  width:14px;height:14px;fill:none;stroke:#1b4332;
  stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;
}
/* Body-Padding nur wenn Bar sichtbar */
body.home,body.has-bottombar{padding-bottom:0}
@media (max-width:1023px){
  body.home.bar-visible,
  body.has-bottombar.bar-visible{padding-bottom:calc(60px + env(safe-area-inset-bottom))}
}
/* WA-FAB synkronisiert (Mobile) */
@media (max-width:1023px){
  body.home .wa-fab,
  body.has-bottombar .wa-fab{
    bottom:20px !important;
    transition:transform .25s var(--ease),box-shadow .25s var(--ease),
               opacity .25s var(--ease),bottom .38s cubic-bezier(.4,.04,.16,1) !important;
  }
  body.home.bar-visible .wa-fab,
  body.has-bottombar.bar-visible .wa-fab{bottom:80px !important}
  /* Footer im Viewport → WA-FAB zurück auf 20px */
  body.bar-visible.footer-visible .wa-fab{bottom:20px !important}
}
/* Cookie-Banner über der Bar */
body.home.bar-visible .cookie-banner,
body.has-bottombar.bar-visible .cookie-banner{
  bottom:calc(70px + env(safe-area-inset-bottom)) !important;
}

/* ---- Mobile-Menü: immer vollständig sichtbar ---- */
@media (max-width:900px){.home .mobile-nav{inset:82px 0 auto 0}}
@media (max-width:760px){.home .mobile-nav{inset:76px 0 auto 0}}

/* =============================================================
   SUBPAGE-HEADER — Solid Schülerinsel-Grün
   Greift auf body.subpage (von site-ui.js gesetzt)
   ============================================================= */
body.subpage .site-header{
  position:fixed;
  top:0;left:0;right:0;
  width:100%;
  z-index:1000;
  background:#1b4332 !important;
  border-bottom:0 !important;
  box-shadow:0 6px 18px rgba(7,16,12,.18);
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  will-change:transform;
  transition:transform .38s cubic-bezier(.4,.04,.16,1), box-shadow .3s ease;
}
body.subpage .site-header.is-hidden{transform:translateY(-100%)}
body.subpage.menu-open .site-header{transform:none !important}
/* Logo weiß (assets/logo.png ist bereits weiß) */
body.subpage .brand img{
  height:50px;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.30));
}
@media (min-width:1024px){body.subpage .brand img{height:54px}}
/* Nav-Links weiß */
body.subpage .nav-link,
body.subpage .nav-link.active{color:#fff}
body.subpage .nav-link:hover{background:rgba(255,255,255,.12);color:#fff;transform:translateY(-1px)}
body.subpage .nav-link:after{background:linear-gradient(90deg,#fff,#cbeed9)}
body.subpage .nav-link.active{background:rgba(255,255,255,.10)}
/* CTA-Pill: weiß mit grünem Text */
body.subpage .nav-cta{
  background:#fff;
  color:#1b4332;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
body.subpage .nav-cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.26)}
/* Hamburger-Toggle: weiße Striche */
body.subpage .nav-toggle{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.32);
  box-shadow:none;
}
body.subpage .nav-toggle span{background:#fff}
body.subpage .nav-toggle:hover{background:rgba(255,255,255,.24);border-color:rgba(255,255,255,.5)}
body.subpage .nav-toggle[aria-expanded="true"]{background:#fff;border-color:rgba(255,255,255,.6)}
body.subpage .nav-toggle[aria-expanded="true"] span{background:#1b4332}

/* Damit der Content nicht hinter dem fixierten Header verschwindet */
body.subpage{padding-top:74px}
@media (min-width:1024px){body.subpage{padding-top:86px}}
@media (max-width:760px){body.subpage{padding-top:64px}}

/* =============================================================
   GLASSMORPHISM für ALLE Hero-Info-Karten (auch Hero-Stat)
   ============================================================= */
@media (max-width:900px){
  .hero-stat,
  .hero-section-card{
    background:rgba(255,255,255,.70) !important;
    backdrop-filter:blur(8px) saturate(120%) !important;
    -webkit-backdrop-filter:blur(8px) saturate(120%) !important;
    border:1px solid rgba(255,255,255,.55) !important;
    box-shadow:0 6px 18px rgba(7,16,12,.18) !important;
  }
}

/* =============================================================
   "Typische Fächer" — Heading mit Double-Underline
   ============================================================= */
.subjects-strip-head{
  margin:0 0 18px;
  text-align:center;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-style:italic;
  font-weight:800;
  font-size:clamp(22px,3.4vw,32px);
  color:#1b4332;
  line-height:1.1;
  letter-spacing:-.4px;
  position:relative;
  display:inline-block;
  padding-bottom:14px;
}
.subjects-strip .subjects-strip-headwrap{
  text-align:center;
  margin:0 0 22px;
}
/* Double-Underline */
.subjects-strip-head:before,
.subjects-strip-head:after{
  content:"";
  position:absolute;
  left:50%;
  width:64px;
  height:3px;
  border-radius:999px;
  background:#1b4332;
  transform:translateX(-50%);
}
.subjects-strip-head:before{bottom:6px}
.subjects-strip-head:after{
  bottom:0;
  width:30px;
  background:#28b66d;
  transform:translateX(calc(-50% + 24px));
}

/* =============================================================
   FÄCHER-SLIDER auf Mobile — 2 Karten gleichzeitig sichtbar
   ============================================================= */
@media (max-width:760px){
  .subjects-strip{padding:8px 0 22px}
  .subjects-strip .container{padding-right:0 !important;padding-left:18px !important}
  .subjects-strip .subjects-strip-grid{
    display:grid !important;
    grid-template-columns:none !important;
    grid-auto-flow:column;
    grid-auto-columns:calc((100% - 14px)/2 - 9px);  /* 2 Karten + Peek */
    gap:10px;
    overflow-x:auto;
    overflow-y:visible;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:6px 18px 14px 0;
    scroll-padding-left:0;
  }
  .subjects-strip .subjects-strip-grid::-webkit-scrollbar{display:none}
  .subjects-strip-grid .subject-quick-card{
    scroll-snap-align:start;
    padding:14px 12px;
    border-radius:16px;
    min-width:0;
  }
  .subject-quick-card .icon{width:38px;height:38px;border-radius:12px}
  .subject-quick-card .icon svg{width:18px;height:18px}
  .subject-quick-label{font-size:13.5px}
}

/* =============================================================
   GEZIELTE MOBILE-FIXES (überschreiben ältere Regeln)
   ============================================================= */

/* 1) Mobile-Menü „Kostenlose Probestunde" Button: Schülerinsel-Grün */
.mobile-cta{
  background:linear-gradient(135deg,#1b4332 0%,#28b66d 100%) !important;
  color:#fff !important;
  box-shadow:0 14px 28px rgba(27,67,50,.30) !important;
  text-align:center;
  font-weight:800;
  letter-spacing:.01em;
}
.mobile-cta:hover{filter:brightness(1.06)}

/* 2) coach-werden.html – Mobile-Zentrierung der Hero-Sektion */
@media (max-width:900px){
  .hero-coach .coach-hero-grid{
    text-align:center;
    justify-items:center;
    align-items:center;
  }
  .hero-coach .coach-copy{
    text-align:center;
    margin:0 auto;
    max-width:640px;
  }
  .hero-coach .coach-copy h1,
  .hero-coach .coach-copy .lead,
  .hero-coach .coach-copy p{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
  }
  .hero-coach .coach-copy h1{max-width:18ch}
  .hero-coach .coach-copy .kicker{margin:0 auto}
  .hero-coach .coach-copy .btn-row{
    justify-content:center;
    align-items:center;
    width:100%;
    max-width:420px;
    margin-left:auto;
    margin-right:auto;
  }
  .hero-coach .hero-stats.coach-proof{
    grid-template-columns:1fr !important;
    text-align:center;
    width:100%;
    max-width:420px;
    margin:18px auto 0;
    gap:10px;
  }
  .hero-coach .hero-stats.coach-proof .hero-stat{
    text-align:center;
    width:100%;
    margin:0;
  }
  .hero-coach .hero-stats.coach-proof .hero-stat strong,
  .hero-coach .hero-stats.coach-proof .hero-stat span{
    display:block;
    text-align:center;
  }

  /* Bild + Float-Karten zentriert, kein Weißraum rechts */
  .hero-coach .visual-wrap.coach-visual-wrap{
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
    max-width:520px;
    margin:0 auto;
    min-height:auto;
    padding:0;
  }
  .hero-coach .coach-visual-card{
    width:100%;
    max-width:100%;
    margin:0 auto;
    padding:14px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
  }
  .hero-coach .coach-visual-card img{
    width:100%;
    max-width:380px;
    height:auto;
    margin:0 auto;
    display:block;
  }
  /* Sprechblasen werden auf Mobile sauber unter dem Bild zentriert gestapelt */
  .hero-coach .coach-float{
    position:static !important;
    inset:auto !important;
    transform:none !important;
    animation:none !important;
    width:100%;
    max-width:340px;
    margin:0 auto !important;
    text-align:center;
  }
  .hero-coach .coach-float strong,
  .hero-coach .coach-float small{display:block;text-align:center}

  /* Hero-Orbs auf Mobile dezenter, damit sie nicht über den Rand hinausragen */
  .hero-coach .hero-orb{filter:blur(28px);opacity:.5}
  .hero-coach .hero-orb-a{right:-40px;top:-40px;width:160px;height:160px}
  .hero-coach .hero-orb-b{left:-40px;bottom:-40px;width:160px;height:160px}
}

/* 4) Anti-Horizontal-Scroll (zusätzliche Sicherung für 390–430 px) */
html,body{
  width:100%;
  max-width:100vw;
  overflow-x:clip;       /* moderne Browser */
}
@supports not (overflow-x: clip){
  html,body{overflow-x:hidden}
}
*{min-width:0}            /* verhindert, dass flex-Kinder explodieren */
.container,
header,footer,section,
.hero,.hero-grid,.coach-hero-grid,
.contact-grid,.booking-layout,
.bewerbung-panel,.booking-panel{
  max-width:100%;
}
@media (max-width:760px){
  /* sichere Container-Padding */
  .container{
    padding-left:max(18px, env(safe-area-inset-left));
    padding-right:max(18px, env(safe-area-inset-right));
  }
  /* nichts darf via translate o.Ä. aus dem Viewport rausragen */
  .visual-card,.visual-glow-card,
  .coach-visual-wrap,.coach-visual-card,
  .float-card,.coach-float,
  .booking-panel,.bewerbung-panel,
  .calendar,.contact-bubble,.whatsapp-bubble{
    transform:none !important;
  }
  /* Inline-styles aus den HTML-Dateien neutralisieren, falls sie quetschen */
  .booking-panel[style*="padding: 30px"],
  .calendar[style*="padding: 30px"]{padding:18px !important}
}

/* =============================================================
   FINETUNING NACH SCREENSHOTS — kompaktere Mobile-Abstände
   ============================================================= */
@media (max-width:760px){

  /* 1) FOOTER: weißer Streifen weg, Spacing zwischen Button & Nav-Links */
  body{padding-bottom:0 !important}
  footer{background:#1b4332;margin-bottom:0;padding-bottom:env(safe-area-inset-bottom)}
  .footer-shell{padding:22px 0 18px !important}
  .footer-brand{margin-bottom:8px}
  .footer-cta{margin-bottom:18px !important}
  .footer-grid{gap:32px !important}
  .footer-col h4{margin-top:4px;margin-bottom:14px}
  .footer-links{gap:10px}

  /* 2) SEKTIONS-ABSTÄNDE deutlich kompakter */
  .section{padding:36px 0 !important}
  .section.soft{padding:36px 0 !important}
  .section + .section,.section.soft + .section,
  .section + .section.soft{padding-top:30px !important}
  .section-head{margin-bottom:16px}
  .cta-band{padding:24px !important;margin-top:0}

  /* 3) BUT-Sektion: Headline-Breite freigeben */
  .split.split-balanced h2,
  .split h2[style*="max-width:11ch"]{
    max-width:none !important;
    font-size:clamp(26px,6.6vw,32px) !important;
    line-height:1.12 !important;
    letter-spacing:-.6px;
  }
  .split.split-balanced{gap:20px}

  /* 4) HERO: weniger Luft oben, Badge & Headline rücken hoch */
  .hero,.hero-home{padding-top:24px !important;padding-bottom:18px !important}
  .hero-coach{padding-top:24px !important;padding-bottom:18px !important}
  .site-header + .hero,
  .site-header + section.hero{margin-top:0}
  .hero .hero-grid,.hero-home .hero-grid{gap:18px}
  .hero .kicker{margin-bottom:10px}
  .hero h1{margin-top:6px;margin-bottom:10px}
  .hero .lead{margin-top:0}

  /* Header etwas kompakter, sodass Hero näher rückt */
  .site-header .nav-inner{padding:8px 14px}
  .brand img{height:42px}
}

/* Sehr kleine Geräte: Footer-CTA noch etwas Luft, Sections enger */
@media (max-width:380px){
  .section{padding:30px 0 !important}
  .footer-shell{padding:18px 0 14px !important}
  .footer-cta{margin-bottom:14px !important}
}

/* =============================================================
   HERO-SECTION — Responsive Backgrounds (Mobile → Desktop swap),
   Badge zentriert oben, Text links-bündig,
   Mädchen unten rechts bleibt frei und scharf sichtbar.
   ============================================================= */
.hero-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:100vh;
  /* Mobile-First: kleines Bild für Speed */
  background-image:url("assets/hero-mobile.webp");
  background-size:cover;
  background-position:center bottom;
  background-repeat:no-repeat;
  background-color:#2a7e62;
  padding:clamp(100px,11vw,150px) 0 clamp(360px,42vw,520px);
  display:flex;
  align-items:flex-start;
  color:#fff;
}
/* Desktop / Laptop: hochauflösendes Bild für Schärfe */
@media (min-width:1024px){
  .hero-section{
    background-image:url("assets/hero-desktop.webp");
    background-position:center bottom;
  }
}
/* Retina-/HiDPI-Screens: zwingt schärfere Variante schon ab Tablet */
@media (min-resolution:1.5dppx) and (min-width:768px){
  .hero-section{background-image:url("assets/hero-desktop.webp")}
}
.hero-section-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.20) 28%, rgba(0,0,0,0) 55%, rgba(0,0,0,0) 80%);
  z-index:1;
  pointer-events:none;
}

/* ----- Content Container ----- */
.hero-section-content{
  position:relative;
  z-index:3;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-start; /* Hauptblock links-bündig */
}
/* Desktop: Text links, max 50% Breite, großzügiger Innen-Abstand */
@media (min-width:1024px){
  .hero-section-content{
    max-width:none;
    padding-left:8%;
    padding-right:8%;
  }
  .hero-section-main{
    max-width:min(560px, 50%);
  }
  .hero-section-badge{
    margin-left:0;
    align-self:flex-start;       /* Badge bleibt im linken Block */
  }
}
@media (min-width:1280px){
  .hero-section-content{
    padding-left:10%;
    padding-right:10%;
  }
  .hero-section-main{max-width:min(620px, 50%)}
}

/* ----- Badge oben zentriert ----- */
.hero-section-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 22px;
  background:#fff;
  color:#117946;
  border-radius:999px;
  font-weight:700;
  font-size:14px;
  letter-spacing:.01em;
  box-shadow:0 14px 30px rgba(0,0,0,.30), 0 1px 0 rgba(255,255,255,.4) inset;
  border:1px solid rgba(255,255,255,.6);
  white-space:nowrap;
  margin:0 auto 28px;       /* horizontal zentriert */
  align-self:center;
}
.hero-section-badge svg{
  width:16px;height:16px;
  stroke:#117946;fill:none;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
}

/* ----- Linksbündiger Hauptblock ----- */
.hero-section-main{
  text-align:left;
  max-width:640px;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

/* ----- Headline ----- */
.hero-section-title{
  margin:0 0 18px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-size:clamp(36px,5.4vw,68px);
  font-weight:800;
  line-height:1.04;
  letter-spacing:-1.6px;
  color:#fff;
  text-align:left;
  text-shadow:0 2px 14px rgba(0,0,0,.45), 0 0 1px rgba(255,255,255,.3);
}
.hero-section-title > span{display:block}
/* Grün-Akzent für Schlüsselworte (Struktur · System) — passt zum Schülerinsel-Look */
.hero-section-title .accent{
  display:inline;
  color:#9be7b8;
  background:linear-gradient(180deg,#bff5d3 0%,#7ad99c 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  text-shadow:0 2px 14px rgba(11,80,46,.40);
  font-weight:900;
  letter-spacing:-1.4px;
}
@supports not (background-clip: text){
  .hero-section-title .accent{
    -webkit-text-fill-color:#9be7b8;color:#9be7b8;background:none;
  }
}

/* ----- Lead ----- */
.hero-section-lead{
  margin:0 0 26px;
  font-size:clamp(16px,1.15vw,18px);
  line-height:1.6;
  color:rgba(255,255,255,.94);
  text-align:left;
  max-width:560px;
  text-shadow:0 1px 10px rgba(0,0,0,.4);
}

/* ----- Buttons (links, horizontal auf Desktop) ----- */
.hero-section-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:18px;
  justify-content:flex-start;
}
.hero-section-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:15px 28px;
  border-radius:999px;
  font-weight:700;
  font-size:15px;
  letter-spacing:.01em;
  text-decoration:none;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background-color .25s var(--ease), color .25s var(--ease), filter .25s var(--ease);
  white-space:nowrap;
}
.hero-section-btn-primary{
  background:linear-gradient(135deg,#169c5b,#28b66d);
  color:#fff;
  box-shadow:0 16px 34px rgba(11,80,46,.55);
}
.hero-section-btn-primary:hover{transform:translateY(-2px);box-shadow:0 24px 42px rgba(11,80,46,.65);filter:brightness(1.06)}
.hero-section-btn-secondary{
  background:#fff;
  color:#0e1d16;
  border:1px solid rgba(255,255,255,.85);
  box-shadow:0 12px 26px rgba(0,0,0,.25);
}
.hero-section-btn-secondary:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(0,0,0,.32);background:#f8fbf9}

/* ----- Google-Bewertungs-Pill (dezent, schwebend, links) ----- */
.hero-section-google{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:9px 16px;
  background:rgba(255,255,255,.94);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  border-radius:999px;
  text-decoration:none;
  color:#0e1d16;
  box-shadow:0 10px 24px rgba(0,0,0,.20);
  border:1px solid rgba(255,255,255,.55);
  transition:transform .25s var(--ease), box-shadow .25s var(--ease);
  margin-bottom:20px;
  align-self:flex-start;
}
.hero-section-google:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(0,0,0,.28)}
.hero-section-google-stars{display:inline-flex;align-items:center;gap:1px}
.hero-section-google-stars svg{
  width:14px;height:14px;
  fill:#fbbf24;
  stroke:#f59e0b;
  stroke-width:1.4;
  stroke-linejoin:round;
}
.hero-section-google-text{font-weight:700;font-size:13.5px;color:#0e1d16;letter-spacing:.01em}

/* ----- Info-Cards (kompakt, nebeneinander, links) ----- */
.hero-section-cards{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-start;
}
.hero-section-card{
  background:#fff;
  border-radius:14px;
  padding:10px 16px;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.5);
  display:flex;
  flex-direction:column;
  gap:1px;
  min-width:0;
}
.hero-section-card strong{font-size:14.5px;font-weight:800;color:#0e1d16;letter-spacing:-.2px;line-height:1.2}
.hero-section-card span{font-size:12px;color:rgba(13,28,21,.65);line-height:1.35}

/* =============================================================
   HERO-SECTION — Mobile (Bild unten frei, Content oben)
   ============================================================= */
@media (max-width:980px){
  .hero-section{
    padding:clamp(70px,16vw,100px) 0 clamp(280px,55vw,420px);
  }
  .hero-section-main{max-width:560px}
}
@media (max-width:760px){
  .hero-section{
    /* 70px top = 85px – 15px (Content rückt nach oben) */
    padding:70px 0 clamp(300px,72vw,460px) !important;
    min-height:auto;
    /* Gesicht zwischen Headline & Karten freistellen */
    background-position:center 25% !important;
  }
  .hero-section-overlay{
    background:linear-gradient(180deg,rgba(0,0,0,.52) 0%,rgba(0,0,0,.28) 20%,rgba(0,0,0,.06) 48%,rgba(0,0,0,0) 68%);
  }
  .hero-section-content{align-items:stretch}
  .hero-section-badge{
    font-size:11.5px;
    padding:6px 13px;
    margin:0 auto 10px;
    max-width:90%;
    text-align:center;
  }
  .hero-section-main{
    align-items:flex-start;
    width:100%;
    max-width:none;
  }
  .hero-section-title{
    font-size:clamp(22px,7vw,30px) !important;
    line-height:1.08;
    margin:8px 0 10px;
    letter-spacing:-.7px;
  }
  .hero-section-lead{
    font-size:13.5px;
    line-height:1.5;
    margin-bottom:12px;
    color:rgba(255,255,255,.95);
  }
  .hero-section-buttons{
    width:100%;
    flex-direction:column;
    gap:7px;
    margin-bottom:8px;
    max-width:none;
  }
  .hero-section-btn{
    width:100%;
    padding:11px 18px;
    font-size:14px;
    border-radius:13px;
  }
  .hero-section-google{
    margin-bottom:8px;
    padding:7px 12px;
  }
  .hero-section-google-text{font-size:12px}
  /* Glassmorphism-Karten — Gesicht scheint durch */
  .hero-section-cards{
    width:100%;
    gap:7px;
    margin-top:0;
  }
  .hero-section-card{
    flex:1 1 0;
    padding:7px 10px;
    border-radius:12px;
    background:rgba(255,255,255,.70) !important;
    backdrop-filter:blur(8px) saturate(120%);
    -webkit-backdrop-filter:blur(8px) saturate(120%);
    border:1px solid rgba(255,255,255,.55);
    box-shadow:0 6px 18px rgba(7,16,12,.18);
  }
  .hero-section-card strong{font-size:12.5px;color:#0f1f17}
  .hero-section-card span{
    font-size:10.5px;
    line-height:1.25;
    color:#1f2e26;
    /* sauberer Umbruch: bleibt im Box, ohne überzulaufen */
    word-break:keep-all;
    hyphens:auto;
  }
}
@media (max-width:380px){
  .hero-section{padding:66px 0 clamp(290px,85vw,420px) !important;background-position:center 25% !important}
  .hero-section-title{font-size:clamp(20px,7.5vw,26px) !important}
  .hero-section-lead{font-size:13px}
  .hero-section-card strong{font-size:12px}
  .hero-section-card span{font-size:10px}
}

/* ============================================================
   MATHEMATIK-SEITE (lokal & SEO-optimiert)
   ============================================================ */

/* Hero – zentrierter Stack-Layout */
.math-hero-centered{padding-bottom:32px}
.math-hero-stack{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:22px;
}
.math-hero-centered .math-hero-copy{
  max-width:820px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.math-hero-centered .kicker{margin-bottom:12px}
.math-hero-title{
  margin:0 0 14px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-size:clamp(28px,3.4vw,44px);
  line-height:1.08;
  letter-spacing:-.9px;
  color:#0d1f17;
  max-width:22ch;
  text-wrap:balance;
}
.math-hero-lead{
  font-size:clamp(15px,1.25vw,17px);
  line-height:1.62;
  color:#3a4a42;
  max-width:640px;
  margin:0 0 4px;
}
.math-hero-buttons{
  justify-content:center;
  margin-top:16px;
}
/* Horizontale USP-Leiste unter den Buttons – schlicht, ohne Box */
.math-hero-usp{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:6px 18px;
  margin-top:18px;
  padding:0;
  background:none;
  border:none;
  max-width:100%;
}
.math-hero-usp-item{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:13.5px;
  font-weight:600;
  color:#334;
  letter-spacing:.02em;
  white-space:nowrap;
}
.math-hero-usp-check{
  width:15px;height:15px;
  flex-shrink:0;
  color:#1b4332;
}
.math-hero-usp-sep{
  color:rgba(27,67,50,.32);
  font-weight:700;
  font-size:12px;
  user-select:none;
}
@media (max-width:640px){
  .math-hero-usp{
    flex-wrap:nowrap;
    justify-content:center;
    align-items:flex-start;
    gap:12px;
    width:100%;
    max-width:520px;
    margin-left:auto;
    margin-right:auto;
    padding:14px 6px 0;
  }
  .math-hero-usp-sep{display:none}
  .math-hero-usp-item{
    flex:1 1 0;
    min-width:0;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
    font-size:11.5px;
    line-height:1.35;
    white-space:normal;
    gap:6px;
    padding:0 2px;
    font-weight:600;
    color:#1b2c23;
  }
  .math-hero-usp-check{
    width:20px;height:20px;
    color:#2d6a4f;
    background:rgba(45,106,79,.10);
    border-radius:50%;
    padding:3px;
    box-sizing:border-box;
  }
}
@media (max-width:380px){
  .math-hero-usp{gap:8px;padding-top:10px}
  .math-hero-usp-item{font-size:10.5px;gap:5px}
  .math-hero-usp-check{width:18px;height:18px}
}

/* Hero-Photo */
.math-hero-photo{
  position:relative;
  margin:0;
  width:100%;
  max-width:900px;
  border-radius:22px;
  overflow:hidden;
  aspect-ratio:21/9;
  box-shadow:0 20px 52px rgba(7,16,12,.14);
  border:1px solid rgba(27,67,50,.10);
  background:#eef4f0;
}
.math-hero-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.math-hero-photo-caption{
  position:absolute;
  left:22px;bottom:22px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(27,67,50,.85);
  color:#fff;
  padding:9px 16px;
  border-radius:999px;
  font-size:13.5px;
  font-weight:600;
  letter-spacing:.1px;
  backdrop-filter:blur(6px) saturate(120%);
  -webkit-backdrop-filter:blur(6px) saturate(120%);
}
.math-hero-photo-dot{
  width:8px;height:8px;border-radius:50%;
  background:#23d274;
  box-shadow:0 0 0 4px rgba(35,210,116,.25);
}

/* Schul-Ticker direkt unter Hero */
.math-ticker-below-hero{
  padding:10px 0 14px !important;
  margin-top:-8px;
  background:linear-gradient(180deg,rgba(244,250,246,.95) 0%,#fff 100%);
  border-bottom:1px solid rgba(27,67,50,.08);
}
.math-ticker-below-hero .schools-ticker{
  padding:6px 0 4px;
  margin-top:0;
}

/* Schul-Ticker unter „Wir kennen Ihre Schule“ (Mathe-Seite & ähnliche Fächer-Layouts) */
.math-ticker-after-local{
  padding:18px 0 20px !important;
  margin:0;
  background:linear-gradient(180deg,#fff 0%,rgba(244,250,246,.96) 45%,#fff 100%);
  border-top:1px solid rgba(27,67,50,.08);
  border-bottom:1px solid rgba(27,67,50,.08);
}
.math-ticker-after-local .schools-ticker{
  padding:6px 0 4px;
  margin-top:0;
}

/* Mathe-Karten: Link unten ausrichten */
.math-page .schools-grid .school-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.math-page .school-list-note{
  margin:14px 0 0;
  font-size:13.5px;
  color:#1b4332;
  font-style:italic;
  font-weight:600;
}
.math-page .school-card-cta{
  margin-top:auto;
  padding-top:18px;
  margin-bottom:0;
}
.math-page .school-card-link{
  font-size:14px;
  font-weight:700;
  color:#1b4332;
  text-decoration:none;
  border-bottom:1px solid rgba(27,67,50,.25);
  transition:color .2s ease, border-color .2s ease;
}
.math-page .school-card-link:hover{
  color:#2d6a4f;
  border-color:#2d6a4f;
}
.math-themen-crosslinks{
  text-align:center;
  margin:22px 0 0;
  font-size:14px;
  color:#5a6c63;
}
.math-themen-crosslinks a{
  color:#1b4332;
  font-weight:600;
  text-decoration:none;
  border-bottom:1px solid rgba(27,67,50,.2);
}
.math-themen-crosslinks a:hover{
  color:#2d6a4f;
  border-color:#2d6a4f;
}

/* Lehrwerke-Info-Leiste – dezentes Vertrauenssignal unter den Experten-Karten */
.lehrwerke-bar{
  margin:26px auto 0;
  max-width:900px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 20px;
  border:1px solid rgba(27,67,50,.12);
  background:linear-gradient(180deg,rgba(244,250,246,.85),rgba(255,255,255,.92));
  border-radius:16px;
  box-shadow:0 6px 18px rgba(7,16,12,.04);
}
.lehrwerke-icon{
  flex-shrink:0;
  width:36px;height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:rgba(27,67,50,.08);
  color:#1b4332;
}
.lehrwerke-icon svg{width:20px;height:20px}
.lehrwerke-text{
  margin:0;
  font-size:14.5px;
  line-height:1.55;
  color:#3a4a42;
  letter-spacing:.1px;
}
.lehrwerke-text strong{
  color:#1b4332;
  font-weight:700;
  font-style:normal;
}
.lehrwerke-text em{font-style:italic}
@media (max-width:640px){
  .lehrwerke-bar{
    flex-direction:row;
    align-items:flex-start;
    gap:12px;
    padding:14px 16px;
    margin-top:22px;
    border-radius:14px;
  }
  .lehrwerke-icon{width:32px;height:32px;border-radius:10px}
  .lehrwerke-icon svg{width:18px;height:18px}
  .lehrwerke-text{font-size:13.5px;line-height:1.5}
}

/* Schulen-Ticker (Infinite-Scroll Vertrauens-Leiste) */
.schools-ticker{
  position:relative;
  overflow:hidden;
  width:100%;
  padding:14px 0 6px;
  margin-top:6px;
  /* Sanftes Aus-/Einblenden an den Rändern */
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 90px,#000 calc(100% - 90px),transparent 100%);
          mask-image:linear-gradient(to right,transparent 0,#000 90px,#000 calc(100% - 90px),transparent 100%);
}
.schools-ticker-track{
  display:flex;
  flex-wrap:nowrap;
  width:max-content;
  gap:12px;
  animation:ticker-scroll 45s linear infinite;
  will-change:transform;
}
.schools-ticker:hover .schools-ticker-track{
  animation-play-state:paused;
}
.schools-ticker-pill{
  flex-shrink:0;
  white-space:nowrap;
  background:#fff;
  border:1px solid rgba(27,67,50,.14);
  color:#1b4332;
  padding:11px 20px;
  border-radius:999px;
  font-size:14px;
  font-weight:600;
  letter-spacing:.1px;
  box-shadow:0 4px 14px rgba(7,16,12,.05);
  user-select:none;
}
@keyframes ticker-scroll{
  from{transform:translateX(0)}
  to  {transform:translateX(-50%)}
}
@media (prefers-reduced-motion: reduce){
  .schools-ticker-track{animation:none;justify-content:center;flex-wrap:wrap;width:auto}
  .schools-ticker{-webkit-mask-image:none;mask-image:none}
}
@media (max-width:760px){
  .schools-ticker{padding:10px 0 4px;
    -webkit-mask-image:linear-gradient(to right,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%);
            mask-image:linear-gradient(to right,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%);
  }
  .schools-ticker-track{gap:8px;animation-duration:35s}
  .schools-ticker-pill{padding:9px 14px;font-size:13px}
}

/* Topic-Listen in den 3 Experten-Karten */
.school-list-topics li{
  font-size:15px;
  line-height:1.55;
  margin-bottom:10px;
  padding-left:28px;
}
.school-list-topics li:last-child{margin-bottom:0}
.school-list-topics li strong{
  color:#1b4332;
  font-weight:700;
}

/* Lokale Expertise – zentrierte Section-Head */
.section-head-center{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  max-width:780px;
  margin:0 auto 28px;
}
.section-head-center .kicker{margin-bottom:14px}
.section-head-center h2{margin:0 0 14px}
.section-head-center p{
  color:#445;
  line-height:1.65;
  max-width:640px;
  margin:0;
}
.math-section-head p{color:#445;line-height:1.65}

.schools-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:8px;
}
.schools-grid--two{
  grid-template-columns:repeat(2,1fr);
  max-width:920px;
  margin-left:auto;
  margin-right:auto;
}
@media (max-width:760px){
  .schools-grid--two{grid-template-columns:1fr;gap:16px}
}
.school-card{
  background:#fff;
  border:1px solid rgba(27,67,50,.10);
  border-radius:20px;
  padding:28px 26px;
  box-shadow:0 12px 30px rgba(7,16,12,.06);
  display:flex;
  flex-direction:column;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.school-card:hover{
  transform:translateY(-3px);
  border-color:rgba(27,67,50,.20);
  box-shadow:0 20px 44px rgba(7,16,12,.10);
}
.school-card-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:16px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(27,67,50,.10);
}
.school-icon{
  width:48px;height:48px;
  flex-shrink:0;
  border-radius:14px;
  background:linear-gradient(135deg,#1b4332,#2d6a4f);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 18px rgba(27,67,50,.22);
}
.school-icon svg{width:24px;height:24px}
.school-tag{
  display:block;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#1b4332;
  margin-bottom:2px;
}
.school-card-head h3{
  font-size:clamp(17px,1.4vw,19px);
  color:#0d1f17;
  margin:0;
  font-weight:700;
}
.school-focus{
  font-size:14px;
  color:#445;
  line-height:1.55;
  margin:0 0 16px;
  background:rgba(27,67,50,.05);
  padding:10px 14px;
  border-radius:10px;
  border-left:3px solid #1b4332;
}
.school-focus strong{color:#1b4332;font-weight:700}
.school-list{
  list-style:none;
  padding:0;margin:0;
  display:flex;flex-direction:column;gap:8px;
}
.school-list li{
  position:relative;
  padding-left:26px;
  color:#243228;
  font-size:14.5px;
  line-height:1.45;
}
.school-list li:before{
  content:"";
  position:absolute;left:0;top:4px;
  width:16px;height:16px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b4332' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center/contain no-repeat;
}
.school-list-note{
  margin:14px 0 0;
  font-size:13.5px;
  color:#1b4332;
  font-style:italic;
  font-weight:600;
  letter-spacing:.1px;
}

/* Karte 3: Beschreibung + Pills statt langer Liste */
.school-card-note{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-top:4px;
}
.school-card-note p{
  margin:0;
  font-size:15px;
  line-height:1.6;
  color:#243228;
}
.school-card-note p strong{color:#1b4332;font-weight:700}
.school-pills{
  list-style:none;
  padding:0;margin:6px 0 0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.school-pills li{
  background:rgba(27,67,50,.08);
  color:#1b4332;
  font-weight:700;
  font-size:12.5px;
  letter-spacing:.5px;
  text-transform:uppercase;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(27,67,50,.12);
}

/* Unser Ansatz */
.approach-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:8px;
}
.approach-card{
  background:#fff;
  border:1px solid rgba(27,67,50,.08);
  border-radius:20px;
  padding:30px 26px;
  box-shadow:0 12px 28px rgba(7,16,12,.05);
  transition:transform .25s ease, box-shadow .25s ease;
  text-align:left;
}
.approach-card:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 48px rgba(7,16,12,.10);
}
.approach-icon{
  width:54px;height:54px;
  border-radius:14px;
  background:linear-gradient(135deg,#1b4332 0%,#2d6a4f 100%);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:18px;
  box-shadow:0 10px 22px rgba(27,67,50,.22);
}
.approach-icon svg{width:26px;height:26px}
.approach-card h3{
  font-size:clamp(18px,1.6vw,21px);
  color:#0d1f17;
  margin:0 0 10px;
  font-weight:700;
  letter-spacing:-.2px;
}
.approach-card p{
  color:#3a4a42;
  line-height:1.65;
  font-size:15.5px;
  margin:0;
}

/* Cross-Selling Block */
.crossell-card{
  display:grid;
  grid-template-columns:88px 1fr;
  gap:26px;
  align-items:center;
  background:linear-gradient(135deg,#fff 0%,#f4faf6 100%);
  border:1px solid rgba(27,67,50,.12);
  border-left:6px solid #1b4332;
  border-radius:20px;
  padding:34px 38px;
  box-shadow:0 18px 50px rgba(7,16,12,.08);
}
.crossell-icon{
  width:72px;height:72px;
  border-radius:18px;
  background:linear-gradient(135deg,#1b4332,#2d6a4f);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 24px rgba(27,67,50,.28);
  flex-shrink:0;
}
.crossell-icon svg{width:34px;height:34px}
.crossell-content .kicker{margin-bottom:6px}
.crossell-content h2{
  margin:6px 0 8px;
  color:#1b4332;
  font-size:clamp(22px,2.2vw,28px);
  letter-spacing:-.3px;
}
.crossell-content p{margin:0 0 18px;color:#334;line-height:1.6}
.crossell-buttons{margin-top:14px}

/* Final CTA */
.math-final-cta{
  max-width:920px;
  margin:0 auto;
  background:linear-gradient(135deg,#1b4332 0%,#2d6a4f 100%);
  border-radius:24px;
  padding:48px 48px;
  color:#fff;
  box-shadow:0 22px 60px rgba(27,67,50,.28);
  position:relative;
  overflow:hidden;
}
.math-final-cta:before{
  content:"";
  position:absolute;right:-60px;top:-60px;
  width:260px;height:260px;
  background:radial-gradient(circle at center, rgba(255,255,255,.12), transparent 70%);
  pointer-events:none;
}
.math-final-cta-inner{position:relative}
.math-final-cta .kicker{
  color:#a7e6c4;
  background:rgba(255,255,255,.10);
  padding:5px 14px;
  border-radius:999px;
  display:inline-block;
  margin-bottom:14px;
}
.math-final-cta h2{
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-size:clamp(26px,3vw,38px);
  line-height:1.15;
  letter-spacing:-.5px;
  color:#fff;
  margin:0 0 14px;
}
.math-final-cta p{
  font-size:clamp(15px,1.3vw,17px);
  color:rgba(255,255,255,.92);
  line-height:1.65;
  margin:0 0 24px;
  max-width:640px;
}
.math-final-buttons .btn-primary{
  background:#fff;
  color:#1b4332;
  border:none;
  font-weight:800;
  box-shadow:0 10px 22px rgba(0,0,0,.18);
}
.math-final-buttons .btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(0,0,0,.24);
}
.math-final-buttons .btn-secondary{
  background:transparent;
  color:#fff;
  border:2px solid rgba(255,255,255,.55);
}
.math-final-buttons .btn-secondary:hover{
  background:rgba(255,255,255,.10);
  border-color:#fff;
}

/* Mobile */
@media (max-width:960px){
  .math-hero-stack{gap:18px}
  .math-hero-photo{aspect-ratio:16/10;max-width:680px;border-radius:22px}
  .math-hero-title{max-width:none;font-size:clamp(26px,4.6vw,36px)}
  .schools-grid{grid-template-columns:1fr 1fr}
  .approach-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .math-hero-centered{padding-bottom:24px}
  .math-hero-photo{aspect-ratio:5/4;border-radius:18px}
  .math-hero-photo-caption{left:12px;bottom:12px;padding:6px 12px;font-size:12px}
  .math-hero-buttons{flex-direction:column;gap:10px;width:100%}
  .math-hero-buttons .btn{width:100%;justify-content:center}
  .section-head-center{margin-bottom:22px}
  .schools-grid{grid-template-columns:1fr;gap:16px}
  .school-card{padding:22px 20px;border-radius:18px}
  .school-list-topics li{font-size:14.5px}
  .approach-grid{grid-template-columns:1fr;gap:16px}
  .approach-card{padding:24px 20px;border-radius:18px}
  .crossell-card{
    grid-template-columns:1fr;
    padding:24px 22px;
    border-radius:18px;
    gap:16px;
    text-align:left;
  }
  .crossell-icon{width:56px;height:56px;border-radius:14px}
  .crossell-icon svg{width:26px;height:26px}
  .crossell-buttons{flex-direction:column;gap:10px}
  .crossell-buttons .btn{width:100%;justify-content:center}
  .math-final-cta{padding:32px 24px;border-radius:20px;margin:0 16px}
  .math-final-buttons{flex-direction:column;gap:10px}
  .math-final-buttons .btn{width:100%;justify-content:center}
}

/* ============================================================
   FOOTER-LOGO (ersetzt das alte text-basierte Footer-Wordmark)
   ============================================================ */
.footer-logo{
  display:inline-block;
  margin:-14px 0 8px -10px;       /* optisch ausgleichen: das Bild hat eigene Innenränder */
  line-height:0;
  text-decoration:none;
  transition:opacity .2s ease, transform .2s ease;
}
.footer-logo:hover{
  opacity:.92;
  transform:translateY(-1px);
}
.footer-logo img{
  display:block;
  width:auto;
  height:96px;
  max-width:300px;
  object-fit:contain;
}
@media (max-width:760px){
  .footer-logo{margin:-10px 0 6px -8px}
  .footer-logo img{height:84px}
}

/* ============================================================
   FERIENKURSE-PAGE (ferienkurse.html)
   ============================================================ */

/* Split-Sektion: Prüfungs-Simulator (Bild links, Text rechts) */
.ferien-split{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:48px;
  align-items:center;
}
.ferien-split-visual{
  position:relative;
  margin:0;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 26px 60px rgba(7,16,12,.16);
  border:1px solid rgba(27,67,50,.10);
  background:#eef4f0;
  aspect-ratio:4/3;
}
.ferien-split-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.ferien-split-badge{
  position:absolute;
  left:18px;bottom:18px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(27,67,50,.92);
  color:#fff;
  padding:9px 16px;
  border-radius:999px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.2px;
  text-transform:uppercase;
  backdrop-filter:blur(6px) saturate(120%);
  -webkit-backdrop-filter:blur(6px) saturate(120%);
}
.ferien-split-badge-dot{
  width:8px;height:8px;border-radius:50%;
  background:#23d274;
  box-shadow:0 0 0 4px rgba(35,210,116,.25);
}
.ferien-split-copy h2{
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-size:clamp(24px,2.6vw,34px);
  line-height:1.15;
  letter-spacing:-.5px;
  color:#0d1f17;
  margin:8px 0 14px;
}
.ferien-split-copy p{
  font-size:16px;
  line-height:1.7;
  color:#243228;
  margin:0 0 18px;
}
.ferien-split-copy strong{color:#1b4332;font-weight:700}
.ferien-split-copy em{color:#1b4332;font-style:italic;font-weight:600}
.ferien-split-points{
  list-style:none;
  padding:0;
  margin:0 0 22px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.ferien-split-points li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:15px;
  line-height:1.5;
  color:#243228;
  font-weight:500;
}
.ferien-split-points li svg{
  width:18px;height:18px;
  flex-shrink:0;
  color:#1b4332;
  margin-top:1px;
}

/* Matrix-Übersicht: 3 Ferien-Typen */
.ferien-matrix{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:6px;
}
.ferien-matrix-card{
  background:#fff;
  border:1px solid rgba(27,67,50,.10);
  border-radius:20px;
  padding:30px 28px;
  text-align:center;
  box-shadow:0 12px 30px rgba(7,16,12,.06);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.ferien-matrix-card:hover{
  transform:translateY(-3px);
  border-color:rgba(27,67,50,.22);
  box-shadow:0 22px 48px rgba(7,16,12,.10);
}
.ferien-matrix-icon{
  width:60px;height:60px;
  border-radius:18px;
  background:linear-gradient(135deg,#1b4332,#2d6a4f);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 22px rgba(27,67,50,.22);
  margin-bottom:18px;
}
.ferien-matrix-icon svg{width:28px;height:28px}
.ferien-matrix-card h3{
  font-size:clamp(19px,1.7vw,22px);
  margin:0 0 10px;
  color:#0d1f17;
  letter-spacing:-.2px;
}
.ferien-matrix-card p{
  font-size:15px;
  line-height:1.6;
  color:#3a4a42;
  margin:0 0 16px;
  flex:1;
}
.ferien-matrix-tag{
  display:inline-block;
  background:rgba(27,67,50,.08);
  color:#1b4332;
  font-size:12px;
  font-weight:700;
  letter-spacing:.6px;
  text-transform:uppercase;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(27,67,50,.12);
}

/* Mobile-Anpassungen */
@media (max-width:960px){
  .ferien-split{grid-template-columns:1fr;gap:24px}
  .ferien-split-visual{order:-1;aspect-ratio:16/10;max-width:680px;margin:0 auto;border-radius:20px}
  .ferien-matrix{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .ferien-split-visual{aspect-ratio:5/4;border-radius:18px}
  .ferien-split-badge{left:12px;bottom:12px;padding:6px 12px;font-size:11.5px}
  .ferien-split-copy h2{font-size:22px}
  .ferien-split-points li{font-size:14.5px}
  .ferien-matrix{grid-template-columns:1fr;gap:16px}
  .ferien-matrix-card{padding:24px 20px;border-radius:18px}
}

/* ============================================================
   RATGEBER-PAGE STYLES (ratgeber.html + Artikel-Detail-Seiten)
   ============================================================ */

/* === Ratgeber-Übersicht: Hero === */
.ratgeber-hero{
  padding:46px 0 16px;
  text-align:center;
}
.ratgeber-hero-inner{
  max-width:780px;
  margin:0 auto;
  padding:0 16px;
}
.ratgeber-hero-inner .kicker{display:inline-block;margin-bottom:14px}
.ratgeber-hero-title{
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-size:clamp(30px,4.4vw,52px);
  line-height:1.08;
  letter-spacing:-1.2px;
  color:#0d1f17;
  margin:6px 0 18px;
}
.ratgeber-hero-lead{
  font-size:clamp(15px,1.4vw,18px);
  line-height:1.6;
  color:#3a4a42;
  max-width:680px;
  margin:0 auto;
}

/* === 3-Karten-Grid (Übersichts-Cards) === */
.ratgeber-cards-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:8px;
}
@media (max-width:980px){
  .ratgeber-cards-grid{grid-template-columns:1fr;gap:18px}
}
/* USP – Persönliche Beratung Bubble */
.ratgeber-usp{
  display:grid;
  grid-template-columns:88px 1fr;
  gap:26px;
  align-items:flex-start;
  padding:34px 38px;
  background:linear-gradient(135deg,#fff 0%,#f4faf6 100%);
  border:1px solid rgba(27,67,50,.10);
  box-shadow:0 18px 50px rgba(7,16,12,.10);
  border-radius:22px;
  position:relative;
  overflow:hidden;
}
.ratgeber-usp:before{
  content:"";
  position:absolute;left:0;top:0;bottom:0;width:6px;
  background:linear-gradient(180deg,#1b4332,#2d6a4f);
  border-radius:6px 0 0 6px;
}
.ratgeber-usp-icon{
  width:72px;height:72px;border-radius:18px;
  background:linear-gradient(135deg,#1b4332,#2d6a4f);
  color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 24px rgba(27,67,50,.28);
  flex-shrink:0;
}
.ratgeber-usp-icon svg{width:34px;height:34px}
.ratgeber-usp-content .kicker{margin-bottom:6px}
.ratgeber-usp-content h2{
  margin:6px 0 10px;
  font-size:clamp(22px,2.4vw,30px);
  letter-spacing:-.4px;
  color:#1b4332;
}
.ratgeber-usp-content p{margin:0 0 18px;color:#334;line-height:1.55}
.ratgeber-usp-content .btn-row{margin-top:18px}

/* Ratgeber-Grid (ähnlich dem Card-Layout der Site) */
.ratgeber-grid{
  display:grid;gap:22px;margin-top:8px;
}
.grid-2.ratgeber-grid{grid-template-columns:repeat(2,1fr)}
.grid-1.ratgeber-grid{grid-template-columns:1fr}

.ratgeber-card{
  display:flex;flex-direction:column;
  background:#fff;
  border:1px solid rgba(27,67,50,.08);
  border-radius:20px;
  padding:30px 28px;
  box-shadow:0 12px 30px rgba(7,16,12,.06);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  position:relative;
}
.ratgeber-card:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 50px rgba(7,16,12,.10);
  border-color:rgba(27,67,50,.18);
}
.ratgeber-badge{
  display:inline-flex;align-items:center;
  align-self:flex-start;
  background:rgba(27,67,50,.08);
  color:#1b4332;
  padding:6px 12px;
  border-radius:999px;
  font-size:12px;font-weight:700;
  letter-spacing:.3px;
  text-transform:uppercase;
  margin-bottom:14px;
}
.ratgeber-card h3{
  font-size:clamp(20px,2vw,24px);
  line-height:1.25;
  margin:0 0 12px;
  color:#0d1f17;
  letter-spacing:-.3px;
}
.ratgeber-teaser{
  color:#445;
  line-height:1.6;
  margin:0 0 18px;
}
.ratgeber-points{
  list-style:none;
  padding:0;margin:0 0 22px;
  display:flex;flex-direction:column;gap:8px;
}
.ratgeber-points li{
  position:relative;
  padding-left:24px;
  color:#334;
  font-size:14.5px;
  line-height:1.5;
}
.ratgeber-points li:before{
  content:"";
  position:absolute;left:0;top:9px;
  width:14px;height:14px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b4332' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center/contain no-repeat;
}
.ratgeber-points-row{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px 24px;
}
.ratgeber-cta{margin-top:auto;align-self:flex-start}
.ratgeber-card-wide{padding:36px 34px}

/* Mobile */
@media (max-width:760px){
  .ratgeber-page .ratgeber-hero{padding:20px 0 6px}
  .ratgeber-usp{
    grid-template-columns:1fr !important;
    gap:14px;
    padding:22px 18px;
    border-radius:18px;
  }
  .ratgeber-usp-icon{width:56px;height:56px;border-radius:14px}
  .ratgeber-usp-icon svg{width:26px;height:26px}
  .grid-2.ratgeber-grid{grid-template-columns:1fr !important}
  .ratgeber-card{padding:22px 18px;border-radius:18px}
  .ratgeber-card-wide{padding:24px 20px}
  .ratgeber-points-row{grid-template-columns:1fr}
  .ratgeber-cta{align-self:stretch;text-align:center}
}

/* ============================================================
   ARTIKEL-DETAIL-SEITEN (ratgeber-*.html)
   ============================================================ */

/* Hero des Artikels */
.ratgeber-article-page .article-hero{
  padding:30px 0 14px;
}
.article-hero-inner{
  max-width:780px;
  margin:0 auto;
  padding:0 16px;
}
.article-back-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#1b4332;
  font-weight:600;
  font-size:14px;
  text-decoration:none;
  padding:6px 0;
  margin-bottom:14px;
  border-bottom:1px solid transparent;
  transition:border-color .2s ease, transform .2s ease;
}
.article-back-link:hover{
  border-color:rgba(27,67,50,.35);
  transform:translateX(-2px);
}
.article-hero-inner .kicker{
  display:inline-block;
  margin-bottom:10px;
}
.article-hero-inner h1{
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-size:clamp(28px,3.8vw,46px);
  line-height:1.1;
  letter-spacing:-1px;
  color:#0d1f17;
  margin:4px 0 14px;
}
.article-hero-inner .lead{
  font-size:clamp(15px,1.35vw,18px);
  line-height:1.6;
  color:#3a4a42;
  margin:0 0 18px;
}
.article-meta{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  font-size:13px;
  color:#5a6c63;
  padding-top:12px;
  border-top:1px solid rgba(27,67,50,.10);
}
.article-meta span{display:inline-flex;align-items:center;gap:7px}
.article-meta svg{width:16px;height:16px;color:#1b4332}

/* Artikel-Body: schmale Lese-Spalte */
.article-body{
  padding:8px 0 8px;
}
.article-container{
  max-width:760px;
  padding:0 20px;
}
.article-container > p{
  font-size:17px;
  line-height:1.75;
  color:#243228;
  margin:0 0 18px;
}
.article-container > h2{
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-size:clamp(22px,2.2vw,28px);
  letter-spacing:-.3px;
  color:#1b4332;
  margin:36px 0 14px;
  padding-bottom:8px;
  border-bottom:2px solid rgba(27,67,50,.10);
}
.article-container > h3{
  font-size:clamp(18px,1.6vw,21px);
  color:#0d1f17;
  margin:24px 0 10px;
  font-weight:700;
}
.article-container > ul,
.article-container > ol{
  padding-left:22px;
  margin:0 0 22px;
}
.article-container > ul li,
.article-container > ol li{
  font-size:16px;
  line-height:1.7;
  color:#243228;
  margin:0 0 8px;
}
.article-container ul{list-style:disc}
.article-container ol{list-style:decimal}
.article-container strong{color:#0d1f17;font-weight:700}
.article-container em{color:#1b4332;font-style:italic}

/* Callout-Box innerhalb von Artikeln */
.article-callout{
  background:linear-gradient(135deg,#f4faf6 0%,#e9f4ee 100%);
  border:1px solid rgba(27,67,50,.14);
  border-left:5px solid #1b4332;
  padding:22px 24px;
  border-radius:14px;
  margin:24px 0 28px;
  color:#243228;
}
.article-callout strong{
  display:block;
  color:#1b4332;
  font-size:15px;
  letter-spacing:.2px;
  margin-bottom:10px;
}
.article-callout ul,
.article-callout ol{
  margin:0;
  padding-left:22px;
}
.article-callout li{
  font-size:15.5px;
  line-height:1.65;
  color:#243228;
  margin-bottom:6px;
}

/* CTA-Box am Ende des Artikels */
.article-cta-box{
  max-width:840px;
  margin:0 auto;
  background:linear-gradient(135deg,#1b4332 0%,#2d6a4f 100%);
  color:#fff;
  border-radius:22px;
  padding:42px 44px;
  box-shadow:0 22px 60px rgba(27,67,50,.28);
  position:relative;
  overflow:hidden;
}
.article-cta-box:before{
  content:"";
  position:absolute;right:-40px;top:-40px;
  width:200px;height:200px;
  background:radial-gradient(circle at center, rgba(255,255,255,.10), transparent 70%);
  pointer-events:none;
}
.article-cta-content{position:relative}
.article-cta-content .kicker{
  color:#a7e6c4;
  background:rgba(255,255,255,.08);
  padding:4px 12px;
  border-radius:999px;
  display:inline-block;
  margin-bottom:14px;
}
.article-cta-content h2{
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-size:clamp(24px,2.6vw,32px);
  line-height:1.2;
  margin:0 0 12px;
  letter-spacing:-.4px;
  color:#fff;
}
.article-cta-content p{
  font-size:16px;
  line-height:1.6;
  color:rgba(255,255,255,.92);
  margin:0 0 22px;
  max-width:620px;
}
.article-cta-content .btn{
  background:#fff;
  color:#1b4332;
  border:none;
  padding:14px 28px;
  border-radius:12px;
  font-weight:700;
  font-size:15.5px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
  transition:transform .2s ease, box-shadow .2s ease;
}
.article-cta-content .btn:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 26px rgba(0,0,0,.22);
}

/* Mobile */
@media (max-width:760px){
  .ratgeber-article-page .article-hero{padding:14px 0 6px}
  .article-hero-inner{padding:0 18px}
  .article-container{padding:0 18px}
  .article-container > p{font-size:16px;line-height:1.7}
  .article-container > h2{margin:28px 0 12px}
  .article-container > h3{margin:20px 0 8px}
  .article-container > ul li,
  .article-container > ol li{font-size:15.5px}
  .article-callout{padding:18px 18px;border-radius:12px;margin:18px 0 22px}
  .article-cta-box{
    padding:28px 22px;
    border-radius:18px;
    margin:0 16px;
  }
  .article-cta-content h2{font-size:22px}
  .article-cta-content .btn{
    display:flex;
    justify-content:center;
    width:100%;
    padding:14px 18px;
  }
}

/* ============================================================
   MOBILE-NAV — Scrollbar machen (Override)
   Behebt: Untere Einträge wurden abgeschnitten, kein Scrollen
   ============================================================ */
@media (max-width:900px){
  .mobile-nav{
    inset:82px 12px 12px 12px;
    padding:0;
    max-height:calc(100dvh - 94px);
    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:rgba(27,67,50,.35) transparent;
  }
  .mobile-nav::-webkit-scrollbar{width:6px}
  .mobile-nav::-webkit-scrollbar-track{background:transparent}
  .mobile-nav::-webkit-scrollbar-thumb{
    background:rgba(27,67,50,.35);
    border-radius:999px;
  }
  .mobile-nav::-webkit-scrollbar-thumb:hover{background:rgba(27,67,50,.55)}
  .mobile-nav-panel{
    padding:16px;
    border-radius:24px;
    gap:6px;
  }
  body.menu-open{overflow:hidden;touch-action:none}
}
@media (max-width:760px){
  .mobile-nav{
    inset:76px 10px 10px 10px;
    max-height:calc(100dvh - 86px);
  }
}

/* ============================================================
   ABOUT-PAGE (ueber-uns.html) — Storytelling-Layout
   ============================================================ */

/* Hero: kompakter, ohne Foto */
.about-page .about-hero{padding-bottom:24px}
.about-hero-stack{justify-items:center;text-align:center}
.about-hero-title{max-width:18ch;text-wrap:balance}

/* 2) Gründer-Story Split */
.about-story-section{padding-top:48px}
.story-split{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:56px;
  align-items:center;
}
.story-copy .kicker{margin-bottom:10px}
.story-title{
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-size:clamp(28px,3vw,40px);
  line-height:1.1;
  letter-spacing:-.6px;
  color:#0d1f17;
  margin:6px 0 18px;
}
.story-copy p{
  font-size:17px;
  line-height:1.75;
  color:#243228;
  margin:0 0 16px;
}
.story-copy p:last-child{margin-bottom:0}
.story-copy strong{color:#1b4332;font-weight:700}
.story-copy em{color:#1b4332;font-style:italic;font-weight:600}

/* Polaroid */
.polaroid-frame{
  position:relative;
  margin:0 auto;
  max-width:430px;
  background:#fff;
  padding:18px 18px 60px;
  border:1px solid rgba(18,32,25,.08);
  border-radius:6px;
  box-shadow:
    0 30px 60px rgba(7,16,12,.16),
    0 10px 20px rgba(7,16,12,.08);
  transform:rotate(-1.6deg);
  transition:transform .35s cubic-bezier(.4,.04,.16,1), box-shadow .35s ease;
}
.polaroid-frame:hover{
  transform:rotate(0deg) translateY(-3px);
  box-shadow:
    0 38px 76px rgba(7,16,12,.20),
    0 14px 28px rgba(7,16,12,.10);
}
.polaroid-frame img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/5;
  object-fit:cover;
  border-radius:2px;
  background:#eee;
}
.polaroid-tape{
  position:absolute;
  top:-14px;
  left:50%;
  transform:translateX(-50%) rotate(-3deg);
  width:120px;
  height:26px;
  background:rgba(255,235,168,.78);
  border:1px solid rgba(0,0,0,.04);
  border-radius:2px;
  box-shadow:0 4px 10px rgba(0,0,0,.08);
}
.polaroid-caption{
  position:absolute;
  left:18px;right:18px;
  bottom:14px;
  text-align:center;
  font-family:"Caveat",cursive;
  font-weight:600;
  font-size:22px;
  line-height:1.2;
  color:#1b2c23;
}

/* 3) Spaces-Section Header zentrieren */
.about-spaces-section .spaces-head{text-align:center;margin-bottom:28px}
.about-spaces-section .spaces-head .kicker{display:inline-flex}

/* 4) DNA Grid */
.about-dna-section{padding-top:88px}
.dna-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:8px;
}
.dna-card{
  background:#fff;
  border:1px solid rgba(27,67,50,.10);
  border-radius:22px;
  padding:34px 30px;
  text-align:center;
  box-shadow:0 14px 32px rgba(7,16,12,.06);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.dna-card:hover{
  transform:translateY(-4px);
  border-color:rgba(27,67,50,.22);
  box-shadow:0 24px 50px rgba(7,16,12,.10);
}
.dna-icon{
  width:68px;height:68px;
  border-radius:20px;
  background:linear-gradient(135deg,#1b4332,#2d6a4f);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 14px 26px rgba(27,67,50,.22);
  margin-bottom:20px;
}
.dna-icon svg{width:30px;height:30px}
.dna-card h3{
  font-size:clamp(20px,1.8vw,22px);
  margin:0 0 12px;
  color:#0d1f17;
  letter-spacing:-.2px;
}
.dna-card p{
  font-size:15.5px;
  line-height:1.65;
  color:#3a4a42;
  margin:0;
}

/* 5) Stats Bar */
.about-stats-section{padding-top:88px}
.stats-bar{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  margin-top:14px;
  padding:36px 28px;
  background:linear-gradient(135deg,#143a29,#1b4f38 45%,#1c6a45);
  color:#fff;
  border-radius:28px;
  box-shadow:0 26px 60px rgba(15,40,28,.22);
}
.stat-item{
  text-align:center;
  padding:6px 8px;
  position:relative;
}
.stat-item + .stat-item::before{
  content:"";
  position:absolute;
  left:-12px;top:14%;bottom:14%;
  width:1px;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.25),transparent);
}
.stat-number{
  display:block;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-weight:800;
  font-size:clamp(40px,5vw,62px);
  line-height:1;
  letter-spacing:-1.5px;
  color:#fff;
  margin-bottom:8px;
}
.stat-number sup{
  font-size:.55em;
  font-weight:700;
  margin-left:1px;
  vertical-align:super;
  color:#9be3bd;
}
.stat-percent{
  font-size:.7em;
  font-weight:700;
  margin-left:1px;
  color:#9be3bd;
}
.stat-label{
  display:block;
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1.2px;
  color:#cfe9d9;
}

/* 6) Reviews Grid (Google-Style) */
.about-reviews-section{padding-top:88px}
.reviews-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:8px;
}
.review-card{
  background:#fff;
  border:1px solid rgba(18,32,25,.10);
  border-radius:22px;
  padding:26px 24px;
  box-shadow:0 14px 32px rgba(7,16,12,.06);
  display:flex;
  flex-direction:column;
  gap:18px;
  transition:transform .25s ease, box-shadow .25s ease;
  scroll-snap-align:start;
}
.review-card:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 48px rgba(7,16,12,.10);
}
.review-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.review-stars{display:inline-flex;gap:2px;color:#FBBC05}
.review-stars svg{width:18px;height:18px;fill:#FBBC05}
.review-google{display:inline-flex}
.review-google svg{width:22px;height:22px}
.review-text{
  margin:0;
  font-size:15.5px;
  line-height:1.65;
  color:#243228;
  flex:1;
}
.review-footer{
  display:flex;
  align-items:center;
  gap:12px;
  padding-top:14px;
  border-top:1px solid rgba(18,32,25,.08);
}
.review-avatar{
  width:42px;height:42px;
  border-radius:50%;
  background:linear-gradient(135deg,#1b4332,#2d6a4f);
  color:#fff;
  font-weight:800;
  font-size:17px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.review-meta{display:flex;flex-direction:column;line-height:1.3;font-size:13.5px;color:#5a6c63}
.review-meta strong{color:#0d1f17;font-weight:700}
.reviews-cta{
  margin-top:32px;
  display:flex;
  justify-content:center;
}
.btn-outline{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 26px;
  border-radius:999px;
  background:#fff;
  border:1.5px solid rgba(27,67,50,.18);
  color:#1b4332;
  font-weight:700;
  font-size:15px;
  letter-spacing:.1px;
  box-shadow:0 6px 18px rgba(7,16,12,.05);
  transition:all .25s ease;
}
.btn-outline:hover{
  background:#f7fbf8;
  border-color:#1b4332;
  box-shadow:0 14px 28px rgba(7,16,12,.10);
  transform:translateY(-1px);
}
.btn-outline svg{width:18px;height:18px;flex-shrink:0}

/* 7) Final CTA */
.about-cta-section{padding-top:88px;padding-bottom:88px}
.about-cta-card{
  text-align:center;
  background:linear-gradient(180deg,rgba(244,250,246,.92),rgba(255,255,255,.96));
  border:1px solid rgba(27,67,50,.10);
  border-radius:28px;
  padding:56px 40px;
  box-shadow:0 22px 50px rgba(7,16,12,.06);
  max-width:880px;
  margin:0 auto;
}
.about-cta-card h2{
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-size:clamp(26px,2.6vw,38px);
  line-height:1.1;
  letter-spacing:-.5px;
  color:#0d1f17;
  margin:12px 0 14px;
  text-wrap:balance;
}
.about-cta-card p{
  font-size:17px;
  line-height:1.65;
  color:#3a4a42;
  margin:0 0 26px;
  max-width:640px;
  margin-left:auto;
  margin-right:auto;
}
.about-cta-buttons{justify-content:center;flex-wrap:wrap;gap:12px}

/* Responsiv */
@media (max-width:1024px){
  .story-split{grid-template-columns:1fr;gap:36px}
  .polaroid-frame{order:-1;max-width:380px}
  .dna-grid{grid-template-columns:repeat(2,1fr)}
  .stats-bar{grid-template-columns:repeat(2,1fr);gap:36px 24px;padding:32px 24px}
  .stat-item + .stat-item::before{display:none}
}
@media (max-width:900px){
  /* Reviews: horizontal Swipe-Slider statt Stack auf Mobile */
  .about-reviews-section{position:relative}
  .reviews-grid{
    display:flex;
    grid-template-columns:none;
    gap:1rem;
    overflow-x:auto;
    overflow-y:visible;
    scroll-snap-type:x mandatory;
    scroll-padding-left:20px;
    -webkit-overflow-scrolling:touch;
    padding:8px 20px 24px;
    margin:8px -20px 0;
    scrollbar-width:none;
  }
  .reviews-grid::-webkit-scrollbar{display:none}
  .review-card{
    flex:0 0 86%;
    max-width:340px;
    min-width:260px;
  }
  /* Optischer Hinweis: rechte Fade-Kante zeigt, dass mehr zu sehen ist */
  .about-reviews-section::after{
    content:"";
    position:absolute;
    right:0;top:0;bottom:80px;
    width:32px;
    background:linear-gradient(270deg,rgba(255,255,255,.95),rgba(255,255,255,0));
    pointer-events:none;
    z-index:1;
  }
}
@media (max-width:760px){
  .about-story-section{padding-top:32px}
  .story-title{font-size:26px}
  .story-copy p{font-size:16px;line-height:1.7}
  .polaroid-frame{padding:14px 14px 50px;max-width:300px;transform:rotate(-1deg)}
  .polaroid-caption{font-size:19px;bottom:12px}
  .dna-grid{grid-template-columns:1fr;gap:16px}
  .dna-card{padding:28px 22px}
  .about-dna-section,.about-stats-section,.about-reviews-section,.about-cta-section{padding-top:60px}
  .about-cta-section{padding-bottom:60px}
  .about-cta-card{padding:38px 22px;border-radius:22px}
  .stats-bar{padding:28px 20px;border-radius:22px;gap:24px 16px}
  .stat-number{font-size:38px}
  .stat-label{font-size:11.5px;letter-spacing:.8px}
  .review-card{padding:22px 20px;flex-basis:88%}
  .btn-outline{padding:12px 20px;font-size:14px;text-align:center}
}

/* ============================================================
   PFLICHT-CHECKBOX: Datenschutz in Formularen
   ============================================================ */
.form-group-consent{margin:18px 0 20px}
.consent-checkbox{
  display:flex;align-items:flex-start;gap:12px;
  padding:14px 16px;
  background:#f7fbf8;
  border:1px solid #e4ece7;
  border-radius:14px;
  cursor:pointer;
  transition:background-color .2s ease, border-color .2s ease;
  font-size:14.5px;line-height:1.55;color:#1c2b24;
  font-weight:500;
}
.consent-checkbox:hover{background:#eff7f2;border-color:#cfe1d6}
.consent-checkbox input[type="checkbox"]{
  width:18px;height:18px;flex:0 0 18px;margin-top:2px;
  accent-color:var(--green);cursor:pointer;
}
.consent-checkbox input[type="checkbox"]:focus-visible{
  outline:2px solid var(--green);outline-offset:3px;border-radius:4px;
}
.consent-checkbox a{
  color:var(--green-700);text-decoration:underline;text-underline-offset:2px;font-weight:700;
}
.consent-checkbox a:hover{color:#0d5e36}
.consent-checkbox .consent-required{color:#c0392b;font-weight:800;margin-left:2px}
.consent-checkbox:has(input:invalid){border-color:#e6c3bf;background:#fbf4f3}
@media (max-width:640px){
  .consent-checkbox{padding:12px 14px;font-size:14px;gap:10px}
}

/* ============================================================
   RATGEBER-SPOTLIGHT (Prüfungsangst-Highlight auf ratgeber.html)
   ============================================================ */
.ratgeber-spotlight{
  position:relative;
  background:linear-gradient(135deg,#143a29 0%,#1b4f38 50%,#1c6a45 100%);
  border-radius:32px;
  padding:48px 52px;
  overflow:hidden;
  box-shadow:0 30px 70px rgba(20,58,41,.28);
  color:#fff;
  display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;
}
.ratgeber-spotlight:before,
.ratgeber-spotlight:after{
  content:"";position:absolute;border-radius:999px;pointer-events:none;
}
.ratgeber-spotlight:before{
  width:340px;height:340px;right:-120px;top:-120px;
  background:rgba(155,231,184,.16);filter:blur(6px);
}
.ratgeber-spotlight:after{
  width:240px;height:240px;left:-80px;bottom:-100px;
  background:rgba(255,255,255,.06);filter:blur(8px);
}
.ratgeber-spotlight > *{position:relative;z-index:2}

.ratgeber-spotlight-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 16px;border-radius:999px;
  background:rgba(255,255,255,.16);color:#fff;
  border:1px solid rgba(255,255,255,.30);
  font-size:12.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  backdrop-filter:blur(6px);margin-bottom:14px;
}
.ratgeber-spotlight-eyebrow svg{width:14px;height:14px;color:#9be7b8;stroke:currentColor;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}

.ratgeber-spotlight h2{
  margin:0 0 14px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-size:clamp(28px,3.4vw,40px);line-height:1.10;letter-spacing:-1px;
  font-weight:900;color:#fff;text-wrap:balance;
}
.ratgeber-spotlight h2 .accent{color:#9be7b8}
.ratgeber-spotlight p{
  margin:0 0 22px;font-size:16.5px;line-height:1.7;color:rgba(255,255,255,.92);max-width:520px;
}
.ratgeber-spotlight-buttons{display:flex;flex-wrap:wrap;gap:12px}
.ratgeber-spotlight-buttons .btn{height:54px;padding:0 24px;font-size:15.5px;border-radius:16px}
.ratgeber-spotlight-buttons .btn-primary{
  background:#fff;color:var(--green-700);
  box-shadow:0 14px 30px rgba(0,0,0,.20);
}
.ratgeber-spotlight-buttons .btn-primary:hover{
  background:#f7fbf8;color:#0d5e36;transform:translateY(-2px);
  box-shadow:0 18px 36px rgba(0,0,0,.28);
}
.ratgeber-spotlight-buttons .btn-secondary{
  background:rgba(255,255,255,.10);color:#fff;border:1.5px solid rgba(255,255,255,.50);
}
.ratgeber-spotlight-buttons .btn-secondary:hover{
  background:rgba(255,255,255,.18);border-color:#fff;transform:translateY(-2px);
}

.ratgeber-spotlight-visual{
  display:grid;gap:14px;
}
.ratgeber-spotlight-tile{
  display:flex;align-items:center;gap:14px;
  padding:16px 18px;border-radius:18px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(8px);
}
.ratgeber-spotlight-tile .icon{
  width:46px;height:46px;border-radius:14px;flex:0 0 46px;
  background:rgba(155,231,184,.22);color:#9be7b8;
  display:inline-flex;align-items:center;justify-content:center;
}
.ratgeber-spotlight-tile .icon svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ratgeber-spotlight-tile strong{display:block;font-size:14.5px;color:#fff;font-weight:800;letter-spacing:-.1px}
.ratgeber-spotlight-tile small{display:block;font-size:13px;color:rgba(255,255,255,.78);margin-top:2px;line-height:1.45}

@media (max-width:980px){
  .ratgeber-spotlight{grid-template-columns:1fr;gap:28px;padding:40px 32px}
  .ratgeber-spotlight p{max-width:none}
}
@media (max-width:640px){
  .ratgeber-spotlight{padding:32px 22px;border-radius:24px}
  .ratgeber-spotlight-buttons .btn{flex:1 1 100%;height:50px}
  .ratgeber-spotlight-tile{padding:14px 14px}
}

/* ============================================================
   PRÜFUNGSANGST-LANDINGPAGE — Sicherheit & Ruhe
   Beruhigende Akzente: Schülerinsel-Grün + sanftes Beige
   ============================================================ */
body.angst-page{
  --angst-cream:#fdf6e7;
  --angst-cream-soft:#fbf3e0;
  --angst-mint:#eaf5ee;
  --angst-mint-deep:#d8eedf;
  --angst-shadow-soft:0 10px 30px rgba(18,32,25,.06);
  --angst-shadow-card:0 16px 40px rgba(18,32,25,.08);
}
body.angst-page{
  background:linear-gradient(180deg,#fff 0%, #fdfbf6 60%, #fff 100%);
}

/* === HERO (split: Text links / Foto rechts) === */
.angst-hero{
  padding:110px 0 78px;
  position:relative;overflow:hidden;
  background:
    radial-gradient(720px 380px at 90% 14%, rgba(22,156,91,.10), transparent 65%),
    radial-gradient(560px 360px at 8% 100%, rgba(253,246,231,.85), transparent 60%),
    linear-gradient(180deg,#fff 0%,#fdfbf6 100%);
}
.angst-hero:before{
  content:"";position:absolute;left:-120px;top:60px;width:280px;height:280px;border-radius:999px;
  background:radial-gradient(circle, rgba(22,156,91,.10), transparent 70%);pointer-events:none;
}
.angst-hero-grid{
  display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;position:relative;z-index:2;
}
.angst-hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 16px;border-radius:999px;
  background:var(--angst-mint);color:var(--green-700);
  border:1px solid var(--angst-mint-deep);
  font-size:13px;font-weight:800;letter-spacing:.04em;
}
.angst-hero h1{
  margin:18px 0 18px;
  font-size:clamp(38px,5.2vw,62px);
  line-height:1.02;letter-spacing:-1.8px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-weight:900;color:var(--text);
  text-wrap:balance;
}
.angst-hero h1 .accent{
  color:var(--green);
}
.angst-hero .angst-hero-lead{
  margin:0 0 28px;font-size:18.5px;line-height:1.65;color:#3b4a42;
  max-width:560px;
}
.angst-hero-buttons{display:flex;flex-wrap:wrap;gap:14px}
.angst-hero-buttons .btn{height:56px;padding:0 26px;font-size:16px}
.angst-hero-trust{
  display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;
  font-size:14px;color:#3b4a42;font-weight:600;
}
.angst-hero-trust span{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px;border-radius:999px;
  background:rgba(255,255,255,.85);border:1px solid #e5ece8;
  backdrop-filter:blur(6px);
}
.angst-hero-trust svg{width:16px;height:16px;color:var(--green);stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex:0 0 16px}

.angst-hero-visual{
  position:relative;
}
.angst-hero-image{
  position:relative;border-radius:30px;overflow:hidden;
  box-shadow:0 30px 80px rgba(12,18,28,.18);
  border:6px solid #fff;
  transform:rotate(.5deg);
}
.angst-hero-image img{width:100%;height:auto;display:block;aspect-ratio:5/6;object-fit:cover}
.angst-hero-image:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0) 60%, rgba(22,156,91,.10) 100%);
  pointer-events:none;
}
.angst-hero-floating{
  position:absolute;left:-22px;bottom:24px;
  background:#fff;border:1px solid #e7ecea;border-radius:18px;
  padding:14px 16px;box-shadow:0 18px 40px rgba(12,18,28,.18);
  display:flex;align-items:center;gap:12px;
  max-width:260px;
}
.angst-hero-floating .icon-circle{
  width:42px;height:42px;border-radius:14px;flex:0 0 42px;
  background:linear-gradient(135deg,#eff9f3,#d5f0e0);color:var(--green-700);
  display:inline-flex;align-items:center;justify-content:center;
}
.angst-hero-floating .icon-circle svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.angst-hero-floating strong{display:block;font-size:14px;color:var(--text);font-weight:800}
.angst-hero-floating small{display:block;font-size:12.5px;color:var(--muted);line-height:1.45;margin-top:2px}

/* === EMOTIONALER HOOK === */
.angst-hook{
  padding:88px 0;
  background:linear-gradient(180deg,#fff 0%,var(--angst-cream-soft) 100%);
  position:relative;overflow:hidden;
}
.angst-hook:before{
  content:"";position:absolute;right:-80px;top:-80px;width:240px;height:240px;border-radius:999px;
  background:rgba(255,255,255,.7);pointer-events:none;filter:blur(20px);
}
.angst-hook-card{
  max-width:920px;margin:0 auto;
  background:#fff;border:1px solid #f1e8ce;border-radius:32px;
  padding:56px 60px;
  box-shadow:var(--angst-shadow-card);
  position:relative;text-align:center;
}
.angst-hook-card:before{
  content:"“";position:absolute;left:32px;top:-12px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-size:140px;line-height:1;color:rgba(22,156,91,.15);font-weight:900;
}
.angst-hook-eyebrow{
  display:inline-block;margin-bottom:14px;
  font-size:12.5px;font-weight:800;color:var(--green-700);
  text-transform:uppercase;letter-spacing:.16em;
}
.angst-hook h2{
  margin:0 0 20px;
  font-size:clamp(28px,3.6vw,42px);line-height:1.16;letter-spacing:-1.1px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  color:var(--text);font-weight:900;text-wrap:balance;
}
.angst-hook-text{
  font-size:18px;line-height:1.8;color:#3b4a42;
  max-width:680px;margin:0 auto;
}
.angst-hook-text strong{color:var(--text);font-weight:800}
.angst-hook-signature{
  display:inline-flex;align-items:center;gap:10px;
  margin-top:28px;padding:10px 18px;border-radius:999px;
  background:#f7fbf8;border:1px solid #e2eee7;color:var(--green-700);
  font-size:14px;font-weight:700;
}
.angst-hook-signature svg{width:18px;height:18px;color:var(--green);stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

/* === MINDSET-HIGHLIGHT (Ratgeber Exzellenz / Performance-Coaching) === */
.si-mindset-highlight{
  padding:72px 0 56px;
  background:linear-gradient(180deg,#fff 0%,#f4fbf6 50%,#fff 100%);
  position:relative;
}
.si-mindset-highlight:before{
  content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:min(100%,920px);height:1px;
  background:linear-gradient(90deg,transparent,rgba(22,163,74,.25),transparent);
}
.si-mindset-highlight-inner{
  max-width:960px;margin:0 auto;
  border-radius:30px;
  padding:48px 52px 44px;
  background:
    radial-gradient(520px 220px at 12% 0%, rgba(22,163,74,.12), transparent 55%),
    linear-gradient(155deg,#ecfdf5 0%,#f7fdf9 45%,#eef6f1 100%);
  border:1px solid rgba(22,163,74,.22);
  box-shadow:0 20px 50px rgba(15,78,55,.10);
  position:relative;overflow:hidden;
}
.si-mindset-highlight-inner:after{
  content:"";position:absolute;right:-40px;bottom:-40px;width:180px;height:180px;border-radius:999px;
  background:radial-gradient(circle, rgba(22,163,74,.08), transparent 70%);pointer-events:none;
}
.si-mindset-highlight-inner > *{position:relative;z-index:2}

.si-mindset-pullquote{
  margin:0 0 26px;padding:22px 26px 22px 28px;
  border-left:4px solid #16a34a;
  background:rgba(255,255,255,.78);
  border-radius:0 20px 20px 0;
  box-shadow:0 8px 24px rgba(20,83,45,.08);
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-size:clamp(22px,3.1vw,30px);
  font-weight:900;line-height:1.28;letter-spacing:-.03em;
  color:#14532d;text-wrap:balance;
}
.si-mindset-pullquote cite{
  display:block;margin-top:12px;font-size:13px;font-weight:700;
  font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:#15803d;
}

.si-mindset-highlight-inner h2{
  margin:0 0 16px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-size:clamp(26px,3.4vw,38px);
  line-height:1.12;letter-spacing:-1px;font-weight:900;color:var(--text);
  text-wrap:balance;
}
.si-mindset-highlight-inner h2 .accent{color:#15803d}

.si-mindset-lead{
  margin:0 0 28px;font-size:17.5px;line-height:1.75;color:#2d3d35;
  max-width:52ch;
}
.si-mindset-lead strong{color:var(--text);font-weight:800}

.si-mindset-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:18px;
}
.si-mindset-point{
  background:#fff;border:1px solid #d8ebe0;border-radius:22px;
  padding:22px 24px 20px;
  box-shadow:0 10px 28px rgba(18,32,25,.05);
}
.si-mindset-point h3{
  margin:0 0 10px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-size:17px;font-weight:800;color:#14532d;letter-spacing:-.02em;
}
.si-mindset-point p{
  margin:0;font-size:15.2px;line-height:1.68;color:#3b4a42;
}
.si-mindset-point p strong{color:var(--text);font-weight:800}

.si-mindset-highlight--compact{padding:48px 0 40px}
.si-mindset-highlight--compact .si-mindset-highlight-inner{padding:34px 28px 30px}
.si-mindset-highlight--compact .si-mindset-pullquote{
  margin-bottom:18px;padding:18px 20px;font-size:clamp(19px,2.6vw,24px);
}
.si-mindset-highlight--compact .si-mindset-highlight-inner h2{font-size:clamp(22px,3vw,30px);margin-bottom:12px}
.si-mindset-highlight--compact .si-mindset-lead{margin-bottom:0;font-size:16px;max-width:none}

@media (max-width:760px){
  .si-mindset-highlight{padding:56px 0 44px}
  .si-mindset-highlight-inner{padding:32px 22px 28px;border-radius:24px}
  .si-mindset-grid{grid-template-columns:1fr}
  .si-mindset-pullquote{padding:18px 18px 18px 22px}
}

/* === 3-SÄULEN-MODELL === */
.angst-pillars{
  padding:96px 0;
  background:#fff;
}
.angst-pillars-head{
  text-align:center;max-width:720px;margin:0 auto 48px;
}
.angst-pillars-head .kicker{margin-bottom:14px}
.angst-pillars-head h2{
  margin:0 0 14px;
  font-size:clamp(30px,3.8vw,44px);line-height:1.12;letter-spacing:-1.1px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;font-weight:900;color:var(--text);text-wrap:balance;
}
.angst-pillars-head p{
  font-size:17px;line-height:1.7;color:var(--muted);margin:0;
}

.angst-pillars-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.angst-pillar-card{
  position:relative;
  background:#fff;
  border:1px solid #e4ece7;
  border-radius:26px;
  padding:36px 32px 32px;
  box-shadow:var(--angst-shadow-soft);
  transition:transform .28s var(--ease), box-shadow .3s var(--ease), border-color .25s var(--ease);
}
.angst-pillar-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--angst-shadow-card);border-color:#d8e8df;
}
.angst-pillar-num{
  position:absolute;top:24px;right:28px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-size:64px;line-height:1;font-weight:900;
  color:rgba(22,156,91,.10);letter-spacing:-2px;
  pointer-events:none;
}
.angst-pillar-icon{
  width:60px;height:60px;border-radius:18px;
  background:linear-gradient(135deg,#eff9f3,#d5f0e0);
  color:var(--green-700);
  display:inline-flex;align-items:center;justify-content:center;
  margin-bottom:18px;box-shadow:0 12px 28px rgba(22,156,91,.10);
}
.angst-pillar-icon svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.angst-pillar-tag{
  display:inline-block;font-size:11.5px;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;color:var(--green-700);
  margin-bottom:6px;
}
.angst-pillar-card h3{
  margin:0 0 12px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-size:22px;line-height:1.22;font-weight:800;color:var(--text);
}
.angst-pillar-card p{
  margin:0;font-size:15.5px;line-height:1.72;color:#3b4a42;
}

/* === VERSPRECHEN === */
.angst-promise{
  padding:96px 0;
  background:
    radial-gradient(560px 320px at 86% 18%, rgba(22,156,91,.06), transparent 60%),
    linear-gradient(180deg, var(--angst-cream-soft) 0%, #fff 100%);
}
.angst-promise-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;
}
.angst-promise-copy h2{
  margin:14px 0 18px;
  font-size:clamp(30px,3.8vw,46px);line-height:1.08;letter-spacing:-1.4px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;font-weight:900;color:var(--text);
  text-wrap:balance;
}
.angst-promise-copy h2 .accent{color:var(--green-700)}
.angst-promise-copy p{
  font-size:17px;line-height:1.8;color:#3b4a42;margin:0 0 14px;
}
.angst-promise-list{
  margin:24px 0 0;padding:0;list-style:none;display:grid;gap:14px;
}
.angst-promise-list li{
  display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;
  padding:14px 18px;background:#fff;border:1px solid #e4ece7;border-radius:16px;
  box-shadow:var(--angst-shadow-soft);
}
.angst-promise-list li .check{
  width:42px;height:42px;border-radius:12px;
  background:linear-gradient(135deg,#eff9f3,#d5f0e0);color:var(--green-700);
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;
}
.angst-promise-list li .check svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.angst-promise-list li strong{display:block;font-size:15.5px;font-weight:800;color:var(--text);margin-bottom:3px}
.angst-promise-list li span{font-size:14.5px;line-height:1.55;color:#3b4a42}

.angst-promise-visual{
  background:linear-gradient(135deg,#143a29 0%,#1b4f38 50%,#1c6a45 100%);
  border-radius:32px;padding:48px 44px;color:#fff;
  position:relative;overflow:hidden;
  box-shadow:0 30px 70px rgba(20,58,41,.30);
}
.angst-promise-visual:before{
  content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:999px;
  background:radial-gradient(circle, rgba(155,231,184,.20), transparent 70%);pointer-events:none;
}
.angst-promise-visual .quote-mark{
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-size:80px;line-height:1;font-weight:900;color:rgba(155,231,184,.30);margin-bottom:8px;
}
.angst-promise-visual blockquote{
  margin:0;font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-size:clamp(22px,2.6vw,30px);line-height:1.28;font-weight:800;letter-spacing:-.4px;
  text-wrap:balance;
}
.angst-promise-visual cite{
  display:block;margin-top:22px;font-style:normal;
  font-size:13.5px;color:rgba(255,255,255,.75);letter-spacing:.06em;text-transform:uppercase;font-weight:700;
}

/* === FINAL CTA === */
.angst-final-cta{
  padding:96px 0;
  background:linear-gradient(180deg,#fff 0%,#f7fbf8 100%);
}
.angst-final-card{
  max-width:1080px;margin:0 auto;
  background:linear-gradient(135deg,#169c5b 0%,#117946 60%,#0d5e36 100%);
  border-radius:36px;padding:64px 56px;
  color:#fff;text-align:center;position:relative;overflow:hidden;
  box-shadow:0 30px 80px rgba(22,156,91,.30);
}
.angst-final-card:before,.angst-final-card:after{
  content:"";position:absolute;border-radius:999px;pointer-events:none;
}
.angst-final-card:before{
  width:380px;height:380px;background:rgba(255,255,255,.08);
  top:-160px;right:-120px;filter:blur(8px);
}
.angst-final-card:after{
  width:300px;height:300px;background:rgba(155,231,184,.14);
  bottom:-140px;left:-100px;filter:blur(8px);
}
.angst-final-card > *{position:relative;z-index:2}
.angst-final-card .kicker{
  background:rgba(255,255,255,.18);color:#fff;
  border:1px solid rgba(255,255,255,.30);backdrop-filter:blur(6px);
}
.angst-final-card h2{
  margin:18px 0 14px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-size:clamp(30px,4vw,48px);line-height:1.06;letter-spacing:-1.4px;font-weight:900;color:#fff;
  text-wrap:balance;
}
.angst-final-card .angst-final-lead{
  margin:0 auto 32px;max-width:640px;
  font-size:18px;line-height:1.7;color:rgba(255,255,255,.92);
}
.angst-final-buttons{
  display:flex;flex-wrap:wrap;gap:14px;justify-content:center;
}
.angst-final-buttons .btn{height:60px;padding:0 32px;font-size:16.5px;border-radius:18px}
.angst-final-buttons .btn-primary{
  background:#fff;color:var(--green-700);
  box-shadow:0 18px 36px rgba(0,0,0,.22);
}
.angst-final-buttons .btn-primary:hover{
  background:#f7fbf8;color:#0d5e36;transform:translateY(-2px);
  box-shadow:0 22px 44px rgba(0,0,0,.28);
}
.angst-final-buttons .btn-secondary{
  background:rgba(255,255,255,.08);color:#fff;
  border:1.5px solid rgba(255,255,255,.50);
}
.angst-final-buttons .btn-secondary:hover{
  background:rgba(255,255,255,.18);border-color:#fff;transform:translateY(-2px);
}

.angst-final-foot{
  margin-top:26px;
  display:flex;flex-wrap:wrap;gap:18px;justify-content:center;
  font-size:14px;color:rgba(255,255,255,.82);font-weight:600;
}
.angst-final-foot span{display:inline-flex;align-items:center;gap:8px}
.angst-final-foot svg{width:16px;height:16px;color:#9be7b8;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

/* === RESPONSIVE === */
@media (max-width:980px){
  .angst-hero{padding:88px 0 56px}
  .angst-hero-grid{grid-template-columns:1fr;gap:36px}
  .angst-hero-visual{max-width:520px;margin:0 auto}
  .angst-hero-image{transform:none}
  .angst-pillars-grid{grid-template-columns:1fr;gap:18px}
  .angst-promise-grid{grid-template-columns:1fr;gap:32px}
  .angst-promise-visual{padding:36px 28px}
  .angst-hook-card{padding:42px 28px}
}
@media (max-width:640px){
  .angst-hero{padding:72px 0 44px}
  .angst-hero h1{font-size:36px;letter-spacing:-1.2px}
  .angst-hero .angst-hero-lead{font-size:16.5px}
  .angst-hero-buttons .btn{flex:1 1 100%;height:52px;padding:0 22px;font-size:15px}
  .angst-hero-floating{left:auto;right:18px;bottom:-18px;max-width:230px;padding:12px 14px}
  .angst-hook{padding:64px 0}
  .angst-hook-card{padding:36px 22px;border-radius:24px}
  .angst-hook-card:before{font-size:90px;left:18px}
  .angst-pillars{padding:64px 0}
  .angst-pillars-head{margin-bottom:32px}
  .angst-pillar-card{padding:28px 24px 24px;border-radius:22px}
  .angst-pillar-num{font-size:54px;top:16px;right:22px}
  .angst-promise{padding:64px 0}
  .angst-promise-visual{padding:30px 24px;border-radius:24px}
  .angst-final-cta{padding:64px 0}
  .angst-final-card{padding:48px 24px;border-radius:28px}
  .angst-final-buttons .btn{flex:1 1 100%;height:54px}
}

/* ============================================================
   LEGAL-SEITEN (Impressum / Datenschutz) — PREMIUM CARD LAYOUT
   Schmaler grüner Hero + Grid aus eleganten Info-Cards
   ============================================================ */
.legal-page-hero{
  position:relative;overflow:hidden;
  padding:88px 0 64px;
  background:
    radial-gradient(900px 360px at 12% 10%, rgba(255,255,255,.12), transparent 60%),
    radial-gradient(900px 380px at 88% 100%, rgba(255,255,255,.08), transparent 65%),
    linear-gradient(135deg,#169c5b 0%,#117946 55%,#0d5e36 100%);
  color:#fff;
  text-align:center;
}
.legal-page-hero:before,.legal-page-hero:after{
  content:"";position:absolute;border-radius:999px;pointer-events:none;
}
.legal-page-hero:before{
  width:340px;height:340px;background:rgba(255,255,255,.06);
  top:-120px;right:-80px;filter:blur(10px);
}
.legal-page-hero:after{
  width:260px;height:260px;background:rgba(255,255,255,.05);
  bottom:-100px;left:-60px;filter:blur(10px);
}
.legal-page-hero .container{position:relative;z-index:2;max-width:880px}
.legal-page-hero .kicker{
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.32);
  color:#fff;
  backdrop-filter:blur(6px);
}
.legal-page-hero h1{
  margin:16px 0 12px;
  font-size:clamp(36px,5vw,56px);
  line-height:1.04;letter-spacing:-1.6px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-weight:900;color:#fff;
}
.legal-page-hero .legal-page-lead{
  margin:0 auto;max-width:640px;
  font-size:17px;line-height:1.7;color:rgba(255,255,255,.92);font-weight:500;
}
.legal-page-hero .legal-page-stand{
  display:inline-block;margin-top:18px;
  padding:8px 16px;border-radius:999px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);
  font-size:13px;font-weight:700;letter-spacing:.04em;color:#fff;
}

/* Body-Bereich */
.legal-page-body{
  padding:64px 0 96px;
  background:linear-gradient(180deg,#f7fbf8 0%,#ffffff 60%);
}
.legal-page-shell{max-width:1080px;margin:0 auto}

/* Cards-Grid */
.legal-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
}
.legal-grid + .legal-grid{margin-top:22px}

.legal-info-card{
  position:relative;
  background:#fff;
  border:1px solid #e4ece7;
  border-radius:22px;
  padding:28px 30px;
  box-shadow:0 6px 22px rgba(18,32,25,.05);
  transition:transform .25s var(--ease), box-shadow .3s var(--ease), border-color .25s var(--ease);
}
.legal-info-card:hover{
  box-shadow:0 14px 32px rgba(18,32,25,.10);
  border-color:#d8e8df;
  transform:translateY(-2px);
}
.legal-info-card.is-wide{grid-column:1 / -1}
.legal-info-card.is-highlight{
  background:linear-gradient(135deg,#f4faf6 0%,#eef7f2 100%);
  border-color:#d2e9dc;
}

/* Card-Header (Icon + H2) */
.legal-info-card .card-header{
  display:flex;align-items:center;gap:14px;margin-bottom:16px;
}
.legal-info-card .card-icon{
  flex:0 0 46px;width:46px;height:46px;border-radius:14px;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#eff9f3,#d5f0e0);
  border:1px solid #d2e9dc;color:#0d5e36;
  box-shadow:0 8px 18px rgba(22,156,91,.10);
}
.legal-info-card .card-icon svg{
  width:22px;height:22px;stroke:currentColor;fill:none;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
}
.legal-info-card .card-eyebrow{
  display:block;font-size:11.5px;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;color:var(--green-700);
  margin-bottom:2px;
}
.legal-info-card h2{
  margin:0;
  font-size:20px;line-height:1.25;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-weight:800;color:var(--text);
}
.legal-info-card h3{
  margin:22px 0 8px;
  font-size:15.5px;line-height:1.3;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;font-weight:800;color:var(--text);
}

/* Typografie innerhalb der Cards */
.legal-info-card p,
.legal-info-card li{
  margin:0 0 10px;
  line-height:1.7;color:#3b4a42;font-size:15px;
}
.legal-info-card p:last-child,
.legal-info-card li:last-child{margin-bottom:0}
.legal-info-card a{
  color:var(--green-700);text-decoration:underline;text-underline-offset:2px;font-weight:600;
}
.legal-info-card a:hover{color:#0d5e36}
.legal-info-card code{
  background:#f3f7f4;border:1px solid #e1ebe5;
  padding:2px 8px;border-radius:6px;
  font-family:ui-monospace,Menlo,Consolas,monospace;
  font-size:.92em;color:#0d5e36;
}
.legal-info-card .legal-list{padding-left:22px;margin:6px 0 12px;display:grid;gap:6px}
.legal-info-card .legal-list li{padding-left:4px;margin:0}

/* Spec-Listen für Meta-Daten (Schlüssel-Wert-Paare in Boxen) */
.legal-spec-list{display:grid;gap:10px;margin:6px 0 0;padding:0;list-style:none}
.legal-spec-list li{
  display:grid;grid-template-columns:auto 1fr;column-gap:14px;
  padding:12px 16px;background:#f7fbf8;
  border-radius:12px;border:1px solid #e2eee7;margin:0;
}
.legal-spec-list li strong{color:var(--text);font-weight:800;font-size:13.5px;letter-spacing:.02em}
.legal-spec-list li span{font-size:14.5px;color:#3b4a42;line-height:1.55}

/* Adress-Block innerhalb von Cards */
.legal-info-card .legal-address{
  display:block;margin:0;padding:16px 18px;
  background:#f7fbf8;border:1px solid #e2eee7;border-radius:14px;
  font-style:normal;line-height:1.75;color:#3b4a42;font-size:15px;
}

/* Action-Link Button */
.legal-action-link{
  display:inline-flex;align-items:center;gap:8px;
  margin-top:6px;padding:12px 20px;border-radius:12px;
  background:var(--green);color:#fff !important;
  text-decoration:none !important;font-weight:800;font-size:14.5px;
  letter-spacing:.01em;
  transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.legal-action-link:hover{
  background:var(--green-700);color:#fff;transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(22,156,91,.24);
}
.legal-action-link svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Inhaltsverzeichnis als Card */
.legal-toc{
  margin:0 0 22px;padding:24px 28px;
  background:linear-gradient(135deg,#f4faf6 0%,#eef7f2 100%);
  border:1px solid #d2e9dc;border-radius:22px;
}
.legal-toc strong{
  display:block;margin-bottom:14px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--green-700);
}
.legal-toc ol{
  margin:0;padding-left:0;list-style:none;
  display:grid;grid-template-columns:repeat(2,1fr);gap:6px 22px;counter-reset:legal-toc;
}
.legal-toc li{counter-increment:legal-toc;padding-left:0}
.legal-toc li a{
  display:flex;align-items:baseline;gap:10px;
  color:var(--text);text-decoration:none;font-weight:600;
  font-size:14.5px;padding:6px 0;border-radius:8px;
  transition:color .2s ease;
}
.legal-toc li a:before{
  content:counter(legal-toc,decimal-leading-zero);
  font-size:11px;font-weight:800;color:var(--green-700);
  background:#fff;padding:3px 7px;border-radius:6px;
  border:1px solid #d2e9dc;
  letter-spacing:.04em;flex:0 0 auto;
}
.legal-toc li a:hover{color:var(--green-700)}

/* Smooth-Scroll mit Offset für fixierten Header */
html{scroll-padding-top:100px}

/* Mobile */
@media (max-width:820px){
  .legal-page-hero{padding:64px 0 48px}
  .legal-page-body{padding:48px 0 72px}
  .legal-grid{grid-template-columns:1fr;gap:16px}
  .legal-grid + .legal-grid{margin-top:16px}
  .legal-info-card{padding:22px 22px;border-radius:18px}
  .legal-toc{padding:18px 20px;border-radius:18px}
  .legal-toc ol{grid-template-columns:1fr;gap:4px}
}
@media (max-width:480px){
  .legal-page-hero h1{font-size:32px;letter-spacing:-1px}
  .legal-info-card .card-header{gap:12px}
  .legal-info-card .card-icon{width:40px;height:40px;flex-basis:40px;border-radius:12px}
  .legal-info-card h2{font-size:18px}
}

/* ============================================================
   DATENSCHUTZ / IMPRESSUM — erweiterte Legal-Typo (Legacy-Container, falls noch genutzt)
   ============================================================ */
.legal-meta{margin-top:10px;font-size:13.5px;color:var(--muted);font-weight:700;letter-spacing:.02em}
.legal-card h2{
  margin-top:42px;margin-bottom:14px;
  font-size:26px;line-height:1.18;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  color:var(--text);
  padding-top:16px;border-top:1px solid var(--line);
}
.legal-card > nav.legal-toc + h2,
.legal-card > h2:first-of-type{margin-top:24px;padding-top:0;border-top:0}
.legal-card h3{
  margin-top:24px;margin-bottom:10px;
  font-size:18px;font-weight:800;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  color:var(--text);
}
.legal-card p,.legal-card li{line-height:1.75;color:#3b4a42}
.legal-card a{color:var(--green-700);text-decoration:underline;text-underline-offset:2px;font-weight:600}
.legal-card a:hover{color:#0d5e36}
.legal-card code{
  background:#f3f7f4;border:1px solid #e1ebe5;
  padding:2px 7px;border-radius:6px;
  font-family:ui-monospace,"Menlo","Consolas",monospace;
  font-size:.92em;color:#0d5e36;
}
.legal-list{margin:10px 0 16px;padding-left:22px;display:grid;gap:6px}
.legal-list li{padding-left:4px}
.legal-address{
  display:block;margin:14px 0 18px;padding:18px 20px;
  background:#f7fbf8;border:1px solid #e2eee7;border-radius:14px;
  font-style:normal;line-height:1.75;color:#3b4a42;
}
.legal-action-link{
  display:inline-flex;align-items:center;gap:8px;
  padding:11px 18px;border-radius:12px;
  background:var(--green);color:#fff !important;
  text-decoration:none !important;font-weight:700;
  transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.legal-action-link:hover{background:var(--green-700);color:#fff;transform:translateY(-1px);box-shadow:0 10px 22px rgba(22,156,91,.22)}

/* Inhaltsverzeichnis */
.legal-toc{
  margin:8px 0 28px;padding:18px 22px;
  background:#f7fbf8;border:1px solid #e2eee7;border-radius:16px;
}
.legal-toc strong{
  display:block;margin-bottom:10px;
  font-family:"Plus Jakarta Sans",Inter,sans-serif;
  font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--green-700);
}
.legal-toc ol{
  margin:0;padding-left:22px;
  display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;
  font-size:14.5px;
}
.legal-toc li a{color:var(--text);text-decoration:none;font-weight:600}
.legal-toc li a:hover{color:var(--green-700);text-decoration:underline}
@media (max-width:760px){
  .legal-toc ol{grid-template-columns:1fr;gap:4px}
  .legal-card h2{font-size:22px;padding-top:14px;margin-top:32px}
  .legal-card h3{font-size:17px}
  .legal-toc{padding:14px 16px}
  .legal-address{padding:14px 16px}
}

/* Smooth-scroll inkl. Offset für fixierten Header bei Anker-Links */
html{scroll-padding-top:96px}

/* ============================================================
   COOKIE-BANNER — kleine Verfeinerungen für mobile Lesbarkeit
   ============================================================ */
body.si-cookie-active{ /* optional: scroll-lock unnötig - Banner ist non-blocking */ }
@media (max-width:780px){
  .cookie-banner-inner{padding:18px 18px 20px}
  .cookie-banner-options{grid-template-columns:1fr;gap:8px;margin-top:14px}
  .cookie-banner-actions{margin-top:14px;justify-content:stretch}
  .cookie-banner-actions .cookie-btn{flex:1 1 auto;min-width:0}
  .cookie-banner-actions .cookie-btn-link{flex:1 1 100%;text-align:center;padding:10px 6px;order:99}
  .cookie-banner-title{font-size:17px}
  .cookie-banner-text{font-size:14px}
}

/* =============================================================
   KLASSEN-LANDINGPAGES (klasse-1.html … klasse-13.html)
   Eigenständige Optik: großes Klassen-Badge, Fächer-Matrix,
   Themen-Akkordeons, Phasen-Banner, You-vs-You-Block, FAQ.
   ============================================================= */

/* — Hero-Badge mit großer Klassennummer — */
.klasse-hero-badge{
  display:inline-flex;align-items:center;gap:14px;
  padding:10px 16px 10px 10px;
  border-radius:999px;
  background:linear-gradient(135deg,#0f3024 0%,#16623f 60%,#1c8a55 100%);
  color:#fff;font-weight:800;letter-spacing:.4px;
  box-shadow:0 14px 30px rgba(11,80,46,.28);
  margin-bottom:18px;
}
.klasse-hero-badge-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:50%;
  background:#fff;color:#0e3a25;
  font-weight:900;font-size:20px;font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  box-shadow:inset 0 0 0 2px rgba(15,58,36,.10);
}
.klasse-hero-badge-text{font-size:14px;text-transform:uppercase}
.klasse-hero-badge-text small{display:block;font-weight:600;opacity:.85;text-transform:none;font-size:12px;margin-top:2px}

/* — Phasen-Banner (Grundschule · Sek I · Oberstufe) — */
.klasse-phase-banner{
  margin:28px 0 6px;
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;
  font-size:13px;color:#0e3a25;font-weight:700
}
@media (max-width:600px){
  .klasse-phase-banner{margin-top:22px}
}
.klasse-phase-pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 14px;border-radius:999px;background:#eaf5ee;color:#0f3024;
  border:1px solid rgba(15,58,36,.08);
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.klasse-phase-pill.is-active{background:linear-gradient(135deg,#0f3024,#1c8a55);color:#fff;border-color:transparent;box-shadow:0 8px 22px rgba(11,80,46,.22)}
.klasse-phase-pill .dot{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.6}

/* — Meilenstein-Banner (z. B. „Wichtiges Übergangsjahr") — */
.klasse-milestone{
  margin:34px auto 0;
  max-width:1180px;
  display:flex;gap:18px;align-items:center;
  padding:22px 26px;
  border-radius:22px;
  background:linear-gradient(135deg,#fff7dd 0%,#ffeec2 100%);
  border:1px solid #f4d77a;
  box-shadow:0 16px 40px rgba(180,130,15,.10);
}
.klasse-milestone-icon{
  flex:0 0 auto;width:54px;height:54px;border-radius:16px;
  background:#fbe28a;color:#7a5300;
  display:flex;align-items:center;justify-content:center;
}
.klasse-milestone-icon svg{width:28px;height:28px}
.klasse-milestone h3{margin:0 0 4px;font-size:17px;color:#5a3d00}
.klasse-milestone p{margin:0;color:#523500;font-size:14px;line-height:1.55}

/* — FÄCHER-MATRIX — */
.klasse-faecher-section{padding:64px 0}
.klasse-faecher-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:18px;
  margin-top:32px;
}
.klasse-fach-card{
  position:relative;
  background:#fff;
  border-radius:22px;
  padding:22px 18px 20px;
  border:1px solid rgba(15,58,36,.08);
  box-shadow:0 8px 22px rgba(11,32,21,.06);
  display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;
  text-decoration:none;color:inherit;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.klasse-fach-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(11,32,21,.12);border-color:rgba(28,138,85,.35)}
.klasse-fach-card-icon{
  width:54px;height:54px;border-radius:16px;
  background:linear-gradient(135deg,#eaf6ef 0%,#d8eedf 100%);
  color:#137a45;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:4px;
}
.klasse-fach-card-icon svg{width:28px;height:28px}
.klasse-fach-card-title{font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;font-weight:800;font-size:16px;letter-spacing:-.1px;color:#0e3a25;line-height:1.2}
.klasse-fach-card-sub{font-size:12.5px;color:#557464;line-height:1.35}
.klasse-fach-card-status{
  display:inline-flex;align-items:center;gap:6px;
  margin-top:6px;
  padding:5px 10px;border-radius:999px;
  background:#e5f3eb;color:#0f6b41;font-size:11.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;
}
.klasse-fach-card.is-disabled{
  opacity:.42;filter:grayscale(100%);
  pointer-events:none;
}
.klasse-fach-card.is-disabled .klasse-fach-card-status{
  background:#f1f1f1;color:#666;
}

/* — Themen-Akkordeons — */
.klasse-themen-section{padding:32px 0 64px}
.klasse-themen-section .container > .section-head{margin-bottom:22px}
.klasse-themen-list{display:grid;gap:14px;margin-top:8px}
.klasse-themen-details{
  background:#fff;
  border:1px solid rgba(15,58,36,.10);
  border-radius:18px;
  box-shadow:0 6px 18px rgba(11,32,21,.05);
  overflow:hidden;
  transition:box-shadow .25s ease,border-color .25s ease;
}
.klasse-themen-details[open]{box-shadow:0 14px 36px rgba(11,32,21,.10);border-color:rgba(28,138,85,.28)}
.klasse-themen-summary{
  list-style:none;
  cursor:pointer;
  padding:18px 22px;
  display:flex;align-items:center;gap:14px;
  font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;font-weight:800;color:#0e3a25;font-size:17px;letter-spacing:-.1px;
}
.klasse-themen-summary::-webkit-details-marker{display:none}
.klasse-themen-summary::marker{content:""}
.klasse-themen-summary-icon{
  flex:0 0 auto;width:42px;height:42px;border-radius:12px;
  background:linear-gradient(135deg,#eaf6ef,#d8eedf);color:#137a45;
  display:flex;align-items:center;justify-content:center;
}
.klasse-themen-summary-icon svg{width:22px;height:22px}
.klasse-themen-summary-title{flex:1}
.klasse-themen-summary-title small{display:block;font-weight:500;font-size:12.5px;color:#557464;margin-top:2px;letter-spacing:0}
.klasse-themen-summary-chev{
  flex:0 0 auto;width:30px;height:30px;border-radius:50%;
  background:#eaf6ef;color:#137a45;
  display:flex;align-items:center;justify-content:center;
  transition:transform .25s ease,background .25s ease;
}
.klasse-themen-details[open] .klasse-themen-summary-chev{transform:rotate(180deg);background:#0f6b41;color:#fff}
.klasse-themen-summary-chev svg{width:16px;height:16px}
.klasse-themen-body{padding:0 22px 20px;color:#2f3a34;line-height:1.6}
.klasse-themen-body ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 22px}
.klasse-themen-body li{position:relative;padding-left:22px;font-size:14.5px}
.klasse-themen-body li::before{
  content:"";position:absolute;left:0;top:8px;width:10px;height:10px;border-radius:50%;
  background:linear-gradient(135deg,#1c8a55,#0f6b41);
}
.klasse-themen-body .klasse-themen-note{
  margin-top:14px;font-size:13.5px;color:#557464;font-style:italic;
}
.klasse-themen-body .klasse-themen-cta{
  margin-top:16px;display:inline-flex;align-items:center;gap:6px;
  font-weight:800;color:#0f6b41;text-decoration:none;font-size:14px;
}
.klasse-themen-body .klasse-themen-cta:hover{text-decoration:underline}

/* — YOU VS. YOU — */
.klasse-you-vs-you{
  position:relative;overflow:hidden;
  margin:0 auto;max-width:1180px;
  background:linear-gradient(135deg,#0e3a25 0%,#1b5538 55%,#1c8a55 100%);
  color:#fff;
  border-radius:32px;
  padding:54px 56px;
  box-shadow:0 30px 70px rgba(11,58,36,.30);
  display:grid;grid-template-columns:1.25fr .75fr;gap:36px;align-items:center;
}
.klasse-you-vs-you::after{
  content:"";position:absolute;inset:auto -80px -80px auto;
  width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle,#9be7b8 0%,transparent 70%);
  opacity:.25;pointer-events:none;
}
.klasse-you-vs-you-kicker{
  display:inline-flex;align-items:center;gap:8px;
  font-weight:800;text-transform:uppercase;letter-spacing:1.6px;font-size:12px;
  background:rgba(255,255,255,.08);padding:6px 12px;border-radius:999px;color:#bff5d3;
  margin-bottom:14px;
}
.klasse-you-vs-you h2{
  margin:0 0 14px;font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  font-size:clamp(26px,3.4vw,40px);line-height:1.1;letter-spacing:-.8px;
}
.klasse-you-vs-you h2 .accent{
  color:#9be7b8;
  background:linear-gradient(180deg,#bff5d3 0%,#7ad99c 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.klasse-you-vs-you p{margin:0;color:#dbece1;font-size:16px;line-height:1.65;max-width:60ch}
.klasse-you-vs-you-points{
  display:grid;gap:14px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;padding:22px 24px;
  backdrop-filter:blur(2px);
}
.klasse-you-vs-you-points li{
  list-style:none;display:flex;align-items:flex-start;gap:12px;
  font-size:15px;color:#eaf6ef;line-height:1.5;
}
.klasse-you-vs-you-points li svg{flex:0 0 auto;width:22px;height:22px;color:#9be7b8;margin-top:2px}
.klasse-you-vs-you-points li strong{color:#fff}

/* — FAQ (klassenspezifisch) — */
.klasse-faq{display:grid;gap:14px;margin-top:30px}
.klasse-faq details{
  background:#fff;border:1px solid rgba(15,58,36,.10);border-radius:18px;
  padding:0;box-shadow:0 6px 18px rgba(11,32,21,.05);
  transition:box-shadow .25s ease,border-color .25s ease;
}
.klasse-faq details[open]{box-shadow:0 12px 28px rgba(11,32,21,.10);border-color:rgba(28,138,85,.28)}
.klasse-faq summary{
  list-style:none;cursor:pointer;padding:18px 22px;
  font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;font-weight:800;color:#0e3a25;font-size:16px;
  display:flex;align-items:center;gap:14px;
}
.klasse-faq summary::-webkit-details-marker{display:none}
.klasse-faq summary::after{
  content:"+";margin-left:auto;font-size:22px;color:#137a45;font-weight:700;line-height:1;
  transition:transform .2s ease;
}
.klasse-faq details[open] summary::after{content:"−"}
.klasse-faq-body{padding:0 22px 18px;color:#2f3a34;line-height:1.6;font-size:15px}

/* — Responsive — */
@media (max-width:900px){
  .klasse-you-vs-you{grid-template-columns:1fr;padding:38px 28px;border-radius:26px}
  .klasse-you-vs-you::after{display:none}
  .klasse-faecher-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
  .klasse-fach-card{padding:18px 12px;border-radius:18px}
  .klasse-fach-card-title{font-size:15px}
  .klasse-themen-summary{padding:14px 16px;font-size:15.5px;gap:10px}
  .klasse-themen-summary-icon{width:36px;height:36px;border-radius:10px}
  .klasse-themen-body{padding:0 16px 18px}
  .klasse-themen-body ul{grid-template-columns:1fr}
  .klasse-milestone{flex-direction:column;text-align:center;align-items:center;padding:20px}
}
@media (max-width:480px){
  .klasse-faecher-grid{grid-template-columns:repeat(2,1fr)}
  .klasse-hero-badge{padding:8px 14px 8px 8px}
  .klasse-hero-badge-num{width:40px;height:40px;font-size:17px}
}

/* =============================================================
   HEADER-DROPDOWN „Klassen" — 3-spaltig (Grundschule · Sek I · Oberstufe)
   ============================================================= */
.dropdown.classes-dropdown{min-width:580px;padding:18px 18px 14px}
.classes-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(150px,1fr));
  gap:6px 22px;
}
.classes-col{display:flex;flex-direction:column;gap:2px}
.classes-group-title{
  font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:#0f6b41;font-weight:800;
  padding:4px 6px 6px;border-bottom:1px solid rgba(15,58,36,.10);
  margin-bottom:4px;
}
.classes-link{
  display:flex;align-items:center;gap:10px;
  padding:7px 10px;border-radius:10px;
  text-decoration:none;color:#0e3a25;font-weight:700;font-size:14px;
  transition:background .2s ease,transform .2s ease;
}
.classes-link:hover{background:#eaf6ef;transform:translateX(2px)}
.classes-link-num{
  flex:0 0 auto;width:26px;height:26px;border-radius:50%;
  background:linear-gradient(135deg,#eaf6ef,#d8eedf);color:#137a45;
  font-size:12px;font-weight:800;
  display:inline-flex;align-items:center;justify-content:center;
}
.classes-link-tag{
  margin-left:auto;font-size:10px;letter-spacing:.8px;text-transform:uppercase;
  background:#0f6b41;color:#fff;font-weight:800;padding:2px 6px;border-radius:999px;
}
.classes-dropdown-cta{
  display:flex;align-items:center;justify-content:space-between;
  margin-top:12px;padding:10px 14px;border-radius:12px;
  background:linear-gradient(135deg,#0f3024,#1c8a55);color:#fff;font-weight:800;font-size:13px;
  text-decoration:none;letter-spacing:.2px;
  transition:transform .2s ease,box-shadow .2s ease;
}
.classes-dropdown-cta:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(11,80,46,.28)}
.classes-dropdown-cta svg{width:16px;height:16px}

/* =============================================================
   KLASSEN-HUB (klassen.html)
   ============================================================= */
.klassen-hub-hero{
  background:linear-gradient(160deg,#0f3024 0%,#16623f 60%,#1c8a55 100%);
  color:#fff;
  padding:96px 0 72px;
  position:relative;overflow:hidden;
}
.klassen-hub-hero::after{
  content:"";position:absolute;inset:auto -120px -120px auto;
  width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,#9be7b8 0%,transparent 70%);
  opacity:.18;pointer-events:none;
}
.klassen-hub-hero .container{position:relative;z-index:1;text-align:center}
.klassen-hub-hero .kicker{
  display:inline-block;background:rgba(255,255,255,.10);color:#bff5d3;
  padding:6px 14px;border-radius:999px;font-weight:800;letter-spacing:1px;font-size:12px;
  text-transform:uppercase;margin-bottom:16px;
}
.klassen-hub-hero h1{
  margin:0 0 14px;font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  font-size:clamp(32px,4.4vw,52px);line-height:1.07;letter-spacing:-1px;
}
.klassen-hub-hero h1 .accent{
  color:#9be7b8;
  background:linear-gradient(180deg,#bff5d3 0%,#7ad99c 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.klassen-hub-hero p{color:#dbece1;font-size:18px;line-height:1.65;max-width:760px;margin:0 auto}

.klassen-hub-section{padding:56px 0}
.klassen-hub-section .section-head{margin-bottom:28px}
.klassen-hub-phase-title{
  display:flex;align-items:center;gap:14px;
  font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  font-size:clamp(20px,2.4vw,26px);font-weight:800;letter-spacing:-.4px;color:#0e3a25;
  margin:0 0 16px;
}
.klassen-hub-phase-title .pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:5px 12px;border-radius:999px;
  background:#eaf6ef;color:#0f6b41;font-size:11.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;
}
.klassen-hub-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:18px;
}
.klassen-hub-card{
  position:relative;
  background:#fff;border:1px solid rgba(15,58,36,.10);
  border-radius:22px;
  padding:24px 22px 22px;
  text-decoration:none;color:inherit;
  box-shadow:0 8px 22px rgba(11,32,21,.06);
  display:flex;flex-direction:column;gap:6px;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
  overflow:hidden;
}
.klassen-hub-card:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(11,32,21,.14);border-color:rgba(28,138,85,.30)}
.klassen-hub-card-num{
  font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  font-size:48px;line-height:1;font-weight:900;letter-spacing:-2px;
  color:transparent;
  background:linear-gradient(135deg,#0e3a25 0%,#1c8a55 100%);
  -webkit-background-clip:text;background-clip:text;
  margin-bottom:6px;
}
.klassen-hub-card-title{
  font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  font-weight:800;font-size:17px;color:#0e3a25;letter-spacing:-.2px;
}
.klassen-hub-card-desc{font-size:13.5px;color:#557464;line-height:1.5}
.klassen-hub-card-tag{
  position:absolute;top:18px;right:18px;
  font-size:10.5px;letter-spacing:.8px;text-transform:uppercase;
  background:linear-gradient(135deg,#0f3024,#1c8a55);color:#fff;font-weight:800;
  padding:4px 9px;border-radius:999px;
}
.klassen-hub-card-arrow{
  margin-top:10px;font-size:13px;font-weight:800;color:#0f6b41;
  display:inline-flex;align-items:center;gap:6px;
}

@media (max-width:960px){
  .dropdown.classes-dropdown{min-width:auto}
  .classes-grid{grid-template-columns:1fr;gap:4px}
  .classes-col{margin-bottom:8px}
  .klassen-hub-hero{padding:72px 0 56px}
}
@media (max-width:600px){
  .klassen-hub-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .klassen-hub-card{padding:18px 16px 16px;border-radius:18px}
  .klassen-hub-card-num{font-size:38px}
  .klassen-hub-card-title{font-size:15px}
  .klassen-hub-card-desc{font-size:12.5px}
  .klassen-hub-card-tag{font-size:9.5px;padding:3px 7px}
}

/* Mobile-Nav: Klassen-Subnav-Gruppen */
.mobile-subnav .mobile-subnav-group-title{
  display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;
  color:#0f6b41;font-weight:800;
  padding:10px 4px 4px;margin-top:4px;
  border-top:1px solid rgba(15,58,36,.08);
}
.mobile-subnav .mobile-subnav-group-title:first-child{border-top:none;margin-top:0;padding-top:4px}

/* =============================================================
   NAV-FIX (2026-05-14): kein Umbrechen in 2 Zeilen,
   stabile Hover-Brücke zwischen Trigger und Dropdown.
   ============================================================= */
/* (1) Nav-Bar darf NIE auf 2 Zeilen umbrechen */
.nav-left{flex-wrap:nowrap !important}

/* (2) Hover-Brücke ÜBER dem Dropdown deutlich vergrößern.
       Außerdem unsichtbare Sicherheitsfläche auch unter dem Trigger,
       damit der Cursor von "Klassen" gerade nach unten in den Dropdown
       wandern kann, ohne den Hover-State zu verlieren. */
.dropdown::before{
  top:-26px !important;
  height:32px !important;
  left:-24px !important;
  right:-24px !important;
}

/* Zusätzlicher Hover-Schutz: das Trigger-Nav-Item bekommt eine
   etwas größere Hover-Trefferzone, damit kurze Maus-Slalome
   nicht direkt zum Schließen führen. */
.nav-item{padding-bottom:20px;margin-bottom:-20px}

/* (3) Kompaktere Nav-Items zwischen Tablet und kleinem Desktop,
       damit alle Items in eine Zeile passen — aber mit Atem
       zwischen den einzelnen Items (Label-Wechsel „Coach werden"→„Jobs"
       hat zusätzlichen Spielraum geschaffen, Stand 2026-05-14). */
@media (min-width:901px) and (max-width:1180px){
  .nav-inner{gap:14px !important}
  .nav-left{gap:4px !important}
  .nav-link{padding:9px 11px;font-size:12.5px;gap:4px}
  .nav-cta{padding:9px 14px;font-size:13px}
  .brand img{height:48px}
}
@media (min-width:1181px) and (max-width:1320px){
  .nav-left{gap:4px}
  .nav-link{padding:10px 13px;font-size:13px}
}

/* =============================================================
   INSEL-WIKI — Pilot: wiki-mitose.html
   Anti-Langweile-Design: farbige Phasen, klare Hierarchie,
   viel Whitespace, Sales-Block & Spickzettel.
   ============================================================= */
body.wiki-page{
  --wiki-cream:#fbfaf6;
  --wiki-ink:#0e2a1e;
  --wiki-muted:#52685c;
  --wiki-line:rgba(15,58,36,.10);
  --wiki-shadow-soft:0 8px 22px rgba(11,32,21,.06);
  --wiki-shadow-card:0 22px 50px rgba(11,32,21,.10);

  /* Phasen-Farbcodes */
  --wiki-prophase:#8b5cf6;     /* Lavendel — "Packen" */
  --wiki-prophase-bg:#f3efff;
  --wiki-metaphase:#f97316;    /* Orange — "Mitte" */
  --wiki-metaphase-bg:#fff2e6;
  --wiki-anaphase:#0ea5e9;     /* Türkis — "Auseinander" */
  --wiki-anaphase-bg:#e6f5fc;
  --wiki-telophase:#16a34a;    /* Grün — "Neuanfang" */
  --wiki-telophase-bg:#e9f8ee;
}
body.wiki-page main{background:linear-gradient(180deg,#fff 0%,var(--wiki-cream) 38%,#fff 100%)}

/* ─── Hero ─── */
.wiki-hero{padding:90px 0 32px;position:relative;overflow:hidden}
.wiki-hero .container{max-width:920px;text-align:center}
.wiki-hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px;border-radius:999px;
  background:#eaf6ef;color:#0f6b41;font-weight:800;letter-spacing:1.2px;font-size:12px;
  text-transform:uppercase;margin-bottom:18px;
}
.wiki-hero-eyebrow svg{width:14px;height:14px}

/* Dezentes Wiki-Breadcrumb (ersetzt Eyebrow-Pfad mit Punkten) */
.wiki-breadcrumb{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:.25rem .45rem;margin:0 0 16px;
  font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:#9ca3af;line-height:1.45;
}
.wiki-breadcrumb a{color:#9ca3af;text-decoration:none;transition:color .15s ease}
.wiki-breadcrumb a:hover{color:#6b7280;text-decoration:underline;text-underline-offset:2px}
.wiki-breadcrumb-sep{color:#d1d5db;font-weight:500;user-select:none}
.wiki-breadcrumb-sep--gt{letter-spacing:0}
.wiki-breadcrumb-current{color:#6b7280}

/* Gestapelte Brüche (Zähler / Strich / Nenner) */
.wiki-frac{
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
  vertical-align:middle;margin:0 .15em;font-size:.92em;line-height:1;font-weight:700;
  color:inherit;
}
.wiki-frac-num,.wiki-frac-den{padding:0 .28em;text-align:center;min-width:1ch}
.wiki-frac-bar{
  display:block;width:100%;min-width:1.15em;border-top:1.5px solid currentColor;margin:1px 0;
}
.wiki-math-line{
  display:flex;flex-wrap:wrap;align-items:center;gap:.35em .5em;
  margin:14px 0;font-size:17px;font-weight:600;color:#0e2a1e;
}
.wiki-math-eq{opacity:.55;font-weight:500}
.wiki-hero h1{
  font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  font-size:clamp(32px,4.8vw,54px);line-height:1.05;letter-spacing:-1.4px;
  margin:0 0 18px;color:var(--wiki-ink);text-wrap:balance;
}
.wiki-hero h1 .accent{
  color:#0f6b41;background:linear-gradient(180deg,#1c8a55 0%,#0e3a25 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.wiki-hero p{
  color:var(--wiki-muted);font-size:clamp(16px,1.6vw,19px);line-height:1.65;
  max-width:680px;margin:0 auto;
}
.wiki-hero-meta{
  display:inline-flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;
  margin-top:22px;font-size:13px;color:var(--wiki-muted);font-weight:600;
}
.wiki-hero-meta-item{display:inline-flex;align-items:center;gap:6px}
.wiki-hero-meta-item svg{width:16px;height:16px;color:#0f6b41}

/* ─── TL;DR Schnell-Durchblick ─── */
.wiki-tldr{padding:24px 0 56px}
.wiki-tldr .container{max-width:920px}
.wiki-tldr-box{
  background:#fff;border:1px solid var(--wiki-line);border-left:6px solid var(--wiki-telophase);
  border-radius:30px;padding:28px 32px;display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:flex-start;
  box-shadow:var(--wiki-shadow-soft);
}
.wiki-tldr-icon{
  flex:0 0 auto;width:58px;height:58px;border-radius:18px;
  background:linear-gradient(135deg,#eaf6ef,#d8eedf);color:#0f6b41;
  display:flex;align-items:center;justify-content:center;
}
.wiki-tldr-icon svg{width:30px;height:30px}
.wiki-tldr-label{
  display:inline-block;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;
  color:#0f6b41;font-weight:800;margin-bottom:4px;
}
.wiki-tldr h2{
  margin:0 0 8px;font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  font-size:22px;letter-spacing:-.3px;color:var(--wiki-ink);
}
.wiki-tldr p{margin:0;color:var(--wiki-ink);font-size:16px;line-height:1.65}
.wiki-tldr-keypoints{
  list-style:none;padding:14px 0 0;margin:14px 0 0;display:grid;gap:8px;border-top:1px dashed var(--wiki-line);
}
.wiki-tldr-keypoints li{
  position:relative;padding-left:30px;font-size:14.5px;color:var(--wiki-ink);line-height:1.5;
}
.wiki-tldr-keypoints li::before{
  content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;
  background:linear-gradient(135deg,#1c8a55,#0f6b41);
}
.wiki-tldr-keypoints li::after{
  content:"";position:absolute;left:6px;top:7px;width:8px;height:5px;
  border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);
}

/* ─── Phasen-Timeline ─── */
.wiki-timeline-section{padding:24px 0 56px}
.wiki-timeline-section .container{max-width:1080px}
.wiki-timeline-head{text-align:center;margin-bottom:38px}
.wiki-timeline-head .kicker{
  display:inline-block;padding:6px 14px;border-radius:999px;
  background:#eaf6ef;color:#0f6b41;font-weight:800;letter-spacing:1.2px;font-size:12px;
  text-transform:uppercase;margin-bottom:14px;
}
.wiki-timeline-head h2{
  margin:0 0 10px;font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  font-size:clamp(26px,3.6vw,40px);letter-spacing:-.8px;color:var(--wiki-ink);
}
.wiki-timeline-head p{color:var(--wiki-muted);font-size:16px;max-width:640px;margin:0 auto;line-height:1.6}

.wiki-timeline{display:grid;gap:24px}
.wiki-phase{
  position:relative;
  background:#fff;border:1px solid var(--wiki-line);
  border-radius:30px;padding:32px 36px;
  display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:flex-start;
  box-shadow:var(--wiki-shadow-soft);
  overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease;
}
.wiki-phase:hover{transform:translateY(-3px);box-shadow:var(--wiki-shadow-card)}
.wiki-phase::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--wiki-phase-color,#16a34a);
}
.wiki-phase-step{
  flex:0 0 auto;width:72px;height:72px;border-radius:22px;
  background:var(--wiki-phase-bg,#e9f8ee);color:var(--wiki-phase-color,#16a34a);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;font-weight:900;
}
.wiki-phase-step-num{font-size:24px;line-height:1;letter-spacing:-1px}
.wiki-phase-step-label{font-size:9.5px;letter-spacing:1.4px;text-transform:uppercase;margin-top:2px;font-weight:800}
.wiki-phase-body{flex:1;min-width:0}
.wiki-phase-head{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:10px;
}
.wiki-phase-icon{
  width:46px;height:46px;border-radius:14px;
  background:var(--wiki-phase-bg,#e9f8ee);color:var(--wiki-phase-color,#16a34a);
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;
}
.wiki-phase-icon svg{width:24px;height:24px}
.wiki-phase h3{
  margin:0;font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  font-size:22px;letter-spacing:-.4px;color:var(--wiki-ink);line-height:1.2;
}
.wiki-phase h3 small{
  display:block;font-size:13px;font-weight:700;color:var(--wiki-phase-color,#16a34a);
  letter-spacing:.4px;margin-top:4px;
}
.wiki-phase-text{margin:0 0 16px;color:var(--wiki-ink);font-size:15.5px;line-height:1.65}
.wiki-phase-facts{
  list-style:none;padding:0;margin:0 0 16px;display:grid;gap:6px;
}
.wiki-phase-facts li{
  position:relative;padding-left:24px;font-size:14.5px;color:var(--wiki-muted);line-height:1.5;
}
.wiki-phase-facts li::before{
  content:"";position:absolute;left:0;top:8px;width:10px;height:10px;border-radius:50%;
  background:var(--wiki-phase-color,#16a34a);opacity:.65;
}

/* Phase-Farbvarianten via Custom Properties */
.wiki-phase--prophase{--wiki-phase-color:var(--wiki-prophase);--wiki-phase-bg:var(--wiki-prophase-bg)}
.wiki-phase--metaphase{--wiki-phase-color:var(--wiki-metaphase);--wiki-phase-bg:var(--wiki-metaphase-bg)}
.wiki-phase--anaphase{--wiki-phase-color:var(--wiki-anaphase);--wiki-phase-bg:var(--wiki-anaphase-bg)}
.wiki-phase--telophase{--wiki-phase-color:var(--wiki-telophase);--wiki-phase-bg:var(--wiki-telophase-bg)}

/* Merksatz-Box pro Phase */
.wiki-merksatz{
  display:flex;align-items:flex-start;gap:14px;
  background:var(--wiki-phase-bg,#fff7d9);
  border:1px dashed var(--wiki-phase-color,#e3c860);
  border-radius:18px;padding:14px 18px;
  margin-top:4px;
}
.wiki-merksatz-icon{
  flex:0 0 auto;width:34px;height:34px;border-radius:50%;
  background:var(--wiki-phase-color,#16a34a);color:#fff;
  display:flex;align-items:center;justify-content:center;
}
.wiki-merksatz-icon svg{width:18px;height:18px}
.wiki-merksatz-body{flex:1;min-width:0;font-size:14px;color:var(--wiki-ink);line-height:1.55}
.wiki-merksatz-body strong{display:block;font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;font-size:11.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--wiki-phase-color,#0f6b41);margin-bottom:4px;font-weight:800}
.wiki-merksatz-body em{font-style:italic;color:var(--wiki-ink);font-weight:700}

/* ─── Übergreifende Mega-Eselsbrücke ─── */
.wiki-megabridge{
  margin-top:38px;
  background:#fff;border:1px solid var(--wiki-line);
  border-radius:30px;padding:30px 32px;
  display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;
  box-shadow:var(--wiki-shadow-soft);
}
.wiki-megabridge-icon{
  flex:0 0 auto;width:62px;height:62px;border-radius:18px;
  background:linear-gradient(135deg,#fff2c8,#ffe6a3);color:#6b4a00;
  display:flex;align-items:center;justify-content:center;
}
.wiki-megabridge-icon svg{width:32px;height:32px}
.wiki-megabridge-label{
  display:inline-block;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;
  color:#8a5e00;font-weight:800;margin-bottom:4px;
}
.wiki-megabridge h3{
  margin:0 0 4px;font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  font-size:22px;color:var(--wiki-ink);letter-spacing:-.3px;
}
.wiki-megabridge h3 strong{color:#0f6b41}
.wiki-megabridge p{margin:0;color:var(--wiki-muted);font-size:15px;line-height:1.55}

/* ─── Sicherheits-Falle (Sales-Pitch) ─── */
.wiki-sales{padding:64px 0}
.wiki-sales .container{max-width:1080px}
.wiki-sales-box{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#0e3a25 0%,#1b5538 55%,#1c8a55 100%);
  color:#fff;border-radius:30px;padding:54px 56px 60px;
  display:grid;grid-template-columns:1.25fr .75fr;gap:36px;align-items:center;
  box-shadow:0 30px 70px rgba(11,58,36,.30);
}
.wiki-sales-box::after{
  content:"";position:absolute;inset:auto -120px -120px auto;
  width:360px;height:360px;border-radius:50%;
  background:radial-gradient(circle,#9be7b8 0%,transparent 70%);
  opacity:.22;pointer-events:none;
}
.wiki-sales-kicker{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.10);color:#bff5d3;font-weight:800;
  padding:6px 14px;border-radius:999px;font-size:12px;letter-spacing:1.6px;text-transform:uppercase;
  margin-bottom:14px;
}
.wiki-sales-kicker svg{width:14px;height:14px}
.wiki-sales h2{
  margin:0 0 14px;font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  font-size:clamp(26px,3.6vw,40px);letter-spacing:-.8px;line-height:1.1;
}
.wiki-sales h2 .accent{
  color:#9be7b8;
  background:linear-gradient(180deg,#bff5d3 0%,#7ad99c 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.wiki-sales p{color:#dbece1;font-size:16px;line-height:1.65;max-width:60ch;margin:0 0 18px}
.wiki-sales p:last-of-type{margin-bottom:0}
.wiki-sales-points{
  display:grid;gap:12px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;padding:22px 24px;
}
.wiki-sales-points li{
  list-style:none;display:flex;align-items:flex-start;gap:10px;
  font-size:14.5px;color:#eaf6ef;line-height:1.5;
}
.wiki-sales-points li svg{flex:0 0 auto;width:20px;height:20px;color:#9be7b8;margin-top:2px}
.wiki-sales-points li strong{color:#fff}

/* Volle Breite unter Text + Checkliste: CTA wie Header-Probestunde (weiß) */
.wiki-sales-cta-wrap{
  grid-column:1 / -1;
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding-top:28px;
  margin-top:8px;
  padding-bottom:2px;
}
.wiki-sales .wiki-sales-cta.btn,
.wiki-sales .wiki-sales-cta.btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#1b4332;
  border:1px solid rgba(255,255,255,.4);
  box-shadow:0 12px 30px rgba(0,0,0,.2);
  font-weight:800;
  font-size:15px;
  min-height:52px;
  padding:0 26px;
  border-radius:16px;
  text-decoration:none;
  max-width:100%;
}
.wiki-sales .wiki-sales-cta.btn-primary:hover,
.wiki-sales .wiki-sales-cta.btn:hover{
  background:#f4faf6;
  color:#0f3024;
  transform:translateY(-2px);
  box-shadow:0 16px 38px rgba(0,0,0,.26);
}

/* ─── Spickzettel ─── */
.wiki-spickzettel{padding:24px 0 56px}
.wiki-spickzettel .container{max-width:920px}
.wiki-spickzettel-box{
  background:#fff;border:1px solid var(--wiki-line);
  border-radius:30px;padding:36px 40px;
  box-shadow:var(--wiki-shadow-soft);position:relative;overflow:hidden;
}
.wiki-spickzettel-box::before{
  content:"";position:absolute;top:0;left:0;right:0;height:6px;
  background:linear-gradient(90deg,var(--wiki-prophase),var(--wiki-metaphase),var(--wiki-anaphase),var(--wiki-telophase));
}
.wiki-spickzettel-head{
  display:flex;align-items:center;gap:14px;margin-bottom:18px;
}
.wiki-spickzettel-icon{
  flex:0 0 auto;width:54px;height:54px;border-radius:16px;
  background:linear-gradient(135deg,#eaf6ef,#d8eedf);color:#0f6b41;
  display:flex;align-items:center;justify-content:center;
}
.wiki-spickzettel-icon svg{width:28px;height:28px}
.wiki-spickzettel-label{
  display:block;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;
  color:#0f6b41;font-weight:800;margin-bottom:2px;
}
.wiki-spickzettel h2{
  margin:0;font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  font-size:24px;letter-spacing:-.3px;color:var(--wiki-ink);
}
.wiki-spickzettel-list{
  list-style:none;padding:0;margin:0;display:grid;gap:14px;
}
.wiki-spickzettel-list li{
  display:flex;align-items:flex-start;gap:14px;
  padding:14px 18px;border-radius:16px;background:#f8fbf9;
  border:1px solid var(--wiki-line);
}
.wiki-spickzettel-list li svg{
  flex:0 0 auto;width:24px;height:24px;color:#0f6b41;margin-top:2px;
}
.wiki-spickzettel-list li div{flex:1;min-width:0}
.wiki-spickzettel-list li strong{
  display:block;color:var(--wiki-ink);font-size:15px;letter-spacing:-.1px;margin-bottom:2px;
}
.wiki-spickzettel-list li span{color:var(--wiki-muted);font-size:14px;line-height:1.55}

/* ─── Final CTA ─── */
.wiki-final-cta{padding:24px 0 88px}
.wiki-final-cta .container{max-width:920px}
.wiki-final-cta-box{
  background:linear-gradient(135deg,#0f3024 0%,#1c8a55 100%);
  color:#fff;border-radius:30px;padding:48px 40px;text-align:center;
  position:relative;overflow:hidden;
  box-shadow:0 24px 60px rgba(11,80,46,.25);
}
.wiki-final-cta-box::after{
  content:"";position:absolute;inset:auto -100px -100px auto;
  width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,#9be7b8 0%,transparent 70%);
  opacity:.20;pointer-events:none;
}
.wiki-final-cta-kicker{
  display:inline-block;background:rgba(255,255,255,.10);color:#bff5d3;
  font-weight:800;letter-spacing:1.4px;font-size:12px;text-transform:uppercase;
  padding:6px 14px;border-radius:999px;margin-bottom:16px;
}
.wiki-final-cta h2{
  margin:0 0 14px;font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  font-size:clamp(24px,3vw,34px);letter-spacing:-.5px;line-height:1.15;
}
.wiki-final-cta p{color:#dbece1;font-size:16px;line-height:1.6;max-width:560px;margin:0 auto 22px}
.wiki-final-cta .btn-row{justify-content:center;flex-wrap:wrap;position:relative;z-index:1}
.wiki-final-cta .btn-primary{background:#fff;color:#0f3024;border-color:#fff}
.wiki-final-cta .btn-primary:hover{background:#eafff2}
.wiki-final-cta .btn-secondary{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4)}
.wiki-final-cta .btn-secondary:hover{background:rgba(255,255,255,.10)}

/* ─── Responsive ─── */
@media (max-width:900px){
  .wiki-hero{padding:64px 0 24px}
  .wiki-tldr-box{grid-template-columns:1fr;padding:24px;gap:16px;border-radius:24px}
  .wiki-phase{grid-template-columns:1fr;padding:24px;border-radius:24px}
  .wiki-phase-step{flex-direction:row;width:auto;height:auto;padding:8px 14px;border-radius:999px;gap:8px}
  .wiki-phase-step-num{font-size:18px}
  .wiki-megabridge{grid-template-columns:1fr;padding:24px;border-radius:24px;text-align:center}
  .wiki-megabridge-icon{margin:0 auto}
  .wiki-sales-box{grid-template-columns:1fr;padding:36px 26px 44px;border-radius:26px}
  .wiki-sales-cta-wrap{padding-top:24px;margin-top:4px}
  .wiki-sales-box::after{display:none}
  .wiki-spickzettel-box{padding:26px;border-radius:24px}
  .wiki-spickzettel-head{flex-direction:column;align-items:flex-start;gap:10px}
  .wiki-final-cta-box{padding:36px 24px;border-radius:24px}
}
@media (max-width:520px){
  .wiki-phase{padding:20px 18px}
  .wiki-phase-head{flex-direction:column;align-items:flex-start;gap:8px}
  .wiki-phase h3{font-size:19px}
  .wiki-merksatz{flex-direction:column;align-items:flex-start;padding:14px}
}

/* =============================================================
   INSEL-WIKI · HUB-SEITE (insel-wiki.html)
   ============================================================= */
.wiki-hub-hero{
  padding:96px 0 36px;background:linear-gradient(180deg,#fff 0%,#f4fbf6 60%,#fff 100%);
  position:relative;overflow:hidden;
}
.wiki-hub-hero .container{max-width:min(1180px,100%);text-align:center;padding-left:20px;padding-right:20px}
.wiki-hub-hero .wiki-hero-eyebrow{margin-bottom:18px}
.wiki-hub-hero h1{
  font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  font-size:clamp(34px,5vw,58px);line-height:1.05;letter-spacing:-1.5px;
  margin:0 0 18px;color:#0e2a1e;text-wrap:balance;
}
.wiki-hub-hero h1 .accent{
  color:#0f6b41;background:linear-gradient(180deg,#1c8a55 0%,#0e3a25 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.wiki-hub-hero p{color:#52685c;font-size:clamp(16px,1.6vw,19px);line-height:1.65;max-width:700px;margin:0 auto}

/* Suchleisten-Dummy */
.wiki-hub-search{
  margin:36px auto 0;max-width:640px;
  display:flex;align-items:center;gap:10px;
  background:#fff;border:1.5px solid rgba(15,58,36,.10);
  border-radius:999px;padding:8px 8px 8px 22px;
  box-shadow:0 14px 38px rgba(11,32,21,.08);
  transition:box-shadow .25s ease,border-color .25s ease;
}
.wiki-hub-search:focus-within{border-color:#1c8a55;box-shadow:0 16px 42px rgba(28,138,85,.18)}
.wiki-hub-search-icon{flex:0 0 auto;color:#0f6b41;display:flex;align-items:center}
.wiki-hub-search-icon svg{width:22px;height:22px}
.wiki-hub-search input{
  flex:1;border:none;outline:none;background:transparent;
  font-family:inherit;font-size:16px;color:#0e2a1e;padding:12px 6px;
}
.wiki-hub-search input::placeholder{color:#94a59c}
.wiki-hub-search-btn{
  flex:0 0 auto;padding:12px 22px;border-radius:999px;
  background:linear-gradient(135deg,#0f3024,#1c8a55);color:#fff;
  font-weight:800;font-size:14px;letter-spacing:.2px;
  border:none;cursor:pointer;
}
.wiki-hub-search-hint{
  margin:14px auto 0;font-size:12.5px;color:#7d9286;text-align:center;
  display:flex;flex-wrap:wrap;justify-content:center;gap:6px 10px;
}
.wiki-hub-search-hint b{color:#0f6b41}
.wiki-hub-search-hint a{color:#0f6b41;text-decoration:underline;text-underline-offset:3px}

/* Themen-Grid */
.wiki-hub-topics{padding:48px 0 88px;width:100%}
.wiki-hub-topics .container{max-width:min(1180px,100%);width:100%;padding-left:20px;padding-right:20px}
.wiki-hub-topics-head{text-align:center;margin-bottom:36px}
.wiki-hub-topics-head .kicker{
  display:inline-block;padding:6px 14px;border-radius:999px;
  background:#eaf6ef;color:#0f6b41;font-weight:800;letter-spacing:1.2px;font-size:12px;
  text-transform:uppercase;margin-bottom:14px;
}
.wiki-hub-topics-head h2{
  margin:0 0 10px;font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  font-size:clamp(26px,3.4vw,38px);letter-spacing:-.8px;color:#0e2a1e;
}
.wiki-hub-topics-head p{color:#52685c;font-size:16px;max-width:660px;margin:0 auto;line-height:1.6}

.wiki-hub-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:20px;
  width:100%;
}
.wiki-hub-grid--four{
  grid-template-columns:1fr;
}
@media (min-width:640px){
  .wiki-hub-grid--four{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:1024px){
  .wiki-hub-grid--four{grid-template-columns:repeat(4,1fr)}
}
.wiki-fachhub-grid{
  grid-template-columns:1fr;
  max-width:720px;
  margin:0 auto;
}
@media (min-width:720px){
  .wiki-fachhub-grid{max-width:100%;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
}
.wiki-hub-card{
  position:relative;
  background:#fff;border:1px solid rgba(15,58,36,.10);
  border-radius:30px;padding:28px;
  text-decoration:none;color:inherit;
  box-shadow:0 8px 22px rgba(11,32,21,.06);
  display:flex;flex-direction:column;gap:10px;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
  overflow:hidden;
}
.wiki-hub-card:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(11,32,21,.14);border-color:rgba(28,138,85,.30)}
.wiki-hub-card-icon{
  width:54px;height:54px;border-radius:16px;
  background:var(--wiki-card-bg,linear-gradient(135deg,#eaf6ef,#d8eedf));
  color:var(--wiki-card-color,#0f6b41);
  display:flex;align-items:center;justify-content:center;
}
.wiki-hub-card-icon svg{width:28px;height:28px}
.wiki-hub-card-title{
  font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  font-weight:800;font-size:20px;color:#0e2a1e;letter-spacing:-.3px;margin-top:6px;
}
.wiki-hub-card-desc{color:#52685c;font-size:14.5px;line-height:1.55;flex:1}
.wiki-hub-card-meta{
  display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;
}
.wiki-hub-card-meta span{
  font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;
  padding:4px 10px;border-radius:999px;background:#eaf6ef;color:#0f6b41;
}
.wiki-hub-card-meta span.coming{background:#f1f1f1;color:#7d8a82}
.wiki-hub-card-arrow{
  margin-top:12px;font-size:14px;font-weight:800;color:#0f6b41;
  display:inline-flex;align-items:center;gap:6px;
}
.wiki-hub-card.coming-soon{opacity:.78}
.wiki-hub-card.coming-soon:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(11,32,21,.10)}

/* Insel-Wiki-Übersicht: geplante Fächer (nicht verlinkt, visuell zurückgenommen) */
.wiki-hub-card--planned{
  opacity:.6;
  filter:grayscale(50%);
  pointer-events:none;
  cursor:default;
}
.wiki-hub-card--planned:hover{
  transform:none;
  box-shadow:0 8px 22px rgba(11,32,21,.06);
  border-color:rgba(15,58,36,.10);
}
.wiki-hub-card-badge-soon{
  position:absolute;
  top:16px;right:16px;
  z-index:1;
  font-size:10px;font-weight:800;letter-spacing:.55px;text-transform:uppercase;
  padding:5px 11px;border-radius:999px;
  background:rgba(27,67,50,.11);
  color:#1b4332;
  border:1px solid rgba(27,67,50,.22);
  line-height:1;
}
.wiki-hub-card--planned .wiki-hub-card-arrow{
  color:#7d8a82;font-weight:700;font-size:13px;
}
.wiki-hub-card--planned .wiki-hub-card-meta span{
  background:rgba(109,122,115,.12);color:#4a5751;
}

/* Mathe-Themen-Hub: Insel-Wiki-Grün statt Mathe-Blau + statische „Demnächst"-Karten */
.wiki-mathematik-grid .wiki-hub-card.fach-mathe,
.wiki-mathematik-grid .wiki-hub-card--static.fach-mathe{
  --wiki-card-bg:linear-gradient(135deg,#eaf6ef,#d8eedf);
  --wiki-card-color:#0f6b41;
}
.wiki-hub-card--static{
  cursor:default;
}
.wiki-hub-card--static:hover{
  transform:none;
  box-shadow:0 8px 22px rgba(11,32,21,.06);
  border-color:rgba(15,58,36,.10);
}
.wiki-hub-card-arrow--muted{opacity:.55}

.wiki-mathematik-back{
  margin-top:18px;font-size:14px;
}
.wiki-mathematik-back a{
  color:#0f6b41;font-weight:700;text-decoration:underline;text-underline-offset:3px;
}

/* Wiki Fach-Hubs: Platzhalter-Karte (noch ohne Themen) */
.wiki-hub-card.wiki-hub-card--placeholder{
  grid-column:1 / -1;
  max-width:560px;
  margin:0 auto;
  justify-content:center;
  text-align:center;
  background:#eef1f0;
  border:1px solid #e5e7eb;
  cursor:default;
  padding:32px 28px;
  box-shadow:0 6px 18px rgba(11,32,21,.05);
}
.wiki-hub-card.wiki-hub-card--placeholder:hover{
  transform:none;
  box-shadow:0 8px 22px rgba(11,32,21,.06);
  border-color:#e5e7eb;
}
.wiki-hub-placeholder-msg{
  margin:0;
  font-size:16px;
  line-height:1.65;
  font-weight:600;
  color:#52685c;
}

/* Seite 404 */
body.page-404{display:flex;flex-direction:column;min-height:100vh}
body.page-404 main{flex:1;display:flex;align-items:center;justify-content:center;padding:56px 20px 96px}
.error-404{width:100%}
.error-404-inner{max-width:560px;margin:0 auto;text-align:center;padding:24px 8px 32px}
.error-404-icon{width:76px;height:76px;margin:0 auto 28px;color:#16a34a}
.error-404-icon svg{width:100%;height:100%;stroke:currentColor;fill:none}
.error-404 h1{
  margin:0 0 16px;
  font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  font-size:clamp(26px,4vw,36px);
  letter-spacing:-.6px;
  line-height:1.15;
  color:#0e2a1e;
}
.error-404-text{
  margin:0 auto;
  font-size:clamp(16px,1.65vw,18px);
  line-height:1.65;
  color:#52685c;
  max-width:48ch;
}
.error-404-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:36px}
.error-404-btn-outline{
  background:#fff !important;
  border:2px solid #16a34a !important;
  color:#0f3024 !important;
  box-shadow:none;
}
.error-404-btn-outline:hover{
  border-color:#15803d !important;
  background:#f7fbf8 !important;
  color:#0f3024 !important;
}

/* Pillar-Seite: Sprungmenü + Abschnitte + Beispiel-Platzhalter */
.wiki-pillar-toc{
  display:flex;flex-wrap:wrap;justify-content:center;gap:10px;
  padding:0 20px 8px;max-width:960px;margin:0 auto 8px;
}
.wiki-pillar-toc-pill{
  display:inline-flex;align-items:center;
  padding:10px 16px;border-radius:999px;
  background:#fff;border:1px solid rgba(15,58,36,.14);
  color:#0f6b41;font-weight:800;font-size:13px;letter-spacing:.02em;
  text-decoration:none;
  box-shadow:0 4px 12px rgba(11,32,21,.05);
  transition:transform .15s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.wiki-pillar-toc-pill:hover{
  background:#eaf6ef;border-color:rgba(28,138,85,.35);
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(11,32,21,.08);
}
.wiki-pillar-toc-pill:focus-visible{
  outline:3px solid rgba(28,138,85,.45);
  outline-offset:2px;
}
.wiki-pillar-section{
  scroll-margin-top:96px;
  padding:44px 0;
}
.wiki-pillar-section--alt{background:linear-gradient(180deg,rgba(234,246,239,.45),transparent 88%)}
.wiki-pillar-section .container{max-width:920px}
.wiki-pillar-lead{
  margin:12px 0 0;font-size:16px;line-height:1.65;color:#52685c;
}
.wiki-example-box{
  margin-top:20px;padding:18px 20px;border-radius:18px;
  border:1px solid rgba(28,138,85,.22);
  background:linear-gradient(180deg,rgba(234,246,239,.65),#fff);
  color:#3d5248;font-size:15px;line-height:1.6;
}
.wiki-example-box-label{
  display:block;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;
  color:#0f6b41;margin-bottom:10px;
}
.wiki-example-steps{margin:10px 0 0;padding-left:1.2em}
.wiki-example-steps li{margin:6px 0}
.wiki-example-figure{
  margin:20px 0 0;
  padding:0;
  border:0;
}
.wiki-example-figure img,
img.wiki-bruchgrafik{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  border-radius:8px;
  margin:20px 0 14px;
  box-shadow:0 6px 24px rgba(11,32,21,.09);
}
.wiki-example-figure figcaption,
p.wiki-example-image-caption{
  margin:0;
  font-size:15px;
  line-height:1.58;
  color:#52685c;
}
.wiki-hub-back-wrap{margin:8px auto 0;padding-bottom:8px;text-align:center}
.wiki-hub-back{
  display:inline-flex;align-items:center;gap:6px;
  font-weight:800;font-size:14px;color:#0f6b41;
  text-decoration:underline;text-underline-offset:3px;
}
.wiki-hub-back:hover{color:#126d44}

@media (max-width:760px){
  .wiki-pillar-toc{
    flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;
    padding-bottom:12px;margin-bottom:4px;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
  }
  .wiki-pillar-toc-pill{flex:0 0 auto;scroll-snap-align:start}
  .wiki-pillar-section{scroll-margin-top:80px;padding:36px 0}
}

/* Fach-Varianten */
.wiki-hub-card.fach-mathe   {--wiki-card-bg:#e6f1ff;--wiki-card-color:#1d4ed8}
.wiki-hub-card.fach-deutsch {--wiki-card-bg:#fbe9e1;--wiki-card-color:#b8472b}
.wiki-hub-card.fach-englisch{--wiki-card-bg:#fef3c7;--wiki-card-color:#8b6300}
.wiki-hub-card.fach-bio     {--wiki-card-bg:#e9f8ee;--wiki-card-color:#16a34a}
.wiki-hub-card.fach-physik  {--wiki-card-bg:#eef2ff;--wiki-card-color:#4f46e5}
.wiki-hub-card.fach-chemie  {--wiki-card-bg:#f3efff;--wiki-card-color:#7c3aed}
.wiki-hub-card.fach-info    {--wiki-card-bg:#e6f5fc;--wiki-card-color:#0e7490}
.wiki-hub-card.fach-geschichte{--wiki-card-bg:#fff2e6;--wiki-card-color:#9a4a00}
.wiki-hub-card.fach-wirtschaft{--wiki-card-bg:#ecfdf5;--wiki-card-color:#047857}

/* =============================================================
   WIKI-ARTIKEL · Klassenstufen-Tags + Crosslink
   ============================================================= */
.wiki-klassen-tags{
  display:flex;flex-wrap:wrap;justify-content:center;gap:8px;
  margin:16px auto 4px;max-width:720px;
}
.wiki-klassen-tags .wiki-tag-label{
  font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#7d9286;font-weight:800;
  width:100%;text-align:center;margin-bottom:4px;
}
.wiki-tag{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 12px;border-radius:999px;
  background:#eaf6ef;color:#0f6b41;
  font-weight:800;font-size:12.5px;letter-spacing:.2px;
  text-decoration:none;
  transition:transform .15s ease,background .2s ease;
}
.wiki-tag:hover{background:#d8eedf;transform:translateY(-1px)}
.wiki-tag-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;
  background:#fff;color:#137a45;font-size:11px;font-weight:900;
  box-shadow:inset 0 0 0 1px rgba(15,58,36,.10);
}
/* Fach-Tag (z. B. „Biologie", „Mathematik") */
.wiki-tag.wiki-tag--fach{background:#0f3024;color:#fff}
.wiki-tag.wiki-tag--fach .wiki-tag-num{display:none}

/* Crosslink-Banner */
.wiki-crosslink{padding:8px 0 56px}
.wiki-crosslink .container{max-width:1080px}
.wiki-crosslink-card{
  background:#fff;border:1px solid rgba(15,58,36,.10);border-left:6px solid #1c8a55;
  border-radius:24px;padding:24px 28px;
  display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;
  box-shadow:0 8px 22px rgba(11,32,21,.06);
}
.wiki-crosslink-icon{
  flex:0 0 auto;width:50px;height:50px;border-radius:16px;
  background:linear-gradient(135deg,#eaf6ef,#d8eedf);color:#0f6b41;
  display:flex;align-items:center;justify-content:center;
}
.wiki-crosslink-icon svg{width:26px;height:26px}
.wiki-crosslink-label{
  font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#0f6b41;font-weight:800;margin-bottom:2px;
}
.wiki-crosslink h3{
  margin:0 0 6px;font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
  font-size:17px;color:#0e2a1e;letter-spacing:-.2px;line-height:1.3;
}
.wiki-crosslink p{margin:0;color:#52685c;font-size:14.5px;line-height:1.5}
.wiki-crosslink-links{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
}
.wiki-crosslink-pill{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;border-radius:999px;
  background:#0f3024;color:#fff;text-decoration:none;
  font-weight:800;font-size:13px;letter-spacing:.2px;
  transition:transform .15s ease,background .2s ease;
}
.wiki-crosslink-pill:hover{background:#1c8a55;transform:translateY(-1px)}
.wiki-crosslink-pill svg{width:14px;height:14px}

@media (max-width:760px){
  .wiki-crosslink-card{grid-template-columns:1fr;text-align:center}
  .wiki-crosslink-icon{margin:0 auto}
  .wiki-crosslink-links{justify-content:center}
  .wiki-hub-search{flex-wrap:wrap;border-radius:24px;padding:10px 12px}
  .wiki-hub-search input{flex:1 1 100%;padding:10px 0;font-size:15px}
  .wiki-hub-search-btn{width:100%}
}

/* =============================================================
   HEADER-DROPDOWN „Insel-Wiki" (2-Spalten-Pills + Footer-CTA)
   ============================================================= */
.dropdown.subjects-dropdown.wiki-dropdown{
  width:min(420px,calc(100vw - 40px));
  min-width:300px;
  max-width:100%;
  padding:0;
  box-sizing:border-box;
}
.wiki-dropdown-inner{padding:12px}
.wiki-dropdown-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.wiki-dropdown-pill{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:12px 14px;
  border-radius:14px;
  background:#fff;
  border:1px solid #e5e7eb;
  color:#0e2a1e;
  font-weight:700;
  font-size:13px;
  line-height:1.25;
  text-decoration:none;
  text-align:left;
  box-shadow:0 2px 8px rgba(15,58,36,.04);
  transition:border-color .2s ease,box-shadow .2s ease,transform .18s ease,background-color .2s ease;
}
.wiki-dropdown-pill:hover{
  border-color:#1c8a55;
  background:#f7fbf8;
  box-shadow:0 6px 16px rgba(11,80,46,.1);
  transform:translateY(-1px);
  color:#0e2a1e;
}
.wiki-dropdown-pill:focus-visible{
  outline:3px solid rgba(28,138,85,.45);
  outline-offset:2px;
}
.wiki-dropdown-pill-text{
  flex:1;
  min-width:0;
  text-align:left;
}
.wiki-dropdown-pill-dot{
  flex-shrink:0;
  width:7px;
  height:7px;
  border-radius:50%;
  background-color:#16a34a;
  box-shadow:0 0 0 3px rgba(22,163,74,.18);
}
.wiki-dropdown-footer{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px;
  border-radius:14px;
  background:#0f3024;
  color:#fff;
  font-weight:800;
  font-size:13px;
  letter-spacing:.02em;
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;
}
.wiki-dropdown-footer:hover{
  background:#143d2e;
  transform:translateY(-1px);
  box-shadow:0 10px 26px rgba(11,80,46,.28);
  color:#fff;
}
.wiki-dropdown-footer:focus-visible{
  outline:3px solid rgba(255,255,255,.45);
  outline-offset:2px;
}
.wiki-dropdown-footer-text{flex:1;text-align:left}
.wiki-dropdown-footer svg{
  width:16px;
  height:16px;
  flex-shrink:0;
  stroke:#fff;
}

/* =============================================================
   Delayed help modal (Beratung / Eltern) – 35s, session Dismiss via X
   Fixed overlay + scroll lock via JS; mobile: bottom sheet.
   ============================================================= */
html.si-help-modal-open{
  overflow:hidden;
  overscroll-behavior:none;
}
body.si-help-modal-open{
  touch-action:none;
}
.si-help-modal{
  position:fixed;
  inset:0;
  z-index:10040;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
  box-sizing:border-box;
  pointer-events:none;
  visibility:hidden;
  opacity:0;
  transition:opacity .3s ease,visibility 0s linear .35s;
}
.si-help-modal.is-visible{
  pointer-events:auto;
  visibility:visible;
  opacity:1;
  transition:opacity .32s ease,visibility 0s;
}
.si-help-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.5);
  cursor:pointer;
  border:0;
  padding:0;
  margin:0;
  -webkit-tap-highlight-color:transparent;
  appearance:none;
  display:block;
  width:100%;
  height:100%;
}
.si-help-modal__panel{
  position:relative;
  z-index:1;
  width:min(calc(100vw - 32px),420px);
  max-height:min(85vh,520px);
  overflow:auto;
  flex-shrink:0;
  margin:0;
  padding:clamp(22px,4vw,28px) clamp(20px,4vw,28px) clamp(24px,5vw,32px);
  background:#fff;
  border-radius:20px;
  box-shadow:0 24px 56px rgba(11,32,21,.22),0 8px 24px rgba(11,32,21,.1);
  border:1px solid rgba(18,32,25,.07);
  -webkit-overflow-scrolling:touch;
}
/* Mobile: Bottom-Sheet – kein Layout-Schub, Panel sitzt am Rand */
@media (max-width:640px){
  .si-help-modal{
    justify-content:flex-end;
    align-items:stretch;
    padding:0;
    padding-bottom:env(safe-area-inset-bottom,0);
  }
  .si-help-modal__panel{
    width:100%;
    max-width:none;
    max-height:min(88vh,560px);
    margin:0;
    border-radius:20px 20px 0 0;
    padding:clamp(22px,4vw,26px) clamp(18px,5vw,24px) clamp(22px,5vw,28px);
  }
  .si-help-modal__close{
    top:10px;
    right:10px;
  }
}
.si-help-modal__close{
  position:absolute;
  top:12px;
  right:12px;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:12px;
  background:rgba(18,32,25,.06);
  color:#1c2b24;
  font-size:26px;
  line-height:1;
  font-weight:500;
  cursor:pointer;
  transition:background .18s ease,transform .18s ease;
  -webkit-tap-highlight-color:transparent;
}
.si-help-modal__close:hover{
  background:rgba(28,138,85,.12);
  color:var(--green, #169c5b);
}
.si-help-modal__close:focus-visible{
  outline:3px solid rgba(28,138,85,.45);
  outline-offset:2px;
}
.si-help-modal__title{
  margin:8px 40px 14px 0;
  font-family:"Plus Jakarta Sans",Inter,system-ui,sans-serif;
  font-size:clamp(1.15rem,3.8vw,1.35rem);
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.25;
  color:#122019;
}
.si-help-modal__text{
  margin:0 0 22px;
  font-size:15px;
  line-height:1.55;
  color:#46574f;
}
.si-help-modal__cta{
  display:inline-flex;
  justify-content:center;
  width:100%;
  text-align:center;
  text-decoration:none;
  box-sizing:border-box;
  padding:14px 18px;
  font-weight:700;
}
@media (prefers-reduced-motion:reduce){
  .si-help-modal{
    transition:none;
  }
}

