/* Befreites Lernen – Gestaltung der Homepage
   Alle Regeln der Seite stehen in dieser einen Datei. Die Reihenfolge:
   1. Schriften (eigene Dateien in /fonts/, keine externen Quellen)
   2. Grundregeln und Bausteine (@layer site)
   3. Einzelregeln u01, u02 ... für Stellen mit Sonderformat (ohne Layer,
      damit sie wie bisher die Bausteine überschreiben) */

@font-face{font-family:"Lora";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/lora-latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"Lora";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/lora-latin-500-normal.woff2") format("woff2");}
@font-face{font-family:"Lora";font-style:italic;font-weight:400;font-display:swap;src:url("../fonts/lora-latin-400-italic.woff2") format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/inter-latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/inter-latin-500-normal.woff2") format("woff2");}

@layer site{
*{box-sizing:border-box;margin:0;padding:0;}
:root{
  --navy:#1B2F4A;--navy-mid:#24426A;
  --blue:#346AAA;--blue-light:#78AEE2;
  --sky:#EAF2FB;--sky-mid:#D4E6F5;
  --cream:#F8F5EF;--warm:#EDE8DF;
  --stone:#5F6C75;--amber:#965E25;--white:#FDFCFA;--ink:#18222C;
  --on-dark:rgba(255,255,255,0.8);--on-dark-2:rgba(255,255,255,0.72);
}
html{scroll-padding-top:5rem;}
body{font-family:"Inter",sans-serif;background:var(--cream);color:var(--ink);font-size:0.9375rem;line-height:1.7;}
img{max-width:100%;}

/* Bedienhilfen: Sprunglink und sichtbarer Fokus */
.skip-link{position:absolute;left:0.5rem;top:-5rem;z-index:300;background:#fff;color:var(--navy);padding:0.75rem 1.25rem;border-radius:3px;font-weight:500;text-decoration:none;}
.skip-link:focus{top:0.5rem;}
:focus-visible{outline:3px solid #fff;outline-offset:0;box-shadow:0 0 0 6px var(--navy);}
main:focus{outline:none;box-shadow:none;}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* NAVIGATION */
.site-header{background:var(--navy);position:sticky;top:0;z-index:100;}
.nav{padding:0 2.5rem;display:flex;align-items:center;justify-content:space-between;min-height:62px;flex-wrap:wrap;position:relative;}
.logo{display:block;text-decoration:none;}
.logo-main{font-family:"Lora",serif;color:#fff;font-size:1rem;display:block;}
.logo-sub{font-size:0.625rem;color:var(--blue-light);letter-spacing:0.12em;text-transform:uppercase;display:block;margin-top:2px;}
.nav-links{list-style:none;display:flex;gap:1.5rem;align-items:center;}
.nav-links a{color:var(--on-dark-2);font-size:0.75rem;text-decoration:none;transition:color 0.2s;letter-spacing:0.04em;}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:#fff;}
.nav-links a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px;}
.nav-links a.nav-cta{background:var(--blue);color:#fff;padding:8px 18px;border-radius:3px;font-size:0.75rem;font-weight:500;display:inline-block;}

/* Hamburger (nur mit Skript sichtbar, sonst steht die Liste offen unter dem Logo) */
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px;}
.hamburger span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:all 0.3s;}

/* HERO – volle Breite mit Foto-Hintergrund */
.hero-full{position:relative;background:var(--navy);overflow:hidden;min-height:520px;display:flex;align-items:center;}
.hero-full-img{position:absolute;right:0;top:0;width:65%;height:100%;object-fit:cover;object-position:30% center;}
.hero-full-overlay{position:absolute;right:0;top:0;width:65%;height:100%;background:linear-gradient(to right, var(--navy) 0%, transparent 45%);}
.hero-full-content{position:relative;z-index:2;padding:5rem 2.5rem;max-width:560px;}
.hero-tag{font-size:0.6875rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--blue-light);margin-bottom:1.5rem;display:block;}
.hero-full-content h1{font-family:"Lora",serif;font-size:2.875rem;line-height:1.1;font-weight:400;color:#fff;margin-bottom:0.4rem;}
.hero-claim{font-family:"Lora",serif;font-size:1.3125rem;font-style:italic;color:var(--blue-light);margin-bottom:1.3rem;}
.hero-lead{color:var(--on-dark);font-size:0.875rem;line-height:1.9;margin-bottom:2rem;max-width:440px;}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;}
.btn-blue{background:var(--blue);color:#fff;padding:11px 24px;border-radius:3px;text-decoration:none;font-size:0.8125rem;font-weight:500;display:inline-block;cursor:pointer;border:none;font-family:inherit;line-height:normal;}
.btn-ghost{color:var(--on-dark-2);font-size:0.8125rem;text-decoration:none;font-family:inherit;}
.btn-ghost:hover{color:#fff;}

/* HERO KURSE: Foto rechts, Text links */
.hero-kurse{position:relative;background:var(--navy);overflow:hidden;min-height:360px;display:flex;align-items:center;}
.hero-kurse-img{position:absolute;right:0;top:0;width:60%;height:100%;object-fit:cover;object-position:left center;}
.hero-kurse-overlay{position:absolute;right:0;top:0;width:60%;height:100%;background:linear-gradient(to right, var(--navy) 0%, transparent 35%);}
.hero-kurse-content{position:relative;z-index:2;padding:4rem 2.5rem;max-width:520px;}
.hero-kurse-content h1{font-family:"Lora",serif;font-size:2.5rem;line-height:1.1;font-weight:400;color:#fff;margin-bottom:0.4rem;}
.hero-kurse-content .hero-claim{font-size:1.1875rem;margin-bottom:1rem;}
.hero-kurse-content .hero-lead{font-size:0.875rem;max-width:420px;margin-bottom:0;}

/* HERO SM für Unterseiten */
.hero-sm{background:var(--navy);padding:3.5rem 2.5rem;}
.hero-sm h1{font-family:"Lora",serif;font-size:2.5rem;line-height:1.1;font-weight:400;color:#fff;margin-bottom:0.4rem;}
.hero-sm .hero-claim{font-family:"Lora",serif;font-size:1.1875rem;font-style:italic;color:var(--blue-light);margin-bottom:1rem;}
.hero-sm .hero-lead{color:var(--on-dark);font-size:0.875rem;line-height:1.9;max-width:520px;margin-bottom:0;}

/* PROMISE */
.promise{background:var(--white);display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--sky-mid);}
.pi{padding:1.6rem 2rem;border-right:1px solid var(--sky-mid);display:flex;gap:1rem;}
.pi:last-child{border-right:none;}
.pin{font-family:"Lora",serif;font-size:1.625rem;color:#6A94C0;line-height:1;flex-shrink:0;}
.pit h2{font-size:0.8125rem;font-weight:500;color:var(--navy);margin-bottom:3px;}
.pit p{font-size:0.75rem;color:var(--stone);line-height:1.6;}

/* UTILS */
.s-label{font-size:0.625rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--amber);margin-bottom:0.6rem;}
.s-title{font-family:"Lora",serif;font-size:1.875rem;font-weight:400;color:var(--navy);line-height:1.15;margin-bottom:0.8rem;}
.s-title em{font-style:italic;}
.rule{width:32px;height:1.5px;background:var(--blue);margin:1rem 0 2rem;}
.s-body{color:var(--stone);font-size:0.875rem;line-height:1.9;max-width:520px;}

/* SÄULEN */
.pillars{background:var(--sky);padding:4rem 2.5rem;border-bottom:1px solid var(--sky-mid);}
.col-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.col-card{background:var(--white);border-radius:8px;padding:2rem;border:1px solid var(--sky-mid);}
.col-num{font-family:"Lora",serif;font-size:1.75rem;color:#6A94C0;line-height:1;margin-bottom:0.8rem;}
.col-card h3{font-size:0.875rem;font-weight:500;color:var(--navy);margin-bottom:0.5rem;}
.col-card p{font-size:0.8125rem;color:var(--stone);line-height:1.7;}

/* WARUM */
.warum{background:var(--white);padding:4rem 2.5rem;}
.warum-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--sky-mid);border-radius:8px;overflow:hidden;margin-top:2rem;}
.wi{background:var(--white);padding:1.8rem 2rem;}
.wi:hover{background:var(--sky);}
.wd{width:6px;height:6px;border-radius:50%;background:var(--blue);margin-bottom:0.8rem;}
.wi h3{font-size:0.875rem;font-weight:500;color:var(--navy);margin-bottom:0.4rem;}
.wi p{font-size:0.8125rem;color:var(--stone);line-height:1.7;}

/* ABOUT – mit neuem Foto */
.about{background:var(--white);padding:4rem 2.5rem;}
.about-inner{display:flex;gap:3rem;align-items:flex-start;max-width:960px;}
.about-photo{flex:0 0 260px;width:260px;}
.about-photo img{width:260px;height:320px;object-fit:cover;object-position:center top;border-radius:8px;display:block;}
.about-caption{font-size:0.6875rem;color:var(--stone);margin-top:0.6rem;text-align:center;}
.about-text{flex:1;min-width:0;overflow:hidden;}
.about-text p{font-size:0.875rem;color:var(--stone);line-height:1.9;margin-bottom:0.8rem;}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:1.2rem;}
.chip{font-size:0.6875rem;background:var(--sky);color:var(--navy-mid);padding:4px 12px;border-radius:20px;border:1px solid var(--sky-mid);}

/* BGM MIT FOTO */
.bgm-intro{background:var(--white);padding:4rem 2.5rem;display:grid;grid-template-columns:1fr 420px;gap:3rem;align-items:center;}
.bgm-intro img{width:100%;height:300px;object-fit:cover;object-position:center top;border-radius:8px;display:block;}

/* FORMATE DARK */
.formate-dark{background:var(--navy);padding:4rem 2.5rem;}
.formate-dark .s-title{color:#fff;}
.formate-dark .s-label{color:var(--blue-light);}
.formate-dark .rule{background:var(--blue-light);}
.format-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,0.06);border-radius:8px;overflow:hidden;margin-top:2rem;}
.format-item{background:rgba(255,255,255,0.03);padding:1.8rem 1.5rem;}
.format-item:hover{background:rgba(255,255,255,0.06);}
.format-n{font-family:"Lora",serif;font-size:2.125rem;color:#5F8EC2;line-height:1;margin-bottom:0.8rem;}
.format-item h3{font-size:0.8125rem;font-weight:500;color:#fff;margin-bottom:0.5rem;}
.format-item p{font-size:0.75rem;color:var(--on-dark-2);line-height:1.7;}

/* Tags (in der bisherigen Fassung ohne Gestaltung, daher kaum lesbar) */
.hct{display:inline-block;background:rgba(107,163,220,0.16);color:#fff;font-size:0.75rem;padding:4px 12px;border-radius:20px;border:1px solid rgba(107,163,220,0.45);}

.stern::before{content:"✦ ";}

/* PAKETE */
.pakete{background:var(--white);padding:4rem 2.5rem;}
.paket-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem;}
.pak{border-radius:8px;padding:2rem;border:1px solid var(--sky-mid);background:var(--sky);}
.pak.mid{background:var(--navy);border-color:var(--navy);}
.pak-tier{font-size:0.625rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--amber);margin-bottom:0.5rem;}
.pak.mid .pak-tier{color:var(--blue-light);}
.pak h3{font-family:"Lora",serif;font-size:1.1875rem;font-weight:400;color:var(--navy);margin-bottom:0.6rem;}
.pak.mid h3{color:#fff;}
.pak p{font-size:0.8125rem;color:var(--stone);line-height:1.7;}
.pak.mid p{color:var(--on-dark-2);}

/* KURSE TEASER */
.kurse-teaser{background:var(--navy);padding:4rem 2.5rem;}
.kurse-teaser .s-title{color:#fff;}
.kurse-teaser .s-label{color:var(--blue-light);}
.kurse-teaser .rule{background:var(--blue-light);}
.kurse-teaser .s-body{color:var(--on-dark-2);}
.kurse-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem;}
.kurse-item{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:8px;padding:2rem;}
.kurse-item-tag{font-size:0.625rem;text-transform:uppercase;letter-spacing:0.12em;color:var(--blue-light);margin-bottom:0.8rem;}
.kurse-item h3{font-size:1rem;font-weight:500;color:#fff;margin-bottom:0.6rem;font-family:"Lora",serif;}
.kurse-item p{font-size:0.8125rem;color:var(--on-dark-2);line-height:1.7;}
.badge-bald{display:inline-flex;align-items:center;gap:6px;background:var(--navy);color:var(--blue-light);font-size:0.6875rem;padding:4px 12px;border-radius:20px;border:1px solid rgba(120,174,226,0.45);margin-top:1rem;}
.badge-bald::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue-light);}

/* KINDER */
.check-list{list-style:none;}
.check-list li{padding:10px 0 10px 26px;position:relative;font-size:0.875rem;color:var(--stone);border-bottom:1px solid var(--sky-mid);line-height:1.6;}
.check-list li::before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:500;}
.check-list li strong{color:var(--navy);font-weight:500;}
.hinweis{background:var(--sky);border-radius:8px;padding:1.5rem;margin-top:1.5rem;border:1px solid var(--sky-mid);}
.hinweis h3{font-size:0.6875rem;font-weight:500;color:var(--amber);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:0.5rem;}
.hinweis p{font-size:0.8125rem;color:var(--stone);line-height:1.7;}

/* KONTAKT */
.kontakt-card{background:var(--sky);border-radius:8px;padding:1.2rem 1.5rem;border:1px solid var(--sky-mid);margin-bottom:1rem;}
.kontakt-card .k-label{font-size:0.625rem;color:var(--amber);text-transform:uppercase;letter-spacing:0.12em;margin-bottom:4px;}
.kontakt-card .k-val{font-size:0.875rem;color:var(--navy);}
.kontakt-card .k-val a{color:var(--navy);text-decoration:none;}
.kontakt-card .k-val a:hover{text-decoration:underline;}

/* FORMULAR */
.form-section{background:var(--white);padding:0 2.5rem 4rem;}
.form-wrap{max-width:560px;border-top:1px solid var(--sky-mid);padding-top:3rem;}
.form-intro{font-size:0.875rem;color:var(--stone);line-height:1.9;margin-bottom:1.5rem;}
.form-group{margin-bottom:1.2rem;}
.form-group label{font-size:0.8125rem;color:var(--navy);font-weight:500;display:block;margin-bottom:4px;}
.form-group input[type="text"],.form-group input[type="email"],.form-group textarea{width:100%;border:1px solid #6B7B88;background:#fff;border-radius:5px;padding:10px 12px;font-size:0.875rem;font-family:inherit;color:var(--ink);line-height:1.5;}
.form-group textarea{resize:vertical;min-height:9rem;}
.form-group [aria-invalid="true"]{border-color:#9B1C1C;border-width:2px;}
.form-check{display:flex;gap:0.75rem;align-items:flex-start;margin-bottom:1.2rem;}
.form-check input{flex:0 0 auto;width:1.25rem;height:1.25rem;margin-top:0.2rem;accent-color:var(--navy);}
.form-check label{font-size:0.8125rem;color:var(--ink);line-height:1.6;}
.form-check label a{color:var(--navy-mid);text-decoration:underline;}
.fehler{font-size:0.8125rem;color:#9B1C1C;font-weight:500;margin-top:4px;}
.fehler:empty{display:none;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.form-actions{margin-top:0.5rem;}
.form-actions button{cursor:pointer;}

/* IMPRESSUM */
.impressum-content{max-width:760px;padding:4rem 2.5rem;}
.impressum-content h2{font-family:"Lora",serif;font-size:1.5rem;font-weight:400;color:var(--navy);margin-bottom:1rem;margin-top:2rem;}
.impressum-content h2:first-child{margin-top:0;}
.impressum-content h3{font-size:0.9375rem;font-weight:500;color:var(--navy);margin-bottom:0.5rem;margin-top:1.5rem;}
.impressum-content p{font-size:0.875rem;color:var(--stone);line-height:1.9;margin-bottom:0.8rem;}

/* Datenschutzerklaerung fuer die App: eigene Regeln, weil .impressum-content
   nur h2, h3 und p kennt. Fliesstext dunkler als auf den uebrigen
   Rechtsseiten. */
.legal-app .impressum-content p,
.legal-app .impressum-content li{color:var(--ink);}
.legal-app .impressum-content h3{font-size:1.0625rem;margin-top:1.8rem;}
.legal-app .impressum-content h4{font-size:0.9375rem;font-weight:500;color:var(--navy);margin-bottom:0.4rem;margin-top:1.4rem;}
.legal-app .impressum-content h5{font-size:0.875rem;font-weight:500;color:var(--navy-mid);margin-bottom:0.3rem;margin-top:1.1rem;}
.legal-app .impressum-content ul{margin:0 0 0.8rem 1.3rem;}
.legal-app .impressum-content li{font-size:0.875rem;line-height:1.9;margin-bottom:0.3rem;}
.legal-app .impressum-content a{color:var(--navy-mid);text-decoration:underline;overflow-wrap:anywhere;}
.legal-app .impressum-content a:hover{background:var(--sky);}
.legal-app .impressum-content strong{color:var(--navy);font-weight:500;}

/* Einfache Seiten (Danke, Die App, Seite nicht gefunden) */
.simple-content{max-width:760px;padding:4rem 2.5rem;}
.simple-content p{font-size:0.875rem;color:var(--stone);line-height:1.9;margin-bottom:1.5rem;}

/* STATS BAR */
.stats-bar{background:var(--white);padding:2rem 2.5rem;display:flex;gap:1.5rem;flex-wrap:wrap;border-bottom:1px solid var(--sky-mid);}
.stat{background:var(--sky);border-radius:8px;padding:1rem 1.5rem;border:1px solid var(--sky-mid);flex:1;min-width:130px;text-align:center;}
.stat .big{font-family:"Lora",serif;font-size:1.5rem;color:var(--navy);}
.stat .small{font-size:0.6875rem;color:var(--stone);margin-top:2px;}

/* CTA BAND */
.cta-band{background:var(--navy-mid);padding:3.5rem 2.5rem;display:flex;gap:3rem;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.cta-band h2{font-family:"Lora",serif;font-size:1.625rem;color:#fff;font-weight:400;margin-bottom:0.5rem;}
.cta-band p{color:var(--on-dark);font-size:0.875rem;}
.cta-right{display:flex;flex-direction:column;gap:0.6rem;text-align:right;flex-shrink:0;}
.cta-right span{color:var(--on-dark);font-size:0.8125rem;}

/* FOOTER */
.site-footer{background:var(--ink);padding:1.8rem 2.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.site-footer p{font-size:0.6875rem;color:rgba(255,255,255,0.7);}
.footer-links{display:flex;gap:1.5rem;flex-wrap:wrap;}
.footer-links a{font-size:0.6875rem;color:rgba(255,255,255,0.7);text-decoration:none;}
.footer-links a:hover,.footer-links a[aria-current="page"]{color:#fff;text-decoration:underline;}

/* ERSTATTUNG */
.erstattung-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem;}
.estep{text-align:center;padding:1.5rem;}
.estep-num{font-family:"Lora",serif;font-size:2.625rem;color:#6A94C0;line-height:1;margin-bottom:0.8rem;}
.estep h3{font-size:0.875rem;font-weight:500;color:var(--navy);margin-bottom:0.4rem;}
.estep p{font-size:0.8125rem;color:var(--stone);}

/* KURS TEASER BOX */
.kurs-teaser-box{background:var(--navy);border-radius:10px;padding:3rem;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center;margin-top:2rem;}
.kurs-teaser-box h3{font-family:"Lora",serif;font-size:1.375rem;color:#fff;font-weight:400;margin-bottom:0.6rem;}
.kurs-teaser-box p{font-size:0.875rem;color:var(--on-dark);line-height:1.8;}

/* RESPONSIVE */
@media(max-width:900px){
  .hamburger{display:none;}
  .js .hamburger{display:flex;}
  .nav-links{flex-direction:column;align-items:stretch;gap:0;width:100%;padding-bottom:1rem;}
  .js .nav-links{display:none;position:absolute;top:100%;left:0;right:0;z-index:200;background:var(--navy);padding-bottom:0;border-top:1px solid rgba(255,255,255,0.08);}
  .js .nav-links.open{display:flex;}
  .nav-links a{display:block;color:var(--on-dark);padding:1rem 2rem;font-size:0.875rem;border-bottom:1px solid rgba(255,255,255,0.06);letter-spacing:0;}
  .nav-links a:hover{background:rgba(255,255,255,0.05);color:#fff;}
  .nav-links a[aria-current="page"]{text-decoration:none;box-shadow:inset 4px 0 0 var(--blue-light);}
  .nav-links a.nav-cta{margin:1rem 2rem;padding:1rem 2rem;border-radius:3px;border:none;text-align:center;}
  .nav-links li:last-child{padding-bottom:0;}
  .hero-full{display:block;min-height:auto;overflow:hidden;background:transparent;position:relative;}
  .hero-full-img{position:static;display:block;width:100%;height:360px;max-height:360px;object-fit:cover;object-position:50% 12%;}
  .hero-full-overlay{display:none;}
  .hero-full-content{position:relative;z-index:1;max-width:100%;padding:2rem 1.5rem;background:var(--navy);}
  .hero-kurse{display:block;min-height:auto;}
  .hero-kurse-img{position:static;display:block;width:100%;height:260px;object-position:center;}
  .hero-kurse-overlay{display:none;}
  .hero-kurse-content{max-width:100%;padding:2rem 1.5rem;}
  .bgm-intro{grid-template-columns:1fr;}
  .bgm-intro img{height:220px;}
}
@media(max-width:700px){
  .nav{padding:0 1rem;}
  .promise{grid-template-columns:1fr;}
  .pi{border-right:none;border-bottom:1px solid var(--sky-mid);}
  .col-grid,.kurse-grid,.paket-row,.warum-grid{grid-template-columns:1fr;}
  .format-grid{grid-template-columns:1fr 1fr;}
  .about-inner{flex-direction:column;}
  .about-photo{width:100%;flex-basis:auto;}
  .about-photo img{width:100%;height:260px;}
  .erstattung-steps{grid-template-columns:1fr;}
  .cta-band{flex-direction:column;align-items:flex-start;}
  .cta-right{text-align:left;}
  .kurs-teaser-box{grid-template-columns:1fr;}
  .site-footer{flex-direction:column;gap:0.5rem;align-items:flex-start;}
  .stats-bar{gap:0.8rem;}
  .stat{min-width:120px;}
  .logo-main{font-size:0.875rem;}
  .hero-full-content h1{font-size:2.125rem;}
  h1,.hero-sm h1,.hero-full-content h1,.hero-kurse-content h1{font-size:2rem;}
}
}

/* Einzelregeln: Stellen mit Sonderformat. Sie stehen bewusst ausserhalb von @layer site
   und überschreiben damit die Bausteine, so wie vorher die Stilangaben im Text. */
.u01{background:var(--navy);padding:4rem 2.5rem;}
.u02{color:var(--blue-light);}
.u03{color:#fff;font-size:1.625rem;}
.u04{font-size:0.9375rem;color:rgba(255,255,255,0.75);line-height:2;max-width:680px;margin-bottom:2.5rem;}
.u05{font-size:0.9375rem;color:rgba(255,255,255,0.75);line-height:2;max-width:680px;margin-bottom:3rem;}
.u06{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.u07{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:1.5rem;}
.u08{font-size:0.6875rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--blue-light);margin-bottom:0.8rem;}
.u09{font-family:'Lora',serif;font-size:1rem;color:#fff;margin-bottom:0.6rem;}
.u10{font-size:0.75rem;color:rgba(255,255,255,0.72);line-height:1.8;}
.u11{font-size:0.6875rem;color:var(--blue-light);font-style:italic;}
.u12{font-size:0.75rem;color:rgba(255,255,255,0.72);margin-top:1.5rem;max-width:680px;}
.u13{background:var(--navy);border-radius:10px;padding:2.5rem;margin-top:1.5rem;}
.u14{font-size:0.625rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--blue-light);margin-bottom:0.6rem;}
.u15{font-family:'Lora',serif;font-size:1.25rem;color:#fff;font-weight:400;margin-bottom:0.8rem;}
.u16{font-size:0.875rem;color:rgba(255,255,255,0.72);line-height:1.9;max-width:680px;margin-bottom:1.2rem;}
.u17{display:flex;flex-wrap:wrap;gap:8px;}
.u18{margin-bottom:2rem;}
.u19{margin-top:1rem;}
.u20{font-size:0.75rem;padding:6px 14px;}
.u21{margin-top:1.5rem;}
.u22{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);}
.u23{margin-top:0.5rem;}
.u24{font-size:0.875rem;color:var(--stone);line-height:1.9;margin-bottom:1rem;}
.u25{font-size:0.875rem;color:var(--stone);line-height:1.9;}
.u26{width:100%;height:380px;object-fit:cover;object-position:50% 15%;display:block;border-radius:8px;}
.u27{background:var(--navy);padding:0;overflow:hidden;border-bottom:1px solid rgba(255,255,255,0.06);}
.u28{width:100%;height:340px;object-fit:cover;object-position:50% 22%;display:block;}
.u29{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:10px;padding:2.5rem;margin-top:1.5rem;}
.u30{font-size:0.875rem;color:rgba(255,255,255,0.72);line-height:1.9;max-width:680px;margin-bottom:1.2rem;}
.u31{background:var(--white);padding:4rem 2.5rem;border-top:1px solid var(--sky-mid);}
.u32{font-size:0.875rem;color:var(--stone);line-height:1.9;max-width:600px;margin-bottom:2rem;}
.u33{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.u34{background:var(--sky);border-radius:8px;padding:1.5rem;border:1px solid var(--sky-mid);}
.u35{font-size:0.75rem;font-weight:500;color:var(--navy);margin-bottom:0.5rem;}
.u36{font-size:0.8125rem;color:var(--stone);line-height:1.7;}
.u37{background:var(--sky);padding:4rem 2.5rem;border-top:1px solid var(--sky-mid);}
.u38{font-size:0.875rem;color:var(--stone);line-height:1.9;max-width:640px;margin-bottom:1.5rem;}
.u39{background:var(--white);border:1px solid var(--sky-mid);border-radius:8px;padding:1.5rem 2rem;margin-bottom:2rem;display:flex;gap:2rem;align-items:flex-start;flex-wrap:wrap;}
.u40{flex:1;min-width:220px;}
.u41{font-size:0.6875rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--navy);margin-bottom:0.5rem;}
.u42{font-size:0.8125rem;color:var(--stone);line-height:1.8;}
.u43{display:grid;grid-template-columns:repeat(5,1fr);gap:0;align-items:stretch;position:relative;}
.u44{background:var(--navy);border-radius:8px 0 0 8px;padding:1.8rem 1.4rem;position:relative;}
.u45{font-family:'Lora',serif;font-size:0.9375rem;color:#fff;margin-bottom:0.7rem;}
.u46{font-size:0.6875rem;color:rgba(255,255,255,0.72);line-height:1.8;}
.u47{position:absolute;right:-12px;top:50%;transform:translateY(-50%);z-index:2;color:var(--blue-light);font-size:1.125rem;}
.u48{background:#1e3a5a;padding:1.8rem 1.4rem;position:relative;}
.u49{background:var(--navy);padding:1.8rem 1.4rem;position:relative;}
.u50{background:var(--navy);border-radius:0 8px 8px 0;padding:1.8rem 1.4rem;}
.u51{font-size:0.875rem;color:var(--stone);line-height:1.9;max-width:640px;margin-bottom:2.5rem;}
.u52{background:var(--sky);border:1px solid var(--sky-mid);border-radius:8px;padding:2rem;margin-top:1.5rem;display:flex;gap:2rem;align-items:center;flex-wrap:wrap;}
.u53{flex:1;min-width:240px;}
.u54{margin-bottom:0.4rem;}
.u55{flex-shrink:0;}
.u56{background:var(--white);padding:4rem 2.5rem;}
.u57{font-size:0.875rem;color:var(--stone);line-height:1.9;max-width:600px;margin-bottom:1.5rem;}
.u58{font-size:1.375rem;color:var(--blue);}
.u59{font-size:0.6875rem;color:var(--stone);font-style:italic;margin-bottom:0.5rem;}
.u60{padding:0;overflow:hidden;}
.u61{width:100%;height:160px;object-fit:cover;object-position:center 30%;display:block;}
.u62{padding:1.5rem;}
.u63{background:var(--navy-mid);}
.u64{display:inline-flex;align-items:center;gap:6px;background:rgba(76,175,80,0.2);color:#A5D6A7;font-size:0.6875rem;padding:4px 12px;border-radius:20px;border:1px solid rgba(76,175,80,0.3);margin-bottom:1rem;width:fit-content;}
.u65{width:6px;height:6px;border-radius:50%;background:#4CAF50;display:inline-block;}
.u66{font-size:0.6875rem;color:rgba(255,255,255,0.72);font-style:italic;margin-bottom:0.6rem;}
.u67{margin-top:1.2rem;}
.u68{display:flex;gap:3rem;align-items:flex-start;flex-wrap:wrap;}
.u69{flex:1;min-width:260px;}
.u70{font-size:0.875rem;color:var(--stone);line-height:1.9;margin-bottom:1.5rem;}
.u71{margin-bottom:2.5rem;border-radius:10px;overflow:hidden;}
.u72{width:100%;height:340px;object-fit:cover;object-position:55% 25%;display:block;}
.u73{margin-bottom:2.5rem;border-radius:10px;overflow:hidden;box-shadow:0 4px 20px rgba(27,47,74,0.10);}
.u74{width:100%;height:380px;object-fit:cover;object-position:50% 20%;display:block;}
.u75{width:100%;height:420px;object-fit:cover;object-position:50% 10%;display:block;}
.u76{display:flex;flex-direction:column;gap:1rem;}
.u77{font-size:1.25rem;color:var(--blue);}
.u78{max-width:560px;}
.u79{font-size:1.625rem;}
.u80{font-size:0.875rem;color:var(--stone);line-height:1.9;margin-bottom:2rem;}
.u81{margin-bottom:1rem;}
.u82{color:var(--navy);text-decoration:none;}
.u83{padding:3rem 2.5rem;}
.u84{margin-top:2rem;font-size:0.75rem;color:var(--stone);}
@media(max-width:700px){
  .u06{grid-template-columns:1fr 1fr;}
  .u33{grid-template-columns:1fr;}
  .u43{grid-template-columns:1fr;}
}

/* Kontaktseite: Direktkontakt und Formular nebeneinander ab Desktopbreite,
   darunter untereinander wie zuvor. */
@media(min-width:901px){
  main:has(> .form-section){display:grid;grid-template-columns:1fr 1fr;}
  main:has(> .form-section) > .hero-sm{grid-column:1 / -1;}
  main:has(> .form-section) .u56{padding-right:2rem;}
  main:has(> .form-section) .form-section{padding:4rem 2.5rem 4rem 2rem;}
  main:has(> .form-section) .form-wrap{border-top:none;padding-top:0;}
}
