/* Unterseiten (Schulen & Kitas · Eltern & Familien) — gleiche Marke wie die Startseite */
:root{--tief:#115374;--tief-dark:#0c3a52;--tief-darker:#082836;--blau-mid:#376186;--blau-hell:#6590a6;--blau-nebel:#d2dde3;
--offwhite:#fbf6f2;--offwhite-2:#f4ece7;--rose:#f1e9e9;--salbei:#6f8a82;--salbei-hell:#b8cbbb;--ink:#23303a;--mute:#5c6a72;--line:#e7ddd6;
--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",system-ui,sans-serif;--script:"Sacramento",cursive;--r:18px}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--offwhite);color:var(--ink);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:var(--serif);font-weight:500;color:var(--tief);line-height:1.12}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px;top:8px;background:var(--tief);color:#fff;padding:10px 16px;border-radius:8px;z-index:2000}.skip:focus{left:8px}
/* Kopf: die Kopfleiste selbst steht in kopf.css – hier nur Marke + Knöpfe */
.brand{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-size:21px;color:var(--tief)}
.brand img{width:38px;height:38px}
.btn{display:inline-flex;align-items:center;gap:9px;padding:14px 26px;border-radius:40px;font-weight:600;font-size:15px;transition:transform .3s,box-shadow .3s;border:0;cursor:pointer;font-family:inherit}
.btn-p{background:var(--tief);color:#fff;box-shadow:0 16px 30px -16px rgba(17,83,116,.7)}.btn-p:hover{transform:translateY(-2px)}
.btn-g{border:1.5px solid var(--blau-nebel);color:var(--tief);background:#fff}.btn-g:hover{border-color:var(--blau-hell)}
.btn-w{background:#fff;color:var(--tief)}
@media(max-width:820px){.brand{font-size:19px}}
/* Hero */
.hero{position:relative;padding:118px 0 0;background:linear-gradient(180deg,#dfeaef 0%,#efe2d7 55%,var(--offwhite) 100%);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-bottom:70px}
.crumb{font-size:12.5px;color:var(--mute);margin-bottom:18px}.crumb a{text-decoration:underline;text-underline-offset:3px}
.eyebrow{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--blau-mid);font-weight:700;margin-bottom:14px}
.hero h1{font-size:clamp(36px,5.4vw,60px);margin-bottom:8px;text-wrap:balance}.hero h1 em{font-style:italic;color:var(--blau-hell);display:block} /* kursiver Teil steht als eigene Zeile – kein einzelnes Restwort mehr */
.hero .script{font-family:var(--script);font-size:clamp(28px,4vw,42px);color:var(--salbei);line-height:1;display:block;margin-bottom:20px}
.hero p.in{font-size:clamp(16px,1.6vw,18px);color:var(--mute);max-width:540px;margin-bottom:28px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.hero-pic{position:relative}
.hero-pic img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:200px 200px var(--r) var(--r);box-shadow:0 40px 80px -40px rgba(17,83,116,.55)}
.hero-pic::after{content:"";position:absolute;inset:-14px -14px auto auto;width:120px;height:120px;border-radius:50%;border:1.5px solid var(--salbei-hell);z-index:-1}
.hero-wave{display:block;width:100%;height:clamp(40px,7vw,90px);margin-bottom:-1px}
@media(max-width:820px){.hero{padding-top:96px}.hero-grid{grid-template-columns:1fr;gap:30px;padding-bottom:44px}.hero-pic{max-width:300px;margin:0 auto}.hero-pic img{aspect-ratio:1/1;border-radius:50% 50% var(--r) var(--r)}.hero-cta .btn{flex:1 1 auto;justify-content:center}}
/* Abschnitte */
.sec{padding:clamp(56px,8vw,100px) 0}.sec.alt{background:var(--offwhite-2)}
.sec.schmal{padding:clamp(40px,4.4vw,56px) 0} /* schmales Band für den Hinweis-Kasten */
.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}
h2.t{font-size:clamp(28px,4.2vw,44px);margin-bottom:14px}
.lead{font-size:clamp(16px,1.6vw,18px);color:var(--mute);max-width:660px}
.cards{display:grid;grid-template-columns:1fr;gap:22px;margin-top:44px;text-align:left}
@media(min-width:700px){.cards{grid-template-columns:repeat(2,1fr)}.cards.c3>:last-child{grid-column:1 / -1}}
@media(min-width:960px){.cards.c3{grid-template-columns:repeat(3,1fr)}.cards.c3>:last-child{grid-column:auto}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px 28px;transition:transform .4s,box-shadow .4s}
.card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -36px rgba(17,83,116,.45)}
.card .ic{width:50px;height:50px;border-radius:14px;background:var(--offwhite-2);display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--salbei)}
.card .ic svg{width:25px;height:25px}
.card h3{font-size:23px;margin-bottom:8px}.card p{font-size:15px;color:var(--mute)}
/* Modul / Hervorhebung */
.modul{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;background:var(--tief);color:#fff;border-radius:calc(var(--r) + 6px);overflow:hidden;margin-top:44px;text-align:left}
.modul-pic{min-height:320px;background-size:cover;background-position:center} /* Foto-Variante – erst wieder nutzen, wenn es ein zweites echtes Schulfoto gibt */
/* Eckdaten-Feld statt Foto (das einzige echte Schulfoto steht schon im Hero – kein Doppel) */
.modul-fakten{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(26px,4vw,48px) clamp(28px,4vw,50px) clamp(58px,7vw,92px);background:var(--tief-dark) center/cover no-repeat;overflow:hidden;min-height:420px}
.modul-fakten::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,83,116,.18) 0%,rgba(9,42,64,.55) 42%,rgba(9,42,64,.9) 72%,rgba(9,42,64,.96) 100%)} /* Foto oben sichtbar, Zahlen unten auf dunklem Grund */
.ki-badge{position:absolute;right:8px;top:8px;z-index:3;background:rgba(8,40,54,.28);color:rgba(255,255,255,.72);font-size:9px;letter-spacing:.3px;font-weight:500;padding:2px 8px;border-radius:20px;pointer-events:none;line-height:1.6}
.mf{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);align-items:center;gap:18px;padding:20px 0;border-top:1px solid rgba(255,255,255,.18)}
.mf:first-child{border-top:0}
.mf-z{font-family:var(--serif);font-size:clamp(44px,5.2vw,68px);line-height:1;font-weight:500;color:#fff;white-space:nowrap;font-variant-numeric:lining-nums} /* lining-nums: sonst sieht die 1 wie ein I aus */
.mf-l{font-size:12px;letter-spacing:2.2px;text-transform:uppercase;font-weight:700;line-height:1.5;color:var(--salbei-hell)}
.mf-welle{position:absolute;left:0;bottom:-1px;width:100%;height:clamp(34px,5vw,62px);color:var(--tief);opacity:.6;pointer-events:none}
.modul-body{padding:clamp(28px,4vw,50px)}
.modul .tag{display:inline-block;font-size:11.5px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--tief-dark);background:var(--salbei-hell);border-radius:20px;padding:5px 14px;margin-bottom:16px}
.modul h3{color:#fff;font-size:clamp(26px,3.4vw,36px);margin-bottom:12px}
.modul p{color:rgba(255,255,255,.86);font-size:15.5px;margin-bottom:14px}
.modul-claim{font-family:var(--serif);font-style:italic;font-size:18.5px;line-height:1.4;color:var(--salbei-hell)!important;margin-bottom:12px!important}
.bausteine{display:grid;gap:10px;margin:18px 0 16px}
.bs{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:14px 16px}
.bs-n{font-family:var(--serif);font-size:22px;line-height:1.15;color:var(--salbei-hell);font-variant-numeric:lining-nums}
.bs b{display:block;color:#fff;font-family:var(--serif);font-weight:500;font-size:18px;line-height:1.25;margin-bottom:4px}
.bs p{font-size:14.5px;color:rgba(255,255,255,.84)!important;margin:0!important}
.modul-format{font-size:14px;color:rgba(255,255,255,.72)!important;margin:0!important}
.modul ul{list-style:none;margin:6px 0 0}
.modul li{position:relative;padding-left:28px;margin-bottom:9px;font-size:15px;color:rgba(255,255,255,.9)}
.modul li::before{content:"";position:absolute;left:0;top:9px;width:16px;height:9px;border-left:2px solid var(--salbei-hell);border-bottom:2px solid var(--salbei-hell);transform:rotate(-45deg) scale(.8)}
@media(max-width:820px){.modul{grid-template-columns:1fr}.modul-pic{min-height:220px}.modul-fakten{min-height:0;padding-top:200px}.mf{grid-template-columns:96px minmax(0,1fr);padding:13px 0}.mf-z{font-size:40px}.mf-l{font-size:11.5px;letter-spacing:1.8px}}
/* Zwei Spalten: Warum ich */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;text-align:left}
.duo p{color:var(--mute);margin-bottom:14px;font-size:16px}
.check{background:#fff;border:1px solid var(--line);border-left:4px solid var(--salbei);border-radius:14px;padding:22px 24px}
.check b{display:block;color:var(--tief);font-family:var(--serif);font-size:21px;font-weight:500;margin-bottom:6px}
.check p{font-size:14.5px;margin:0}
.check p strong{color:var(--tief);font-weight:700;white-space:nowrap}
@media(max-width:820px){.duo{grid-template-columns:1fr;gap:26px}}
/* Preis */
.preis{max-width:760px;margin:40px auto 0;background:#fff;border:1px solid var(--line);border-radius:calc(var(--r) + 4px);padding:clamp(28px,4vw,46px);text-align:center;box-shadow:0 34px 66px -44px rgba(17,83,116,.45)}
.preis .big{font-family:var(--serif);font-size:clamp(44px,7vw,66px);color:var(--tief);line-height:1;font-weight:600;font-variant-numeric:lining-nums} /* lining-nums: sonst liest sich „120“ wie „I20“ */
.preis .big small{font-size:.38em;color:var(--mute);font-family:var(--sans);font-weight:500;letter-spacing:.3px}
.preis p{color:var(--mute);font-size:15.5px;max-width:560px;margin:14px auto 0}
.preis .fine{font-size:12.5px;margin-top:18px;max-width:none;text-wrap:balance}
/* Hinweis */
.hinweis{max-width:860px;margin:0 auto;background:var(--rose);border-radius:var(--r);padding:26px 30px;font-size:14px;color:var(--mute);line-height:1.7}
.hinweis b{color:var(--tief)}
/* CTA-Band */
.cta{background:var(--tief);color:#fff;text-align:center;position:relative;overflow:hidden}
.cta h2{color:#fff;font-size:clamp(28px,4.2vw,44px);margin-bottom:6px}
.cta .script{font-family:var(--script);font-size:clamp(28px,4vw,40px);color:var(--salbei-hell);display:block;line-height:1;margin-bottom:16px}
.cta p{color:rgba(255,255,255,.85);max-width:560px;margin:0 auto 28px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.cta a.tel{color:#fff;font-weight:600;border:1.5px solid rgba(255,255,255,.35);padding:14px 26px;border-radius:40px}
/* Fuß */
.foot{background:var(--tief-darker);color:rgba(255,255,255,.7);padding:40px 0 46px;font-size:13.5px;text-align:center}
.foot nav{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;margin-bottom:18px}
.foot nav a:hover{color:var(--salbei-hell)}
.foot .made{font-size:12.5px;color:rgba(255,255,255,.55)}.foot .made a{color:var(--salbei-hell);font-weight:600}
/* Reveal (nur mit JS; ohne JS ist alles sichtbar) */
html.js .rv{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
html.js .rv.in{opacity:1;transform:none}
html.js .rv.d1{transition-delay:.1s}html.js .rv.d2{transition-delay:.2s}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.js .rv{opacity:1;transform:none;transition:none}.card,.btn{transition:none}}
@media print{html.js .rv{opacity:1!important;transform:none!important;transition:none!important}}

.preis-duo{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:6px}.preis-duo>div+div{border-left:1px solid var(--line)}.preis .ps{font-size:14.5px;color:var(--mute);margin-top:8px}
@media(max-width:520px){.preis-duo{grid-template-columns:1fr}.preis-duo>div+div{border-left:0;border-top:1px solid var(--line);padding-top:18px}}
