/* ==========================================================================
   medienkompetenz.school – Stylesheet v2
   Layout-Idee: helle, weiche Flächen mit viel Luft; runde Karten, die wie
   Kärtchen auf einem Lila-Papier liegen. DM Serif Display für Überschriften
   (wie auf schoolgoes.business), Roboto für alles Lesbare & Bedienbare.
   Brand-Farben: Nachtviolett, Lila, Grün – plus zarte Tönungen.
   ========================================================================== */

/* ---------- Fonts (lokal gehostet) ---------- */
@font-face{font-family:"Roboto";font-style:normal;font-weight:100;font-display:swap;src:url(../fonts/roboto-latin-100-normal.woff2) format("woff2")}
@font-face{font-family:"Roboto";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/roboto-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Roboto";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/roboto-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Roboto";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/roboto-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Roboto";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/roboto-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Roboto";font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/roboto-latin-900-normal.woff2) format("woff2")}
@font-face{font-family:"DM Serif Display";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/dm-serif-display-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"DM Serif Text";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/dm-serif-text-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"DM Serif Display";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/dm-serif-display-latin-400-italic.woff2) format("woff2")}

:root{
  /* Farbe */
  --deep:#2B1B5C;
  --lila:#7363F3;
  --lila-600:#5E4FE0;
  --lila-100:#E9E6FF;
  --lila-50:#F6F4FF;
  --gruen:#8CB443;
  --gruen-700:#5E7E24;   /* Grün als Text auf Hell */
  --gruen-100:#E8F2D6;
  --gruen-50:#F4F9EC;
  --papier:#FFFFFF;
  --linie:#E4E0F5;
  --text:#2B1B5C;
  --text-leise:#5F5786;
  /* Typo */
  --f-sans:"Roboto",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --f-serif:"DM Serif Display",Georgia,"Times New Roman",serif;   /* ab ca. 28px */
  --f-serif-text:"DM Serif Text",Georgia,"Times New Roman",serif; /* kleinere Serif-Titel */
  /* Skala 1.25 */
  --s-xs:.8125rem; --s-s:.9375rem; --s-m:1.0625rem; --s-l:1.25rem;
  --s-xl:clamp(1.5rem,2.2vw,1.75rem);
  --s-2xl:clamp(2rem,3.6vw,2.875rem);
  --s-3xl:clamp(2.6rem,5.4vw,4.25rem);
  /* Raster */
  --max:74rem; --gutter:clamp(1.25rem,4vw,2.5rem);
  --r-s:12px; --r-m:20px; --r-l:32px; --pill:999px;
  --shadow:0 1px 2px rgba(43,27,92,.05),0 14px 36px -16px rgba(43,27,92,.22);
  --shadow-hover:0 2px 4px rgba(43,27,92,.06),0 26px 48px -20px rgba(43,27,92,.32);
  --section:clamp(4.5rem,10vw,8rem);
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
body{margin:0;background:var(--papier);color:var(--text);font-family:var(--f-sans);font-size:var(--s-m);line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
p{margin:0}
h1,h2,h3,h4{margin:0;text-wrap:balance}
h1,h2{font-family:var(--f-serif);font-weight:400;line-height:1.1;letter-spacing:-.005em}
h3,h4{font-family:var(--f-sans);font-weight:700;line-height:1.3;letter-spacing:-.005em}
h1 em,h2 em{font-style:italic;color:var(--lila)}
ul,ol{margin:0;padding:0}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--lila);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:0;background:var(--deep);color:#fff;padding:.75rem 1rem;z-index:100;border-radius:var(--r-s)}
.skip:focus{left:1rem;top:1rem}

.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.narrow{max-width:46rem}
.section{padding-block:var(--section)}
.section--tint{background:var(--lila-50)}
.section--gruen{background:var(--gruen-50)}
.section:not(.section--tint):not(.section--gruen):not(.section--deep) + .section:not(.section--tint):not(.section--gruen):not(.section--deep){padding-top:0}
.section--deep{background:var(--deep);color:#fff}

/* ---------- Typo-Bausteine ---------- */
.eyebrow{font-size:var(--s-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--lila);display:inline-flex;align-items:center;gap:.55rem}
.eyebrow::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--gruen)}
.section--deep .eyebrow{color:var(--gruen)}
.h2{font-size:var(--s-2xl)}
.lead{font-size:var(--s-l);line-height:1.65;color:var(--text-leise);max-width:40rem}
.section--deep .lead{color:#D9D3F5}
.head{display:grid;gap:1.1rem;margin-bottom:clamp(2.5rem,5vw,4rem);max-width:44rem}
.head--center{margin-inline:auto;text-align:center;justify-items:center}
.head--split{max-width:none;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.5rem}
.head--split > div{display:grid;gap:1.1rem;max-width:44rem}
.head--split > .filters{display:flex;max-width:none}
@media (max-width:720px){.head--split{grid-template-columns:1fr}}
.prose{max-width:40rem;display:grid;gap:1.15rem}
.prose h2{font-family:var(--f-serif-text);font-size:var(--s-xl);margin-top:2rem}
.prose h3{font-size:var(--s-l);margin-top:1rem}
.prose ul{padding-left:1.2rem;display:grid;gap:.4rem}
.prose a{color:var(--lila-600);text-underline-offset:3px}
.prose mark{background:#FFF3B0;padding:0 .2em;border-radius:4px}
.stack{display:grid;gap:1.25rem;align-content:start}
.note{font-size:var(--s-s);color:var(--text-leise)}
.mt-2{margin-top:2.5rem}.mt-1{margin-top:1.25rem}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font:500 var(--s-m)/1.2 var(--f-sans);text-decoration:none;padding:.95rem 1.6rem;border:2px solid transparent;border-radius:var(--pill);cursor:pointer;transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn--primary{background:var(--lila);color:#fff;box-shadow:0 10px 24px -12px rgba(115,99,243,.8)}
.btn--primary:hover{background:var(--lila-600)}
.btn--gruen{background:var(--gruen);color:var(--deep)}
.btn--gruen:hover{background:#9CC454}
.btn--soft{background:var(--lila-100);color:var(--deep)}
.btn--soft:hover{background:#DCD7FF}
.btn--ghost{border-color:var(--linie);background:#fff;color:var(--deep)}
.btn--ghost:hover{border-color:var(--lila)}
.btn--white{background:#fff;color:var(--deep)}
.btn--sm{padding:.6rem 1.05rem;font-size:var(--s-s)}
.btn .arr{transition:transform .18s ease}
.btn:hover .arr{transform:translateX(3px)}
.btns{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.link{font-weight:500;color:var(--lila-600);text-decoration:none;display:inline-flex;gap:.35rem;align-items:center}
.link:hover{text-decoration:underline;text-underline-offset:4px}

/* ---------- Header ---------- */
.topbar{background:var(--deep);color:#D9D3F5;font-size:var(--s-xs)}
.topbar .wrap{display:flex;justify-content:space-between;gap:.25rem 1.25rem;padding-block:.55rem;flex-wrap:wrap}
.topbar a{color:#fff;text-decoration:none}
.topbar a:hover{text-decoration:underline}
.topbar .countries{display:flex;gap:1rem}
@media (max-width:640px){.topbar .hide-s{display:none}}
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.5) blur(10px);-webkit-backdrop-filter:saturate(1.5) blur(10px);border-bottom:1px solid transparent;transition:border-color .2s}
.site-header.scrolled{border-bottom-color:var(--linie)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:5rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--deep);flex-shrink:0}
.brand > svg{width:1.9rem;height:1.9rem;color:var(--gruen);flex-shrink:0}
.brand .word{font-size:1.2rem;line-height:1;font-weight:700;letter-spacing:-.015em}
.brand .word .tld{color:var(--lila)}
.nav>ul{display:flex;list-style:none;gap:.15rem;align-items:center}
.nav a,.nav button.sub-toggle{font:500 var(--s-s)/1 var(--f-sans);color:var(--deep);text-decoration:none;padding:.8rem .9rem;border-radius:var(--pill);background:none;border:0;cursor:pointer;display:inline-flex;gap:.35rem;align-items:center}
.nav a:hover,.nav button.sub-toggle:hover,.nav a[aria-current="page"]{background:var(--lila-50)}
.nav .has-sub{position:relative}
.nav .sub{position:absolute;top:calc(100% + .5rem);left:-.5rem;min-width:21rem;background:#fff;border-radius:var(--r-m);box-shadow:var(--shadow-hover);padding:.6rem;list-style:none;display:none}
.nav .sub a{display:flex;width:100%;padding:.7rem .9rem;line-height:1.35;border-radius:var(--r-s)}
.nav .sub a small{display:block;color:var(--text-leise);font-weight:400;font-size:var(--s-xs);margin-top:.15rem}
.nav .has-sub.open .sub{display:block}
@media (hover:hover) and (min-width:1041px){.nav .has-sub:hover .sub,.nav .has-sub:focus-within .sub{display:block}.nav .has-sub::after{content:"";position:absolute;left:0;right:0;top:100%;height:.6rem}}
.nav .cta{margin-left:.6rem}
.nav .cta a{background:var(--lila);color:#fff;padding:.85rem 1.3rem}
.nav .cta a:hover,.nav .cta a[aria-current="page"]{background:var(--lila-600);color:#fff}
.chev{width:.7rem;height:.7rem;transition:transform .2s}
.has-sub.open .chev{transform:rotate(180deg)}
.menu-btn{display:none;background:var(--lila-50);border:0;padding:.55rem;border-radius:var(--pill);cursor:pointer;color:var(--deep)}
.menu-btn svg{width:1.6rem;height:1.6rem;display:block}
@media (max-width:1040px){
  .menu-btn{display:block}
  .nav{position:fixed;inset:calc(5rem + env(safe-area-inset-top,0px)) 0 0 0;background:#fff;display:none;overflow:auto;padding:1rem var(--gutter) 3rem}
  .nav.open{display:block}
  .nav>ul{flex-direction:column;align-items:stretch;gap:.25rem}
  .nav a,.nav button.sub-toggle{font-size:var(--s-l);padding:1rem;width:100%;justify-content:space-between;border-radius:var(--r-s)}
  .nav .sub{position:static;box-shadow:none;min-width:0;padding:.25rem 0 .5rem .75rem}
  .nav .cta{margin:1rem 0 0}
  .nav .cta a{justify-content:center}
}

/* ---------- Hero ---------- */
.hero{background:linear-gradient(180deg,var(--lila-50) 0%,#fff 100%);padding-block:clamp(3.5rem,8vw,6.5rem) clamp(4rem,8vw,6rem)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2.5rem,6vw,5rem);align-items:center}
.hero h1{font-size:var(--s-3xl);margin-block:1.25rem 1.5rem}
.hero .lead{margin-bottom:2rem}
.trust{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;margin-top:2rem;font-size:var(--s-s);color:var(--text-leise)}
.trust li{display:flex;gap:.5rem;align-items:center}
.trust li::before{content:"";width:1.1rem;height:1.1rem;border-radius:50%;background:var(--gruen-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%235E7E24' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat;flex-shrink:0}
.hero-art{position:relative;display:grid;place-items:center}
.hero-tile{background:var(--deep);border-radius:var(--r-l);padding:clamp(2rem,5vw,3.5rem);width:min(100%,26rem);aspect-ratio:1;display:grid;place-items:center;box-shadow:0 40px 80px -40px rgba(43,27,92,.6);max-width:100%}
.hero-tile .spiral{width:100%;height:auto}
.float{position:absolute;background:#fff;border-radius:var(--pill);padding:.65rem 1.1rem;box-shadow:var(--shadow);font-size:var(--s-s);font-weight:500;display:flex;gap:.5rem;align-items:center;white-space:nowrap}
.float i{width:.6rem;height:.6rem;border-radius:50%;display:block}
.float--1{top:8%;left:-4%}.float--1 i{background:var(--gruen)}
.float--2{top:46%;right:-6%}.float--2 i{background:var(--lila)}
.float--3{bottom:6%;left:4%}.float--3 i{background:var(--deep)}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}.hero-tile{width:9rem;padding:1.25rem;border-radius:var(--r-m)}.float{display:none}}

/* Spirale */
.spiral polygon{transform-origin:516px 516px;transform-box:view-box}
.spiral.anim polygon{animation:unwind 1.8s cubic-bezier(.2,.8,.2,1) both}
@keyframes unwind{from{transform:rotate(-40deg) scale(.9)}to{transform:none}}
.spiral.anim polygon:nth-child(2){animation-delay:.06s}.spiral.anim polygon:nth-child(3){animation-delay:.12s}.spiral.anim polygon:nth-child(4){animation-delay:.18s}.spiral.anim polygon:nth-child(5){animation-delay:.24s}.spiral.anim polygon:nth-child(6){animation-delay:.3s}.spiral.anim polygon:nth-child(7){animation-delay:.36s}.spiral.anim polygon:nth-child(8){animation-delay:.42s}.spiral.anim polygon:nth-child(9){animation-delay:.48s}

/* ---------- Modul-Finder ---------- */
.finder{background:#fff;border-radius:var(--r-l);box-shadow:var(--shadow);padding:clamp(1.5rem,4vw,2.5rem);display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.5rem 2.5rem;align-items:center;margin-top:calc(-1 * clamp(2rem,4vw,3rem));position:relative}
.finder h2{font-family:var(--f-serif-text);font-size:var(--s-xl)}
.finder p{color:var(--text-leise);font-size:var(--s-s);margin-top:.35rem}
.finder-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.finder-opt{display:flex;gap:.85rem;align-items:center;padding:1rem 1.15rem;border-radius:var(--r-m);text-decoration:none;font-weight:500;transition:transform .18s ease,box-shadow .18s ease}
.finder-opt:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.finder-opt .ic{width:2.6rem;height:2.6rem;border-radius:12px;display:grid;place-items:center;flex-shrink:0}
.finder-opt .ic svg{width:1.4rem;height:1.4rem}
.finder-opt small{display:block;font-weight:400;color:var(--text-leise);font-size:var(--s-xs);line-height:1.35}
.fo-gruen{background:var(--gruen-50)}.fo-gruen .ic{background:var(--gruen);color:var(--deep)}
.fo-lila{background:var(--lila-50)}.fo-lila .ic{background:var(--lila);color:#fff}
.fo-deep{background:#F1EFF7}.fo-deep .ic{background:var(--deep);color:var(--gruen)}
@media (max-width:980px){.finder{grid-template-columns:1fr}.finder-opts{grid-template-columns:1fr}}

/* ---------- Pfeiler / Karten ---------- */
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.pillar{background:var(--lila-50);border-radius:var(--r-m);padding:clamp(1.5rem,3vw,2rem);display:grid;gap:.75rem;align-content:start}
.section--tint .pillar{background:#fff}
.pillar .ic{width:2.75rem;height:2.75rem;border-radius:14px;background:#fff;display:grid;place-items:center;color:var(--lila);margin-bottom:.5rem}
.section--tint .pillar .ic{background:var(--lila-50)}
.pillar .ic svg{width:1.4rem;height:1.4rem}
.pillar h3{font-size:var(--s-l)}
.pillar p{color:var(--text-leise)}
@media (max-width:860px){.pillars{grid-template-columns:1fr}}

/* ---------- Schritte (Buchungsablauf) ---------- */
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;counter-reset:s}
.step{position:relative;background:#fff;border-radius:var(--r-m);padding:clamp(1.5rem,3vw,2rem);box-shadow:var(--shadow);display:grid;gap:.6rem;align-content:start;counter-increment:s}
.step::before{content:counter(s);font-family:var(--f-serif-text);font-size:1.6rem;line-height:1;width:3rem;height:3rem;border-radius:50%;display:grid;place-items:center;background:var(--lila-100);color:var(--lila-600);margin-bottom:.5rem}
.step h3{font-size:var(--s-l)}
.step p{color:var(--text-leise)}
@media (max-width:860px){.steps{grid-template-columns:1fr}}

/* ---------- Kennzahlen ---------- */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.stat{background:#fff;border-radius:var(--r-m);padding:1.5rem 1.5rem 1.35rem;display:grid;gap:.35rem}
.stat b{font-family:var(--f-serif);font-weight:400;font-size:clamp(2.5rem,4.5vw,3.4rem);line-height:1;color:var(--lila);font-variant-numeric:tabular-nums}
.stat span{font-size:var(--s-s);color:var(--text-leise)}
@media (max-width:860px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Zielgruppen ---------- */
.audiences{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.aud{position:relative;display:grid;align-content:space-between;gap:2.5rem;padding:clamp(1.75rem,3vw,2.25rem);min-height:20rem;text-decoration:none;overflow:hidden;border-radius:var(--r-l);transition:transform .25s ease,box-shadow .25s ease}
.aud:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.aud h3{font-family:var(--f-serif);font-weight:400;font-size:clamp(1.9rem,3vw,2.4rem);line-height:1.1}
.aud p{max-width:22rem}
.aud .go{font-weight:500;display:inline-flex;gap:.5rem;align-items:center;background:#fff;color:var(--deep);border-radius:var(--pill);padding:.6rem 1.05rem;justify-self:start;font-size:var(--s-s)}
.aud .mark{position:absolute;right:-2rem;top:-2rem;width:9rem;opacity:.25;transition:transform .7s ease}
.aud:hover .mark{transform:rotate(18deg)}
.aud--gruen{background:var(--gruen-100)}.aud--gruen .mark{color:var(--gruen-700)}
.aud--lila{background:var(--lila-100)}.aud--lila .mark{color:var(--lila)}
.aud--deep{background:var(--deep);color:#fff}.aud--deep .mark{color:var(--gruen)}
@media (max-width:900px){.audiences{grid-template-columns:1fr}.aud{min-height:14rem}}

/* ---------- Modul-Karten ---------- */
.filters{display:flex;flex-wrap:wrap;gap:.5rem}
.chip-btn{font:500 var(--s-s)/1 var(--f-sans);padding:.75rem 1.15rem;border:0;background:var(--lila-50);color:var(--deep);border-radius:var(--pill);cursor:pointer;transition:background .15s}
.chip-btn:hover{background:var(--lila-100)}
.chip-btn[aria-pressed="true"]{background:var(--deep);color:#fff}
.modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
@media (max-width:1000px){.modules{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.modules{grid-template-columns:1fr}}
.mod{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-l);box-shadow:var(--shadow);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;position:relative}
.mod:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.mod-top{position:relative;margin:.6rem .6rem 0;border-radius:calc(var(--r-l) - .6rem);padding:1.4rem 1.4rem 1.3rem;min-height:9.5rem;display:grid;align-content:space-between;gap:1rem;overflow:hidden}
.mod-top .cat{font-size:var(--s-xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;background:#fff;color:var(--deep);border-radius:var(--pill);padding:.3rem .7rem;justify-self:start}
.mod-top .ico{position:absolute;right:-1.5rem;bottom:-1.5rem;width:7.5rem;opacity:.35;transition:transform .6s ease}
.mod:hover .mod-top .ico{transform:rotate(-14deg)}
.mod-top h3{font-family:var(--f-serif-text);font-weight:400;font-size:1.6rem;line-height:1.1;max-width:13ch;position:relative}
.mod-body{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1rem;flex:1}
.mod-body p{color:var(--text-leise);font-size:var(--s-s);line-height:1.6}
.mod-meta{display:grid;gap:.5rem;font-size:var(--s-xs);color:var(--text-leise)}
.mod-meta b{color:var(--deep);font-weight:500}
.tags{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none}
.tag{font-size:var(--s-xs);font-weight:500;padding:.3rem .7rem;border-radius:var(--pill);background:var(--lila-50);color:var(--deep)}
.mod-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:auto;padding-top:.5rem}
.mod-link::after{content:"";position:absolute;inset:0;z-index:0}
.mod-actions .btn{position:relative;z-index:1}
.tone-deep{background:var(--deep);color:#fff}.tone-deep .ico{color:var(--gruen)}
.tone-lila{background:var(--lila);color:#fff}.tone-lila .ico{color:#fff}
.tone-gruen{background:var(--gruen);color:var(--deep)}.tone-gruen .ico{color:var(--deep)}
.tone-hell{background:var(--lila-100);color:var(--deep)}.tone-hell .ico{color:var(--lila)}
.mod--custom{background:transparent;box-shadow:none;border:2px dashed #CFC8F5}
.mod--custom .mod-top{background:var(--lila-50);color:var(--deep)}.mod--custom .mod-top .ico{color:var(--lila)}
.mod[hidden]{display:none}

/* ---------- Feature / Split ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,7vw,6rem);align-items:center}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.feature-logo{background:#fff;padding:clamp(2rem,5vw,3.5rem);border-radius:var(--r-l);box-shadow:var(--shadow)}
.feature-logo img{width:100%;max-width:20rem;margin-inline:auto}
@media (max-width:860px){.feature-logo img{max-width:11rem}}
.checks{list-style:none;display:grid;gap:.8rem}
.checks li{display:grid;grid-template-columns:1.5rem 1fr;gap:.75rem;align-items:start}
.checks li::before{content:"";width:1.5rem;height:1.5rem;border-radius:50%;background:var(--gruen-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%235E7E24' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/70% no-repeat;margin-top:.1rem}
.photo{border-radius:var(--r-l);overflow:hidden;max-width:100%}
.photo img{width:100%;height:100%;object-fit:cover}

/* ---------- Projekte ---------- */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(15rem,1fr);gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.25rem .25rem 1.25rem;scrollbar-color:var(--lila-100) transparent}
.proj{scroll-snap-align:start;display:grid;gap:.6rem;text-decoration:none;align-content:start}
.proj figure{margin:0 0 .4rem;aspect-ratio:1;background:var(--lila-50);display:grid;place-items:center;overflow:hidden;border-radius:var(--r-m);max-width:100%}
.proj figure img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.proj figure.logo img{object-fit:contain;padding:18%}
.proj:hover figure img{transform:scale(1.04)}
.proj b{font-size:var(--s-m);line-height:1.35;font-weight:500}
.proj span{font-size:var(--s-xs);color:var(--lila-600);letter-spacing:.08em;text-transform:uppercase;font-weight:500}

/* ---------- Zitat ---------- */
.quote-box{background:var(--deep);color:#fff;border-radius:var(--r-l);padding:clamp(2rem,6vw,4.5rem);display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(1rem,3vw,2.5rem)}
.quote-box .qm{font-family:var(--f-serif);font-size:clamp(5rem,10vw,8rem);line-height:.8;color:var(--gruen)}
.quote-box blockquote{margin:0;font-family:var(--f-serif);font-size:clamp(1.4rem,2.6vw,2.1rem);line-height:1.3}
.quote-box cite{display:block;margin-top:1.5rem;font:normal 400 var(--s-s)/1.5 var(--f-sans);color:#D9D3F5}
.quote-box cite b{color:#fff;font-weight:500}
@media (max-width:640px){.quote-box{grid-template-columns:1fr}}

/* ---------- Formate ---------- */
.formats{display:grid;grid-template-columns:repeat(auto-fit,minmax(13.5rem,1fr));gap:1.25rem}
.format{background:#fff;border-radius:var(--r-m);padding:1.6rem;display:grid;gap:.55rem;align-content:start;box-shadow:var(--shadow)}
.section--tint .format{box-shadow:none}
.format h3{font-size:var(--s-l)}
.format .dur{font-size:var(--s-xs);font-weight:500;color:var(--gruen-700);background:var(--gruen-50);border-radius:var(--pill);padding:.25rem .65rem;justify-self:start}
.format p{font-size:var(--s-s);color:var(--text-leise);line-height:1.6}
.format .for{font-size:var(--s-xs);color:var(--text-leise)}

/* ---------- Seiten-Hero ---------- */
.page-hero{background:linear-gradient(180deg,var(--lila-50) 0%,#fff 100%);padding-block:clamp(2.5rem,6vw,4.5rem) clamp(3.5rem,7vw,5.5rem)}
.page-hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2.5rem;align-items:center}
.page-hero h1{font-size:var(--s-3xl);margin-block:1rem 1.25rem}
.page-hero .deco{width:clamp(7rem,14vw,11rem);aspect-ratio:1;border-radius:var(--r-l);display:grid;place-items:center;padding:1.6rem}
.page-hero .deco svg{width:100%;height:100%}
.deco.tone-deep{background:var(--deep)}.deco.tone-deep svg{color:var(--gruen)}
.deco.tone-lila{background:var(--lila)}.deco.tone-lila svg{color:#fff}
.deco.tone-gruen{background:var(--gruen)}.deco.tone-gruen svg{color:var(--deep)}
.deco.tone-hell{background:var(--lila-100)}.deco.tone-hell svg{color:var(--lila)}
@media (max-width:720px){.page-hero .wrap{grid-template-columns:1fr}.page-hero .deco{display:none}}
.crumbs{font-size:var(--s-xs);color:var(--text-leise)}
.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}
.hero-btns{margin-top:2rem}

/* ---------- Modulseite ---------- */
.mod-layout{display:grid;grid-template-columns:minmax(0,1fr) 23rem;gap:clamp(2.5rem,6vw,5.5rem);align-items:start}
@media (max-width:960px){.mod-layout{grid-template-columns:1fr}}
.booking{position:sticky;top:6.5rem;background:#fff;border-radius:var(--r-l);box-shadow:var(--shadow-hover);padding:1.75rem;display:grid;gap:1.25rem}
.booking h2{font-family:var(--f-sans);font-weight:700;font-size:var(--s-l)}
.booking fieldset{border:0;margin:0;padding:0;display:grid;gap:.5rem}
.booking legend{font-size:var(--s-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-leise);margin-bottom:.5rem}
.opt{display:flex;gap:.75rem;align-items:center;padding:.75rem .9rem;border-radius:var(--r-s);background:var(--lila-50);cursor:pointer;border:2px solid transparent;transition:border-color .15s,background .15s}
.opt:hover{background:var(--lila-100)}
.opt:has(input:checked){border-color:var(--lila);background:#fff}
.opt input{accent-color:var(--lila);width:1.1rem;height:1.1rem;margin:0}
.opt span{display:grid;line-height:1.3}
.opt small{color:var(--text-leise);font-size:var(--s-xs)}
.booking dl{margin:0;display:grid;gap:.8rem;font-size:var(--s-s);border-top:1px solid var(--linie);padding-top:1.1rem}
.booking dl div{display:grid;grid-template-columns:5.5rem 1fr;gap:.75rem}
.booking dt{color:var(--text-leise)}
.booking dd{margin:0;font-weight:500}
.booking .btn{width:100%}
.booking .note{text-align:center;font-size:var(--s-xs)}
@media (max-width:960px){.booking{position:static}}
.outcomes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;list-style:none;padding:0!important}
.outcomes li{background:var(--gruen-50);padding:1.1rem 1.25rem;border-radius:var(--r-m);font-weight:500;line-height:1.45;display:grid;grid-template-columns:1.5rem 1fr;gap:.7rem}
.outcomes li::before{content:"";width:1.5rem;height:1.5rem;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%235E7E24' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/70% no-repeat}
@media (max-width:560px){.outcomes{grid-template-columns:1fr}}
.content-list{list-style:none;display:grid;gap:.75rem;padding:0!important}
.content-list li{padding:1.1rem 1.25rem;border-radius:var(--r-m);background:var(--lila-50);display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr);gap:1rem}
.content-list b{font-weight:700}
.content-list span{color:var(--text-leise)}
@media (max-width:640px){.content-list li{grid-template-columns:1fr;gap:.2rem}}
.book-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;box-shadow:0 -10px 30px -12px rgba(43,27,92,.3);padding:.75rem var(--gutter) calc(.75rem + env(safe-area-inset-bottom,0px));display:none;gap:.75rem;align-items:center;justify-content:space-between}
.book-bar b{font-size:var(--s-s);line-height:1.3}
.book-bar small{display:block;font-weight:400;color:var(--text-leise);font-size:var(--s-xs)}
@media (max-width:960px){.book-bar{display:flex}body.has-book-bar{padding-bottom:5rem}}

/* ---------- Länder ---------- */
.terms{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem}
.term{background:#fff;border-radius:var(--r-m);padding:1.4rem;box-shadow:var(--shadow);display:grid;gap:.4rem;align-content:start}
.term b{font-size:var(--s-l)}
.term span{color:var(--text-leise);font-size:var(--s-s)}
.regions{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none}
.regions li{background:#fff;border-radius:var(--pill);padding:.45rem .95rem;font-size:var(--s-s)}
.country-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.country{display:grid;gap:.75rem;padding:clamp(1.75rem,3vw,2.25rem);border-radius:var(--r-l);text-decoration:none;background:#fff;box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease}
.country:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}
.country .code{font:700 var(--s-xs)/1 var(--f-sans);letter-spacing:.1em;background:var(--lila-100);color:var(--lila-600);border-radius:var(--pill);padding:.45rem .75rem;justify-self:start}
.country h3{font-family:var(--f-serif-text);font-weight:400;font-size:var(--s-xl)}
.country p{color:var(--text-leise);font-size:var(--s-s)}
@media (max-width:760px){.country-cards{grid-template-columns:1fr}}

/* ---------- Team ---------- */
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:1.75rem}
.person{display:grid;gap:.7rem;align-content:start}
.person figure{margin:0 0 .4rem;aspect-ratio:4/5;overflow:hidden;background:var(--lila-100);border-radius:var(--r-l);max-width:100%}
.person img{width:100%;height:100%;object-fit:cover}
.person h3{font-size:var(--s-l)}
.person .role{font-size:var(--s-xs);font-weight:500;color:var(--lila-600);letter-spacing:.08em;text-transform:uppercase}
.person p{font-size:var(--s-s);color:var(--text-leise);line-height:1.6}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:.75rem;max-width:50rem}
.faq details{background:var(--lila-50);border-radius:var(--r-m);padding:0 1.5rem;transition:background .2s}
.section--tint .faq details{background:#fff}
.faq details[open]{background:#fff;box-shadow:var(--shadow)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;padding:1.25rem 0;font-weight:500;font-size:var(--s-m);align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex-shrink:0;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--lila-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3v10M3 8h10' stroke='%235E4FE0' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/55% no-repeat;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding-bottom:1.35rem;color:var(--text-leise);max-width:44rem}

/* ---------- CTA-Box ---------- */
.cta-box{background:var(--lila);color:#fff;border-radius:var(--r-l);position:relative;overflow:hidden;padding:clamp(2.5rem,6vw,4.5rem);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center}
.cta-box h2{font-size:var(--s-2xl)}
.cta-box h2 em{color:var(--gruen-100)}
.cta-box p{margin-top:1rem;font-size:var(--s-l);max-width:34rem;color:#F1EEFF}
.cta-box .mark{position:absolute;right:-3rem;bottom:-4rem;width:18rem;color:#fff;opacity:.1;pointer-events:none}
.cta-box .btns{position:relative}
@media (max-width:760px){.cta-box{grid-template-columns:1fr}}

/* ---------- Anfrageformular ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(2rem,5vw,4rem);align-items:start}
@media (max-width:960px){.contact-grid{grid-template-columns:1fr}}
.form{display:grid;gap:2rem;background:#fff;box-shadow:var(--shadow-hover);padding:clamp(1.5rem,4vw,2.75rem);border-radius:var(--r-l)}
.form fieldset{border:0;margin:0;padding:0;display:grid;gap:1.1rem}
.form legend{font-family:var(--f-serif-text);font-size:var(--s-xl);margin-bottom:.75rem;display:flex;gap:.75rem;align-items:center}
.form legend span{font:500 var(--s-s)/1 var(--f-sans);width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:var(--lila-100);color:var(--lila-600)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
@media (max-width:560px){.form .row{grid-template-columns:1fr}}
.field{display:grid;gap:.4rem;min-width:0}
.field label,.field .lbl{font-size:var(--s-s);font-weight:500}
.field input,.field select,.field textarea{font:400 var(--s-m)/1.4 var(--f-sans);padding:.85rem 1rem;border:1.5px solid var(--linie);border-radius:var(--r-s);background:var(--lila-50);color:var(--text);width:100%;transition:border-color .15s,background .15s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--lila);background:#fff;box-shadow:0 0 0 4px var(--lila-100)}
.field textarea{min-height:8rem;resize:vertical}
.pills{display:flex;flex-wrap:wrap;gap:.5rem}
.pills label{cursor:pointer;position:relative}
.pills input{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;pointer-events:none}
.pills span{display:inline-block;padding:.6rem 1rem;border-radius:var(--pill);background:var(--lila-50);border:1.5px solid var(--linie);font-size:var(--s-s);font-weight:400;transition:all .15s}
.pills input:checked + span{background:var(--deep);border-color:var(--deep);color:#fff}
.pills input:focus-visible + span{outline:3px solid var(--lila);outline-offset:2px}
.form .hint{font-size:var(--s-xs);color:var(--text-leise)}
.form-note{font-size:var(--s-s);background:var(--gruen-50);border-radius:var(--r-s);padding:1rem 1.2rem}
.side-card{background:var(--lila-50);border-radius:var(--r-l);padding:clamp(1.5rem,3vw,2rem);display:grid;gap:1.25rem}
.side-card h2{font-family:var(--f-sans);font-weight:700;font-size:var(--s-l)}
.contact-card{display:grid;grid-template-columns:4rem 1fr;gap:1rem;align-items:center}
.contact-card img{width:4rem;height:4rem;object-fit:cover;border-radius:50%}
.contact-card b{display:block;font-weight:500}
.contact-card a{color:var(--lila-600);font-size:var(--s-s)}

/* ---------- Footer ---------- */
.site-footer{background:var(--deep);color:#D9D3F5;padding-block:clamp(3.5rem,7vw,5.5rem) 2rem;font-size:var(--s-s);border-radius:var(--r-l) var(--r-l) 0 0}
.site-footer a{color:#fff;text-decoration:none}
.site-footer a:hover{text-decoration:underline;text-underline-offset:3px}
.foot-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;padding-bottom:2.5rem;margin-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.14)}
.foot-top p{font-family:var(--f-serif);font-size:var(--s-2xl);color:#fff;line-height:1.15;max-width:30rem}
.foot-top p em{color:var(--gruen)}
@media (max-width:720px){.foot-top{grid-template-columns:1fr}}
.foot-cols{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:2rem}
.foot-cols h2{font:500 var(--s-xs)/1.2 var(--f-sans);text-transform:uppercase;letter-spacing:.12em;color:var(--gruen);margin-bottom:1rem}
.foot-cols ul{list-style:none;display:grid;gap:.55rem}
.foot-cols button{background:none;border:0;color:#fff;font:inherit;padding:0;cursor:pointer;text-align:left}
.foot-cols button:hover{text-decoration:underline}
.foot-brand{display:grid;gap:1rem;align-content:start}
.foot-brand .brand{color:#fff}
.foot-brand .brand > svg{color:var(--gruen)}
.foot-brand .brand .tld{color:var(--gruen)}
@media (max-width:860px){.foot-cols{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.foot-cols{grid-template-columns:1fr}}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-top:3rem;font-size:var(--s-xs);opacity:.8}

/* ---------- Consent-Banner ---------- */
.cc{position:fixed;left:1rem;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:200;max-width:30rem;background:#fff;color:var(--text);box-shadow:0 30px 80px -20px rgba(43,27,92,.45),0 0 0 1px var(--linie);padding:1.6rem;border-radius:var(--r-m);display:grid;gap:1rem;font-size:var(--s-s);line-height:1.6}
.cc h2{font:700 var(--s-l)/1.2 var(--f-sans);display:flex;gap:.65rem;align-items:center}
.cc h2 svg{width:1.35rem;height:1.35rem;color:var(--lila)}
.cc p{color:var(--text-leise)}
.cc a{color:var(--lila-600)}
.cc .cc-opts{display:grid;gap:.75rem;border-top:1px solid var(--linie);padding-top:1rem}
.cc label{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start;line-height:1.4}
.cc label small{display:block;color:var(--text-leise)}
.cc input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:var(--lila);margin-top:.15rem}
.cc .cc-btns{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.cc .cc-btns .btn{padding:.8rem .9rem;font-size:var(--s-s)}
.cc .cc-btns .btn--line{background:var(--lila-50);color:var(--deep)}
.cc .cc-btns .btn--lila{background:var(--lila);color:#fff}
.cc .cc-more{background:none;border:0;color:var(--deep);font:500 var(--s-xs)/1 var(--f-sans);text-decoration:underline;cursor:pointer;justify-self:start;padding:.25rem 0}
@media (max-width:420px){.cc .cc-btns{grid-template-columns:1fr}}
body.has-book-bar .cc{bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}

/* Hervorgehobene Karte (schoolgoes.business) */
.mod--featured{grid-column:span 2}
.mod--featured .mod-top{min-height:12rem}
.mod--featured .mod-top h3{font-family:var(--f-serif);font-size:clamp(2rem,3.2vw,2.6rem);max-width:none}
.mod--featured .mod-top .sgb{position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);width:6.5rem;filter:brightness(0) invert(1);opacity:.95}
.mod--featured .mod-top .ico{display:none}
.mod--custom.wide{grid-column:span 2}
@media (max-width:640px){.mod--featured,.mod--custom.wide{grid-column:auto}.mod--featured .mod-top .sgb{display:none}}
.legal-top{padding-top:0}

/* ---------- Case Studies ---------- */
.cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
@media (max-width:1000px){.cases{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.cases{grid-template-columns:1fr}}
.case{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-l);box-shadow:var(--shadow);overflow:hidden;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}
.case:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.case figure{margin:.6rem .6rem 0;border-radius:calc(var(--r-l) - .6rem);overflow:hidden;aspect-ratio:4/3;background:var(--lila-50);max-width:100%}
.case figure img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform .6s ease}
.case figure img.is-logo{object-fit:contain;padding:14%;background:var(--deep)}
.case:hover figure img{transform:scale(1.04)}
.case-body{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.case-body h3{font-family:var(--f-serif-text);font-weight:400;font-size:1.45rem;line-height:1.15}
.case-body p{color:var(--text-leise);font-size:var(--s-s);line-height:1.6}
.case-body .link{margin-top:auto;padding-top:.4rem;font-size:var(--s-s)}
.case-cat{font-size:var(--s-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--gruen-700)}
.case--featured{grid-column:span 2;display:grid;grid-template-columns:1.15fr 1fr}
.case--featured figure{aspect-ratio:auto;min-height:100%;margin:.6rem 0 .6rem .6rem}
.case--featured .case-body{justify-content:center;padding:2rem}
.case--featured .case-body h3{font-family:var(--f-serif);font-size:clamp(1.8rem,3vw,2.4rem)}
@media (max-width:640px){.case--featured{grid-column:auto;grid-template-columns:1fr}.case--featured figure{aspect-ratio:4/3;margin:.6rem .6rem 0}.case--featured .case-body{padding:1.25rem 1.5rem 1.5rem}}
.case[hidden]{display:none}
.proj figure img.is-logo{object-fit:contain;padding:18%;background:var(--deep)}

.case-hero{background:linear-gradient(180deg,var(--gruen-50) 0%,#fff 100%);padding-block:clamp(2.5rem,6vw,4rem) 0}
.case-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.case-hero h1{font-size:clamp(2.3rem,4.6vw,3.6rem);margin-block:1rem 1.25rem}
.case-cover{margin:0;border-radius:var(--r-l);overflow:hidden;box-shadow:var(--shadow-hover);aspect-ratio:4/3;background:var(--deep);position:relative;max-width:100%}
.case-cover img{width:100%;height:100%;object-fit:cover}
.case-cover img.is-logo{object-fit:contain;padding:16%}
.case-cover figcaption{position:absolute;right:.75rem;bottom:.75rem;background:rgba(43,27,92,.7);color:#fff;font-size:.72rem;padding:.25rem .6rem;border-radius:var(--pill)}
@media (max-width:860px){.case-hero-grid{grid-template-columns:1fr}}
.case-numbers{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem;margin-top:clamp(2rem,4vw,3rem)}
.case-numbers div{background:#fff;border-radius:var(--r-m);padding:1.25rem 1.4rem;box-shadow:var(--shadow);display:grid;gap:.3rem}
.case-numbers b{font-family:var(--f-serif);font-weight:400;font-size:clamp(2rem,3.5vw,2.75rem);line-height:1;color:var(--lila)}
.case-numbers span{font-size:var(--s-s);color:var(--text-leise);line-height:1.4}
.case-aside{position:sticky;top:6.5rem}
.case-aside .booking{position:static}
@media (max-width:960px){.case-aside{position:static}}
.side-h{font:700 var(--s-m)/1.3 var(--f-sans)}
.ext-links{list-style:none;display:grid;gap:.5rem}
.ext-links a{color:var(--lila-600);text-decoration:none;font-weight:500}
.ext-links a:hover{text-decoration:underline}
.gallery{columns:3 16rem;column-gap:1rem}
.gallery figure{margin:0 0 1rem;break-inside:avoid;border-radius:var(--r-m);overflow:hidden}
.gallery img{width:100%;height:auto}
.case-nav{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2.5rem;font-weight:500}
.case-nav a{color:var(--lila-600);text-decoration:none}
.case-nav a:hover{text-decoration:underline}
.stats--light .stat{background:var(--lila-50)}
.partners{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.partner{display:grid;grid-template-columns:8rem 1fr;gap:1.5rem;align-items:center;background:#fff;border-radius:var(--r-l);padding:1.5rem;text-decoration:none;box-shadow:var(--shadow);transition:transform .25s ease}
.partner:hover{transform:translateY(-3px)}
.partner figure{margin:0;aspect-ratio:1;border-radius:var(--r-m);background:#fff;display:grid;place-items:center;overflow:hidden}
.partner figure img{width:100%;height:100%;object-fit:contain}
.partner h3{font-family:var(--f-serif-text);font-weight:400;font-size:1.4rem;margin-bottom:.4rem}
.partner p{font-size:var(--s-s);color:var(--text-leise)}
@media (max-width:760px){.partners{grid-template-columns:1fr}.partner{grid-template-columns:5rem 1fr}}
.press-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.press{display:grid;gap:.6rem;align-content:start;padding:1.6rem;border-radius:var(--r-m);background:var(--lila-50);text-decoration:none;transition:background .2s}
.press:hover{background:var(--lila-100)}
.press-src{font-size:var(--s-xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--lila-600)}
.press b{font-family:var(--f-serif-text);font-weight:400;font-size:1.3rem;line-height:1.25}
@media (max-width:860px){.press-list{grid-template-columns:1fr}}

/* ---------- Hero-Collage (eigene Projektfotos) ---------- */
.hero-collage{position:relative;aspect-ratio:1/0.95;width:100%;max-width:36rem;justify-self:end}
.hc{position:absolute;display:block;overflow:hidden;border-radius:var(--r-l);box-shadow:0 30px 60px -28px rgba(43,27,92,.55);transition:transform .35s ease;background:var(--lila-100)}
.hc img{width:100%;height:100%;object-fit:cover}
.hc:hover{transform:translateY(-4px) rotate(0deg)!important}
.hc--main{top:0;right:0;width:82%;aspect-ratio:4/3}
.hc--a{left:0;bottom:2%;width:36%;aspect-ratio:3/4;transform:rotate(-3deg);border:6px solid #fff}
.hc--b{right:4%;bottom:0;width:52%;aspect-ratio:4/3;transform:rotate(2deg);border:6px solid #fff}
.proof{position:absolute;left:4%;top:8%;background:#fff;border-radius:var(--r-m);padding:.9rem 1.15rem;box-shadow:var(--shadow-hover);display:grid;gap:.15rem;text-decoration:none;z-index:2;max-width:13rem}
.proof b{font-family:var(--f-serif);font-weight:400;font-size:2rem;line-height:1;color:var(--lila)}
.proof span{font-size:var(--s-xs);color:var(--text-leise);line-height:1.35}
.hc-mark{position:absolute;right:-1.2rem;top:-1.4rem;width:3.4rem;height:3.4rem;color:var(--gruen);z-index:2}
.hc-mark svg{width:100%;height:100%}
.hero .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr}
  .hero-collage{justify-self:stretch;max-width:30rem;margin-top:1rem}
  .hc-mark{right:0;top:-1rem;width:2.4rem;height:2.4rem}
  .proof b{font-size:1.5rem}
}
/* ---------- Logo-Leiste ---------- */
.logos{padding-block:clamp(2.5rem,5vw,3.5rem) 0}
.logos .wrap{display:grid;gap:1.25rem;justify-items:center}
.logos p{font-size:var(--s-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-leise)}
.logos ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem clamp(1.75rem,4vw,3.25rem)}
.logos img{height:2.4rem;width:auto;opacity:.6;transition:opacity .2s}
.logos li:hover img{opacity:1}
@media (max-width:640px){.logos img{height:1.8rem}}

/* ---------- WordPress & Contact Form 7 ---------- */
.prose ul.checks,.prose ul.wp-block-list.checks{padding-left:0}
.prose > *:first-child{margin-top:0}
.prose figure{margin:0}
.prose img{border-radius:var(--r-m)}
.foot-cols ul + ul{margin-top:.55rem}
.alignwide,.alignfull{max-width:100%}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.form-wrap .wpcf7{margin:0}
.wpcf7 form{display:grid;gap:2rem;background:#fff;box-shadow:var(--shadow-hover);padding:clamp(1.5rem,4vw,2.75rem);border-radius:var(--r-l)}
.wpcf7 fieldset{border:0;margin:0;padding:0;display:grid;gap:1.1rem}
.wpcf7 legend{font-family:var(--f-serif-text);font-size:var(--s-xl);margin-bottom:.75rem;display:flex;gap:.75rem;align-items:center}
.wpcf7 legend span{font:500 var(--s-s)/1 var(--f-sans);width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:var(--lila-100);color:var(--lila-600)}
.wpcf7 .row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
@media (max-width:560px){.wpcf7 .row{grid-template-columns:1fr}}
.wpcf7 .wpcf7-form-control-wrap{display:block}
.wpcf7 .field input[type=text],.wpcf7 .field input[type=email],.wpcf7 .field input[type=tel],.wpcf7 .field input[type=number],.wpcf7 .field select,.wpcf7 .field textarea{font:400 var(--s-m)/1.4 var(--f-sans);padding:.85rem 1rem;border:1.5px solid var(--linie);border-radius:var(--r-s);background:var(--lila-50);color:var(--text);width:100%}
.wpcf7 .field input:focus,.wpcf7 .field select:focus,.wpcf7 .field textarea:focus{outline:none;border-color:var(--lila);background:#fff;box-shadow:0 0 0 4px var(--lila-100)}
.wpcf7 .field textarea{min-height:8rem;resize:vertical}
.wpcf7 .pills .wpcf7-form-control{display:flex;flex-wrap:wrap;gap:.5rem}
.wpcf7 .pills .wpcf7-list-item{margin:0}
.wpcf7 .pills label{cursor:pointer;position:relative;display:inline-block}
.wpcf7 .pills input{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0}
.wpcf7 .pills .wpcf7-list-item-label{display:inline-block;padding:.6rem 1rem;border-radius:var(--pill);background:var(--lila-50);border:1.5px solid var(--linie);font-size:var(--s-s);transition:all .15s}
.wpcf7 .pills input:checked + .wpcf7-list-item-label{background:var(--deep);border-color:var(--deep);color:#fff}
.wpcf7 .pills input:focus-visible + .wpcf7-list-item-label{outline:3px solid var(--lila);outline-offset:2px}
.wpcf7 .consent{font-size:var(--s-s);color:var(--text-leise)}
.wpcf7 .consent .wpcf7-list-item{margin:0}
.wpcf7 .consent label{display:grid;grid-template-columns:auto 1fr;gap:.6rem;align-items:start}
.wpcf7 .consent input{width:1.15rem;height:1.15rem;accent-color:var(--lila);margin-top:.2rem}
.wpcf7 .consent a{color:var(--lila-600)}
.wpcf7 input[type=submit]{font:500 var(--s-m)/1.2 var(--f-sans);border:0;cursor:pointer}
.wpcf7 input[type=submit]:disabled{opacity:.5;cursor:not-allowed}
.wpcf7-not-valid-tip{color:#B42318;font-size:var(--s-xs);margin-top:.3rem;display:block}
.wpcf7 .field .wpcf7-not-valid{border-color:#B42318}
.wpcf7-response-output{margin:0!important;border-radius:var(--r-s);padding:1rem 1.2rem!important;font-size:var(--s-s);border:0!important;background:var(--gruen-50)}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output{background:#FEF3F2;color:#B42318}
.wpcf7 form.sent .wpcf7-response-output{background:var(--gruen-100)}
.wpcf7-spinner{margin-left:1rem}
.wpcf7 form.sent fieldset,.wpcf7 form.sent .consent{opacity:.5}
.contact-card > span{width:4rem;height:4rem;border-radius:50%;background:var(--lila-100);display:block}
.wpcf7 .hidden-fields-container{display:none}
.wpcf7 .pills span{padding:0;border:0;background:none;border-radius:0;display:inline}
.wpcf7 .pills .wpcf7-form-control{display:flex}

/* ---------- Logo (Wortmarke wie schoolgoes.business) ---------- */
.brand .logo{height:2.85rem;width:auto;display:block;color:var(--deep)}
.foot-brand .brand .logo{color:#fff;height:3rem}
@media (max-width:640px){.brand .logo{height:2.4rem}}

/* ---------- Lightbox ---------- */
a[data-lightbox]{display:block;position:relative;cursor:zoom-in;border-radius:inherit;overflow:hidden}
a[data-lightbox]::after{content:"";position:absolute;right:.75rem;top:.75rem;width:2.4rem;height:2.4rem;border-radius:50%;background:rgba(255,255,255,.92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B1B5C' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M15 4h5v5M9 20H4v-5M20 4l-6 6M4 20l6-6'/%3E%3C/svg%3E") center/52% no-repeat;opacity:0;transform:scale(.85);transition:opacity .2s,transform .2s;box-shadow:0 6px 16px -6px rgba(43,27,92,.4)}
a[data-lightbox]:hover::after,a[data-lightbox]:focus-visible::after{opacity:1;transform:none}
@media (hover:none){a[data-lightbox]::after{opacity:.9;transform:none}}
a[data-lightbox] img{transition:transform .5s ease}
a[data-lightbox]:hover img{transform:scale(1.03)}
.case-cover a[data-lightbox]{height:100%}
.case-cover figcaption{z-index:1;pointer-events:none}
html.lb-open{overflow:hidden}
.lb{position:fixed;inset:0;z-index:300;background:rgba(20,12,46,.97);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;grid-template-columns:4.5rem minmax(0,1fr) 4.5rem;align-items:center;padding:calc(1rem + env(safe-area-inset-top,0px)) 0 calc(1rem + env(safe-area-inset-bottom,0px));animation:lbIn .2s ease}
.lb[hidden]{display:none}
@keyframes lbIn{from{opacity:0}to{opacity:1}}
.lb-figure{margin:0;grid-column:2;display:grid;justify-items:center;gap:.9rem;max-height:100%;min-height:0}
.lb-img{max-width:100%;max-height:calc(100vh - 7rem);max-height:calc(100dvh - 7rem);width:auto;height:auto;object-fit:contain;border-radius:var(--r-s);box-shadow:0 30px 80px -20px rgba(0,0,0,.6);transition:opacity .2s}
.lb.is-loading .lb-img{opacity:.35}
.lb-cap{display:flex;gap:1.25rem;justify-content:center;flex-wrap:wrap;color:#D9D3F5;font-size:var(--s-s);text-align:center}
.lb-count{color:#fff;font-variant-numeric:tabular-nums;font-weight:500}
.lb-close,.lb-nav{border:0;cursor:pointer;color:#fff;background:rgba(255,255,255,.12);border-radius:50%;display:grid;place-items:center;transition:background .15s}
.lb-close:hover,.lb-nav:hover{background:rgba(255,255,255,.25)}
.lb-close{position:absolute;top:calc(1rem + env(safe-area-inset-top,0px));right:1rem;width:3rem;height:3rem;font:300 2rem/1 var(--f-sans);z-index:2}
.lb-nav{width:3.25rem;height:3.25rem;font:300 2.4rem/1 var(--f-sans);justify-self:center;padding-bottom:.2rem}
.lb-nav[hidden]{visibility:hidden;display:grid}
@media (max-width:640px){
  .lb{grid-template-columns:1fr;padding-inline:.5rem}
  .lb-figure{grid-column:1}
  .lb-nav{position:absolute;bottom:calc(1rem + env(safe-area-inset-bottom,0px));width:3rem;height:3rem}
  .lb-prev{left:1rem}.lb-next{right:1rem}
  .lb-img{max-height:calc(100dvh - 9rem)}
}
@media (prefers-reduced-motion:reduce){.lb{animation:none}a[data-lightbox] img{transition:none}}

/* ---------- Mega-Menü ---------- */
@media (min-width:1041px){
  .site-header .nav{align-self:stretch;display:flex}
  .nav>ul{align-items:stretch}
  .nav>ul>li{display:flex;align-items:center}
  .nav .has-mega{position:static}
  .nav .has-mega .sub-toggle[aria-expanded="true"],.nav .has-mega:hover>.sub-toggle{background:var(--lila-50)}
  .mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--linie);box-shadow:0 40px 60px -40px rgba(43,27,92,.45);border-radius:0 0 var(--r-l) var(--r-l);visibility:hidden;opacity:0;transform:translateY(-6px);transition:opacity .15s ease,transform .15s ease,visibility 0s linear .15s;z-index:60}
  .nav .has-mega:hover>.mega,.nav .has-mega:focus-within>.mega,.nav .has-mega.open>.mega{visibility:visible;opacity:1;transform:none;transition-delay:.06s,.06s,0s}
  .mega-inner{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:clamp(1.5rem,3vw,3rem);padding-block:1.75rem 2rem}
}
.mega{display:block}
.nav .mega a{font:inherit;padding:0;border-radius:0;background:none;display:block;width:auto;justify-content:initial}
.mega-h{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font:500 var(--s-xs)/1.2 var(--f-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--lila);margin-bottom:.9rem}
.nav .mega .mega-h a{letter-spacing:0;text-transform:none;font-size:var(--s-s);color:var(--lila-600)}
.nav .mega .mega-h a:hover{text-decoration:underline}
.mega-mods{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .9rem}
.mm{display:flex;align-items:center;gap:.5rem;border-radius:var(--r-m);padding:.3rem .5rem .3rem .3rem;transition:background .15s}
.mm:hover,.mm:focus-within{background:var(--lila-50)}
.nav .mega .mm-link{display:flex;align-items:center;gap:.85rem;flex:1;min-width:0;padding:.35rem}
.mm-ic,.mc-ic{width:2.6rem;height:2.6rem;border-radius:12px;display:grid;place-items:center;flex-shrink:0}
.mm-ic svg,.mc-ic svg{width:1.35rem;height:1.35rem}
.mm-ic.tone-deep{color:var(--gruen)}.mm-ic.tone-lila{color:#fff}.mm-ic.tone-gruen{color:var(--deep)}.mm-ic.tone-hell{color:var(--lila)}
.mm-txt{display:grid;gap:.1rem;min-width:0}
.mm-txt b,.mc b{font-weight:500;font-size:var(--s-s);color:var(--deep);line-height:1.3}
.mm-txt small,.mc small{font-size:var(--s-xs);color:var(--text-leise);line-height:1.35;white-space:normal}
.nav .mega .mm-book{flex-shrink:0;font-size:var(--s-xs);font-weight:500;color:var(--lila-600);background:var(--lila-100);border-radius:var(--pill);padding:.45rem .85rem;transition:background .15s,color .15s}
.nav .mega .mm-book:hover,.mm:hover .mm-book{background:var(--lila);color:#fff}
.mega-foot{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--linie);font-size:var(--s-s);color:var(--text-leise)}
.mega-foot span{margin-right:.25rem}
.nav .mega .mega-foot a{background:var(--lila-50);color:var(--deep);border-radius:var(--pill);padding:.4rem .85rem;font-size:var(--s-xs);font-weight:500}
.nav .mega .mega-foot a:hover{background:var(--lila-100)}
.mega-cards{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.6rem}
.nav .mega .mc{display:flex;gap:.85rem;align-items:flex-start;padding:1rem;border-radius:var(--r-m);background:var(--lila-50);transition:background .15s;height:100%}
.nav .mega .mc:hover,.nav .mega .mc[aria-current="page"]{background:var(--lila-100)}
.mc span:last-child{display:grid;gap:.2rem}
.mc-ic{background:var(--deep);color:var(--gruen)}
.mc-schueler{background:var(--gruen);color:var(--deep)}
.mc-lehrer{background:var(--lila);color:#fff}
.mc-eltern{background:var(--deep);color:var(--gruen)}
.mc-code{background:#fff;color:var(--lila-600);font:700 var(--s-xs)/1 var(--f-sans);letter-spacing:.08em}
.mega-book{background:var(--lila-50);border-radius:var(--r-l);padding:1.4rem;display:grid;gap:.55rem;align-content:start}
.mega-book .mega-h{margin-bottom:.2rem}
.mega-book form{display:grid;gap:.55rem}
.mega-book label{font-size:var(--s-xs);font-weight:500;color:var(--text-leise)}
.mega-book select{font:400 var(--s-s)/1.3 var(--f-sans);padding:.65rem .75rem;border:1.5px solid var(--linie);border-radius:var(--r-s);background:#fff;color:var(--text);width:100%}
.mega-book select:focus{outline:none;border-color:var(--lila);box-shadow:0 0 0 3px var(--lila-100)}
.mb-row{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.mb-row > div{display:grid;gap:.55rem;min-width:0}
.mega-book .btn{width:100%;margin-top:.35rem;padding:.85rem 1rem;font-size:var(--s-s)}
.mb-note{font-size:var(--s-xs);color:var(--text-leise);text-align:center}
.mb-person{display:flex;gap:.7rem;align-items:center;font-size:var(--s-xs);color:var(--text-leise);border-top:1px solid var(--linie);padding-top:.8rem;margin-top:.2rem;line-height:1.4}
.mb-person img{width:2.5rem;height:2.5rem;border-radius:50%;object-fit:cover;flex-shrink:0}
.mb-person b{color:var(--deep);font-weight:500}
@media (max-width:1040px){
  .mega{display:none;padding:.25rem 0 1rem}
  .nav .has-mega.open>.mega{display:block}
  .mega .wrap{padding:0}
  .mega-inner{display:grid;gap:1rem}
  .mega-mods{grid-template-columns:1fr}
  .mega-h{display:none}
  .mega-book .mega-h{display:flex}
}
.site-header .mega-inner{display:grid;align-items:start;justify-content:stretch;min-height:0}
@media (max-width:1040px){
  .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}
  .nav .has-mega .sub-toggle[aria-expanded="true"]{background:var(--lila-50)}
  .nav .mega .mm-link{padding:.25rem}
  .mega-book{padding:1.1rem}
}

/* ---- Mega-Menü: größere Schrift & einheitliche Auswahlfelder (auch Safari) ---- */
.nav a,.nav button.sub-toggle{font-size:var(--s-m)}
.mega-h{font-size:var(--s-s);margin-bottom:1.1rem}
.nav .mega .mega-h a{font-size:var(--s-m)}
.mm-txt b,.mc b{font-size:var(--s-m);line-height:1.3}
.mm-txt small,.mc small{font-size:var(--s-s);line-height:1.45}
.mc span:last-child{gap:.3rem}
.nav .mega .mc{padding:1.15rem 1.2rem;gap:1rem}
.mm-ic,.mc-ic{width:2.9rem;height:2.9rem}
.mm-ic svg,.mc-ic svg{width:1.5rem;height:1.5rem}
.mc-code{font-size:var(--s-s)}
.mega-cards{grid-template-columns:repeat(auto-fill,minmax(16.5rem,1fr));gap:.75rem}
.nav .mega .mm-book{font-size:var(--s-s);padding:.55rem 1rem}
.mega-foot{font-size:var(--s-m)}
.nav .mega .mega-foot a{font-size:var(--s-s);padding:.5rem 1rem}
.mega-book{padding:1.6rem;gap:.7rem}
.mega-book form{gap:.7rem}
.mega-book label{font-size:var(--s-s);color:var(--deep)}
.mb-row,.mb-row > div{gap:.7rem}
.mega-book select{-webkit-appearance:none;appearance:none;font:400 var(--s-m)/1.3 var(--f-sans);padding:.75rem 2.4rem .75rem .9rem;min-height:3rem;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%237363F3' stroke-width='2'/%3E%3C/svg%3E") no-repeat right .85rem center/.75rem;text-overflow:ellipsis}
.mega-book .btn{font-size:var(--s-m);padding:.95rem 1rem}
.mb-note{font-size:var(--s-s)}
.mb-person{font-size:var(--s-s)}
.mb-person img{width:2.75rem;height:2.75rem}
@media (min-width:1041px){
  .mega-inner{grid-template-columns:minmax(0,1fr) 22rem}
}
@media (min-width:1041px) and (max-width:1240px){
  .nav a,.nav button.sub-toggle{padding-inline:.7rem}
}
@media (max-width:1040px){
  .nav a,.nav button.sub-toggle{font-size:var(--s-l)}
}

/* ---- Mega-Menü: lange Wörter umbrechen, nichts überlagert sich ---- */
.mm{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:.6rem}
.nav .mega .mm-link{min-width:0}
.mm-txt{grid-template-columns:minmax(0,1fr);min-width:0}
.mm-txt b,.mm-txt small,.mc b,.mc small{overflow-wrap:break-word;word-break:normal;-webkit-hyphens:auto;hyphens:auto}
.mc span:last-child{min-width:0}
/* Mittlere Bildschirmbreiten: „Anfragen“ unter den Titel statt daneben */
@media (min-width:1041px) and (max-width:1380px){
  .mm{grid-template-columns:minmax(0,1fr);align-items:start;padding-bottom:.55rem}
  .nav .mega .mm-book{justify-self:start;margin:-.15rem 0 0 4.1rem;padding:.4rem .9rem}
  .nav .mega .mm-link{align-items:flex-start}
}

/* ======================================================================
   Gutenberg-Blöcke
   ==================================================================== */
/* Häkchen-Listen: auch mit fett gesetzten Wörtern sauber umbrechen */
.checks li{display:block;position:relative;padding-left:2.25rem}
.checks li::before{position:absolute;left:0;top:.1rem;margin-top:0}
.content-list li{color:var(--text-leise)}
.content-list li strong,.content-list li b{color:var(--text);font-weight:700}
/* Abstände zwischen Bausteinen eines Abschnitts */
.split + .pillars{margin-top:2.5rem}
.terms + .note{margin-top:2.5rem}
.note + .regions{margin-top:1.25rem}
.head + .split{margin-top:0}
/* Bilder aus dem Bild-Block */
.wp-block-image{margin:0}
.feature-logo .wp-block-image img{display:block;width:100%;max-width:20rem;height:auto;margin-inline:auto}
@media (max-width:860px){.feature-logo .wp-block-image img{max-width:11rem}}
.photo .wp-block-image,.photo .wp-block-image a{display:block;height:100%}
.prose .wp-block-image img{height:auto}
.mks-placeholder{padding:2rem;border:2px dashed var(--lila-100);border-radius:var(--r-m);color:var(--text-leise);text-align:center;font-size:var(--s-s)}
.stack > .checks + .btns{margin-top:1.25rem}
/* Direktkontakt per E-Mail */
.mail-hint a{color:var(--lila-600);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.booking .mail-hint{margin-top:-.25rem}
.mega-book .mail-hint{margin-top:-.3rem}
.mail-card p{color:var(--text-leise)}
.mail-card .note{font-size:var(--s-s);margin-top:-.5rem}
