/* site.css – automatisch erzeugt von gen/build_css.py. Nicht direkt bearbeiten. */

/* ===== base (v4-Farben) ===== */
/* ── Lokale Schriften (kein Google CDN) ──
   Deployment: Schriften als WOFF2-Dateien im Ordner /fonts/ ablegen.
   Download: https://gwfh.mranftl.com/fonts/barlow-condensed + barlow
   Alternativ: Font-Dateien direkt in der HTML-Datei als Base64 einbetten.
*/
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Barlow Condensed Bold'), local('BarlowCondensed-Bold'),
       url('/fonts/barlow-condensed-700.woff2') format('woff2');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: local('Barlow Condensed ExtraBold'), local('BarlowCondensed-ExtraBold'),
       url('/fonts/barlow-condensed-800.woff2') format('woff2');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: local('Barlow Condensed Black'), local('BarlowCondensed-Black'),
       url('/fonts/barlow-condensed-900.woff2') format('woff2');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Barlow Regular'), local('Barlow-Regular'),
       url('/fonts/barlow-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local('Barlow Medium'), local('Barlow-Medium'),
       url('/fonts/barlow-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local('Barlow SemiBold'), local('Barlow-SemiBold'),
       url('/fonts/barlow-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Barlow Bold'), local('Barlow-Bold'),
       url('/fonts/barlow-700.woff2') format('woff2');
}
:root{--cr:#F6D6E3;--or:#F44E24;--pk:#D0D5FD;--ol:#5538AF;--ol2:#211350;--pk2:#F44E24;--fd:'Barlow Condensed',sans-serif;--fb:'Barlow',sans-serif;}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--fb);background:var(--cr);color:var(--or);overflow-x:hidden;}

/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:999;height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;background:rgba(246,214,227,.94);backdrop-filter:blur(20px);border-bottom:1.5px solid rgba(244,78,36,.1);transition:box-shadow .3s;}
#nav.sh{box-shadow:0 4px 32px rgba(244,78,36,.1);}
.nl img{height:38px;width:auto;display:block;}
.nr{display:flex;gap:2px;align-items:center;}
.nr a{font-family:var(--fd);font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--or);text-decoration:none;padding:8px 16px;transition:background .2s,color .2s;}
.nr a:hover{background:var(--or);color:var(--cr);}
.nr a.nc{background:var(--or);color:var(--cr)!important;padding:10px 24px;}
.nr a.nc:hover{background:var(--ol);}
.nh{display:none;flex-direction:column;gap:5px;cursor:pointer;border:none;background:none;padding:8px;}
.nh span{width:26px;height:2px;background:var(--or);display:block;transition:.3s;}
.mm{display:none;position:fixed;inset:0;background:var(--or);z-index:998;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding-top:80px;}
.mm.open{display:flex;}
.mm a{font-family:var(--fd);font-weight:900;font-size:46px;letter-spacing:3px;text-transform:uppercase;color:var(--cr);text-decoration:none;transition:color .2s;}
.mm a:hover{color:var(--ol);}

/* LAYOUT */
.sb{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
.sb-in{width:100%;height:100%;}
.sb-in svg{width:100%;height:100%;}
.r{position:relative;z-index:1;}
.w{max-width:1200px;margin:0 auto;padding:0 48px;}
section{position:relative;overflow:hidden;}

/* SHARED */
.lbl{font-family:var(--fd);font-weight:700;font-size:11px;letter-spacing:5px;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;padding:6px 16px;margin-bottom:16px;}
.lbl.oor{background:rgba(246,214,227,.12);color:var(--cr);border:1px solid rgba(246,214,227,.22);}
.lbl.ocr{background:rgba(244,78,36,.07);color:var(--or);border:1px solid rgba(244,78,36,.18);}
.lbl.ool{background:rgba(246,214,227,.18);color:var(--cr);border:1px solid rgba(246,214,227,.28);}
.lbl.opk{background:rgba(244,78,36,.08);color:var(--or);border:1px solid rgba(244,78,36,.16);}
.h1{font-family:var(--fd);font-weight:900;font-size:clamp(52px,7.5vw,96px);line-height:.87;letter-spacing:-1px;text-transform:uppercase;}
.h1.cr{color:var(--cr);}
.h1.or{color:var(--or);}
.btn{font-family:var(--fd);font-weight:700;font-size:14px;letter-spacing:3px;text-transform:uppercase;padding:14px 36px;border:none;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:10px;transition:all .25s;}
.btn:hover{transform:translateY(-2px);}
.bcr{background:var(--cr);color:var(--or);}
.bcr:hover{background:var(--ol);color:var(--cr);}
.bor{background:var(--or);color:var(--cr);}
.bor:hover{background:var(--ol);}
.bol{background:var(--ol);color:var(--cr);}
.bol:hover{background:var(--ol2);}
.bgh{background:transparent;color:var(--cr);border:2px solid rgba(246,214,227,.4);}
.bgh:hover{background:rgba(246,214,227,.1);}
.rv{opacity:0;transform:translateY(30px);transition:opacity .6s,transform .6s;}
.rv.in{opacity:1;transform:none;}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}

/* HERO */
#hero{min-height:100vh;background:#5538AF;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding-top:66px;}
.hv{position:absolute;inset:0;z-index:0;object-fit:cover;width:100%;height:100%;opacity:.26;}
.hov{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(85,56,175,.55) 0%,rgba(244,78,36,.22) 55%,rgba(85,56,175,.45) 100%);}
.hb{position:relative;z-index:3;text-align:center;padding:60px 24px 80px;max-width:900px;margin:0 auto;display:flex;flex-direction:column;align-items:center;}
.hey{display:inline-flex;align-items:center;gap:10px;background:rgba(246,214,227,.1);border:1px solid rgba(246,214,227,.28);padding:8px 20px;margin-bottom:32px;font-family:var(--fd);font-weight:700;font-size:12px;letter-spacing:5px;text-transform:uppercase;color:rgba(246,214,227,.8);opacity:0;animation:ru .7s .3s forwards;}
.hli{display:block;margin:0 auto 20px;width:min(560px,82vw);height:auto;opacity:0;animation:ru .9s .5s forwards;filter:drop-shadow(0 8px 40px rgba(0,0,0,.12));}
.hsu{font-family:var(--fd);font-size:clamp(16px,2.5vw,22px);font-weight:400;letter-spacing:8px;text-transform:uppercase;color:rgba(246,214,227,.68);margin-bottom:48px;opacity:0;animation:ru .7s .8s forwards;}
.hbt{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;opacity:0;animation:ru .7s 1s forwards;}
.hsc{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:4;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;animation:ru .7s 1.4s forwards;}
.hsl{width:1px;height:46px;background:linear-gradient(to bottom,rgba(246,214,227,.6),transparent);animation:sp 2s infinite;}
.hsc span{font-family:var(--fd);font-size:10px;letter-spacing:4px;text-transform:uppercase;color:rgba(246,214,227,.4);}
@keyframes ru{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes sp{0%,100%{opacity:.4}50%{opacity:1}}

/* TICKER */
.tw{background:var(--ol);overflow:hidden;padding:13px 0;border-top:2.5px solid var(--or);border-bottom:2.5px solid var(--or);position:relative;z-index:4;}
.tt{display:flex;width:max-content;animation:tk 24s linear infinite;}
.ti{font-family:var(--fd);font-weight:700;font-size:17px;letter-spacing:3px;text-transform:uppercase;color:var(--cr);white-space:nowrap;padding:0 26px;display:inline-flex;align-items:center;gap:26px;}
.ts{color:var(--or);display:inline-flex;align-items:center;}
@keyframes tk{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* FACTS */
#facts{background:var(--cr);padding:100px 0;}
.facts-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.fl p{font-size:16.5px;font-weight:400;line-height:1.85;color:rgba(244,78,36,.68);margin:36px 0 36px;max-width:480px;}
.fn{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.fc{background:var(--or);padding:30px 26px;position:relative;overflow:hidden;cursor:default;transition:transform .3s;}
.fc:hover{transform:translateY(-4px);}
.fc svg{position:absolute;inset:0;width:100%;height:100%;}
.fc-n{font-family:var(--fd);font-weight:900;font-size:clamp(44px,5.5vw,68px);line-height:1;color:var(--cr);position:relative;z-index:1;}
.fc-l{font-family:var(--fd);font-weight:600;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:rgba(246,214,227,.55);margin-top:7px;position:relative;z-index:1;}
.fc:hover .fc-n{color:var(--ol);}
.fr{display:flex;flex-direction:column;gap:14px;}
.frow{display:flex;align-items:flex-start;gap:18px;padding:22px 26px;background:transparent;border-left:3px solid var(--ol);transition:background .25s,border-color .25s;cursor:default;}
.frow:hover{background:transparent;border-color:var(--ol2);}
.frow-i{flex-shrink:0;margin-top:2px;}
.frow h4{font-family:var(--fd);font-weight:800;font-size:19px;letter-spacing:1px;text-transform:uppercase;color:var(--ol);margin-bottom:5px;}
.frow p{font-size:14px;font-weight:400;line-height:1.7;color:var(--ol2);}

/* STUDIO */
#studio{background:var(--or);padding:100px 0;position:relative;}
.sg{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.sv{position:relative;overflow:hidden;aspect-ratio:16/10;}
.sv video{width:100%;height:100%;object-fit:cover;opacity:.72;}
.svo{position:absolute;inset:0;display:flex;align-items:flex-end;padding:24px;background:linear-gradient(to top,rgba(244,78,36,.5) 0%,transparent 60%);}
.svt{font-family:var(--fd);font-weight:800;font-size:12px;letter-spacing:3px;text-transform:uppercase;background:var(--ol);color:var(--cr);padding:8px 18px;}
.st p{font-size:16px;font-weight:400;line-height:1.9;color:rgba(246,214,227,.72);margin-bottom:18px;}
.spp{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;}
.sp{font-family:var(--fd);font-weight:700;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;padding:7px 18px;border:1.5px solid rgba(246,214,227,.28);color:rgba(246,214,227,.65);transition:all .2s;cursor:default;}
.sp:hover{background:var(--ol);border-color:var(--ol);color:var(--cr);}

/* TEAM */
#team{background:var(--cr);padding:100px 0;}
.thd{margin-bottom:60px;}
.thd p{font-size:17px;font-weight:400;line-height:1.85;color:rgba(244,78,36,.62);margin-top:14px;max-width:560px;}
.tg{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:end;}
.tc{position:relative;overflow:hidden;cursor:default;transition:transform .35s;}
.tc:hover{transform:translateY(-8px);}
.tci{position:relative;min-height:500px;display:flex;flex-direction:column;}
.tcb{position:absolute;inset:0;z-index:0;}
.tc1 .tcb{background:linear-gradient(155deg,var(--or) 0%,#F44E24 100%);}
.tc2 .tcb{background:linear-gradient(155deg,var(--ol) 0%,var(--ol2) 100%);}
.tc3 .tcb{background:linear-gradient(155deg,var(--pk) 0%,var(--pk2) 100%);}
.tcw{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;}
.tct{position:relative;z-index:3;padding:26px 22px 14px;}
.tcn{font-family:var(--fd);font-weight:900;font-size:11px;letter-spacing:5px;text-transform:uppercase;color:rgba(246,214,227,.38);margin-bottom:9px;}
.tcna{font-family:var(--fd);font-weight:900;font-size:clamp(32px,3.8vw,48px);line-height:.88;text-transform:uppercase;letter-spacing:-.5px;color:var(--cr);margin-bottom:13px;}
.tcr{display:inline-block;font-family:var(--fd);font-weight:700;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;padding:5px 13px;margin-bottom:13px;}
.tc1 .tcr{background:var(--cr);color:var(--or);}
.tc2 .tcr{background:var(--or);color:var(--cr);}
.tc3 .tcr{background:var(--or);color:var(--cr);}
.tctg{display:flex;flex-wrap:wrap;gap:5px;}
.tctg span{font-family:var(--fd);font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:3px 10px;border:1px solid rgba(246,214,227,.2);color:rgba(246,214,227,.48);}
.tcs{position:relative;z-index:4;display:flex;align-items:flex-end;justify-content:center;flex:1;overflow:hidden;padding:0 10px;}
.tcs img{display:block;width:auto;max-width:100%;max-height:360px;object-fit:contain;object-position:bottom center;filter:drop-shadow(5px 0 0 rgba(0,0,0,.06)) drop-shadow(-5px 0 0 rgba(0,0,0,.06));transition:transform .4s ease;}
.tc:hover .tcs img{transform:scale(1.04) translateY(-5px);}
.tcs-saeka img{max-height:420px;}
.tcp{position:relative;z-index:4;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;opacity:.35;}
.tcp svg{width:68px;}
.tcp p{font-family:var(--fd);font-weight:700;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--cr);text-align:center;}

/* KURSE */
#kurse{background:var(--or);padding:100px 0;position:relative;}
.kg{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative;z-index:1;}
.kc{padding:38px 30px 34px;position:relative;overflow:hidden;transition:transform .3s;}
.kc:hover{transform:translateY(-6px);}
.kcb{position:absolute;inset:0;z-index:0;}
.kc.kki .kcb{background:var(--pk);}
.kc.kte .kcb{background:var(--ol);}
.kc.kad .kcb{background:var(--cr);}
.kcw{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;}
.kci{position:relative;z-index:2;}
.kc-ic{margin-bottom:18px;}
.kc h3{font-family:var(--fd);font-weight:900;font-size:42px;text-transform:uppercase;letter-spacing:.5px;line-height:1;color:var(--or);margin-bottom:5px;}
.kc-ag{font-family:var(--fd);font-weight:700;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:rgba(244,78,36,.52);margin-bottom:16px;}
.kc p{font-size:14px;font-weight:400;line-height:1.75;color:rgba(244,78,36,.68);}
.kc-li{list-style:none;margin-top:20px;display:flex;flex-direction:column;gap:9px;}
.kc-li li{font-size:13px;font-weight:500;color:rgba(244,78,36,.62);display:flex;align-items:center;gap:9px;}
.kc-li li::before{content:'';width:5px;height:5px;background:var(--or);flex-shrink:0;}
.kpro{position:relative;z-index:1;background:var(--pk);padding:34px 42px;margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.kpro h4{font-family:var(--fd);font-weight:900;font-size:30px;text-transform:uppercase;letter-spacing:.5px;color:var(--or);}
.kpro p{font-size:14px;color:rgba(244,78,36,.58);margin-top:5px;}

/* STUNDENPLAN */
#splan{background:var(--cr);padding:100px 0;}
.dag{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.dc{overflow:hidden;}
.dh{font-family:var(--fd);font-weight:800;font-size:21px;letter-spacing:4px;text-transform:uppercase;padding:17px 22px;color:var(--cr);}
.dc.mon .dh{background:var(--or);}
.dc.die .dh{background:var(--pk2);}
.dc.don .dh{background:var(--ol2);}
.db{background:rgba(246,214,227,.52);padding:9px;display:flex;flex-direction:column;gap:6px;}
.sl{padding:15px 17px;display:flex;flex-direction:column;gap:3px;transition:transform .2s;}
.sl:hover{transform:scale(1.02);}
.sl.sk{background:#D0D5FD;border-left:4px solid var(--pk2);}
.sl.st{background:#D0D5FD;border-left:4px solid var(--ol);}
.sl.sa{background:rgba(244,78,36,.1);border-left:4px solid var(--or);}
.sl.so{background:transparent;border-left:4px solid var(--ol2);}
.sl-t{font-family:var(--fd);font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(244,78,36,.48);}
.sl-n{font-family:var(--fd);font-weight:700;font-size:19px;letter-spacing:.5px;color:var(--or);}
.slb{display:inline-block;font-family:var(--fd);font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:3px 9px;align-self:flex-start;margin-top:2px;}
.bk{background:var(--pk);color:var(--or);}
.bt{background:var(--ol);color:var(--cr);}
.ba{background:var(--or);color:var(--cr);}
.bo{background:var(--ol2);color:var(--cr);}
.spn{background:var(--ol);padding:26px 32px;margin-top:18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.spn p{font-size:15px;font-weight:500;color:var(--cr);flex:1;line-height:1.6;}
.spn strong{color:var(--or);}

/* SOCIAL */
#social{background:var(--ol);padding:80px 0;text-align:center;}
.igi{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:34px 0 38px;}
.igc{aspect-ratio:1;display:flex;align-items:center;justify-content:center;transition:transform .3s;}
.igc:hover{transform:scale(1.05);}
.ig1{background:var(--or);}.ig2{background:var(--pk);}.ig3{background:rgba(246,214,227,.14);border:1.5px solid rgba(246,214,227,.22);}.ig4{background:var(--pk2);}.ig5{background:rgba(244,78,36,.28);}

/* INFO */
#info{background:var(--pk);padding:100px 0;position:relative;}
.infg{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.ibs{display:flex;flex-direction:column;gap:14px;}
.ib{background:var(--cr);padding:26px 28px;transition:transform .25s;}
.ib:hover{transform:translateX(4px);}
.ibh{display:flex;align-items:center;gap:11px;margin-bottom:11px;}
.ibh h4{font-family:var(--fd);font-weight:800;font-size:19px;letter-spacing:2px;text-transform:uppercase;color:var(--or);}
.ib p,.ib a{font-size:15px;font-weight:400;line-height:1.85;color:rgba(244,78,36,.7);text-decoration:none;}
.ib a:hover{color:var(--ol);}
address{font-style:normal;}
.ht{width:100%;border-collapse:collapse;margin-top:7px;}
.ht td{padding:7px 0;font-size:14px;font-weight:500;color:rgba(244,78,36,.68);}
.ht td:last-child{text-align:right;color:var(--or);font-weight:700;}
.ht tr{border-bottom:1px solid rgba(244,78,36,.1);}
.ht tr:last-child{border-bottom:none;}
.mb{position:sticky;top:80px;}
.mf{overflow:hidden;border:2px solid rgba(244,78,36,.18);}
.mf iframe{width:100%;height:330px;border:none;display:block;}
.mc{background:var(--or);padding:17px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.mc p{font-size:13px;font-weight:700;color:var(--cr);}
.mc a{background:var(--cr);color:var(--or);font-family:var(--fd);font-weight:700;font-size:11px;letter-spacing:2px;text-transform:uppercase;padding:9px 17px;text-decoration:none;transition:background .2s;}
.mc a:hover{background:var(--ol);color:var(--cr);}

/* KONTAKT */
#kontakt{background:var(--or);padding:100px 0;position:relative;}
.kg2{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;position:relative;z-index:1;}
.kl > p{font-size:16px;font-weight:400;line-height:1.9;color:rgba(246,214,227,.62);margin:18px 0 38px;}
.kcs{display:flex;flex-direction:column;gap:12px;}
.ki{display:flex;align-items:center;gap:14px;padding:17px 20px;background:rgba(246,214,227,.08);border:1px solid rgba(246,214,227,.14);transition:background .2s;}
.ki:hover{background:rgba(246,214,227,.13);}
.ki-i{flex-shrink:0;}
.ki-l{font-family:var(--fd);font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(246,214,227,.38);margin-bottom:3px;}
.ki-v{font-size:15px;font-weight:500;color:var(--cr);}
.ki-v a{color:var(--cr);text-decoration:none;}
.ki-v a:hover{color:var(--ol);}
.cf{display:flex;flex-direction:column;gap:13px;}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.fg{display:flex;flex-direction:column;gap:7px;}
.fg label{font-family:var(--fd);font-size:13px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(246,214,227,.6);margin-bottom:2px;}
.fg input,.fg select,.fg textarea{ text-align:left;background:rgba(246,214,227,.07);border:1.5px solid rgba(246,214,227,.16);padding:14px 16px;font-family:var(--fb);font-size:15px;font-weight:400;color:var(--cr);outline:none;transition:border-color .2s,background .2s;}
.fg input::placeholder,.fg textarea::placeholder{color:rgba(246,214,227,.26);}
.fg select option{background:var(--or);}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--ol);background:rgba(246,214,227,.11);}
.fg textarea{height:116px;resize:vertical;}
.fck{display:flex;align-items:center;gap:11px;font-size:13px;font-weight:400;color:rgba(246,214,227,.48);justify-content:flex-end;}
.fck input[type=checkbox]{width:16px;height:16px;accent-color:var(--ol);}
.fsub{background:var(--cr);color:var(--or);padding:15px 42px;font-family:var(--fd);font-weight:700;font-size:16px;letter-spacing:4px;text-transform:uppercase;border:none;cursor:pointer;align-self:flex-end;display:inline-flex;align-items:center;gap:12px;transition:background .2s,transform .2s;}
.fsub:hover{background:var(--ol);color:var(--cr);transform:translateY(-2px);}
#fok{display:none;color:var(--ol);font-family:var(--fd);font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;align-items:center;gap:8px;margin-top:4px;align-self:flex-end;text-align:right;}

/* FOOTER */
footer{background:var(--ol);padding:58px 48px 30px;}
.fti{max-width:1200px;margin:0 auto;}
.ftt{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:46px;padding-bottom:38px;border-bottom:1px solid rgba(244,78,36,.18);margin-bottom:26px;}
.fb img{height:42px;width:auto;display:block;margin-bottom:11px;}
.ftl{font-family:var(--fd);font-size:11px;font-weight:500;letter-spacing:4px;text-transform:uppercase;color:rgba(246,214,227,.52);}
.fts{display:flex;gap:7px;margin-top:20px;}
.fts a{font-family:var(--fd);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(246,214,227,.68);border:1px solid rgba(246,214,227,.22);padding:8px 15px;text-decoration:none;transition:all .2s;}
.fts a:hover{background:var(--or);border-color:var(--or);color:var(--cr);}
.fc2 h5{font-family:var(--fd);font-size:10px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:rgba(246,214,227,.42);margin-bottom:15px;}
.fc2 ul{list-style:none;display:flex;flex-direction:column;gap:9px;}
.fc2 a{font-size:14px;font-weight:400;color:rgba(246,214,227,.68);text-decoration:none;transition:color .2s;}
.fc2 a:hover{color:var(--or);}
.ftb{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;}
.ftb p{font-size:11px;color:rgba(246,214,227,.36);}
.ftb-l{display:flex;gap:18px;}
.ftb-l a{font-size:11px;color:rgba(246,214,227,.36);text-decoration:none;}
.ftb-l a:hover{color:var(--or);}

/* TOP BTN */
#tb{position:fixed;bottom:26px;right:26px;z-index:888;width:46px;height:46px;background:var(--cr);color:var(--or);border:none;cursor:pointer;font-size:19px;display:none;align-items:center;justify-content:center;box-shadow:0 5px 22px rgba(244,78,36,.22);transition:transform .2s;}
#tb.show{display:flex;}
#tb:hover{transform:translateY(-3px);background:var(--ol);color:var(--cr);}

/* RESPONSIVE */
@media(max-width:960px){
  .kg{grid-template-columns:1fr 1fr;}
  
  #nav{padding:0 20px;}
  .nr{display:none;}
  .nh{display:flex;}
  .w{padding:0 20px;}
  .facts-grid,.sg,.tg,.kg,.dag,.infg,.kg2,.ftt{grid-template-columns:1fr;}
  .igi{grid-template-columns:repeat(3,1fr);}
  .f2{grid-template-columns:1fr;}
  .ftt{grid-template-columns:1fr 1fr;}
  .hbt,.kpro,.spn{flex-direction:column;align-items:center;text-align:center;}
  .fn{grid-template-columns:1fr 1fr;}
}

/* ── Klare Sektionstrennlinien ── */
section { border-top: 2.5px solid rgba(244,78,36,0.18); }
#hero { border-top: none; }
.tw  { border-top: 2.5px solid var(--or); border-bottom: 2.5px solid var(--or); }
footer { border-top: 2.5px solid rgba(244,78,36,0.2); }


/* Facts layout fixes */
.facts-grid { gap: 72px; }
.fn { gap: 20px; margin-top: 32px; }
.fc { padding: 34px 30px; }
.fc-n { font-size: clamp(48px,5.5vw,68px); }
.fr { gap: 16px; }
.frow { padding: 26px 30px; gap: 22px; }
.frow h4 { font-size: 20px; margin-bottom: 7px; }
.frow p  { font-size: 14.5px; line-height: 1.75; }

/* Facts section clean bottom border */
#facts { padding-bottom: 100px; }


/* Team grid — Linda centre, bigger */
.tg {
  display: grid;
  grid-template-columns: 1fr 1.25fr 1fr;
  gap: 18px;
  align-items: end;
}
.tc-side .tci { min-height: 420px; }
.tc-centre .tci { min-height: 560px; }
.tc-side .tcna { font-size: clamp(28px,3.2vw,40px); }
.tc-centre .tcna { font-size: clamp(36px,4.2vw,52px); }
#team { padding-bottom: 100px; }


/* Stundenplan — volle Breite, Lektionsblöcke = Titelbreite */
#splan .dag {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#splan .dc {
  width: 100%;
}
#splan .db {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 8px;
  background: transparent;
  padding: 0;
}
#splan .dh {
  font-size: 14px;
  letter-spacing: 5px;
  padding: 16px 22px;
  display: flex;
  align-items: center;
  gap: 12px;
}
#splan .sl {
  padding: 18px 20px;
}
#splan .sl-n { font-size: 17px; }
/* Day colours as left border on each row */
#splan .dc.mon .db .sl { border-top: 3px solid var(--or); }
#splan .dc.die .db .sl { border-top: 3px solid var(--pk2); }
#splan .dc.don .db .sl { border-top: 3px solid var(--ol2); }


/* Clean section padding */
section { padding: 100px 0; }
#hero   { padding-top: 66px; padding-bottom: 0; min-height: 100vh; }
.tw     { padding: 13px 0; }

/* Remove any residual wave CSS properties */
.sb,.sb-in,.wd,.hwb,.hwbot { display:none !important; }

/* Stundenplan day header full width */
#splan .dc { border-top: none !important; }
#splan .dc.mon .dh { background: var(--or); }
#splan .dc.die .dh { background: var(--pk2); }
#splan .dc.don .dh { background: var(--ol2); }

/* Team cards — side cards slightly shorter sticker */
.tc-side .tcs img  { max-height: 280px; }
.tc-centre .tcs img { max-height: 380px; }
.tc-centre .tcp { min-height: 260px; }

/* Facts rows — same horizontal span as fact number cards */
#facts .fn { width: 100%; }
#facts .fr { width: 100%; }

/* Hero: no orange background bleed */
#hero::after { display:none; }

/* Kontakt auf Deutsch */


/* Freitag */
.dc.fri .dh { background: var(--pk2); }
#splan .dc.fri .db .sl { border-top: 3px solid var(--pk2); }

/* Stundenplan 4 Tage — volle Breite, gleich wie Titel */
#splan .dag {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}
#splan .dc {
  width: 100%;
}
#splan .dc .db {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 8px;
  background: transparent;
  padding: 0;
}
#splan .dc.don .db { grid-template-columns: repeat(4,1fr); }
#splan .dc.fri .db { grid-template-columns: repeat(2,1fr); }

/* Facts: more space title → text */
#facts .h1 { margin-bottom: 0; }
#facts .fl p { margin-top: 28px; }


/* Über uns / Studio — mehr Abstand Titel → Text */
#studio .st .h1 { margin-bottom: 28px; }
#studio .st p:first-of-type { margin-top: 0; }

/* Facts — h1 to paragraph spacing */  
#facts .fl .h1 { margin-bottom: 0; }
#facts .fl > p { margin-top: 36px !important; margin-bottom: 36px; }


/* Facts logo — no box, clean */
.facts-logo {
  margin-bottom: 20px;
}
.facts-logo img {
  display: block;
}


/* frow gleiche Breite wie fc — kein extra Padding rechts */
.fr { width: 100%; }
.frow { padding: 22px 26px 22px 26px; }
.frow h4 { font-size: 18px; }


/* frow gleiche Breite wie fn-Karten — volle Spaltenbreite */
.fr {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  align-self: stretch;
}
.frow {
  padding: 22px 26px;
  width: 100%;
  box-sizing: border-box;
  flex: 1;
}
/* fn Karten exakt gleich hoch wie frow-Gruppe */
.fn {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  width: 100%;
}
.fc {
  width: 100%;
  box-sizing: border-box;
}
/* Facts grid gleiche Spaltenbreite */
.facts-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: start;
}


/* ── Gleich grosse Coach-Karten ── */
.tg {
  display: grid;
  grid-template-columns: 1fr 1.2fr 1fr;
  gap: 18px;
  align-items: stretch;
}
.tc-side .tci,
.tc-centre .tci {
  min-height: 580px;
  height: 100%;
}
/* Bilder kleiner — nicht abgeschnitten */
.tcs {
  flex: 1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
  padding: 0 16px 0;
}
.tcs img {
  display: block;
  width: auto;
  max-width: 88%;
  max-height: 260px;
  object-fit: contain;
  object-position: bottom center;
  filter: drop-shadow(4px 0 0 rgba(0,0,0,.06)) drop-shadow(-4px 0 0 rgba(0,0,0,.06));
  transition: transform .4s ease;
}
.tc:hover .tcs img {
  transform: scale(1.03) translateY(-4px);
}
/* Saeka portrait — etwas grösser da Halbkörper */
.tcs-saeka img {
  max-height: 300px;
  max-width: 92%;
}
/* Linda placeholder gleich gross */
.tcp {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 24px;
  opacity: .35;
  min-height: 260px;
}


/* Overwrite old tc-side/tc-centre rules */
.tc-side .tci { min-height: 580px !important; }
.tc-centre .tci { min-height: 580px !important; }
.tc-side .tcna { font-size: clamp(30px,3.5vw,44px); }
.tc-centre .tcna { font-size: clamp(34px,4vw,50px); }




/* Kurse — Abstand Kästchen → Headline = gleich wie Team */
#kurse .rv .lbl { margin-bottom: 16px; }
#kurse .rv .h1  { margin-top: 0; }


/* Kurse — mehr Abstand Kästchen → Headline */
#kurse .rv .lbl { margin-bottom: 36px; }


/* Kurs-Icons — gleiche Form, verschiedene Grössen */
.kc-ic { margin-bottom: 20px; display: flex; align-items: flex-end; min-height: 64px; }
.kki .kc-ic { align-items: flex-end; }
.kte .kc-ic { align-items: flex-end; }
.kad .kc-ic { align-items: flex-end; }


/* Ü40 Card — eigene Farbe */
.kc.kue .kcb { background: var(--or); }
.kc.kue h3   { color: var(--cr); }
.kc.kue .kc-ag { color: rgba(246,214,227,.6); }
.kc.kue p    { color: rgba(246,214,227,.78); }
.kc.kue .kc-li li { color: rgba(246,214,227,.72); }
.kc.kue .kc-li li::before { background: var(--cr); }
.kc.kue .kc-ic svg { stroke: var(--cr); }


/* Angebot — alle 4 Karten gleich: Cream auf Orange */
.kc.kki .kcb { background: var(--cr); }
.kc.kte .kcb { background: var(--cr); }
.kc.kad .kcb { background: var(--cr); }
.kc.kue .kcb { background: var(--cr); }

/* Text: alle Karten einheitlich orange */
.kc.kki h3, .kc.kte h3, .kc.kad h3, .kc.kue h3   { color: var(--or); }
.kc.kki .kc-ag, .kc.kte .kc-ag, .kc.kad .kc-ag, .kc.kue .kc-ag { color: rgba(244,78,36,.5); }
.kc.kki p, .kc.kte p, .kc.kad p, .kc.kue p        { color: rgba(244,78,36,.68); }
.kc.kki .kc-li li, .kc.kte .kc-li li, .kc.kad .kc-li li, .kc.kue .kc-li li { color: rgba(244,78,36,.65); }
.kc.kki .kc-li li::before, .kc.kte .kc-li li::before,
.kc.kad .kc-li li::before, .kc.kue .kc-li li::before { background: var(--or); }
.kc.kki .kc-ic svg, .kc.kte .kc-ic svg,
.kc.kad .kc-ic svg, .kc.kue .kc-ic svg { stroke: var(--or); }


/* Angebot — abwechselnde Farben */
.kc.kki .kcb { background: var(--cr); }
.kc.kte .kcb { background: var(--ol); }
.kc.kad .kcb { background: var(--pk); }
.kc.kue .kcb { background: var(--cr); }

/* Kids — cream bg, orange text */
.kc.kki h3, .kc.kki .kc-ag, .kc.kki p,
.kc.kki .kc-li li { color: var(--or); }
.kc.kki .kc-li li { color: rgba(244,78,36,.65); }
.kc.kki .kc-li li::before { background: var(--or); }
.kc.kki .kc-ic svg { stroke: var(--or); }

/* Teens — olive bg, cream text */
.kc.kte h3  { color: var(--cr); }
.kc.kte .kc-ag { color: rgba(246,214,227,.65); }
.kc.kte p   { color: rgba(246,214,227,.82); }
.kc.kte .kc-li li { color: rgba(246,214,227,.78); }
.kc.kte .kc-li li::before { background: var(--cr); }
.kc.kte .kc-ic svg { stroke: var(--cr); }

/* Adults — pink bg, orange text */
.kc.kad h3  { color: var(--or); }
.kc.kad .kc-ag { color: rgba(244,78,36,.52); }
.kc.kad p   { color: rgba(244,78,36,.68); }
.kc.kad .kc-li li { color: rgba(244,78,36,.65); }
.kc.kad .kc-li li::before { background: var(--or); }
.kc.kad .kc-ic svg { stroke: var(--or); }

/* Ü40 — cream bg, orange text */
.kc.kue h3  { color: var(--or); }
.kc.kue .kc-ag { color: rgba(244,78,36,.52); }
.kc.kue p   { color: rgba(244,78,36,.68); }
.kc.kue .kc-li li { color: rgba(244,78,36,.65); }
.kc.kue .kc-li li::before { background: var(--or); }
.kc.kue .kc-ic svg { stroke: var(--or); }


/* Jede Zeile = Wochentag-Label + Slots nebeneinander */
.dc-row {
  display: flex;
  align-items: stretch;
  border-bottom: 2px solid rgba(244,78,36,.12);
}
.dc-row:last-child { border-bottom: none; }

/* Wochentag-Label — links, vertikal zentriert */
.dc-label {
  font-family: var(--fd);
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--cr);
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  padding: 20px 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  flex-shrink: 0;
}

/* Slot-Container — alle Slots in einer Reihe */
.dc-slots {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  flex: 1;
}

/* Einzelner Slot */
#splan .sl {
  padding: 20px 22px;
  border-left: 1px solid rgba(244,78,36,.1);
  border-top: none;
  display: flex;
  flex-direction: column;
  gap: 4px;
  transform: none;
  transition: background .2s;
}
#splan .sl:hover { filter: brightness(.96); }
#splan .sl:first-child { border-left: none; }

/* Subtitel — Trainerin */
.sl-sub {
  font-family: var(--fd);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(244,78,36,.45);
  margin-bottom: 2px;
}

/* Badge Ü40 / 60+ */
.sue { background: transparent; border-left: 4px solid var(--ol) !important; }
.bue { background: var(--ol); color: var(--cr); }

/* Slot Farben — leicht angepasst */
#splan .sk  { background: #D0D5FD; border-left: 4px solid var(--pk2); }
#splan .st  { background: transparent;  border-left: 4px solid var(--ol); }
#splan .sa  { background: rgba(244,78,36,.09);   border-left: 4px solid var(--or); }
#splan .so  { background: rgba(33,19,80,.14);  border-left: 4px solid var(--ol2); }

/* Responsive */
@media(max-width:960px){
  .dc-row { flex-direction: column; }
  .dc-label { writing-mode: horizontal-tb; transform: none; padding: 14px 20px; min-width: unset; }
  .dc-slots { grid-template-columns: 1fr; }
  #splan .sl { border-left: 4px solid; border-top: none; }
}

/* Altes Stundenplan CSS deaktivieren */
.dc, .dc .dh, .dc .db { display: none !important; }



/* Jede Zeile */
.dc-row {
  display: flex;
  align-items: stretch;
  border-bottom: 3px solid var(--or);
}
.dc-row:last-child { border-bottom: none; }

/* Wochentag-Label */
.dc-label {
  font-family: var(--fd);
  font-weight: 800;
  font-size: 15px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--cr);
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  padding: 24px 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 52px;
  flex-shrink: 0;
}

/* Slots-Container */
.dc-slots {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  flex: 1;
}

/* Einzelner Slot */
#splan .sl {
  padding: 22px 24px 20px;
  border-left: none;
  border-top: none;
  border-right: 2px solid rgba(244,78,36,.18);
  display: flex;
  flex-direction: column;
  gap: 3px;
  position: relative;
  transition: filter .2s;
}
#splan .sl:last-child { border-right: none; }
#splan .sl:hover { filter: brightness(.94); }

/* Zeitlinie oben im Slot — farbiger Balken = visuelle Timeline */
#splan .sl::before {
  content: attr(data-time);
  display: block;
  font-family: var(--fd);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 2.5px;
  color: rgba(244,78,36,.5);
  margin-bottom: 6px;
}

/* Slot-Hintergrundfarben */
#splan .sk  { background: #D0D5FD; border-top: 4px solid var(--pk2); }
#splan .st  { background: #D0D5FD;  border-top: 4px solid var(--ol); }
#splan .sa  { background: rgba(244,78,36,.08);   border-top: 4px solid var(--or); }
#splan .so  { background: rgba(33,19,80,.18);  border-top: 4px solid var(--ol2); }
#splan .sue { background: transparent;  border-top: 4px solid var(--ol); }

/* Slot-Zeile: Zeit ausblenden (jetzt via ::before) */
.sl-t { display: none; }

/* Kursname */
#splan .sl-n {
  font-family: var(--fd);
  font-weight: 700;
  font-size: 20px;
  letter-spacing: .5px;
  color: var(--or);
  margin-bottom: 2px;
  line-height: 1.1;
}

/* Trainerin */
.sl-sub {
  font-family: var(--fd);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(244,78,36,.42);
  margin-bottom: 6px;
}

/* Badge */
.slb {
  display: inline-block;
  font-family: var(--fd);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 3px 10px;
  align-self: flex-start;
}
.bk  { background: var(--pk2); color: var(--cr); }
.bt  { background: var(--ol);  color: var(--cr); }
.ba  { background: var(--or);  color: var(--cr); }
.bo  { background: var(--ol2); color: var(--cr); }
.bue { background: var(--ol);  color: var(--cr); }

/* Spn-Hinweis unten */
.spn {
  background: var(--cr);
  border-top: 2.5px solid var(--or);
  padding: 22px 32px;
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 0;
}
.spn p {
  font-size: 14px;
  font-weight: 500;
  color: rgba(244,78,36,.7);
  flex: 1;
  line-height: 1.6;
}
.spn strong { color: var(--or); font-weight: 800; }

/* Altes CSS deaktivieren */
.dc, .dc .dh, .dc .db { display: none !important; }

/* Responsive */
@media(max-width:960px){
  .dc-row { flex-direction: column; }
  .dc-label { writing-mode: horizontal-tb; transform: none; padding: 14px 20px; min-width: unset; }
  .dc-slots { grid-template-columns: 1fr; }
  #splan .sl { border-right: none; border-bottom: 1px solid rgba(244,78,36,.1); }
}



/* Zeile pro Tag */
.dc-row {
  display: flex;
  align-items: stretch;
  border-bottom: 1.5px solid var(--cr);
}
.dc-row:last-child { border-bottom: none; }

/* Wochentag-Label — links */
.dc-label {
  font-family: var(--fd);
  font-weight: 800;
  font-size: 15px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--cr);
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  padding: 24px 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 52px;
  flex-shrink: 0;
}

/* Slots nebeneinander */
.dc-slots {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  flex: 1;
}

/* Einzelner Slot */
#splan .sl {
  padding: 24px 26px 22px;
  border-left: 1.5px solid var(--cr);
  border-top: none;
  border-right: none;
  border-bottom: none;
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: relative;
  background: var(--cr);
  transition: background .2s;
}
#splan .sl:first-child { border-left: none; }
#splan .sl:hover { filter: brightness(.95); }

/* Slot-Farben — nur subtiler linker Akzentstreifen */
#splan .sk  { border-left: 4px solid var(--pk2) !important; }
#splan .st  { border-left: 4px solid var(--ol)  !important; }
#splan .sa  { border-left: 4px solid var(--or)  !important; }
#splan .so  { border-left: 4px solid var(--ol2) !important; }
#splan .sue { border-left: 4px solid var(--ol)  !important; }
#splan .sl:first-child.sk  { border-left: 4px solid var(--pk2) !important; }

/* Zeit */
.sl-t {
  display: block;
  font-family: var(--fd);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 1.5px;
  color: rgba(244,78,36,.72);
  margin-bottom: 6px;
}

/* Kursname */
#splan .sl-n {
  font-family: var(--fd);
  font-weight: 800;
  font-size: 20px;
  letter-spacing: .3px;
  color: var(--or);
  line-height: 1.1;
}

/* Trainerin */
.sl-sub {
  font-family: var(--fd);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(244,78,36,.38);
  margin-top: 2px;
  margin-bottom: 8px;
}

/* Badge */
.slb {
  display: inline-block;
  font-family: var(--fd);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 4px 10px;
  align-self: flex-start;
  margin-top: auto;
}
.bk  { background: var(--pk2); color: var(--cr); }
.bt  { background: var(--ol);  color: var(--cr); }
.ba  { background: var(--or);  color: var(--cr); }
.bo  { background: var(--ol2); color: var(--cr); }
.bue { background: var(--ol);  color: var(--cr); }

/* Hinweis unten */
.spn {
  background: transparent;
  border-top: 1.5px solid rgba(244,78,36,.2);
  padding: 22px 0;
  margin-top: 0;
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.spn p {
  font-size: 14px;
  font-weight: 500;
  color: rgba(244,78,36,.65);
  flex: 1;
  line-height: 1.6;
}
.spn strong { color: var(--or); font-weight: 800; }


/* Responsive */
@media(max-width:960px){
  .dc-row { flex-direction: column; }
  .dc-label { writing-mode: horizontal-tb; transform: none; padding: 14px 20px; min-width: unset; }
  .dc-slots { grid-template-columns: 1fr; }
  #splan .sl { border-left: 4px solid var(--or) !important; border-bottom: 1px solid var(--cr); }
}



/* Schatteneffekt zwischen Wochentagen */
.dc-row {
  box-shadow: 0 3px 0 0 rgba(244,78,36,.1);
}
.dc-row:last-child { box-shadow: none; }

/* Trainerin nur Vorname — kleiner Stil */
.sl-sub {
  font-family: var(--fd);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: rgba(244,78,36,.36);
  margin-top: 1px;
  margin-bottom: 7px;
}


/* ════════════════════════════════════════════════
   STUNDENPLAN — chronologisch, clean, farbcodiert
════════════════════════════════════════════════ */

#splan { padding: 100px 0 120px; }

#splan .dag {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 0;
  overflow: hidden;
}

/* ── Jede Wochentag-Zeile ── */
.dc-row {
  display: flex;
  align-items: stretch;
  margin-bottom: 3px;
}
.dc-row:last-child { margin-bottom: 0; }

/* ── Wochentag-Label — kein linker Border ── */
.dc-label {
  font-family: var(--fd);
  font-weight: 800;
  font-size: 15px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--cr);
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  padding: 28px 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 52px;
  flex-shrink: 0;
  border: none;
}

/* ── Slots-Container ── */
.dc-slots {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  flex: 1;
  gap: 3px;
}

/* ── Einzelner Slot — KEINE Trennlinien ── */
#splan .sl {
  padding: 24px 26px 22px;
  border: none !important;
  outline: none;
  display: flex;
  flex-direction: column;
  gap: 3px;
  position: relative;
  transition: opacity .2s;
}
#splan .sl:hover { opacity: .88; }

/* ── FARBEN PRO TAG — transparent, alles gleich pro Tag ── */

/* Montag — Orange-Rot transparent */
.dc-row.row-mon .dc-slots .sl { background: rgba(244,78,36,.08); }
.dc-row.row-mon .dc-label     { background: var(--or); }

/* Dienstag — Pink transparent */
.dc-row.row-die .dc-slots .sl { background: rgba(244,78,36,.1); }
.dc-row.row-die .dc-label     { background: var(--pk2); }

/* Donnerstag — Olive transparent */
.dc-row.row-don .dc-slots .sl { background: rgba(33,19,80,.12); }
.dc-row.row-don .dc-label     { background: var(--ol2); }

/* Freitag — Pink transparent */
.dc-row.row-fri .dc-slots .sl { background: rgba(244,78,36,.1); }
.dc-row.row-fri .dc-label     { background: var(--pk2); }

/* ── Zeitanzeige — klar und lesbar ── */
.sl-t {
  display: block;
  font-family: var(--fd);
  font-weight: 800;
  font-size: 15px;
  letter-spacing: 1px;
  color: var(--or);
  opacity: .65;
  margin-bottom: 5px;
}

/* ── Kursname ── */
#splan .sl-n {
  font-family: var(--fd);
  font-weight: 900;
  font-size: 21px;
  letter-spacing: .2px;
  color: var(--or);
  line-height: 1.1;
  margin-bottom: 3px;
}

/* ── Trainerin — nur Vorname ── */
.sl-sub {
  font-family: var(--fd);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: rgba(244,78,36,.38);
  margin-bottom: 8px;
}

/* ── Badge ── */
.slb {
  display: inline-block;
  font-family: var(--fd);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 4px 11px;
  align-self: flex-start;
  margin-top: auto;
}
.bk  { background: var(--pk2); color: var(--cr); }
.bt  { background: var(--ol);  color: var(--cr); }
.ba  { background: var(--or);  color: var(--cr); }
.bo  { background: var(--ol2); color: var(--cr); }
.bue { background: var(--ol);  color: var(--cr); }

/* ── Hinweis + Anmeldebutton — viel Abstand ── */
.spn {
  background: transparent;
  border: none;
  padding: 100px 0 0;
  margin-top: 0;
  margin-left: 0;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 20px;
  flex-wrap: wrap;
}
.spn p {
  font-size: 14.5px;
  font-weight: 500;
  color: rgba(244,78,36,.6);
  flex: 1;
  line-height: 1.7;
}
.spn strong { color: var(--or); font-weight: 800; }
.spn .btn   { flex-shrink: 0; margin-top: 8px; }

/* Deaktiviere altes CSS */
.dc, .dc .dh, .dc .db { display: none !important; }

/* Responsive */
@media(max-width:960px){
  .dc-row { flex-direction: column; }
  .dc-label { writing-mode: horizontal-tb; transform: none; padding: 14px 20px; min-width: unset; }
  .dc-slots { grid-template-columns: 1fr; }
}


/* Linda sticker */
.tcs-linda img { max-height: 380px; }


/* ── Team — alle gleich gross, Linda links ── */
.tg {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr;
  gap: 18px;
  align-items: end;
}
.tc-centre .tci,
.tc-side .tci {
  min-height: 580px;
  height: 100%;
}
/* Alle Bilder gleiches max-height */
.tcs img {
  display: block;
  width: auto;
  max-width: 92%;
  max-height: 340px;
  object-fit: contain;
  object-position: bottom center;
  filter: drop-shadow(3px 0 0 rgba(0,0,0,.05)) drop-shadow(-3px 0 0 rgba(0,0,0,.05));
  transition: transform .4s ease;
}
.tc:hover .tcs img { transform: scale(1.03) translateY(-4px); }

/* Linda etwas grösser da ganzer Körper */
.tcs-linda img { max-height: 380px; }
.tcs-saeka img { max-height: 360px; }
.tcs-jana  img { max-height: 320px; }

/* Karten-Hintergründe */
.tc1 .tcb { background: linear-gradient(155deg, var(--or) 0%, #F44E24 100%); }
.tc2 .tcb { background: linear-gradient(155deg, var(--ol) 0%, var(--ol2) 100%); }
.tc3 .tcb { background: linear-gradient(155deg, var(--pk) 0%, var(--pk2) 100%); }

/* Rollen-Badges */
.tc1 .tcr { background: var(--cr); color: var(--or); }
.tc2 .tcr { background: var(--or); color: var(--cr); }
.tc3 .tcr { background: var(--or); color: var(--cr); }

/* Linda Mitte: etwas grösserer Name */
.tc-centre .tcna { font-size: clamp(36px,4.2vw,52px); }
.tc-side   .tcna { font-size: clamp(30px,3.5vw,44px); }

/* tcp deaktivieren */
.tcp { display: none !important; }

@media(max-width:960px){
  .tg { grid-template-columns: 1fr; }
}


/* ── Alle 3 Karten exakt gleich gross ── */
.tg {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  align-items: stretch;
}
.tc-centre .tci,
.tc-side .tci,
.tc .tci {
  min-height: 640px !important;
  height: 100% !important;
}
/* Bilder alle gleich gross */
.tcs {
  flex: 1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
  padding: 0 12px;
}
.tcs img,
.tcs-linda img,
.tcs-jana img,
.tcs-saeka img {
  display: block;
  width: auto !important;
  max-width: 94% !important;
  max-height: 380px !important;
  object-fit: contain;
  object-position: bottom center;
  filter: drop-shadow(3px 0 0 rgba(0,0,0,.05)) drop-shadow(-3px 0 0 rgba(0,0,0,.05));
  transition: transform .4s ease;
}
.tc:hover .tcs img {
  transform: scale(1.03) translateY(-4px);
}
/* Namen gleiche Grösse */
.tc-centre .tcna,
.tc-side .tcna,
.tcna {
  font-family: var(--fd);
  font-weight: 900;
  font-size: clamp(34px, 3.8vw, 48px) !important;
  line-height: .88;
  text-transform: uppercase;
  letter-spacing: -.5px;
  color: var(--cr);
  margin-bottom: 13px;
}
@media(max-width:960px){
  .tg { grid-template-columns: 1fr; }
}


/* Instagram Cells als Links */
a.igc {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: none;
}
a.igc:hover { transform: scale(1.04); opacity: .9; }
a.igc img { transition: opacity .3s; }
a.igc:hover img { opacity: .95; }





/* ── Info Section — 2 Spalten: Links Kästen, Rechts Map + Anreise ── */
#info .infg {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: start;
}
/* Linke Spalte: ibs — Adresse, Öffnungszeiten, Kontakt untereinander */
#info .ibs {
  display: flex;
  flex-direction: column;
  gap: 16px;
  grid-column: 1;
  grid-row: 1;
}
/* Rechte Spalte: Map + Anreise untereinander */
#info .mb {
  grid-column: 2;
  grid-row: 1;
  position: sticky;
  top: 84px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
#info .mf iframe { height: 360px; }

/* Anreise-Kästchen gehört zur rechten Spalte — via CSS order */
#info .ib-anreise {
  order: 99;
}

@media(max-width:960px){
  #info .infg { grid-template-columns: 1fr; }
  #info .mb   { grid-column: 1; position: static; }
}


/* ── Info Section ── */
#info .ib { background: var(--cr); padding: 26px 28px; transition: transform .25s; }
#info .ib:hover { transform: translateX(4px); }
#info .ibh { display: flex; align-items: center; gap: 11px; margin-bottom: 11px; }
#info .ibh h4 { font-family: var(--fd); font-weight: 800; font-size: 19px; letter-spacing: 2px; text-transform: uppercase; color: var(--or); }
#info .ib p, #info .ib a { font-size: 15px; font-weight: 400; line-height: 1.85; color: rgba(244,78,36,.72); text-decoration: none; }
#info .ib a:hover { color: var(--ol); }
address { font-style: normal; }
.ht { width: 100%; border-collapse: collapse; margin-top: 7px; }
.ht td { padding: 7px 0; font-size: 14px; font-weight: 500; color: rgba(244,78,36,.68); }
.ht td:last-child { text-align: right; color: var(--or); font-weight: 700; }
.ht tr { border-bottom: 1px solid rgba(244,78,36,.1); }
.ht tr:last-child { border-bottom: none; }
.mc { background: var(--or); padding: 17px 22px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.mc p { font-size: 13px; font-weight: 700; color: var(--cr); }
.mc a { background: var(--cr); color: var(--or); font-family: var(--fd); font-weight: 700; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; padding: 9px 17px; text-decoration: none; transition: background .2s; }
.mc a:hover { background: var(--ol); color: var(--cr); }
@media(max-width:960px){
  #info > .w > div:last-child { grid-template-columns: 1fr !important; }
  #info > .w > div:last-child > div:last-child { position: static; }
}


/* Kontakt Formular — Submit-Bereich rechtsbündig */
.cf > p { text-align: right; align-self: flex-end; }
.cf { align-items: stretch; }


/* Jana — kein mix-blend-mode, vollflächig */
.tcs-jana img {
  mix-blend-mode: normal !important;
  opacity: 1 !important;
}





/* ════ FLIP CARD ════ */
.tc {
  perspective: 1200px;
  cursor: default;
  height: 640px;         /* Feste Höhe = Grundlage für absolute Kinder */
}

.tci {
  position: relative;
  width: 100%;
  height: 100%;          /* Füllt die 640px der .tc */
  transform-style: preserve-3d;
  transition: transform 0.65s cubic-bezier(.4,0,.2,1);
}

.tc:hover .tci { /* hover-flip deaktiviert — via JS */ }

/* Vorderseite — liegt oben, normal sichtbar */
.tc-front {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* Rückseite — liegt hinten, wird nach Flip sichtbar */
.tc-back {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  /* transform via @media hover below */
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 36px 32px;
  overflow: hidden;
}

/* Hintergrundfarben Rückseite */
.tc1 .tc-back { background: linear-gradient(155deg, var(--or) 0%, #F44E24 100%); }
.tc2 .tc-back { background: linear-gradient(155deg, var(--ol) 0%, var(--ol2) 100%); }
.tc3 .tc-back { background: linear-gradient(155deg, var(--pk) 0%, var(--pk2) 100%); }

/* Steckbrief-Typografie */
.bio-label {
  font-family: var(--fd);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 5px;
  text-transform: uppercase;
  color: rgba(246,214,227,.45);
  margin-bottom: 18px;
}
.bio-name {
  font-family: var(--fd);
  font-weight: 900;
  font-size: clamp(32px, 3.8vw, 44px);
  text-transform: uppercase;
  color: var(--cr);
  line-height: .9;
  margin-bottom: 8px;
}
.bio-role-tag {
  display: inline-block;
  font-family: var(--fd);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 5px 14px;
  margin-bottom: 20px;
}
.bio-divider {
  width: 36px;
  height: 2px;
  background: rgba(246,214,227,.3);
  margin-bottom: 18px;
}
.bio-text {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.7;
  color: rgba(246,214,227,.8);
  margin-bottom: 20px;
  white-space: pre-line;
  flex: 1;
}
.bio-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 0;
}
.bio-tag {
  font-family: var(--fd);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 4px 11px;
  border: 1px solid rgba(246,214,227,.22);
  color: rgba(246,214,227,.55);
}

/* Flip-Hinweis */
.flip-hint {
  position: absolute;
  bottom: 12px;
  right: 14px;
  z-index: 5;
  font-family: var(--fd);
  font-size: 9px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(246,214,227,.3);
  display: flex;
  align-items: center;
  gap: 5px;
  pointer-events: none;
}


/* ════ MODALS — Datenschutz & Impressum ════ */
.modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(85,56,175,.82);
  z-index: 199998;
  backdrop-filter: blur(4px);
  cursor: pointer;
}
.modal-overlay.active { display: flex; align-items: center; justify-content: center; padding: 24px; }
.modal-box {
  background: var(--cr);
  max-width: 740px;
  width: 100%;
  max-height: 88vh;
  overflow-y: auto;
  padding: 52px 56px;
  position: relative;
  cursor: default;
  scroll-behavior: smooth;
}
.modal-box::-webkit-scrollbar { width: 4px; }
.modal-box::-webkit-scrollbar-track { background: rgba(244,78,36,.08); }
.modal-box::-webkit-scrollbar-thumb { background: var(--or); }
.modal-close {
  position: sticky;
  top: 0;
  float: right;
  margin: -36px -40px 0 0;
  width: 40px; height: 40px;
  background: var(--or);
  border: none;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--cr);
  font-size: 18px;
  font-weight: 700;
  z-index: 2;
  transition: background .2s;
}
.modal-close:hover { background: #F44E24; }
.modal-box h1 {
  font-family: var(--fd);
  font-weight: 900;
  font-size: 36px;
  text-transform: uppercase;
  color: var(--or);
  letter-spacing: -.5px;
  margin-bottom: 6px;
}
.modal-box .modal-date {
  font-family: var(--fd);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: rgba(244,78,36,.4);
  margin-bottom: 36px;
  display: block;
}
.modal-box h2 {
  font-family: var(--fd);
  font-weight: 800;
  font-size: 18px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--or);
  margin: 32px 0 10px;
  border-left: 3px solid var(--or);
  padding-left: 12px;
}
.modal-box p, .modal-box li {
  font-size: 14.5px;
  font-weight: 400;
  line-height: 1.8;
  color: rgba(244,78,36,.72);
  margin-bottom: 10px;
}
.modal-box ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 10px;
}
.modal-box ul li {
  padding-left: 18px;
  position: relative;
}
.modal-box ul li::before {
  content: '—';
  position: absolute;
  left: 0;
  color: var(--or);
  font-weight: 700;
}
.modal-box a { color: var(--or); font-weight: 600; }
.modal-box a:hover { color: var(--ol); }
.modal-box .highlight-box {
  background: rgba(244,78,36,.07);
  border-left: 3px solid var(--or);
  padding: 16px 20px;
  margin: 16px 0;
  font-size: 13.5px;
  color: rgba(244,78,36,.68);
  line-height: 1.7;
}
@media(max-width:768px){
  .modal-box { padding: 36px 24px; max-height: 94vh; }
}


/* ── Datenschutz / Impressum Modals ── */
.lg-modal-bg {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(85,56,175,.75);
  z-index: 999998;
  align-items: center;
  justify-content: center;
  padding: 24px;
  backdrop-filter: blur(4px);
}
.lg-modal-bg.open { display: flex; }
.lg-modal {
  background: var(--cr);
  max-width: 720px;
  width: 100%;
  max-height: 85vh;
  overflow-y: auto;
  padding: 52px 56px;
  position: relative;
  scrollbar-width: thin;
}
.lg-modal-close {
  position: sticky;
  top: 0;
  float: right;
  background: var(--or);
  border: none;
  color: var(--cr);
  font-family: var(--fd);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  padding: 10px 18px;
  cursor: none;
  margin-bottom: 24px;
  margin-left: 16px;
}
.lg-modal h2 {
  font-family: var(--fd);
  font-weight: 900;
  font-size: clamp(32px,4vw,48px);
  text-transform: uppercase;
  color: var(--or);
  line-height: .9;
  margin-bottom: 36px;
}
.lg-modal h3 {
  font-family: var(--fd);
  font-weight: 800;
  font-size: 15px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--or);
  margin: 32px 0 10px;
  border-bottom: 1px solid rgba(244,78,36,.18);
  padding-bottom: 8px;
}
.lg-modal h4 {
  font-family: var(--fd);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--or);
  margin: 20px 0 6px;
}
.lg-modal p, .lg-modal li {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.85;
  color: rgba(244,78,36,.72);
}
.lg-modal a { color: var(--or); font-weight: 600; }
.lg-modal ul { padding-left: 18px; margin: 8px 0; }
.lg-modal li { margin-bottom: 4px; }
.ds-meta {
  font-family: var(--fd);
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(244,78,36,.4);
  margin-top: -28px;
  margin-bottom: 32px;
}


/* ── Google Maps 2-Klick ── */
.maps-consent {
  position: relative;
  background: rgba(244,78,36,.08);
  border: 2px solid rgba(244,78,36,.18);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 360px;
  gap: 18px;
  padding: 32px;
  text-align: center;
  cursor: none;
}
.maps-consent svg { opacity: .4; }
.maps-consent p {
  font-size: 13px;
  font-weight: 500;
  color: rgba(244,78,36,.55);
  max-width: 320px;
  line-height: 1.6;
}
.maps-consent-btn {
  background: var(--or);
  color: var(--cr);
  border: none;
  font-family: var(--fd);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 3px;
  text-transform: uppercase;
  padding: 13px 28px;
  cursor: none;
  transition: background .2s;
}
.maps-consent-btn:hover { background: #F44E24; }
.maps-loaded { border: 2px solid rgba(244,78,36,.18); overflow: hidden; }
.maps-loaded iframe { display: block; width: 100%; min-height: 360px; border: none; }


/* ── Mieten Flip-Karten ── */
.mk {
  perspective: 1200px;
  cursor: default;
  height: 420px;
}
.mki {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform 0.65s cubic-bezier(.4,0,.2,1);
}
.mk:hover .mki { transform: rotateY(180deg); }

.mk-front, .mk-back {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  overflow: hidden;
}
.mk-front img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}
.mk:hover .mk-front img { transform: scale(1.04); }

/* Overlay auf Foto-Vorderseite */
.mk-front-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(85,56,175,.68) 0%, rgba(85,56,175,.1) 60%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 28px 28px 24px;
}
.mk-front-overlay h3 {
  font-family: var(--fd);
  font-weight: 900;
  font-size: clamp(28px,3vw,38px);
  text-transform: uppercase;
  color: var(--cr);
  line-height: .92;
  margin-bottom: 6px;
}
.mk-front-overlay .mk-hint {
  font-family: var(--fd);
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(246,214,227,.45);
  display: flex;
  align-items: center;
  gap: 5px;
}

/* Rückseite */
.mk-back {
  transform: rotateY(180deg);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 32px 28px;
}
.mk1 .mk-back { background: linear-gradient(155deg, var(--or) 0%, #F44E24 100%); }
.mk2 .mk-back { background: linear-gradient(155deg, var(--pk) 0%, var(--pk2) 100%); }
.mk3 .mk-back { background: linear-gradient(155deg, var(--ol) 0%, var(--ol2) 100%); }

.mk-back .bio-label { margin-bottom: 14px; }
.mk-back .bio-name { font-size: clamp(26px,2.8vw,34px); margin-bottom: 6px; }
.mk-back .bio-divider { margin-bottom: 14px; }
.mk-back .bio-text { font-size: 13px; line-height: 1.68; }


/* ═══════════════════════════════════════════════════════
   MOBILE RESPONSIVE — 390px (iPhone 14 Standard)
   Optimiert für Netlify / yinyang-tanzstudio
═══════════════════════════════════════════════════════ */

/* ── Basis: alle Sections ── */
@media(max-width:768px){
  .w { padding-left: 20px; padding-right: 20px; }
  section { padding: 64px 0; }
  #hero { padding-top: 80px; padding-bottom: 0; min-height: 100svh; }

  /* ── Navigation ── */
  #nav { padding: 0 20px; }

  /* ── Hero ── */
  .hb { padding: 40px 20px 60px; }
  .hb .h1 { font-size: clamp(52px,14vw,90px) !important; }
  .hsu { font-size: 13px; letter-spacing: 3px; }
  .hbtn { flex-direction: column; gap: 10px; align-items: stretch; width: 100%; }
  .hbtn .btn { text-align: center; justify-content: center; }

  /* ── Ticker ── */
  .tw { padding: 11px 0; }
  .ti { font-size: 13px; letter-spacing: 2px; }

  /* ── Facts / Willkommen ── */
  .facts-grid { grid-template-columns: 1fr !important; gap: 40px; }
  .fn { grid-template-columns: 1fr 1fr !important; gap: 10px; }
  .fc { padding: 24px 20px; }
  .fc-n { font-size: clamp(42px,12vw,60px); }
  .fr { gap: 10px; }
  .frow { padding: 18px 20px; }
  .frow h4 { font-size: 16px; }

  /* ── Studio / Über uns ── */
  #studio .sr { flex-direction: column !important; gap: 28px; }
  #studio .sv { width: 100% !important; height: 220px; }
  #studio .st { width: 100% !important; }
  #studio .st .h1 { font-size: clamp(44px,12vw,72px) !important; }
  .sps { flex-wrap: wrap; gap: 8px; }
  .sp { font-size: 10px; padding: 5px 12px; }

  /* ── Team ── */
  #team { padding-bottom: 64px; }
  .tg {
    grid-template-columns: 1fr !important;
    gap: 16px;
  }
  .tc { height: auto !important; }
  .tci { min-height: 520px !important; height: 520px !important; }
  .tc-front, .tc-back { min-height: 520px !important; }
  .tcna { font-size: clamp(36px,10vw,52px) !important; }
  .tcs img { max-height: 280px !important; }
  /* Touch-Geräte: Tap statt Hover */
  .tc.tapped .tci { transform: rotateY(180deg); }

  /* ── Kurse ── */
  .kg { grid-template-columns: 1fr 1fr !important; gap: 12px; }
  .kc .kci { padding: 24px 18px; }
  .kc h3 { font-size: clamp(28px,8vw,40px); }
  .kc p { font-size: 13px; }

  /* ── Stundenplan ── */
  .dc-row { flex-direction: column; }
  .dc-label {
    writing-mode: horizontal-tb !important;
    transform: none !important;
    padding: 12px 18px !important;
    min-width: unset !important;
    font-size: 12px !important;
  }
  .dc-slots {
    grid-template-columns: 1fr !important;
  }
  #splan .sl {
    padding: 16px 18px;
    border-right: none !important;
    border-bottom: 1px solid rgba(244,78,36,.08) !important;
  }
  #splan .sl:last-child { border-bottom: none !important; }
  #splan .sl-n { font-size: 18px; }

  /* ── Instagram ── */
  .igi {
    grid-template-columns: repeat(3,1fr) !important;
    gap: 4px !important;
  }
  .igc:nth-child(n+4) { display: none; } /* nur 3 auf Mobile */

  /* ── Info / Location ── */
  #info > .w > div:last-child {
    grid-template-columns: 1fr !important;
    gap: 12px;
  }
  #info > .w > div:last-child > div:last-child { position: static !important; }
  .mf iframe, #maps-box { min-height: 260px !important; }
  .ht td { font-size: 13px; }
  .ht td:last-child { text-align: right; }

  /* ── Mieten ── */
  #mieten > div > div[style*="grid-template-columns:repeat(3"] {
    grid-template-columns: 1fr !important;
  }
  .mk { height: 320px !important; }
  .mki { height: 320px !important; }
  .mk-front, .mk-back { min-height: 320px !important; }

  /* ── Kontakt ── */
  .kg-cont { grid-template-columns: 1fr !important; }
  .cf { gap: 10px !important; }
  .f2 { grid-template-columns: 1fr !important; gap: 10px; }
  .fg label { font-size: 12px; }
  .fg input, .fg select, .fg textarea {
    font-size: 15px; /* iOS zoom prevention */
    padding: 13px 14px;
  }
  .fsub { width: 100%; justify-content: center; }
  .fck { justify-content: flex-start !important; }

  /* ── Kontakt Infos (linke Spalte) ── */
  .ci { gap: 14px; }
  .cib { padding: 18px 20px; }

  /* ── Footer ── */
  .fl-grid { grid-template-columns: 1fr 1fr !important; gap: 28px; }
  .fl-brand { text-align: center; margin-bottom: 28px; }
  footer { padding: 56px 0 36px; }
  .footer-bottom { flex-direction: column; gap: 12px; text-align: center; }

  /* ── Modals ── */
  .lg-modal { padding: 32px 24px; }
  .lg-modal h2 { font-size: clamp(28px,8vw,40px); }

  /* ── Kurse Header ── */
  #kurse .rv { margin-bottom: 32px; }
  #kurse .rv .h1 { font-size: clamp(44px,12vw,72px) !important; }

  /* ── Mieten Header ── */
  #mieten .rv .h1 { font-size: clamp(40px,11vw,66px) !important; }

  /* ── Bio-Karte ── */
  .bio-name { font-size: clamp(28px,8vw,38px) !important; }
  .bio-text { font-size: 12.5px; line-height: 1.65; }

  /* ── Allgemeines ── */
  .h1 { font-size: clamp(44px,12vw,72px) !important; }
  .lbl { font-size: 10px; padding: 5px 13px; }
  .btn { font-size: 12px; padding: 13px 24px; }
}

/* ── Sehr kleine Screens (320px) ── */
@media(max-width:380px){
  .fn { grid-template-columns: 1fr !important; }
  .kg { grid-template-columns: 1fr !important; }
  .tci { min-height: 460px !important; height: 460px !important; }
}


@media(max-width:768px){
  /* iOS verhindert Zoom bei font-size >= 16px */
  input, select, textarea {
    font-size: 16px !important;
  }
  /* Navbar korrekt auf Mobile */
  #nav {
    height: 60px;
    padding: 0 20px;
  }
  /* Hero Video besser auf Mobile */
  .hv {
    object-position: center center;
  }
  /* Kurs-Karten auf Mobile: 1 Spalte unter 480px */
  .kpro {
    flex-direction: column !important;
    gap: 16px;
  }
  .kpro a.btn {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
  /* Stundenplan: Slots stacken besser */
  .dc-row.row-mon .dc-slots,
  .dc-row.row-die .dc-slots,
  .dc-row.row-don .dc-slots,
  .dc-row.row-fri .dc-slots {
    grid-template-columns: 1fr !important;
  }
  /* Ticker weniger Padding */
  .tw { padding: 10px 0; }
  /* Facts Logo */
  .facts-logo img { height: 40px !important; }
  /* Kontakt Layout */
  .kl { grid-template-columns: 1fr !important; gap: 40px !important; }
  /* Mieten Info Banner */
  .kpro-mieten { flex-direction: column !important; align-items: flex-start !important; }
  /* Bio-Karte Rückseite Padding */
  .tc-back { padding: 24px 22px !important; }
  .mk-back { padding: 24px 22px !important; }
}


/* Kontakt Grid responsive */
.kl { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
@media(max-width:768px){ .kl { grid-template-columns: 1fr !important; gap: 40px; } }


@media(max-width:768px){
  * { cursor: auto !important; }
  #dc { display: none !important; }
}


@media(max-width:768px){
  /* Sections kleiner */
  section { padding: 44px 0 !important; }
  #hero   { padding-top: 72px !important; padding-bottom: 0 !important; }
  .tw     { padding: 9px 0 !important; }

  /* Margins zwischen Elementen */
  .rv { margin-bottom: 28px !important; }
  .thd { margin-bottom: 28px !important; }
  #facts .fn { margin-top: 20px !important; }
  #facts .fr { gap: 8px !important; }
  #splan .spn { padding: 60px 0 0 !important; }
  #team  { padding-bottom: 44px !important; }
  #kurse .rv { margin-bottom: 28px !important; }
  #mieten .rv { margin-bottom: 28px !important; }

  /* Headings näher ans Inhalt */
  .h1 { margin-bottom: 12px !important; }
  .lbl { margin-bottom: 10px !important; }
}

@media(max-width:768px){
  /* Fliesstexte enger */
  p  { line-height: 1.55 !important; }
  li { line-height: 1.5  !important; }
  .bio-text   { line-height: 1.55 !important; }
  .frow p     { line-height: 1.55 !important; }
  .kc p       { line-height: 1.5  !important; }
  .ib p       { line-height: 1.55 !important; }
  .thd p      { line-height: 1.55 !important; }
  .fl p       { line-height: 1.55 !important; }
  .ci p       { line-height: 1.55 !important; }
  .mk-back .bio-text { line-height: 1.5 !important; }
  .tc-back .bio-text { line-height: 1.5 !important; }
  /* Titel behalten normalen Zeilenabstand */
  .h1, .tcna, .bio-name, h2, h3 { line-height: inherit !important; }
}

@media(max-width:768px){
  /* Grid: alle 3 nebeneinander aber kleiner */
  .tg {
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 8px !important;
  }
  
  /* Karten-Höhe reduzieren */
  .tc              { height: 420px !important; }
  .tci             { min-height: 420px !important; height: 420px !important; }
  .tc-front,
  .tc-back         { min-height: 420px !important; }
  
  /* Kleinere Schriften auf den Karten */
  .tcn  { font-size: 9px !important; letter-spacing: 2px; }
  .tcna { font-size: clamp(18px,5vw,26px) !important; }
  .tcr  { font-size: 9px !important; padding: 3px 8px !important; }
  .tctg span { font-size: 8px !important; padding: 2px 6px !important; }
  
  /* Foto kleiner */
  .tcs img { max-height: 200px !important; }
  
  /* Rückseite kompakter */
  .tc-back { padding: 16px 14px !important; }
  .bio-label { font-size: 8px !important; letter-spacing: 3px; margin-bottom: 8px !important; }
  .bio-name { font-size: clamp(16px,4.5vw,22px) !important; margin-bottom: 4px !important; }
  .bio-role-tag { font-size: 8px !important; padding: 3px 8px !important; margin-bottom: 10px !important; }
  .bio-divider { margin-bottom: 10px !important; }
  .bio-text { font-size: 10.5px !important; line-height: 1.5 !important; margin-bottom: 10px !important; }
  .bio-tag { font-size: 8px !important; padding: 2px 6px !important; }
  .bio-tags { gap: 4px !important; }
  .flip-hint { display: none !important; }

  /* ── Tap to flip: .tapped class via JS ── */
  .tc.tapped .tci { transform: rotateY(180deg) !important; }
}

/* Unter 480px: 1 Spalte */
@media(max-width:480px){
  .tg {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .tc              { height: 480px !important; }
  .tci             { min-height: 480px !important; height: 480px !important; }
  .tc-front,
  .tc-back         { min-height: 480px !important; }
  .tcna { font-size: clamp(32px,9vw,44px) !important; }
  .bio-text { font-size: 12px !important; }
  .tcs img  { max-height: 240px !important; }
  .tc-back  { padding: 24px 20px !important; }
}


@media(max-width:768px){
  /* ── Team Grid ── */
  .tg {
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 8px !important;
    align-items: end !important;
  }

  /* ── Karten-Höhe: kleiner, kompakt ── */
  .tc                          { height: 360px !important; perspective: 1200px; }
  .tci                         { height: 360px !important; min-height: 360px !important; }
  .tc-front, .tc-back          { min-height: 360px !important; }

  /* ── tct (Text-Bereich oben) kleiner ── */
  .tct { padding: 14px 12px 8px !important; flex-shrink: 0; }
  .tcn { font-size: 8px !important; letter-spacing: 2px !important; margin-bottom: 3px !important; }
  .tcna{ font-size: clamp(15px,4.5vw,22px) !important; margin-bottom: 4px !important; line-height:.88 !important; }
  .tcr { font-size: 8px !important; padding: 3px 7px !important; margin-bottom: 6px !important; display:inline-block; }
  .tctg{ gap: 3px !important; flex-wrap: wrap; }
  .tctg span { font-size: 7.5px !important; padding: 2px 5px !important; letter-spacing: 1px !important; }

  /* ── Foto-Bereich: weiter hoch schieben ── */
  .tcs {
    flex: 1 !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    overflow: hidden !important;
    padding: 0 6px !important;
    margin-top: -12px !important; /* Foto rückt hoch an Styles */
  }
  .tcs img,
  .tcs-linda img,
  .tcs-jana img,
  .tcs-saeka img {
    max-height: 210px !important;
    max-width: 98% !important;
    width: auto !important;
    object-fit: contain !important;
    object-position: bottom center !important;
  }

  /* ── "Profil" Hinweis — grösser, sichtbarer ── */
  .flip-hint {
    display: flex !important;
    position: absolute !important;
    bottom: 10px !important;
    right: 10px !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    color: rgba(246,214,227,.75) !important;
    background: rgba(0,0,0,.18) !important;
    padding: 5px 10px !important;
    gap: 5px !important;
    z-index: 6 !important;
  }
  .flip-hint svg { width: 12px !important; height: 12px !important; stroke: rgba(246,214,227,.75) !important; }

  /* ── Rückseite (Steckbrief) ── */
  .tc-back { padding: 14px 12px !important; }
  .bio-label    { font-size: 8px !important; letter-spacing: 3px; margin-bottom: 8px !important; }
  .bio-name     { font-size: clamp(15px,4.5vw,22px) !important; margin-bottom: 3px !important; }
  .bio-role-tag { font-size: 8px !important; padding: 3px 7px !important; margin-bottom: 8px !important; }
  .bio-divider  { margin-bottom: 8px !important; width: 28px !important; }
  .bio-text     { font-size: 10px !important; line-height: 1.5 !important; margin-bottom: 8px !important; }
  .bio-tags     { gap: 3px !important; }
  .bio-tag      { font-size: 7.5px !important; padding: 2px 5px !important; }
}

@media(max-width:480px){
  .tg { grid-template-columns: 1fr !important; gap: 12px !important; }
  .tc  { height: 420px !important; }
  .tci { height: 420px !important; min-height: 420px !important; }
  .tc-front, .tc-back { min-height: 420px !important; }
  .tcna { font-size: clamp(28px,8vw,40px) !important; }
  .tcs img,
  .tcs-linda img,
  .tcs-jana img,
  .tcs-saeka img { max-height: 240px !important; }
  .bio-text  { font-size: 11.5px !important; }
  .flip-hint { font-size: 12px !important; }
}


/* tapped = Karte ist umgedreht (via JS) */
.tc.tapped .tci { transform: rotateY(180deg) !important; }
.mk.tapped .mki { transform: rotateY(180deg) !important; }


/* ── Team Mobile Fine-Tuning ── */
@media(max-width:768px){
  /* Vorderseite: straffes Layout */
  .tc-front {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }
  .tcb { position: absolute; inset: 0; }
  .tcw { position: absolute; inset: 0; }

  /* Text-Block oben — kein extra Margin */
  .tct {
    position: relative;
    z-index: 4;
    padding: 14px 12px 6px !important;
    flex-shrink: 0;
  }

  /* Foto-Container: nimmt restlichen Platz */
  .tcs {
    position: relative;
    z-index: 4;
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    overflow: hidden !important;
    padding: 0 4px 0 !important;
    margin-top: 0 !important;
  }

  /* Foto: füllt von unten nach oben, head nahe am tctg */
  .tcs img,
  .tcs-linda img,
  .tcs-jana img,
  .tcs-saeka img {
    max-height: none !important;
    height: 100% !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: cover !important;
    object-position: top center !important;
  }

  /* "Profil" Hint — gut sichtbar */
  .flip-hint {
    display: flex !important;
    position: absolute !important;
    bottom: 8px !important;
    right: 8px !important;
    z-index: 10 !important;
    font-family: var(--fd) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: var(--cr) !important;
    background: rgba(0,0,0,.32) !important;
    padding: 5px 10px !important;
    gap: 5px !important;
    pointer-events: none !important;
  }
  .flip-hint svg {
    width: 11px !important;
    height: 11px !important;
    stroke: var(--cr) !important;
  }
}


@media(max-width:768px){
  /* Abstand zwischen Video und erstem Kästchen in Über uns */
  #studio .sr { gap: 16px !important; }
  #studio .sv { margin-bottom: 0 !important; }
}


/* ── Steckbrief — voller Platz, grössere Schriften, einheitlich ── */
.tc-back {
  padding: 28px 24px !important;
  justify-content: flex-start !important;
  gap: 0 !important;
}
.bio-label {
  font-size: 10px !important;
  letter-spacing: 5px !important;
  margin-bottom: 14px !important;
}
.bio-name {
  font-size: clamp(36px, 4.5vw, 52px) !important;
  line-height: .88 !important;
  margin-bottom: 10px !important;
}
.bio-role-tag {
  font-size: 12px !important;
  padding: 6px 14px !important;
  letter-spacing: 2px !important;
  margin-bottom: 18px !important;
  display: inline-block;
}
.bio-divider {
  width: 40px !important;
  height: 2px !important;
  margin-bottom: 18px !important;
}
.bio-text {
  font-size: 14.5px !important;
  line-height: 1.7 !important;
  margin-bottom: 20px !important;
  flex: 1 !important;
}
.bio-tags {
  gap: 6px !important;
  flex-wrap: wrap;
}
.bio-tag {
  font-size: 10px !important;
  padding: 4px 10px !important;
  letter-spacing: 2px !important;
}

/* Mobile: angepasst an kleinere Karten */
@media(max-width:768px){
  .tc-back { padding: 18px 14px !important; }
  .bio-label  { font-size: 9px !important; letter-spacing: 4px; margin-bottom: 10px !important; }
  .bio-name   { font-size: clamp(22px,6vw,32px) !important; margin-bottom: 6px !important; }
  .bio-role-tag { font-size: 10px !important; padding: 4px 10px !important; margin-bottom: 12px !important; }
  .bio-divider  { margin-bottom: 12px !important; }
  .bio-text   { font-size: 12px !important; line-height: 1.6 !important; margin-bottom: 12px !important; }
  .bio-tag    { font-size: 9px !important; padding: 3px 8px !important; }
}

@media(max-width:480px){
  .tc-back    { padding: 22px 18px !important; }
  .bio-name   { font-size: clamp(28px,8vw,40px) !important; }
  .bio-text   { font-size: 13px !important; }
}


@media(max-width:768px){

  /* ── Kurs-Karten: 2x2 Grid, quadratisch/flach ── */
  .kg {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  /* Jede Karte: feste Höhe — nicht zu hoch */
  .kc {
    height: 220px !important;
    min-height: unset !important;
  }
  .kci {
    padding: 18px 16px !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
  }

  /* Icon kleiner */
  .kc-ic {
    margin-bottom: 8px !important;
    min-height: unset !important;
  }
  .kc-ic svg { width: 24px !important; height: 24px !important; }

  /* Titel gross, nimmt Platz */
  .kc h3 {
    font-size: clamp(24px,7vw,34px) !important;
    line-height: .88 !important;
    margin-bottom: 2px !important;
  }

  /* Altersangabe klein */
  .kc-ag {
    font-size: 9px !important;
    letter-spacing: 2px !important;
    margin-bottom: 8px !important;
  }

  /* Fliesstext und Liste ausblenden — zu wenig Platz */
  .kc p  { display: none !important; }
  .kc ul { display: none !important; }

  /* ── Probetraining Banner ── */
  .kpro {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
    padding: 24px 20px !important;
  }
  .kpro h4 {
    font-size: 18px !important;
    line-height: 1.2 !important;
  }
  .kpro p {
    font-size: 12px !important;
    display: block !important;
  }
  .kpro .btn {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 14px 20px !important;
  }
}

@media(max-width:380px){
  .kc { height: 200px !important; }
  .kc h3 { font-size: clamp(20px,6vw,28px) !important; }
}


/* ════ KURS-KARTEN FLIP — nur Mobile ════ */

/* Desktop: wrap = statisch, back versteckt */
.kcf-wrap       { width:100%; height:100%; }
.kcf-front      { width:100%; height:100%; }
.kcf-back       { display:none; }
.kcf-hint       { display:none; }

@media(max-width:768px){

  /* Karte selbst */
  .kc { perspective:900px; cursor:pointer; height:220px !important; min-height:unset !important; }

  /* Flip-Container */
  .kcf-wrap {
    position:relative;
    width:100%; height:100%;
    transform-style:preserve-3d;
    transition:transform .5s cubic-bezier(.4,0,.2,1);
  }
  .kc.kcf-flipped .kcf-wrap { transform:rotateY(180deg); }

  /* Vorderseite */
  .kcf-front {
    position:absolute; inset:0;
    backface-visibility:hidden; -webkit-backface-visibility:hidden;
    display:flex !important; flex-direction:column !important;
    align-items:center !important; justify-content:center !important;
    text-align:center !important; padding:14px 10px !important;
    overflow:hidden;
  }
  /* kci zentriert */
  .kcf-front .kci {
    display:flex; flex-direction:column;
    align-items:center; text-align:center;
    padding:0 !important; width:100%;
  }
  .kcf-front .kc-ic { margin-bottom:10px !important; justify-content:center; display:flex; }
  .kcf-front h3     { text-align:center !important; font-size:clamp(22px,6.5vw,30px) !important; margin-bottom:3px !important; }
  .kcf-front .kc-ag { text-align:center !important; font-size:9px !important; letter-spacing:2px; }
  /* Desktop-Inhalt (p, ul) auf Mobile ausblenden */
  .kcf-front p, .kcf-front ul { display:none !important; }

  /* Tap-Hint */
  .kcf-hint {
    display:flex !important;
    position:absolute; bottom:8px; right:8px;
    font-family:var(--fd); font-size:9px; font-weight:700;
    letter-spacing:2px; text-transform:uppercase;
    color:rgba(244,78,36,.4);
    align-items:center; gap:4px; z-index:5;
  }
  .kte .kcf-hint, .kue .kcf-hint { color:rgba(246,214,227,.45); }

  /* Rückseite */
  .kcf-back {
    display:flex !important;
    position:absolute; inset:0;
    backface-visibility:hidden; -webkit-backface-visibility:hidden;
    transform:rotateY(180deg);
    flex-direction:column; overflow:hidden;
  }
  /* Hintergründe */
  .kcf-back-kki .kcb { background:var(--cr) !important; }
  .kcf-back-kte .kcb { background:var(--ol) !important; }
  .kcf-back-kad .kcb { background:var(--pk) !important; }
  .kcf-back-kue .kcb { background:var(--or) !important; }

  /* Innerer Content */
  .kcf-bi {
    position:relative; z-index:2;
    padding:14px 13px;
    display:flex; flex-direction:column; height:100%;
  }
  /* Titel */
  .kcf-bt {
    font-family:var(--fd); font-weight:900;
    font-size:clamp(20px,5.5vw,26px); text-transform:uppercase;
    line-height:.9; margin-bottom:3px;
  }
  .kcf-back-kki .kcf-bt, .kcf-back-kad .kcf-bt { color:var(--or); }
  .kcf-back-kte .kcf-bt, .kcf-back-kue .kcf-bt { color:var(--cr); }

  /* Alter */
  .kcf-ba {
    font-family:var(--fd); font-weight:700;
    font-size:9px; letter-spacing:2px; text-transform:uppercase;
    margin-bottom:9px; opacity:.6;
  }
  .kcf-back-kki .kcf-ba, .kcf-back-kad .kcf-ba { color:var(--or); }
  .kcf-back-kte .kcf-ba, .kcf-back-kue .kcf-ba { color:var(--cr); }

  /* Linie */
  .kcf-bl { width:22px; height:1.5px; opacity:.35; margin-bottom:9px; }
  .kcf-back-kki .kcf-bl, .kcf-back-kad .kcf-bl { background:var(--or); }
  .kcf-back-kte .kcf-bl, .kcf-back-kue .kcf-bl { background:var(--cr); }

  /* Fliesstext */
  .kcf-bp {
    font-size:11px !important; line-height:1.55 !important;
    margin-bottom:9px !important; flex:1; display:block !important;
  }
  .kcf-back-kki .kcf-bp, .kcf-back-kad .kcf-bp { color:rgba(244,78,36,.82); }
  .kcf-back-kte .kcf-bp, .kcf-back-kue .kcf-bp { color:rgba(246,214,227,.85); }

  /* Liste */
  .kcf-bpts {
    list-style:none; padding:0; margin:0;
    display:flex !important; flex-direction:column; gap:3px;
  }
  .kcf-bpts li {
    font-size:10.5px; line-height:1.4;
    display:flex; align-items:center; gap:6px;
  }
  .kcf-bpts li span {
    width:4px; height:4px; flex-shrink:0;
    display:inline-block; opacity:.55;
  }
  .kcf-back-kki .kcf-bpts li,
  .kcf-back-kad .kcf-bpts li { color:rgba(244,78,36,.78); }
  .kcf-back-kki .kcf-bpts li span,
  .kcf-back-kad .kcf-bpts li span { background:var(--or); }
  .kcf-back-kte .kcf-bpts li,
  .kcf-back-kue .kcf-bpts li { color:rgba(246,214,227,.82); }
  .kcf-back-kte .kcf-bpts li span,
  .kcf-back-kue .kcf-bpts li span { background:var(--cr); }
}

@media(max-width:380px){
  .kc { height:200px !important; }
  .kcf-front h3 { font-size:clamp(18px,5.5vw,22px) !important; }
}


@media(max-width:768px){

  /* ══ 1. ANMELDEN Button — Grün ══ */
  .spn .btn,
  #splan .btn { background: var(--ol) !important; color: var(--cr) !important; }

  /* ══ 2. SO FINDEST DU UNS — alles untereinander, volle Breite ══ */
  #info > .w > div[style*="grid-template-columns"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  /* Linke Spalte (Adresse, Öffnungszeiten, Kontakt) */
  #info > .w > div[style*="grid-template-columns"] > div:first-child {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  /* Rechte Spalte (Map + Anreise) */
  #info > .w > div[style*="grid-template-columns"] > div:last-child {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    position: static !important;
  }
  /* Alle ib-Kästchen volle Breite */
  #info .ib {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  /* Map volle Breite */
  #info .mf, #info #maps-box, #info .maps-consent {
    width: 100% !important;
    min-height: 240px !important;
  }
  #info .mf iframe { height: 240px !important; }

  /* ══ 3. FOOTER — volle Breite, sauber ══ */
  footer { padding: 44px 0 28px !important; }

  /* Footer Grid: 2 Spalten statt 4 */
  .fl-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 28px 20px !important;
  }

  /* Footer Brand zentriert */
  .fl-brand {
    grid-column: 1 / -1 !important;
    text-align: left !important;
    margin-bottom: 20px !important;
  }

  /* Footer Bottom: untereinander */
  .fb {
    flex-direction: column !important;
    gap: 8px !important;
    text-align: left !important;
    padding-top: 20px !important;
    border-top: 1px solid rgba(246,214,227,.15) !important;
    margin-top: 28px !important;
  }
  .fb-links { gap: 16px !important; }
}


@media(max-width:768px){

  /* ══ FOOTER — volle Breite, aufgeräumt ══ */
  footer { padding: 44px 0 28px !important; }

  /* Padding im Container */
  .fti { padding: 0 20px !important; }

  /* Grid: Logo oben (volle Breite), dann 2 Spalten */
  .ftt {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 28px 20px !important;
    padding-bottom: 28px !important;
  }

  /* Logo-Block: volle Breite oben */
  .fb {
    grid-column: 1 / -1 !important;
    margin-bottom: 8px !important;
  }
  .fb img { height: 42px !important; width: auto !important; }

  /* Nav-Spalten kleiner */
  .fc2 h5 {
    font-size: 10px !important;
    letter-spacing: 3px !important;
    margin-bottom: 10px !important;
  }
  .fc2 li { margin-bottom: 8px !important; }
  .fc2 a  { font-size: 14px !important; }

  /* Irrelevante Spalte ausblenden: Website-Link-Spalte = Adresse */
  /* Adresse-Spalte: nur Telefon + Adresse, kein Website-Link */

  /* Footer Bottom */
  .ftb {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin-top: 20px !important;
    padding-top: 20px !important;
  }
  .ftb p { font-size: 11px !important; }
  .ftb-l { gap: 16px !important; }
  .ftb-l a { font-size: 12px !important; }

  /* Instagram + Anrufen Buttons */
  .fts {
    display: flex !important;
    gap: 10px !important;
    margin-top: 14px !important;
  }
  .fts a {
    font-size: 11px !important;
    padding: 9px 16px !important;
  }
}


@media(max-width:768px){
  /* Anmelden Button grün */
  #splan .btn.bor,
  #splan a.btn,
  .spn a.btn,
  .spn .btn {
    background: var(--ol) !important;
    color: var(--cr) !important;
    border-color: var(--ol) !important;
  }
}


/* ── Flip Karten via .tapped (JS) ── */
.tc.tapped .tci { transform: rotateY(180deg) !important; }
.mk.tapped .mki { transform: rotateY(180deg) !important; }


/* ── Team Flip — Webkit Fix für iOS Safari ── */
.tci {
  -webkit-transform-style: preserve-3d !important;
  transform-style: preserve-3d !important;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(.4,0,.2,1) !important;
  transition: transform 0.6s cubic-bezier(.4,0,.2,1) !important;
}
.tc { -webkit-perspective: 1200px !important; perspective: 1200px !important; }
.tc-front, .tc-back {
  -webkit-backface-visibility: hidden !important;
  backface-visibility: hidden !important;
}


/* Hover-Flip nur auf Geräten mit echter Maus */
@media(hover: hover) and (pointer: fine) {
  .tc:hover .tci { transform: rotateY(180deg) !important; }
  .mk:hover .mki { transform: rotateY(180deg) !important; }
}
/* Touch: nur via .tapped */
@media(hover: none) {
  .tc:hover .tci { transform: none !important; }
  .mk:hover .mki { transform: none !important; }
}
.tc.tapped .tci { transform: rotateY(180deg) !important; }
.mk.tapped .mki { transform: rotateY(180deg) !important; }

/* iOS: cursor + tap */
.tc, .mk { cursor: pointer; -webkit-tap-highlight-color: transparent; }


/* ══ TEAM KARTEN — Kein 3D Flip, stattdessen Fade (iOS-kompatibel) ══ */
@media(max-width:768px){

  .tc {
    position: relative;
    height: 480px !important;
    overflow: hidden;
  }

  /* tci: normaler Container, kein 3D */
  .tci {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    transform-style: flat !important;
    -webkit-transform-style: flat !important;
    transform: none !important;
    transition: none !important;
  }

  /* Vorderseite: absolut, volle Fläche */
  .tc-front {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    backface-visibility: visible !important;
    -webkit-backface-visibility: visible !important;
    transform: none !important;
    opacity: 1;
    transition: opacity 0.35s ease !important;
    z-index: 2;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  /* Rückseite: absolut, volle Fläche, zunächst unsichtbar */
  .tc-back {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    backface-visibility: visible !important;
    -webkit-backface-visibility: visible !important;
    transform: none !important;
    opacity: 0;
    transition: opacity 0.35s ease !important;
    z-index: 1;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: 22px 18px !important;
    pointer-events: none;
  }

  /* Tapped: Vorderseite fade-out, Rückseite fade-in */
  .tc.tapped .tc-front {
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: 1 !important;
  }
  .tc.tapped .tc-back {
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 2 !important;
  }

  /* Rückseiten-Hintergründe sicherstellen */
  .tc1 .tc-back { background: linear-gradient(155deg, var(--or) 0%, #F44E24 100%); }
  .tc2 .tc-back { background: linear-gradient(155deg, var(--ol) 0%, var(--ol2) 100%); }
  .tc3 .tc-back { background: linear-gradient(155deg, var(--pk) 0%, var(--pk2) 100%); }

  /* Bio Text Grössen */
  .bio-label    { font-size: 9px !important; letter-spacing: 4px; margin-bottom: 10px !important; }
  .bio-name     { font-size: clamp(24px,7vw,34px) !important; margin-bottom: 5px !important; }
  .bio-role-tag { font-size: 10px !important; padding: 4px 10px !important; margin-bottom: 14px !important; display: inline-block; }
  .bio-divider  { margin-bottom: 14px !important; width: 28px !important; }
  .bio-text     { font-size: 12px !important; line-height: 1.65 !important; margin-bottom: 14px !important; }
  .bio-tag      { font-size: 8px !important; padding: 3px 7px !important; }
  .bio-tags     { gap: 4px !important; }

  /* Foto in Vorderseite korrekt */
  .tcs {
    position: relative !important;
    z-index: 4 !important;
    flex: 1 !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    overflow: hidden !important;
    padding: 0 8px !important;
  }
  .tcs img {
    max-height: 280px !important;
    height: auto !important;
    width: auto !important;
    max-width: 95% !important;
    object-fit: contain !important;
    object-position: bottom center !important;
  }
}

@media(max-width:480px){
  .tc { height: 520px !important; }
  .tcs img { max-height: 300px !important; }
  .bio-name { font-size: clamp(28px,8vw,38px) !important; }
  .bio-text { font-size: 13px !important; }
}


/* Desktop Hover-Flip bleibt */
@media(hover: hover) and (pointer: fine){
  .tc:hover .tci { transform: rotateY(180deg) !important; }
  .mk:hover .mki { transform: rotateY(180deg) !important; }
  /* Mobile-CSS überschreiben */
  .tc { height: auto !important; }
  .tc-front, .tc-back {
    position: absolute !important;
    opacity: 1 !important;
    transition: none !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
  }
  @media(hover: hover) and (pointer: fine){ .tc-back { transform: rotateY(180deg) !important; } }
  .tci {
    transform-style: preserve-3d !important;
    -webkit-transform-style: preserve-3d !important;
    transition: transform 0.65s cubic-bezier(.4,0,.2,1) !important;
    height: 100% !important;
    min-height: 580px !important;
  }
}


/* ══ FIX: Rückseite NICHT gespiegelt + Portrait grösser ══ */
@media(max-width:768px){

  /* Rückseite: kein rotateY — nur opacity */
  .tc-back {
    transform: none !important;
    -webkit-transform: none !important;
  }

  /* Portrait: grösser, direkt unter den Styles */
  .tcs {
    flex: 1 !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin-top: 0 !important;
  }
  .tcs img,
  .tcs-linda img,
  .tcs-jana img,
  .tcs-saeka img {
    height: 100% !important;
    width: 100% !important;
    max-height: none !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: top center !important;
    display: block !important;
  }

  /* tct (Text oben) — kompakt, kein extra Abstand nach unten */
  .tct {
    position: relative;
    z-index: 4;
    padding: 14px 14px 6px !important;
    flex-shrink: 0 !important;
  }

  /* Karte etwas höher für mehr Portraitplatz */
  .tc { height: 500px !important; }
  .tci { min-height: 500px !important; height: 500px !important; }
  .tc-front, .tc-back { min-height: 500px !important; }
}

@media(max-width:480px){
  .tc { height: 520px !important; }
  .tci { min-height: 520px !important; height: 520px !important; }
  .tc-front, .tc-back { min-height: 520px !important; }
}


/* ══════════════════════════════════════════════
   FINALE MOBILE KARTEN-FIX — Alles überschreiben
══════════════════════════════════════════════ */
@media(max-width:768px){

  /* tci: kein 3D */
  .tci {
    transform: none !important;
    -webkit-transform: none !important;
    transform-style: flat !important;
    -webkit-transform-style: flat !important;
    transition: none !important;
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
  }

  /* tapped: kein rotateY auf tci */
  .tc.tapped .tci {
    transform: none !important;
    -webkit-transform: none !important;
  }

  /* Vorderseite: sichtbar by default */
  .tc-front {
    position: absolute !important;
    inset: 0 !important;
    transform: none !important;
    -webkit-transform: none !important;
    backface-visibility: visible !important;
    -webkit-backface-visibility: visible !important;
    opacity: 1 !important;
    transition: opacity 0.3s ease !important;
    z-index: 2 !important;
    pointer-events: auto !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  /* Rückseite: NICHT gespiegelt, NICHT sichtbar by default */
  .tc-back {
    position: absolute !important;
    inset: 0 !important;
    transform: none !important;              /* KEIN rotateY! */
    -webkit-transform: none !important;
    backface-visibility: visible !important;
    -webkit-backface-visibility: visible !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
    z-index: 1 !important;
    pointer-events: none !important;
  }

  /* Tapped: Vorderseite weg, Rückseite sichtbar */
  .tc.tapped .tc-front {
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: 1 !important;
  }
  .tc.tapped .tc-back {
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 2 !important;
  }

  /* Karten-Container */
  .tc {
    height: 500px !important;
    overflow: hidden !important;
    position: relative !important;
  }

  /* Portrait: gross, direkt unter Text, unten bündig */
  .tcs {
    position: relative !important;
    z-index: 4 !important;
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .tcs img,
  .tcs-linda img,
  .tcs-jana img,
  .tcs-saeka img {
    display: block !important;
    height: 100% !important;
    width: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: top center !important;
  }

  /* Text-Block oben: kompakt */
  .tct {
    position: relative !important;
    z-index: 4 !important;
    padding: 14px 14px 4px !important;
    flex-shrink: 0 !important;
  }
  .tcn  { font-size: 9px !important; margin-bottom: 2px !important; }
  .tcna { font-size: clamp(18px,5vw,26px) !important; margin-bottom: 3px !important; }
  .tcr  { font-size: 9px !important; padding: 3px 8px !important; margin-bottom: 4px !important; display: inline-block; }
  .tctg span { font-size: 8px !important; padding: 2px 5px !important; }
}

@media(max-width:480px){
  .tc { height: 520px !important; }
}



/* ── Datenschutz / Impressum Modals ── */
.lg-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(85,56,175,.75);
  z-index: 9999;
  align-items: flex-start;
  justify-content: center;
  overflow-y: auto;
  padding: 40px 20px 60px;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.lg-box {
  background: var(--cr);
  max-width: 720px;
  width: 100%;
  padding: 52px 56px;
  position: relative;
  margin: auto;
}
.lg-close {
  position: absolute;
  top: 22px; right: 26px;
  font-family: var(--fd);
  font-size: 11px; font-weight: 700;
  letter-spacing: 3px; text-transform: uppercase;
  color: var(--or); cursor: pointer;
  background: none; border: none;
  display: flex; align-items: center; gap: 6px;
  padding: 0;
}
.lg-close:hover { opacity: .7; }
.lg-sub {
  font-family: var(--fd);
  font-size: 10px; font-weight: 700;
  letter-spacing: 4px; text-transform: uppercase;
  color: var(--or); opacity: .45;
  display: block; margin-bottom: 8px;
}
.lg-box h2 {
  font-family: var(--fd); font-weight: 900;
  font-size: clamp(28px,4vw,44px);
  text-transform: uppercase;
  color: var(--or); margin: 0 0 0;
}
.lg-divider {
  width: 36px; height: 2px;
  background: var(--or); opacity: .2;
  margin: 22px 0 30px;
}
.lg-box h3 {
  font-family: var(--fd); font-weight: 800;
  font-size: 12px; letter-spacing: 2px;
  text-transform: uppercase; color: var(--or);
  margin: 26px 0 8px;
}
.lg-box p {
  font-size: 14px; line-height: 1.8;
  color: rgba(244,78,36,.7); margin: 0 0 10px;
}
.lg-box a { color: var(--or); }
.lg-box ul { padding-left: 16px; margin: 6px 0 10px; }
.lg-box li { font-size: 14px; line-height: 1.75; color: rgba(244,78,36,.7); margin-bottom: 4px; }
.lg-stamp { font-size: 11px; opacity: .35; color: var(--or); margin-top: 32px; display: block; }
@media(max-width:768px){
  .lg-box { padding: 44px 24px 36px; }
  .lg-box h2 { font-size: clamp(24px,8vw,34px); }
}


/* Standard (Desktop): Mobile-Varianten ausgeblendet */
.hero-cta-mobile{ display:none; }
.footer-nav-mobile{ display:none; }

/* ════════════════════════════════════════════════════════════════
   MOBILE-VERSION (index_3) — gilt NUR unter 960px.
   Desktop bleibt zu 100% unveraendert wie im Original (Index 2).
   ════════════════════════════════════════════════════════════════ */
@media(max-width:960px){

  /* Angebot-Sektion auf Mobile ausgeblendet */
  #kurse{ display:none !important; }

  /* Hero: links ausgerichtet statt zentriert */
  .hb{ text-align:center !important; align-items:center !important; width:100% !important; max-width:100% !important; }
  .hli{ margin-left:auto !important; margin-right:auto !important; }
  .hbt{ justify-content:center !important; }
  .hsc{ left:50% !important; right:auto !important; transform:translateX(-50%) !important; align-items:center !important; }

  /* Hero-Buttons: Desktop-/Mobile-Variante tauschen */
  .hero-cta-desktop{ display:none !important; }
  .hero-cta-mobile{ display:inline-flex !important; }

  /* Footer-Navigation: Desktop-/Mobile-Variante tauschen */
  .footer-nav-desktop{ display:none !important; }
  .footer-nav-mobile{ display:list-item !important; }

  /* Instagram-Sektion: links ausgerichtet statt zentriert */
  #social{ text-align:left !important; }
  #social .w{ text-align:left !important; }

  /* Karten-Konsent (Google Maps): links ausgerichtet */
  .maps-consent{ align-items:flex-start !important; text-align:left !important; }

  /* Mieten-Sektion: gleicher Abstand wie restliche Sektionen */
  #mieten{ padding:100px 0 !important; }

  /* Einheitlicher Grid-Abstand */
  .facts-grid{ gap:40px !important; }
  .sg{ gap:40px !important; }
  #info .infg{ gap:40px !important; }
  .kg2{ gap:40px !important; }

  /* Einheitliche Titel- und Textgroessen */
  .frow h4{ font-size:20px !important; }
  .frow p{ font-size:16px !important; line-height:1.85 !important; }
  .ibh h4{ font-size:20px !important; }
  #info .ibh h4{ font-size:20px !important; }
  .ib p,.ib a{ font-size:16px !important; }
  .fl p{ font-size:16px !important; }
  .st p{ font-size:16px !important; line-height:1.85 !important; }
  .thd p{ font-size:16px !important; }
  .kl > p{ font-size:16px !important; line-height:1.85 !important; }
  .spn p{ font-size:16px !important; line-height:1.85 !important; }
  .tc-centre .tcna,
  .tc-side .tcna,
  .tcna{ font-size:20px !important; line-height:1.1 !important; }
}


/* ══ UNTERSEITEN (nur .unterseite – betrifft die Startseite nicht) ══ */
.unterseite .up{padding:130px 48px 90px;}
.unterseite .up-in{max-width:820px;margin:0 auto;}
.unterseite .up-crumb{font-family:var(--fd);font-size:12px;letter-spacing:3px;text-transform:uppercase;margin-bottom:24px;}
.unterseite .up-crumb a{color:var(--or);}
.unterseite .up .h1{font-size:clamp(40px,6vw,72px);margin-bottom:28px;}
.unterseite .up-lead{font-size:20px;line-height:1.55;margin-bottom:40px;}
.unterseite .up h2{font-family:var(--fd);font-weight:800;font-size:30px;text-transform:uppercase;letter-spacing:1px;margin:44px 0 14px;}
.unterseite .up p,.unterseite .up li{font-size:17px;line-height:1.7;margin-bottom:14px;}
@media(max-width:959px){.unterseite .up{padding:110px 24px 70px;}}
.unterseite .up a{color:var(--or);text-decoration:underline;text-underline-offset:3px;}

/* ══ PREISE im Stundenplan (neu, nur neue Klassen) ══ */
#splan .sl-p{font-family:var(--fb);font-size:12px;font-weight:600;color:var(--or);margin-top:6px;letter-spacing:.2px;}
#splan .sl-p-abo{display:inline-block;margin-left:8px;padding:1px 7px;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;background:#D0D5FD;color:var(--ol2);}
.pb{margin-top:48px;}
.pb-i{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.pb-c{background:#D0D5FD;border-top:4px solid var(--pk2);padding:22px 20px 20px;display:flex;flex-direction:column;gap:4px;}
.pb-c.pb-free{background:transparent;border-top-color:var(--ol);}
.pb-c.pb-kk{background:rgba(244,78,36,.08);border-top-color:var(--or);}
.pb-k{font-family:var(--fd);font-weight:700;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:rgba(244,78,36,.6);}
.pb-v{font-family:var(--fd);font-weight:900;font-size:34px;line-height:1.05;color:var(--or);}
.pb-t{font-size:14px;line-height:1.45;color:var(--or);opacity:.85;}
.pb-a{display:inline-block;margin-top:18px;font-family:var(--fd);font-weight:700;font-size:14px;letter-spacing:2px;text-transform:uppercase;color:var(--or);text-decoration:none;border-bottom:2px solid var(--or);padding-bottom:3px;}
.pb-a:hover{opacity:.75;}
@media(max-width:960px){.pb{margin-top:36px;}.pb-i{grid-template-columns:1fr 1fr;gap:10px;}.pb-c{padding:18px 14px 16px;}.pb-v{font-size:28px;}.pb-t{font-size:13px;}.pb-a{font-size:13px;letter-spacing:1.5px;}}
@media(max-width:400px){.pb-i{grid-template-columns:1fr;}}

/* ══ SEITE /preise/ (nur .pr) ══ */
.unterseite .pr-in{max-width:1080px;}
.unterseite .pr .up-lead strong{font-weight:700;}
.pr-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:10px 0 56px;align-items:stretch;}
.pr-card{position:relative;padding:30px 26px 28px;display:flex;flex-direction:column;border-top:5px solid var(--ol);background:transparent;}
.pr-card.pr-c2{background:var(--or);border-top-color:var(--pk);color:var(--cr);transform:translateY(-8px);box-shadow:0 18px 40px rgba(244,78,36,.18);}
.pr-card.pr-c3{background:#D0D5FD;border-top-color:var(--pk2);}
.pr-badge{position:absolute;top:-5px;right:18px;background:var(--pk);color:var(--or);font-family:var(--fd);font-weight:700;font-size:11px;letter-spacing:2px;text-transform:uppercase;padding:6px 12px;}
.pr-k{font-family:var(--fd);font-weight:700;font-size:12px;letter-spacing:3px;text-transform:uppercase;opacity:.75;}
.pr-v{font-family:var(--fd);font-weight:900;font-size:56px;line-height:1;margin-top:10px;}
.pr-u{font-family:var(--fd);font-weight:700;font-size:15px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:18px;opacity:.85;}
.unterseite .pr-card ul{list-style:none;padding:0;margin:0 0 6px;}
.unterseite .pr-card li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.45;margin-bottom:9px;}
.pr-card li svg{flex:0 0 18px;margin-top:1px;}
.pr-c1 li svg,.pr-c3 li svg{color:var(--ol2);}
.pr-card.pr-c2 li svg{color:var(--pk);}
.unterseite .pr-card a.pr-btn{margin-top:auto;color:var(--cr);text-decoration:none;justify-content:center;}
.pr-calc{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:#D0D5FD;padding:24px 26px;}
.pr-calc>div{display:flex;flex-direction:column;}
.pr-cn{font-family:var(--fd);font-weight:900;font-size:44px;line-height:1;}
.pr-ct{font-size:13px;letter-spacing:.3px;opacity:.8;}
.pr-op{font-family:var(--fd);font-weight:700;font-size:32px;opacity:.5;}
.pr-res{background:var(--or);color:var(--cr);padding:10px 16px;}
.unterseite .up p.pr-note{font-size:14px;opacity:.75;margin-top:12px;}
.pr-table{border-top:2px solid rgba(244,78,36,.15);}
.pr-row{display:grid;grid-template-columns:1fr auto 170px;gap:16px;align-items:center;padding:14px 4px;border-bottom:1px solid rgba(244,78,36,.12);}
.pr-rn strong{display:block;font-family:var(--fd);font-weight:700;font-size:19px;}
.pr-rn span{font-size:13px;opacity:.75;}
.pr-rp{font-family:var(--fd);font-weight:800;font-size:22px;white-space:nowrap;}
.pr-rp small{font-family:var(--fb);font-weight:500;font-size:12px;margin-left:4px;opacity:.7;}
.pr-ra{text-align:right;}
.pr-yes,.pr-no{display:inline-block;font-family:var(--fd);font-weight:700;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:5px 10px;}
.pr-yes{background:#D0D5FD;color:var(--ol2);}
.pr-no{background:rgba(244,78,36,.07);color:rgba(244,78,36,.7);}
.pr-kk{margin:64px 0 10px;padding:40px 36px;background:var(--pk);overflow:visible;}
.unterseite .pr-kk h2{margin-top:6px;}
.pr-kkg{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 26px;}
.pr-kkg>div{background:var(--cr);padding:18px 18px 16px;display:flex;flex-direction:column;gap:3px;border-left:4px solid var(--or);}
.pr-kkg strong{font-family:var(--fd);font-weight:800;font-size:20px;text-transform:uppercase;letter-spacing:.5px;}
.pr-kkg span{font-size:15px;}
.pr-kkg em{font-style:normal;font-size:13px;opacity:.75;}
.unterseite .pr-steps{list-style:none;padding:0;margin:0 0 10px;display:flex;gap:12px;flex-wrap:wrap;}
.unterseite .pr-steps li{display:flex;align-items:center;gap:10px;background:rgba(246,214,227,.7);padding:10px 16px 10px 10px;font-weight:600;margin:0;}
.pr-steps li span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--or);color:var(--cr);font-family:var(--fd);font-weight:800;}
.pr-faq{border-top:2px solid rgba(244,78,36,.15);}
.pr-q{border-bottom:1px solid rgba(244,78,36,.12);padding:4px 0;}
.pr-q summary{cursor:pointer;list-style:none;font-family:var(--fd);font-weight:700;font-size:19px;padding:14px 36px 14px 0;position:relative;}
.pr-q summary::-webkit-details-marker{display:none;}
.pr-q summary::after{content:'+';position:absolute;right:6px;top:8px;font-size:28px;font-weight:400;transition:transform .2s;}
.pr-q[open] summary::after{transform:rotate(45deg);}
.unterseite .pr-q p{margin:0 0 16px;}
.pr-cta{margin-top:56px;padding:34px 30px;background:#D0D5FD;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.unterseite .pr-cta p{margin:0;}
.unterseite .pr-cta a.btn{color:var(--cr);text-decoration:none;}
@media(max-width:960px){
 .pr-cards{grid-template-columns:1fr;gap:14px;}
 .pr-card.pr-c2{transform:none;order:-1;}
 .pr-v{font-size:48px;}
 .pr-row{grid-template-columns:1fr auto;}
 .pr-ra{grid-column:1 / -1;text-align:left;margin-top:-6px;}
 .pr-kk{padding:30px 20px;margin-left:-4px;margin-right:-4px;}
 .pr-kkg{grid-template-columns:1fr;}
 .pr-calc{gap:10px;padding:20px;}
 .pr-cn{font-size:34px;}
 .pr-op{font-size:24px;}
}

/* H1 um Hero-Logo: kein eigener Kasten, Layout unverändert */
h1.hh1{display:contents;}

/* ══ SEITE /probetraining/ (nur .pt) ══ */
.unterseite .pt-steps{list-style:none;padding:0;margin:8px 0 56px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.unterseite .pt-steps li{margin:0;background:#D0D5FD;border-top:4px solid var(--pk2);padding:22px 20px;display:flex;flex-direction:column;gap:6px;}
.pt-steps li:nth-child(2){background:transparent;border-top-color:var(--ol);}
.pt-steps li:nth-child(3){background:rgba(244,78,36,.08);border-top-color:var(--or);}
.pt-steps span{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--or);color:var(--cr);font-family:var(--fd);font-weight:900;font-size:20px;margin-bottom:6px;}
.pt-steps strong{font-family:var(--fd);font-weight:800;font-size:22px;text-transform:uppercase;letter-spacing:.5px;}
.pt-steps em{font-style:normal;font-size:15px;line-height:1.45;opacity:.85;}
.pt-bring{display:grid;grid-template-columns:260px 1fr;gap:30px;align-items:start;background:var(--pk);padding:36px;margin-bottom:56px;}
.unterseite .pt-bring h2{margin:8px 0 0;}
.unterseite .pt-bring ul{list-style:none;padding:0;margin:0;}
.unterseite .pt-bring li{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px;}
.pt-bring li svg{flex:0 0 22px;margin-top:2px;}
.pt-bring li span{display:flex;flex-direction:column;font-size:15px;line-height:1.45;}
.pt-bring li strong{font-family:var(--fd);font-weight:800;font-size:19px;text-transform:uppercase;letter-spacing:.5px;}
.unterseite .pt-bring p.pt-fun{grid-column:1 / -1;margin:0;padding:16px 20px;background:var(--cr);font-family:var(--fd);font-weight:800;font-size:22px;letter-spacing:.3px;text-align:center;}
.pt-form{background:var(--or);color:var(--cr);padding:40px 36px;margin-bottom:56px;scroll-margin-top:90px;}
.unterseite .pt-form h2{color:var(--cr);margin-top:0;}
.unterseite .pt-form p.pt-form-l{color:rgba(246,214,227,.85);margin-bottom:22px;}
.unterseite .pt-form a{color:var(--cr);}
.pt-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.pt-form .fck{justify-content:flex-start;color:rgba(246,214,227,.75);}
.unterseite .pt-form select{color:var(--cr);}
@media(max-width:960px){
 .unterseite .pt-steps{grid-template-columns:1fr;gap:10px;}
 .pt-bring{grid-template-columns:1fr;gap:14px;padding:26px 20px;}
 .unterseite .pt-bring p.pt-fun{font-size:18px;}
 .pt-form{padding:28px 20px;}
 .pt-grid{grid-template-columns:1fr;}
}

/* ══ SEITE /kurse/ (nur .ku) ══ */
.ku-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 40px;}
.unterseite .ku-chips a.ku-chip{display:inline-flex;flex-direction:column;padding:12px 18px;text-decoration:none;font-family:var(--fd);font-weight:800;font-size:17px;text-transform:uppercase;letter-spacing:.5px;color:var(--cr);transition:transform .2s;}
.ku-chip small{font-family:var(--fb);font-weight:500;font-size:12px;text-transform:none;letter-spacing:0;opacity:.85;}
.ku-chip:hover{transform:translateY(-2px);}
.ku-chip.ku-pk2{background:var(--pk2);} .ku-chip.ku-ol{background:var(--ol);} .ku-chip.ku-or{background:var(--or);} .ku-chip.ku-ol2{background:var(--ol2);}
.ku-sec{margin-bottom:40px;scroll-margin-top:90px;overflow:visible;}
.ku-sech{display:flex;align-items:baseline;gap:14px;border-bottom:3px solid;margin-bottom:18px;padding-bottom:6px;}
.unterseite .ku-sech h2{margin:0;}
.ku-sech span{font-family:var(--fd);font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;opacity:.7;}
.ku-sech.ku-pk2{border-color:var(--pk2);} .ku-sech.ku-ol{border-color:var(--ol);} .ku-sech.ku-or{border-color:var(--or);} .ku-sech.ku-ol2{border-color:var(--ol2);}
.ku-card{background:rgba(246,214,227,.6);border-left:5px solid var(--or);margin-bottom:16px;padding:24px 26px;scroll-margin-top:90px;box-shadow:0 2px 0 rgba(244,78,36,.06);}
.ku-card.ku-pk2{border-left-color:var(--pk2);background:transparent;}
.ku-card.ku-ol{border-left-color:var(--ol);background:transparent;}
.ku-card.ku-or{border-left-color:var(--or);background:rgba(244,78,36,.06);}
.ku-card.ku-ol2{border-left-color:var(--ol2);background:rgba(33,19,80,.12);}
.ku-card:target{outline:3px solid var(--or);outline-offset:3px;}
.ku-card .ku-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;}
.unterseite .ku-card h3{font-family:var(--fd);font-weight:900;font-size:30px;text-transform:uppercase;line-height:1;margin:0 0 6px;}
.unterseite .ku-card p.ku-meta{font-size:14px;margin:0;opacity:.8;}
.ku-age{flex:0 0 auto;font-family:var(--fd);font-weight:700;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;background:var(--or);color:var(--cr);padding:6px 10px;}
.ku-pk2 .ku-age{background:var(--pk2);} .ku-ol .ku-age{background:var(--ol);} .ku-ol2 .ku-age{background:var(--ol2);}
.ku-cols{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.unterseite .ku-card h4{font-family:var(--fd);font-weight:700;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;margin:0 0 8px;opacity:.7;}
.unterseite .ku-card h4.ku-h4n{margin-top:14px;}
.unterseite .ku-card ul{list-style:none;padding:0;margin:0;}
.unterseite .ku-card li{display:flex;gap:9px;align-items:flex-start;font-size:15px;line-height:1.45;margin-bottom:6px;}
.ku-card li svg{flex:0 0 16px;margin-top:3px;}
.ku-l svg{color:var(--ol2);} .ku-g svg{color:var(--or);}
.unterseite .ku-card ul.ku-n li{opacity:.7;}
.ku-card .ku-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px dashed rgba(244,78,36,.25);}
.ku-price{font-family:var(--fd);font-weight:800;font-size:22px;}
.ku-price small{font-family:var(--fb);font-weight:500;font-size:13px;opacity:.75;}
.ku-price em{font-style:normal;margin-left:10px;font-family:var(--fd);font-weight:700;font-size:11px;letter-spacing:1px;text-transform:uppercase;background:#D0D5FD;color:var(--ol2);padding:3px 8px;vertical-align:middle;}
.unterseite .ku-card a.btn{color:var(--cr);text-decoration:none;}
@media(max-width:960px){
 .ku-cols{grid-template-columns:1fr;gap:12px;}
 .ku-card{padding:20px 18px;}
 .unterseite .ku-card h3{font-size:26px;}
 .ku-card .ku-head{flex-direction:column;gap:8px;}
 .ku-card .ku-foot .btn{width:100%;justify-content:center;}
 .unterseite .ku-chips a.ku-chip{flex:1 1 45%;}
}

/* ══ SEITE /stundenplan/ ══ */
.unterseite .sp-head{padding-bottom:0;}
.unterseite #splan.sp-page{padding-top:30px;}
#splan a.sl-n{text-decoration:none;color:var(--or);}
#splan a.sl-n:hover{text-decoration:underline;text-underline-offset:3px;}
.unterseite .sp-foot{padding-top:10px;}
@media(max-width:960px){.unterseite #splan.sp-page{padding-top:10px !important;}}
.pb-a.pb-a2{margin-left:28px;}
@media(max-width:960px){.pb-a.pb-a2{margin-left:0;display:table;margin-top:14px;}}
.unterseite #splan.sp-page{padding-bottom:30px;}

/* ══ KURS-DETAILSEITEN (.cp) ══ */
.unterseite .up p.cp-answer{font-size:19px;line-height:1.6;background:#D0D5FD;border-left:5px solid var(--or);padding:20px 22px;margin-bottom:22px;}
.unterseite .cp-cta1 a.btn,.unterseite .cp a.btn,.unterseite .kt a.btn,.unterseite .fq a.btn{color:var(--cr);text-decoration:none;}
.cp-two,.kt-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.cp-box{background:transparent;padding:20px 22px;}
.cp-box.cp-no{background:rgba(244,78,36,.05);}
.unterseite .cp-box h3{font-family:var(--fd);font-weight:800;font-size:19px;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;}
.unterseite .cp-box ul{list-style:none;padding:0;margin:0;}
.unterseite .cp-box li,.unterseite .cp-bring li{display:flex;gap:9px;align-items:flex-start;font-size:16px;line-height:1.45;margin-bottom:8px;}
.cp-box li svg,.cp-bring li svg{flex:0 0 16px;margin-top:3px;}
.unterseite .cp-box ul.ku-n li{opacity:.75;}
.unterseite .cp-box p{margin:0;}
.pr-ra a.pr-yes{text-decoration:none;}
.cp-price{display:flex;gap:14px;flex-wrap:wrap;}
.cp-price>div{flex:1 1 160px;background:#D0D5FD;border-top:4px solid var(--pk2);padding:18px 20px;display:flex;flex-direction:column;}
.cp-price>div:first-child{background:transparent;border-top-color:var(--ol);}
.cp-pv{font-family:var(--fd);font-weight:900;font-size:40px;line-height:1.05;margin-top:6px;}
.cp-pu{font-size:13px;opacity:.75;}
.cp-teach{display:flex;gap:22px;align-items:flex-start;background:rgba(246,214,227,.7);border:1px solid rgba(244,78,36,.12);padding:18px;margin-bottom:12px;}
.cp-teach img{width:120px;height:140px;object-fit:cover;object-position:top;flex:0 0 120px;background:var(--pk);}
.unterseite .cp-teach h3{font-family:var(--fd);font-weight:900;font-size:24px;text-transform:uppercase;margin:0 0 6px;}
.unterseite .cp-teach p{font-size:15px;margin:0;}
.unterseite .cp-bring{list-style:none;padding:0;margin:0;}
.cp-bring svg{color:var(--ol2);}
.unterseite h2.cp-relh{margin-top:48px;}
.cp-rels{display:flex;flex-wrap:wrap;gap:10px;}
.unterseite .cp-rels a.cp-rel{text-decoration:none;font-family:var(--fd);font-weight:700;font-size:15px;letter-spacing:1px;text-transform:uppercase;border:2px solid var(--or);padding:10px 16px;}
.unterseite .cp-rels a.cp-rel:hover{background:var(--or);color:var(--cr);}
/* Kontakt */
.kt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:6px 0 10px;}
.unterseite a.kt-c{display:flex;flex-direction:column;gap:6px;text-decoration:none;background:#D0D5FD;border-top:4px solid var(--pk2);padding:18px;word-break:break-word;}
.unterseite a.kt-c strong{font-family:var(--fd);font-weight:800;font-size:17px;}
.unterseite a.kt-c:hover{background:#D0D5FD;}
.kt-map{margin:16px 0 56px;min-height:260px;background:var(--pk);display:flex;}
.kt-map .maps-consent{flex:1;}
.kt-map.maps-loaded iframe,.kt-map iframe{width:100%;min-height:360px;border:0;}
.pr-ra .ku-foot-link{font-size:12px;}
.ku-more{font-family:var(--fd);font-weight:700;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;margin-left:14px;}
@media(max-width:960px){
 .cp-two,.kt-two{grid-template-columns:1fr;}
 .kt-grid{grid-template-columns:1fr 1fr;}
 .cp-teach{flex-direction:column;}
 .cp-teach img{width:100%;height:260px;flex:none;}
 .unterseite .up p.cp-answer{font-size:17px;padding:16px;}
}
@media(max-width:420px){.kt-grid{grid-template-columns:1fr;}}

/* ══ Abstände nachgezogen ══ */
.pb + .spn{padding-top:36px !important;}
.pb + .spn > p{display:none;}
.unterseite #splan.sp-page .w{max-width:1080px;padding:0;}
.unterseite .sp-foot .pr-cta{margin-top:24px;}
.ku-chips{margin-bottom:28px;}
.ku-sec{margin-bottom:28px;}
@media(max-width:960px){
 .pb + .spn{padding-top:28px !important;}
 .unterseite #splan.sp-page .w{padding:0 24px;}
}

/* ══ STARTSEITE als Übersicht (gekürzt) ══ */
.klinks{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;}
.klinks a{font-family:var(--fd);font-weight:700;font-size:14px;letter-spacing:2px;text-transform:uppercase;color:var(--cr);text-decoration:none;border:1.5px solid rgba(246,214,227,.5);padding:11px 18px;transition:background .2s,color .2s;}
.klinks a:hover,.klinks a.klinks-all{background:var(--cr);color:var(--or);border-color:var(--cr);}
.sp-links{margin-top:30px;}
.sp-links + .spn{padding-top:28px !important;}
.sp-links + .spn > p{display:none;}
.istrip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.is-c{background:rgba(246,214,227,.55);border-top:4px solid var(--or);padding:20px 20px 22px;display:flex;flex-direction:column;gap:6px;}
.is-k{font-family:var(--fd);font-weight:700;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:rgba(244,78,36,.6);}
.is-c strong{font-family:var(--fd);font-weight:800;font-size:21px;line-height:1.2;color:var(--or);}
.is-links{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:28px;}
.kcta{background:var(--or);padding:90px 0;}
.kcta-in{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:end;}
.kcta-in p{color:rgba(246,214,227,.85);font-size:17px;line-height:1.6;max-width:520px;margin-top:18px;}
.kcta-b{display:flex;flex-direction:column;align-items:flex-start;gap:16px;}
.kcta-b .btn{font-size:16px;padding:18px 40px;}
.kcta-l{font-family:var(--fd);font-weight:700;font-size:14px;letter-spacing:2px;text-transform:uppercase;color:var(--cr);text-decoration:none;border-bottom:1.5px solid rgba(246,214,227,.5);padding-bottom:3px;}
.kcta-l:hover{border-color:var(--cr);}
@media(max-width:960px){
  section#kurse{display:block !important;padding:64px 0 !important;}
  .klinks{gap:8px;margin-top:22px;}
  .klinks a{font-size:12px;letter-spacing:1.5px;padding:10px 12px;flex:1 1 45%;text-align:center;}
  .klinks a.klinks-all{flex-basis:100%;}
  .istrip{grid-template-columns:1fr 1fr;gap:10px;}
  .is-c{padding:16px 14px;}
  .is-c strong{font-size:17px;}
  #info{padding:64px 0 !important;}
  .is-links{gap:18px;}
  .kcta{padding:64px 0 !important;}
  .kcta-in{grid-template-columns:1fr;gap:26px;}
  .kcta-b .btn{width:100%;justify-content:center;}
}
/* Startseite: kompakter Stundenplan auf dem Handy (nicht auf /stundenplan/) */
@media(max-width:960px){
  #splan:not(.sp-page) .sl{display:grid !important;grid-template-columns:96px 1fr;column-gap:10px;row-gap:5px;padding:12px 14px !important;align-items:start;}
  #splan:not(.sp-page) .sl-t{grid-column:1;grid-row:1 / span 2;padding-top:3px;}
  #splan:not(.sp-page) .sl-n{grid-column:2;grid-row:1;font-size:17px !important;line-height:1.2;}
  #splan:not(.sp-page) .sl-sub{display:none !important;}
  #splan:not(.sp-page) .slb{grid-column:2;grid-row:2;justify-self:start;margin:0 !important;}
}
#splan .sp-links + .spn{padding-top:28px !important;margin-top:0 !important;}

/* ══ TEAM / ÜBER UNS / RAUM MIETEN ══ */
.tm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:10px 0 20px;}
.unterseite a.tm-card{display:flex;flex-direction:column;text-decoration:none;background:#D0D5FD;border-top:5px solid var(--or);transition:transform .2s;}
.unterseite a.tm-card:hover{transform:translateY(-4px);}
.tm-card:nth-child(2){background:#D0D5FD;border-top-color:var(--pk2);}
.tm-card:nth-child(3){background:#D0D5FD;border-top-color:var(--ol);}
.tm-img{height:300px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;background:var(--pk);}
.tm-card:nth-child(1) .tm-img{background:var(--or);} .tm-card:nth-child(3) .tm-img{background:var(--ol);}
.tm-img img{height:100%;width:auto;object-fit:contain;object-position:bottom;}
.tm-body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:6px;flex:1;}
.unterseite .tm-body h2{margin:2px 0 4px;font-size:28px;}
.unterseite .tm-body p{font-size:15px;margin:0 0 6px;}
.unterseite .tm-body p.tm-c{font-size:13px;opacity:.75;}
.tm-more{margin-top:auto;font-family:var(--fd);font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;}
.tp-head{display:grid;grid-template-columns:300px 1fr;gap:36px;align-items:start;margin-bottom:10px;}
.tp-img{background:var(--pk);height:420px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;}
.tp-img img{height:100%;width:auto;object-fit:contain;object-position:bottom;}
.unterseite .tp-head h1{margin:6px 0 14px;}
.tp-styles{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;}
.tp-styles span{font-family:var(--fd);font-weight:700;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;background:rgba(244,78,36,.08);border:1px solid rgba(244,78,36,.2);padding:6px 10px;}
.uu-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0 8px;}
.uu-facts>div{background:var(--or);color:var(--cr);padding:22px 20px;display:flex;flex-direction:column;gap:4px;}
.uu-n{font-family:var(--fd);font-weight:900;font-size:44px;line-height:1;}
.uu-facts .pr-k{color:rgba(246,214,227,.8);}
.uu-gal{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px;margin:18px 0 10px;}
.uu-gal img{width:100%;height:280px;object-fit:cover;display:block;}
.rm .lbl{margin-bottom:4px;}
.unterseite .rm-eq{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.unterseite .rm-eq li{display:flex;gap:12px;align-items:flex-start;background:transparent;padding:16px 18px;margin:0;}
.rm-eq li svg{flex:0 0 18px;color:var(--ol2);margin-top:3px;}
.rm-eq li span{display:flex;flex-direction:column;font-size:14px;line-height:1.4;}
.rm-eq li strong{font-family:var(--fd);font-weight:800;font-size:18px;text-transform:uppercase;}
.rm-uses{grid-template-columns:repeat(3,1fr);}
.rm-v{font-family:var(--fd);font-weight:900;font-size:24px;line-height:1.1;margin-top:6px;}
@media(max-width:960px){
 .tm-grid{grid-template-columns:1fr;gap:14px;}
 .tm-img{height:260px;}
 .tp-head{grid-template-columns:1fr;gap:18px;}
 .tp-img{height:320px;}
 .uu-facts{grid-template-columns:1fr 1fr;}
 .uu-n{font-size:36px;}
 .uu-gal{grid-template-columns:1fr 1fr;}
 .uu-gal img{height:180px;}
 .uu-gal img:first-child{grid-column:1 / -1;height:220px;}
 .unterseite .rm-eq{grid-template-columns:1fr;}
 .rm-uses{grid-template-columns:1fr;}
}
.sec-more{margin-top:28px;position:relative;z-index:2;}

/* ══ STARTSEITE v2: Angebot-Kacheln, Team-Streifen, Miet-Banner ══ */
.ag-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
a.ag-t{display:flex;flex-direction:column;gap:6px;text-decoration:none;padding:26px 22px 22px;min-height:230px;background:var(--cr);color:var(--or);transition:transform .2s;}
a.ag-t:hover{transform:translateY(-5px);}
a.ag-t.ag-teens{background:var(--ol);color:var(--cr);}
a.ag-t.ag-adults{background:var(--pk);}
.ag-a{font-family:var(--fd);font-weight:700;font-size:12px;letter-spacing:3px;text-transform:uppercase;opacity:.7;}
a.ag-t strong{font-family:var(--fd);font-weight:900;font-size:40px;line-height:1;text-transform:uppercase;}
.ag-d{font-size:15px;line-height:1.45;opacity:.9;}
.ag-go{margin-top:auto;padding-top:14px;display:inline-flex;align-items:center;gap:8px;font-family:var(--fd);font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;}
.ag-bar{margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border:1.5px solid rgba(246,214,227,.35);padding:22px 24px;}
.ag-bar p{color:var(--cr);font-size:16px;line-height:1.5;margin:0;}
.ag-btns{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.ag-l{font-family:var(--fd);font-weight:700;font-size:14px;letter-spacing:2px;text-transform:uppercase;color:var(--cr);text-decoration:none;border-bottom:1.5px solid rgba(246,214,227,.6);padding-bottom:3px;}
#team .ts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
a.ts-c{display:flex;flex-direction:column;text-decoration:none;color:var(--or);transition:transform .2s;}
a.ts-c:hover{transform:translateY(-5px);}
.ts-i{height:280px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;background:var(--or);margin-bottom:14px;}
.ts-jana .ts-i{background:var(--pk);} .ts-saeka .ts-i{background:var(--ol);}
.ts-i img{height:100%;width:auto;object-fit:contain;object-position:bottom;}
a.ts-c strong{font-family:var(--fd);font-weight:900;font-size:26px;text-transform:uppercase;line-height:1.05;}
a.ts-c span{font-family:var(--fd);font-weight:700;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;opacity:.65;margin-top:4px;}
#team .sec-more{margin-top:30px;}
.mb{background:var(--cr);border-top:2.5px solid rgba(244,78,36,.18);padding:90px 0;}
.mb-in{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center;}
.mb-img img{width:100%;height:380px;object-fit:cover;display:block;}
.mb-t p{font-size:17px;line-height:1.6;color:var(--or);margin:18px 0 24px;max-width:520px;}
.mb-t .h1{margin-top:6px;}
@media(max-width:960px){
  .ag-grid{grid-template-columns:1fr 1fr;gap:10px;}
  a.ag-t{min-height:190px;padding:18px 14px 16px;}
  a.ag-t strong{font-size:28px;}
  .ag-d{font-size:13px;}
  .ag-go{font-size:11px;letter-spacing:1.5px;}
  .ag-bar{padding:18px 16px;}
  .ag-btns{width:100%;}
  .ag-btns .btn{width:100%;justify-content:center;}
  #team .ts-grid{grid-template-columns:repeat(3,1fr);gap:8px;}
  .ts-i{height:150px;margin-bottom:8px;}
  a.ts-c strong{font-size:16px;}
  a.ts-c span{font-size:9px;letter-spacing:1.2px;}
  #team .sec-more .btn{width:100%;justify-content:center;}
  .mb{padding:64px 0 !important;}
  .mb-in{grid-template-columns:1fr;gap:22px;}
  .mb-img img{height:220px;}
  .mb-t .btn{width:100%;justify-content:center;}
}
#team .ts-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.mb-t .h1{font-size:clamp(40px,4.6vw,66px);}
@media(max-width:960px){ .mb-t .h1{font-size:clamp(34px,10vw,52px);} a.ts-c strong{font-size:15px;word-break:break-word;} }

/* ══ FOOTER NEU (statisch, gut lesbar) ══ */
footer.sf{background:#5538AF !important;padding:64px 48px 28px !important;border-top:none !important;color:var(--cr);}
.sf *{animation:none !important;transition:none !important;}
.sf-in{max-width:1200px;margin:0 auto;}
.sf-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:36px;border-bottom:1px solid rgba(246,214,227,.18);}
.sf-brand img{height:64px;width:auto;display:block;margin-bottom:16px;}
.sf-brand p{font-size:15px;line-height:1.6;color:var(--cr);max-width:320px;margin:0 0 18px;}
.sf-btns{display:flex;gap:10px;flex-wrap:wrap;}
.sf-btns a{font-family:var(--fd);font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--cr);border:1.5px solid rgba(246,214,227,.6);padding:10px 16px;text-decoration:none;}
.sf-col h5{font-family:var(--fd);font-weight:800;font-size:15px;letter-spacing:3px;text-transform:uppercase;color:var(--ol);margin:0 0 16px;}
.sf-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px;}
.sf-col li{font-size:16px;line-height:1.45;color:var(--cr);}
.sf-col a{font-size:16px;color:var(--cr);text-decoration:none;word-break:break-word;}
.sf-col a:hover,.sf-bot a:hover,.sf-btns a:hover{text-decoration:underline;text-underline-offset:3px;}
.sf-bot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:20px;}
.sf-bot p{margin:0;font-size:14px;color:rgba(246,214,227,.85);}
.sf-bot a{color:rgba(246,214,227,.85);text-decoration:none;margin-left:18px;}
.sf-bot a:first-child{margin-left:0;}
@media(max-width:960px){
  footer.sf{padding:48px 24px 24px !important;}
  .sf-top{grid-template-columns:1fr 1fr;gap:30px 20px;}
  .sf-brand{grid-column:1 / -1;}
  .sf-col:last-child{grid-column:1 / -1;}
  .sf-bot{flex-direction:column;gap:10px;}
}
.st-more{display:inline-block;margin-top:22px;font-family:var(--fd);font-weight:700;font-size:14px;letter-spacing:2px;text-transform:uppercase;color:var(--cr);text-decoration:none;border-bottom:1.5px solid rgba(246,214,227,.6);padding-bottom:3px;}
.pr-rp.if-t{font-size:18px;} .kt-info{margin:18px 0 40px;}
#studio{padding-bottom:40px !important;} #kurse{padding-top:80px !important;} @media(max-width:960px){#studio{padding-bottom:24px !important;} section#kurse{padding-top:56px !important;}}
.unterseite div.kt-c{display:flex;flex-direction:column;gap:6px;background:#D0D5FD;border-top:4px solid var(--pk2);padding:18px;}
.unterseite div.kt-c strong{font-family:var(--fd);font-weight:800;font-size:17px;}
.if .pr-row{grid-template-columns:1fr auto;}
/* Team-Karten ohne Farbstrich oben */
.unterseite a.tm-card,.unterseite .tm-card:nth-child(2),.unterseite .tm-card:nth-child(3){border-top:none;}
.unterseite .rm-uses .rm-wide{grid-column:1/-1;background:#D0D5FD;}
/* WhatsApp-Button (alle Seiten) */
#wa{position:fixed;right:26px;bottom:26px;z-index:889;width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 22px rgba(0,0,0,.22);text-decoration:none;transition:transform .2s;}
#wa:hover{transform:translateY(-3px) scale(1.04);}
#wa:focus-visible{outline:3px solid var(--or);outline-offset:3px;}
#wa .wa-tip{position:absolute;right:70px;top:50%;transform:translateY(-50%);white-space:nowrap;background:var(--cr);color:var(--or);font-size:13px;font-weight:600;padding:8px 12px;box-shadow:0 5px 18px rgba(0,0,0,.12);opacity:0;pointer-events:none;transition:opacity .2s;}
#wa:hover .wa-tip{opacity:1;}
#tb{bottom:98px;right:32px;}
@media(max-width:768px){#wa{right:16px;bottom:16px;width:54px;height:54px;}#wa .wa-tip{display:none;}#tb{right:20px;bottom:82px;}}
@media print{#wa{display:none;}}

/* ===== v2 Lesbarkeit ===== */
/* ============================================================
   YIN·YANG – Design v2 (Muster)
   Gleiche Farben (Orange, Crème, Oliv, Rosa, Dunkelbraun).
   Nur Lesbarkeit, Ruhe und Mobile verbessert.
   Wirkt nur mit <body class="v2 ...">
   ============================================================ */
body.v2{
  --txt:#211350;          /* dunkles Orange für Fliesstext (6:1 auf Crème) */
  --txt-s:#211350;        /* noch dunkler für kleine Texte */
  --br:#211350;           /* Dunkelbraun aus Hero/Footer */
  --line:rgba(33,19,80,.14);
  color:var(--txt);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* ---------- Ruhe: Maus-Cursor & Einblenden ---------- */
body.v2 #dc{display:none !important;}
body.v2{cursor:auto !important;}
body.v2 a, body.v2 button, body.v2 summary{cursor:pointer !important;}
body.v2 .rv{opacity:1 !important;transform:none !important;}
@media (scripting:none){ body.v2 .rv{opacity:1 !important;transform:none !important;} }

/* ---------- Typografie ---------- */
body.v2 p{max-width:68ch;}
body.v2 .h1{letter-spacing:-.5px;}
body.v2 .lbl{font-size:12px !important;letter-spacing:2.5px !important;}
body.v2 .up-crumb{font-size:13px;letter-spacing:1px;text-transform:none;font-family:var(--fb);font-weight:500;color:var(--txt-s);}
body.v2 .up-crumb a{color:var(--or);}

/* ============================================================
   KURSSEITE
   ============================================================ */
body.v2 .up p, body.v2 .up li{color:var(--txt);}
body.v2 .up h2{margin-top:64px !important;margin-bottom:18px !important;}
body.v2 .up h3{letter-spacing:.5px;}

/* Kurzantwort: gleiche rosa Box, heller und ruhiger */
body.v2 .cp-answer{background:#D0D5FD;border-left:4px solid var(--or);font-size:18px;line-height:1.65;color:var(--txt);max-width:none;}
body.v2 .cp-answer strong{color:var(--or);}

/* Boxen: Crème mit feiner Linie statt voller Tönung */
body.v2 .cp-box{background:transparent;border:1px solid var(--line);border-top:4px solid var(--ol);padding:22px 24px;}
body.v2 .cp-box.cp-no{border-top-color:var(--pk2);background:transparent;}
body.v2 .cp-box h3{font-family:var(--fb) !important;text-transform:none !important;letter-spacing:0 !important;font-size:15px !important;font-weight:700 !important;color:var(--br) !important;opacity:1 !important;margin-bottom:12px !important;}
body.v2 .unterseite .cp-box li, body.v2.unterseite .cp-box li, body.v2.unterseite .cp-bring li{font-size:16px;line-height:1.6;margin-bottom:6px;}
body.v2 .ku-l svg, body.v2 .cp-bring svg{color:var(--ol2);}

/* «Das lernt dein Kind»: kompakte Chips */
body.v2 .cp-box ul.ku-l{display:flex;flex-wrap:wrap;gap:8px;}
body.v2.unterseite .cp-box ul.ku-l li{margin:0;padding:7px 12px;background:#D0D5FD;font-size:15px;line-height:1.3;align-items:center;}
body.v2 .cp-box ul.ku-l li svg{margin-top:0;width:14px;height:14px;flex-basis:14px;}

/* Tabellen & Labels */
body.v2 .pr-k{font-size:12px !important;letter-spacing:2px !important;opacity:1 !important;color:var(--txt-s);}
body.v2 .pr-row{border-bottom-color:var(--line);padding:16px 4px;}
body.v2 .pr-rn span, body.v2 .pr-rp small{color:var(--txt-s);opacity:1;}
body.v2 .pr-note{font-size:14.5px !important;line-height:1.6;color:var(--txt-s) !important;opacity:1 !important;}
body.v2 .cp-price > div{border:1px solid var(--line);}

/* Lehrperson */
body.v2 .cp-teach p{font-size:16.5px;line-height:1.7;}

/* FAQ */
body.v2 .pr-q summary{color:var(--or);}
body.v2 .pr-q p{font-size:16px;line-height:1.7;color:var(--txt);}
body.v2 .pr-q{border-bottom-color:var(--line) !important;}

/* Abschluss-CTA: Oliv bleibt, Text lesbar */
body.v2 .pr-cta{background:#D0D5FD;border-left:4px solid var(--ol);}
body.v2 .pr-cta p{color:var(--br);}
body.v2 .pr-cta strong{color:var(--or);}

/* Verwandte Kurse: leichter */
body.v2.unterseite .cp-rels a.cp-rel{border-width:1.5px;font-size:14px;letter-spacing:.5px;}

/* ============================================================
   STARTSEITE
   ============================================================ */
/* Studio-Vorteile: Text nicht mehr oliv auf Crème */
body.v2 .frow{background:transparent;border:1px solid var(--line);border-left:3px solid var(--ol);}
body.v2 .frow h4{color:var(--or) !important;}
body.v2 .frow p{color:var(--txt) !important;font-size:15.5px !important;line-height:1.65 !important;}
body.v2 .fc-l{color:rgba(246,214,227,.92) !important;letter-spacing:2px !important;}

/* Über uns (Orange): voller Crème-Text statt halbtransparent */
body.v2 .st p{color:var(--cr) !important;font-size:17px !important;line-height:1.7 !important;}
body.v2 .sp{color:var(--cr) !important;border-color:rgba(246,214,227,.5) !important;}

/* Angebot: Crème-Fläche statt zweitem Orange-Block → leichter */
body.v2 section#kurse{background:var(--cr) !important;border-top:1px solid var(--line);}
body.v2 #kurse .h1.cr{color:var(--or) !important;}
body.v2 #kurse .lbl.oor{background:var(--or);color:var(--cr);}
body.v2 a.ag-t{background:var(--or);color:var(--cr);}
body.v2 a.ag-t.ag-teens{background:var(--ol);color:var(--br);}
body.v2 a.ag-t.ag-adults{background:var(--pk);color:var(--txt);}
body.v2 a.ag-t.ag-ue40{background:transparent;color:var(--or);border:1.5px solid var(--or);}
body.v2 .ag-a{opacity:1 !important;letter-spacing:2px !important;}
body.v2 .ag-d{opacity:1 !important;font-size:15.5px;line-height:1.5;}
body.v2 .ag-bar{border-color:var(--line) !important;background:#D0D5FD;}
body.v2 .ag-bar p{color:var(--txt);}
body.v2 .ag-bar strong{color:var(--or);}
body.v2 .ag-bar .btn.bcr{background:var(--or) !important;color:var(--cr) !important;border-color:var(--or) !important;}
body.v2 .ag-l{color:var(--or) !important;}

/* Instagram (Oliv bleibt): Titel dunkelbraun statt Crème → lesbar */
body.v2 #social .h1.cr{color:var(--br) !important;}
body.v2 #social .lbl.ool{background:var(--br);color:var(--ol);}

/* Info (Rosa bleibt): Texte dunkler */
body.v2 #info .h1.or{color:var(--txt) !important;}
body.v2 .is-c{background:rgba(246,214,227,.7);}
body.v2 .is-k{color:var(--txt-s) !important;letter-spacing:2px !important;}
body.v2 .is-c strong{color:var(--txt);}

/* Kontakt-CTA (Orange): voller Crème-Text */
body.v2 .kcta p{color:var(--cr) !important;opacity:1 !important;font-size:17px;}

/* ============================================================
   MOBILE: fixe Leiste unten (Probetraining + WhatsApp)
   ============================================================ */
.v2bar{display:none;}
@media (max-width:768px){
  body.v2{padding-bottom:76px;}
  body.v2 #wa{display:none !important;}
  body.v2 #tb{bottom:88px !important;right:16px !important;}
  .v2bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:890;gap:10px;align-items:center;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(246,214,227,.97);
    backdrop-filter:blur(12px);border-top:1px solid var(--line);}
  .v2bar a.v2-pt{flex:1;display:flex;align-items:center;justify-content:center;height:50px;background:var(--or);color:var(--cr);
    text-decoration:none;font-family:var(--fd);font-weight:800;font-size:15px;letter-spacing:1.5px;text-transform:uppercase;}
  .v2bar a.v2-wa{flex:0 0 50px;height:50px;display:flex;align-items:center;justify-content:center;background:#25D366;color:#fff;border-radius:50%;}
  body.v2 .up h2{margin-top:48px !important;}
  body.v2 .cp-answer{font-size:17px;}
}


/* ===== v3 Farbrollen ===== */
/* ============================================================
   YIN·YANG – Farbkonzept v3 (Muster)
   Indigo #23003F · Orange #F94500 · Lila #BCACCE · Hellgelb #FFFDB4
   Regel: Text auf Hell/Orange/Lila = Indigo · Text auf Indigo = Hellgelb
          Orange nur für grosse Titel auf Hellgelb, Flächen und Buttons
   ============================================================ */
body.v3{--ind:#23003F;--or:#F94500;--pu:#BCACCE;--ye:#FFFDB4;--cr:#FFFDB4;--ol:#BCACCE;--ol2:#23003F;--pk:#BCACCE;--pk2:#F94500;
  --txt:#23003F;--txt-s:#23003F;--br:#23003F;--line:rgba(35,0,63,.14);color:var(--ind);background:var(--ye);}

/* Navigation */
body.v3 .nr a{color:var(--ind);}
body.v3 .nr a:hover{background:var(--ind);color:var(--ye);}
body.v3 #nh span, body.v3 .nh span{background:var(--ind) !important;}

/* Buttons: Orange mit Indigo-Schrift, Hellgelb mit Indigo, Indigo mit Hellgelb */
body.v3 .btn.bor, body.v3 a.btn.bor, body.v3 .v2bar a.v2-pt, body.v3 .fsub{background:var(--or) !important;color:var(--ind) !important;border-color:var(--or) !important;}
body.v3 .btn.bor:hover{background:var(--ind) !important;color:var(--ye) !important;}
body.v3 .btn.bcr{background:var(--ye) !important;color:var(--ind) !important;}
body.v3 .nr a.nb, body.v3 .nav-cta, body.v3 nav .btn{color:var(--ind) !important;}

/* Labels */
body.v3 .lbl{background:var(--ind) !important;color:var(--ye) !important;border:none !important;}

/* Hero: Indigo */
body.v3 #hero{background:var(--ind) !important;}
body.v3 .hov{background:linear-gradient(180deg,rgba(35,0,63,.75) 0%,rgba(35,0,63,.45) 55%,rgba(35,0,63,.8) 100%) !important;}

/* Laufband */
body.v3 .ticker, body.v3 .tk{background:var(--pu) !important;}
body.v3 .ti{color:var(--ind) !important;}

/* Facts: orange Kacheln, Indigo-Zahlen */
body.v3 .fc{background:var(--or) !important;}
body.v3 .fc-n, body.v3 .fc-l{color:var(--ind) !important;}
body.v3 .frow{border-left-color:var(--or) !important;}
body.v3 .frow h4{color:var(--or) !important;}
body.v3 .frow-i svg, body.v3 .frow-i{color:var(--ind) !important;stroke:var(--ind);}

/* Über uns: Orange-Block mit Indigo */
body.v3 #studio{background:var(--or) !important;}
body.v3 #studio .h1, body.v3 .st p, body.v3 .st-more{color:var(--ind) !important;}
body.v3 .sp{color:var(--ind) !important;border-color:rgba(35,0,63,.45) !important;}
body.v3 .svt{background:var(--ind) !important;color:var(--ye) !important;}

/* Angebot: Hellgelb, Kacheln in allen vier Farben */
body.v3 #kurse .h1{color:var(--or) !important;}
body.v3 a.ag-t{background:var(--or) !important;color:var(--ind) !important;border:none !important;}
body.v3 a.ag-t.ag-teens{background:var(--ind) !important;color:var(--ye) !important;}
body.v3 a.ag-t.ag-adults{background:var(--pu) !important;color:var(--ind) !important;}
body.v3 a.ag-t.ag-ue40{background:transparent !important;color:var(--ind) !important;border:2px solid var(--ind) !important;}
body.v3 .ag-bar{background:#BCACCE !important;}
body.v3 .ag-bar strong{color:var(--ind) !important;}
body.v3 .ag-bar .btn.bcr{background:var(--or) !important;color:var(--ind) !important;border-color:var(--or) !important;}
body.v3 .ag-l{color:var(--ind) !important;}

/* Team */
body.v3 #team .h1{color:var(--or) !important;}
body.v3 a.ts-c strong{color:var(--ind) !important;}
body.v3 a.ts-c span{color:var(--ind) !important;opacity:.8;}
body.v3 .ts-linda .ts-i{background:var(--or) !important;}
body.v3 .ts-jana .ts-i{background:var(--pu) !important;}
body.v3 .ts-saeka .ts-i{background:var(--ind) !important;}

/* Instagram: Indigo-Block */
body.v3 #social{background:var(--ind) !important;}
body.v3 #social .h1{color:var(--ye) !important;}
body.v3 #social .lbl{background:var(--or) !important;color:var(--ind) !important;}

/* Info: Lila-Block */
body.v3 #info{background:var(--pu) !important;border-top:none !important;}
body.v3 #info .h1{color:var(--ind) !important;}
body.v3 .is-c{background:var(--ye) !important;border-top-color:var(--or) !important;}
body.v3 .is-k, body.v3 .is-c strong{color:var(--ind) !important;}
body.v3 #info .pb-a{color:var(--ind) !important;}

/* Kontakt-CTA: Orange mit Indigo */
body.v3 .kcta, body.v3 #kontakt{background:var(--or) !important;}
body.v3 .kcta .h1, body.v3 .kcta p, body.v3 .kcta-l{color:var(--ind) !important;}
body.v3 .kcta .btn.bcr{background:var(--ind) !important;color:var(--ye) !important;}

/* Footer: Indigo */
body.v3 footer.sf{background:var(--ind) !important;color:var(--ye) !important;}
body.v3 footer.sf a{color:var(--ye) !important;}
body.v3 footer.sf h4, body.v3 footer.sf .sf-h, body.v3 footer.sf strong{color:var(--pu) !important;}
body.v3 .sf-btns a{border-color:rgba(255,253,180,.5) !important;}

/* ---------- Unterseiten ---------- */
body.v3 .up h1, body.v3 .up h2{color:var(--or) !important;}
body.v3 .up p, body.v3 .up li, body.v3 .up-crumb{color:var(--ind) !important;}
body.v3 .up-crumb a{color:var(--ind) !important;text-decoration-color:var(--or);}
body.v3 .cp-answer{background:#BCACCE !important;border-left-color:var(--or) !important;color:var(--ind) !important;}
body.v3 .cp-answer strong{color:var(--ind) !important;}
body.v3 .cp-box{border-top-color:var(--pu) !important;}
body.v3 .cp-box.cp-no{border-top-color:var(--or) !important;}
body.v3 .cp-box h3{color:var(--ind) !important;}
body.v3.unterseite .cp-box ul.ku-l li{background:#BCACCE !important;color:var(--ind) !important;}
body.v3 .ku-l svg, body.v3 .cp-bring svg, body.v3 .ku-g svg, body.v3 .ku-n svg{color:var(--or) !important;}
body.v3 .pr-rn strong, body.v3 .pr-rp, body.v3 .pr-rp small, body.v3 .pr-rn span{color:var(--ind) !important;}
body.v3 .pr-yes{background:var(--pu) !important;color:var(--ind) !important;}
body.v3 .cp-price > div:first-child{background:var(--pu) !important;}
body.v3 .cp-price > div{background:#BCACCE !important;}
body.v3 .cp-pv, body.v3 .cp-price .pr-k, body.v3 .cp-pu{color:var(--ind) !important;}
body.v3 .pr-note a, body.v3 .up p a{color:var(--ind) !important;text-decoration-color:var(--or) !important;}
body.v3 .cp-teach{background:transparent !important;border:1px solid var(--line) !important;}
body.v3 .cp-teach h3{color:var(--or) !important;}
body.v3 .cp-teach img{background:var(--pu) !important;}
body.v3 .pr-q summary{color:var(--ind) !important;}
body.v3 .pr-q summary::after, body.v3 .pr-q summary::marker{color:var(--or) !important;}
body.v3 .pr-cta{background:var(--ind) !important;border-left-color:var(--or) !important;}
body.v3 .pr-cta p, body.v3 .pr-cta strong{color:var(--ye) !important;}
body.v3.unterseite .cp-rels a.cp-rel{border-color:var(--ind) !important;color:var(--ind) !important;}

/* Preise-Seite / Raum-Seite: farbige Kacheln */
body.v3 .pr-band, body.v3 .pb{background:var(--ind) !important;color:var(--ye) !important;}
body.v3 .pr-band *, body.v3 .pb *{color:var(--ye) !important;}
body.v3 .pt-form{background:var(--ind) !important;}
body.v3 .pt-form h2{color:var(--ye) !important;}
body.v3 .pt-form p, body.v3 .pt-form label, body.v3 .pt-form .pt-form-l, body.v3 .pt-form a{color:var(--ye) !important;}
body.v3 .pt-form input, body.v3 .pt-form select, body.v3 .pt-form textarea{background:rgba(255,253,180,.1) !important;color:var(--ye) !important;border-color:rgba(255,253,180,.35) !important;}
body.v3 .rm-eq li{background:#BCACCE !important;color:var(--ind) !important;}
body.v3 .rm-eq li svg{color:var(--or) !important;}
body.v3 .rm-eq strong, body.v3 .rm-v{color:var(--ind) !important;}
body.v3 .rm-uses .cp-box h3{color:var(--or) !important;}
body.v3 .rm-uses .rm-wide{background:var(--pu) !important;}
body.v2.v3 #social .h1.cr, body.v2.v3 #social .h1{color:var(--ye) !important;}
body.v2.v3 #social .lbl.ool{background:var(--or) !important;color:var(--ind) !important;}
body.v2.v3 .ag-bar{background:var(--pu) !important;border:none !important;}
body.v2.v3 .cp-price > div{background:transparent !important;border:1.5px solid var(--ind) !important;}
body.v2.v3 .cp-price > div:first-child{background:var(--pu) !important;border-color:var(--pu) !important;}
body.v2.v3 .ku-n li, body.v2.v3 .cp-no li{opacity:1 !important;}
/* Preise */
body.v2.v3 .pr-card{background:transparent !important;border:1.5px solid var(--ind) !important;border-top:5px solid var(--pu) !important;color:var(--ind) !important;}
body.v2.v3 .pr-card.pr-c2{background:var(--or) !important;border:none !important;border-top:5px solid var(--ind) !important;color:var(--ind) !important;}
body.v2.v3 .pr-card.pr-c3{background:var(--pu) !important;border:none !important;border-top:5px solid var(--or) !important;}
body.v2.v3 .pr-card *{color:var(--ind) !important;}
body.v2.v3 .pr-card li svg{color:var(--ind) !important;}
body.v2.v3 .pr-card a.pr-btn{background:var(--ind) !important;color:var(--ye) !important;}
body.v2.v3 .pr-badge{background:var(--ind) !important;color:var(--ye) !important;}
body.v2.v3 .pr-calc{background:var(--pu) !important;}
body.v2.v3 .pr-calc *{color:var(--ind) !important;}
body.v2.v3 .pr-res{background:var(--or) !important;}
body.v2.v3 .pr-no{background:transparent !important;border:1px solid var(--ind) !important;color:var(--ind) !important;}
body.v2.v3 .pr-yes{background:var(--pu) !important;color:var(--ind) !important;}
body.v2.v3 .pr-kk{background:var(--pu) !important;}
body.v2.v3 .pr-kk h2{color:var(--ind) !important;}
body.v2.v3 .pr-kk *{color:var(--ind);}
body.v2.v3 .pr-kkg > div, body.v2.v3 .pr-steps > *{background:var(--ye) !important;}
body.v2.v3 .pt-form a, body.v2.v3 .pt-form p a{color:var(--ye) !important;text-decoration-color:var(--or) !important;}
body.v3 footer.sf .sf-col h5{color:var(--pu) !important;}

/* ===== v4 Farben ===== */
/* ============================================================
   YIN·YANG – Farbkonzept v4 (Muster)
   Violett #5538AF · Rosa #F6D6E3 · Lavendel #D0D5FD · Orange #F44E24
   + Tiefviolett #211350 nur für Fliesstext (Lesbarkeit)
   ============================================================ */
body.v3.v4{--ind:#211350;--vi:#5538AF;--or:#F44E24;--pu:#D0D5FD;--ye:#F6D6E3;--cr:#F6D6E3;--ol:#5538AF;--ol2:#211350;--pk:#D0D5FD;--pk2:#F44E24;
  --txt:#211350;--txt-s:#211350;--br:#211350;--line:rgba(33,19,80,.14);color:var(--ind);background:var(--ye);}

/* Titel: H1 Orange, H2 Violett */
body.v3.v4 .up h1{color:var(--or) !important;}
body.v3.v4 .up h2{color:var(--vi) !important;}
body.v3.v4 #kurse .h1, body.v3.v4 #team .h1, body.v3.v4 #facts .h1{color:var(--or) !important;}
body.v3.v4 .frow h4{color:var(--vi) !important;}
body.v3.v4 .frow{border-left-color:var(--vi) !important;}

/* Flächen, die in v3 Indigo waren → Violett mit Rosa/Lavendel */
body.v3.v4 #hero{background:var(--vi) !important;}
body.v3.v4 .hov{background:linear-gradient(180deg,rgba(85,56,175,.8) 0%,rgba(85,56,175,.5) 55%,rgba(85,56,175,.85) 100%) !important;}
body.v3.v4 .lbl{background:var(--vi) !important;color:var(--ye) !important;}
body.v3.v4 .nr a:hover{background:var(--vi);color:var(--ye);}
body.v3.v4 footer.sf{background:var(--vi) !important;}
body.v3.v4 footer.sf h4, body.v3.v4 footer.sf .sf-h, body.v3.v4 footer.sf strong{color:var(--pu) !important;}
body.v3.v4 .pr-cta{background:var(--vi) !important;}
body.v3.v4 .pt-form{background:var(--vi) !important;}
body.v3.v4 .pt-form input, body.v3.v4 .pt-form select, body.v3.v4 .pt-form textarea{background:rgba(246,214,227,.12) !important;border-color:rgba(246,214,227,.45) !important;}
body.v3.v4 .btn.bor:hover{background:var(--vi) !important;color:var(--ye) !important;}

/* Über uns: Violett-Block */
body.v3.v4 #studio{background:var(--vi) !important;}
body.v3.v4 #studio .h1, body.v3.v4 .st p, body.v3.v4 .st-more{color:var(--ye) !important;}
body.v3.v4 .sp{color:var(--ye) !important;border-color:rgba(246,214,227,.5) !important;}
body.v3.v4 .svt{background:var(--or) !important;color:var(--ind) !important;}

/* Facts */
body.v3.v4 .fc-n{color:var(--ye) !important;}
body.v3.v4 .fc-l{color:var(--ind) !important;}

/* Angebot-Kacheln */
body.v3.v4 a.ag-t.ag-teens{background:var(--vi) !important;color:var(--ye) !important;}
body.v3.v4 a.ag-t.ag-adults{background:var(--pu) !important;color:var(--ind) !important;}
body.v3.v4 a.ag-t.ag-ue40{border-color:var(--vi) !important;color:var(--vi) !important;}
body.v3.v4 .ag-bar{background:var(--pu) !important;}

/* Team */
body.v3.v4 .ts-saeka .ts-i{background:var(--vi) !important;}
body.v3.v4 .ts-jana .ts-i{background:var(--pu) !important;}

/* Instagram: Orange-Block wie im Vorbild (Rosa auf Orange) */
body.v2.v3.v4 #social{background:var(--or) !important;}
body.v2.v3.v4 #social .h1.cr, body.v2.v3.v4 #social .h1{color:var(--ye) !important;}
body.v2.v3.v4 #social .lbl.ool, body.v2.v3.v4 #social .lbl{background:var(--vi) !important;color:var(--ye) !important;}

/* Info: Lavendel */
body.v3.v4 #info .h1{color:var(--vi) !important;}
body.v3.v4 .is-c{background:var(--ye) !important;}

/* Kontakt: Orange, Button Violett */
body.v3.v4 .kcta .btn.bcr{background:var(--vi) !important;color:var(--ye) !important;}

/* Unterseiten */
body.v3.v4 .cp-answer{background:var(--pu) !important;}
body.v3.v4.unterseite .cp-box ul.ku-l li{background:var(--pu) !important;}
body.v3.v4 .cp-box{border-top-color:var(--vi) !important;}
body.v3.v4 .cp-teach h3{color:var(--vi) !important;}
body.v3.v4 .pr-card a.pr-btn{background:var(--vi) !important;color:var(--ye) !important;}
body.v3.v4 .pr-badge{background:var(--vi) !important;color:var(--ye) !important;}
body.v3.v4 .pr-card{border-top-color:var(--vi) !important;}
body.v3.v4 .pr-card.pr-c2{border-top-color:var(--vi) !important;}
body.v3.v4 .rm-uses .cp-box h3{color:var(--vi) !important;}
body.v3.v4 footer.sf .sf-col h5{color:var(--pu) !important;}
body.v2.v3.v4 #social .btn.bor{background:var(--vi) !important;color:var(--ye) !important;}

/* ===== final ===== */
/* ============================================================
   YIN·YANG – v4 FINAL (live)
   Violett #5538AF · Rosa #F6D6E3 · Lavendel #D0D5FD · Orange #F44E24
   Tiefviolett #211350 = Fliesstext
   ============================================================ */

/* ---------- Laufband: Orange ---------- */
body.v4 .tw{background:var(--or) !important;border:none !important;}
body.v4 .ti{color:var(--ind) !important;}
body.v4 .ti svg, body.v4 .ti span{color:var(--ind) !important;fill:currentColor;}

/* ============================================================
   STARTSEITE: Abschnitte wechseln die Farbe & füllen je einen Screen
   Hero Violett → Facts Rosa → Studio Violett → Angebot Lavendel →
   Team Rosa → Instagram Orange → Info Lavendel → Kontakt Orange → Footer Violett
   ============================================================ */
body.v4 #facts{background:var(--ye) !important;}
body.v4 #studio{background:var(--vi) !important;}
body.v2.v4 section#kurse{background:var(--pu) !important;border-top:none !important;}
body.v4 #team{background:var(--ye) !important;}
body.v2.v3.v4 #social{background:var(--or) !important;}
body.v3.v4 #info{background:var(--pu) !important;}
body.v3.v4 .kcta, body.v3.v4 #kontakt{background:var(--or) !important;}

/* Angebot auf Lavendel: Ü40-Kachel Rosa, Leiste Violett */
body.v3.v4 a.ag-t.ag-adults{background:var(--ye) !important;color:var(--ind) !important;}
body.v3.v4 a.ag-t.ag-ue40{background:transparent !important;border:2px solid var(--vi) !important;color:var(--vi) !important;}
body.v2.v3.v4 .ag-bar{background:var(--vi) !important;border:none !important;}
body.v3.v4 .ag-bar p, body.v3.v4 .ag-bar strong, body.v3.v4 .ag-l{color:var(--ye) !important;}
/* Info auf Lavendel: Karten Rosa */
body.v3.v4 .is-c{background:var(--ye) !important;}

/* Ein Abschnitt = ein Screen (Inhalt vertikal zentriert) */
@media (min-width:769px){
  body.v4 main > section:not(#hero), body.v4 > section:not(#hero),
  body.v4 #facts, body.v4 #studio, body.v4 section#kurse, body.v4 #team, body.v4 #social, body.v4 #info, body.v4 #kontakt{
    min-height:0 !important;display:flex !important;flex-direction:column;justify-content:center;
    padding:112px 0 104px !important;box-sizing:border-box;}
  body.v4 #studio > .w, body.v4 #facts > .w, body.v4 #social > .w{width:100%;}
}
@media (max-width:768px){
  body.v4 #facts, body.v4 #studio, body.v4 section#kurse, body.v4 #team, body.v4 #social, body.v4 #info, body.v4 #kontakt{
    min-height:0 !important;display:flex !important;flex-direction:column;justify-content:center;
    padding:76px 0 72px !important;box-sizing:border-box;}
  body.v4 #kurse .h1, body.v4 #team .h1, body.v4 #social .h1, body.v4 #info .h1, body.v4 #kontakt .h1{font-size:clamp(34px,10vw,46px) !important;}
}

/* ============================================================
   UNTERSEITEN: Bänder mit wechselnder Farbe (Rosa ↔ Lavendel)
   ============================================================ */
body.v4 .bd{position:relative;padding:56px 0 60px;margin:0;}
body.v4 .bd-a{background:var(--pu);box-shadow:0 0 0 100vmax var(--pu);clip-path:inset(0 -100vmax);}
body.v4 .bd-b{background:var(--ye);box-shadow:0 0 0 100vmax var(--ye);clip-path:inset(0 -100vmax);}
body.v2.v4 .up .bd > h2:first-child{margin-top:0 !important;}
body.v4 .up{padding-bottom:0 !important;}
body.v4 .up-in > .bd:last-child{margin-bottom:0;}
@media (max-width:768px){ body.v4 .bd{padding:40px 0 44px;} }

/* Was in Lavendel-Bändern selbst Lavendel wäre → Rosa */
body.v4 .bd-a .cp-answer, body.v4 .bd-a .pr-calc, body.v4 .bd-a .pr-yes, body.v4 .bd-a .rm-eq li,
body.v4 .bd-a .rm-wide, body.v4 .bd-a .pr-card.pr-c3, body.v4 .bd-a .pr-kk, body.v4 .bd-a .ag-bar{background:var(--ye) !important;}
body.v4.unterseite .bd-a .cp-box ul.ku-l li{background:var(--ye) !important;}
body.v2.v3.v4 .bd-a .cp-price > div:first-child{background:var(--ye) !important;border-color:var(--ye) !important;}
body.v4 .bd-a .cp-box, body.v4 .bd-a .cp-teach, body.v4 .bd-a .frow{background:rgba(246,214,227,.55) !important;}
body.v4 .bd-a .is-c, body.v4 .bd-a .pr-kkg > div, body.v4 .bd-a .pr-steps > *{background:var(--ye) !important;}
/* Rosa-Bänder: Karten leicht lavendel hinterlegt */
body.v4 .bd-b .pr-kkg > div, body.v4 .bd-b .pr-steps > *{background:var(--pu) !important;}
/* Tabellen-Linien sichtbar auf beiden Farben */
body.v4 .bd .pr-row, body.v4 .bd .pr-q{border-color:rgba(33,19,80,.16) !important;}

/* Probetraining-CTA am Seitenende (Violett) bekommt Luft */
body.v4 .bd .pr-cta{margin-top:40px;}

/* ============================================================
   FOOTER: Mobile aufklappbar (Studio & Kurse), Rest immer sichtbar
   ============================================================ */
.sf-tg{all:unset;display:flex;align-items:center;justify-content:space-between;width:100%;cursor:default;
  font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;}
.sf-tg .sf-ic{display:none;}
@media (max-width:768px){
  body.v4 footer.sf .sf-top{gap:0 !important;}
  body.v4 footer.sf .sf-col.sf-acc{border-top:1px solid rgba(246,214,227,.25);padding:0 !important;margin:0 !important;}
  body.v4 footer.sf .sf-col.sf-acc h5{margin:0 !important;}
  .sf-tg{cursor:pointer;padding:16px 0;}
  .sf-tg .sf-ic{display:inline-block;font-size:22px;line-height:1;transition:transform .2s;}
  .js .sf-acc:not(.open) ul{display:none !important;}
  .js .sf-acc ul{padding-bottom:16px !important;}
  .sf-acc.open .sf-ic{transform:rotate(45deg);}
  body.v4 footer.sf .sf-col:not(.sf-acc){border-top:1px solid rgba(246,214,227,.25);padding-top:18px !important;margin-top:0 !important;}
  body.v4 footer.sf .sf-brand{padding-bottom:22px;}
}

/* Mobile: Startseiten-Abschnitte auf einen Screen verdichten */
@media (max-width:768px){
  body.v4 .facts-logo{display:none !important;}
  body.v4 .facts-grid{gap:18px !important;}
  body.v4 #facts .h1{font-size:clamp(34px,10vw,46px) !important;margin-bottom:14px !important;}
  body.v4 .fn{grid-template-columns:repeat(4,1fr) !important;gap:6px !important;}
  body.v4 .fc{padding:12px 6px !important;text-align:center;}
  body.v4 .fc-n{font-size:28px !important;}
  body.v4 .fc-l{font-size:9px !important;letter-spacing:.5px !important;word-break:break-word;}
  body.v4 .fr{gap:8px !important;display:grid !important;}
  body.v4 .frow{padding:10px 12px !important;gap:10px !important;margin:0 !important;}
  body.v4 .frow h4{font-size:15px !important;margin-bottom:2px !important;}
  body.v4 .frow p{font-size:13.5px !important;line-height:1.45 !important;}
  body.v4 .frow-i svg{width:18px;height:18px;}
  body.v4 #studio .sv{height:160px !important;aspect-ratio:auto !important;margin-bottom:18px !important;}
  body.v4 #studio .h1{font-size:clamp(34px,10vw,46px) !important;}
  body.v4 .st p{font-size:15.5px !important;line-height:1.6 !important;}
  body.v4 a.ag-t{min-height:150px !important;padding:14px 12px !important;}
  body.v4 a.ag-t strong{font-size:26px !important;}
  body.v4 .ag-d{font-size:13px !important;line-height:1.4 !important;}
  body.v4 .ag-bar{padding:14px 14px !important;margin-top:10px !important;gap:10px !important;}
  body.v4 .ag-bar p{font-size:13.5px !important;}
  body.v4 #kurse .rv{margin-bottom:18px !important;}
}
@media (max-width:768px){ body.v4 a.ag-t{min-height:128px !important;} body.v4 #kurse .lbl{margin-bottom:8px !important;} body.v4 .ag-go{padding-top:6px !important;} }
body.v4 #facts > .w, body.v4 #studio > .w, body.v4 section#kurse > .w, body.v4 #team > .w, body.v4 #social > .w, body.v4 #info > .w, body.v4 #kontakt > .w{width:100%;box-sizing:border-box;}
@media (max-width:768px){
  body.v4 .igi{grid-template-columns:repeat(2,1fr) !important;gap:8px !important;margin:20px 0 22px !important;}
  body.v4 .igc:nth-child(4){display:flex !important;}
  body.v4 #social .btn{max-width:100%;}
}
@media (max-width:768px){ body.v4 #social .btn{width:100% !important;margin:0 !important;box-sizing:border-box !important;justify-content:center !important;left:auto !important;transform:none !important;} }
body.v4 #social .btn{display:inline-flex !important;width:auto !important;align-self:center;}
@media (max-width:768px){
  body.v4 #social .btn{display:flex !important;width:100% !important;}
  body.v4 footer.sf .sf-top{display:flex !important;flex-direction:column !important;grid-template-columns:none !important;}
  body.v4 footer.sf .sf-col{width:100% !important;}
}
/* Stundenplan: Preis-Kacheln */
body.v3.v4 .pb{background:transparent !important;color:var(--ind) !important;}
body.v3.v4 .pb *{color:var(--ind) !important;}
body.v3.v4 .pb-c{background:var(--pu) !important;border-top:4px solid var(--vi) !important;}
body.v3.v4 .pb-c.pb-free{background:var(--vi) !important;border-top-color:var(--or) !important;}
body.v3.v4 .pb-c.pb-free *{color:var(--ye) !important;}
body.v3.v4 .pb-c.pb-kk{background:var(--or) !important;border-top-color:var(--vi) !important;}
body.v3.v4 .pb-v{color:inherit !important;}
body.v3.v4 .pb-a, body.v3.v4 .pb-a2{color:var(--ind) !important;}
/* Formulare (Violett): Titel & Texte hell */
body.v2.v3.v4 .up .pt-form h2, body.v2.v3.v4 .pt-form h2{color:var(--ye) !important;margin-top:0 !important;}
body.v2.v3.v4 .up .pt-form p, body.v2.v3.v4 .up .pt-form label{color:var(--ye) !important;}
body.v2.v3.v4 .pt-form #fok{color:var(--ye) !important;}

/* Kategorie-Seiten (Hubs) */
body.v4 .hb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;}
body.v4 .hb-card{display:flex;flex-direction:column;gap:10px;}
body.v4 .hb-card h3{font-family:var(--fd) !important;font-size:24px !important;font-weight:900 !important;text-transform:uppercase !important;color:var(--or) !important;margin:0 !important;}
body.v4 .hb-meta{font-size:14.5px !important;margin:0 !important;}
body.v4 .hb-links{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:auto 0 0 !important;padding-top:6px;}
body.v4 .hb-more{font-family:var(--fd);font-weight:700;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--vi) !important;}
body.v4 .hb-pt{padding:11px 18px !important;font-size:12px !important;}
@media (max-width:768px){ body.v4 .hb-grid{grid-template-columns:1fr;} }
/* Kurs-Übersicht: Zielgruppen-Links */
body.v4 .hb-nav{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;}
body.v4 .hb-nav a{font-family:var(--fd);font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;padding:8px 12px;border:1.5px solid var(--vi);color:var(--vi);text-decoration:none;}
body.v4 .hb-nav a:hover{background:var(--vi);color:var(--ye);}
body.v4 .hb-nav span{font-size:13px;align-self:center;margin-right:4px;}

/* ============================================================
   UNTERSEITEN: gleicher Abstand & Farbfolge Lavendel → Orange → Rosa
   ============================================================ */
body.v4 .up-in > .bd{padding:72px 0 !important;margin:0 !important;}
body.v4 .up-in > :not(.bd) + .bd{margin-top:72px !important;}
body.v4 .up-in > :not(.bd):has(+ .bd){margin-bottom:0 !important;}
body.v4 .bd > :first-child, body.v4 .bd > h2:first-child{margin-top:0 !important;}
body.v4 .bd > :last-child{margin-bottom:0 !important;}
body.v4 .bd.ku-sec{scroll-margin-top:66px;}
body.v4 .up:has(.bd){padding-bottom:0 !important;}
@media (max-width:768px){
  body.v4 .up-in > .bd{padding:52px 0 !important;}
  body.v4 .up-in > :not(.bd) + .bd{margin-top:52px !important;}
}

/* Orange-Band */
body.v4 .bd-c{background:var(--or);box-shadow:0 0 0 100vmax var(--or);clip-path:inset(0 -100vmax);color:var(--ind);}
body.v2.v3.v4 .up .bd-c h2, body.v2.v3.v4 .bd-c .ku-sech h2{color:var(--ye) !important;}
body.v2.v3.v4 .up .bd-c p, body.v2.v3.v4 .up .bd-c li, body.v4 .bd-c .pr-note{color:var(--ind) !important;}
body.v4 .bd-c a:not(.btn):not(.cp-rel):not(.pr-yes){color:var(--ind) !important;text-decoration-color:var(--ind) !important;}
body.v4 .bd-c .btn.bor, body.v4 .bd-c a.btn.bor{background:var(--vi) !important;color:var(--ye) !important;border-color:var(--vi) !important;}
body.v4 .bd-c svg{color:var(--vi) !important;}
body.v4 .bd-c .cp-box, body.v4 .bd-c .cp-teach, body.v4 .bd-c .cp-answer, body.v4 .bd-c .pr-calc, body.v4 .bd-c .rm-eq li,
body.v4 .bd-c .rm-wide, body.v4 .bd-c .is-c, body.v4 .bd-c .pr-kk, body.v4 .bd-c .pr-kkg > div, body.v4 .bd-c .pr-steps > *{background:var(--ye) !important;border-color:rgba(33,19,80,.2) !important;}
body.v4 .bd-c .cp-box{border-top-color:var(--vi) !important;}
body.v2.v3.v4 .bd-c .cp-box h3, body.v4 .bd-c .cp-teach h3{color:var(--vi) !important;}
body.v4.unterseite .bd-c .cp-box ul.ku-l li{background:var(--pu) !important;}
body.v4 .bd-c .pr-row, body.v4 .bd-c .pr-q{border-color:rgba(33,19,80,.25) !important;}
body.v4 .bd-c .pr-q summary{color:var(--ind) !important;}
body.v4 .bd-c .pr-q summary::after{color:var(--ind) !important;}
body.v4 .bd-c .pr-rn strong, body.v4 .bd-c .pr-rp{color:var(--ind) !important;}
body.v2.v3.v4 .bd-c .cp-price > div{border-color:var(--ind) !important;}
body.v2.v3.v4 .bd-c .cp-price > div:first-child{background:var(--ye) !important;border-color:var(--ye) !important;}
body.v4.unterseite .bd-c .cp-rels a.cp-rel{border-color:var(--ind) !important;color:var(--ind) !important;}
body.v4 .bd-c .lbl{background:var(--vi) !important;color:var(--ye) !important;}
body.v4 .bd-c .ku-sech small, body.v4 .bd-c .ku-sech span{color:var(--ind) !important;}
/* Kurskarten (Kurs-Übersicht) im Orange-Band */
body.v4 .bd-c .ku-card, body.v4 .bd-c article{background:var(--ye) !important;}
body.v4 .up-in > .bd + :not(.bd){margin-top:72px !important;}
body.v4 .up:has(.bd) .up-in > :last-child:not(.bd){margin-bottom:72px !important;}
@media (max-width:768px){ body.v4 .up-in > .bd + :not(.bd){margin-top:52px !important;} body.v4 .up:has(.bd) .up-in > :last-child:not(.bd){margin-bottom:52px !important;} }

/* Mobile Startseite: kein Vollbild mehr – überall gleicher Abstand (Feedback 25.09.) */
@media (max-width:768px){
  body.v4 #facts, body.v4 #studio, body.v4 section#kurse, body.v4 #team, body.v4 #social, body.v4 #info, body.v4 #kontakt{
    min-height:0 !important;display:block !important;padding:56px 0 !important;}
  body.v4 #studio .sg{gap:22px !important;}
  body.v4 #studio .sv{margin-bottom:0 !important;}
  body.v4 .sec-more, body.v4 .is-links, body.v4 .ag-bar{margin-bottom:0 !important;}
  body.v4 .igi{margin-bottom:18px !important;}
  body.v4 footer.sf{padding-top:44px !important;}
}
@media (max-width:768px){ body.v4 #social > .btn{width:calc(100% - 40px) !important;margin:0 20px !important;} }

/* ============================================================
   Kästen: einfarbig, ohne Kontur / Farbstriche (Feedback 25.09.)
   Grund Rosa → Kasten Lavendel · Band Lavendel/Orange → Kasten Rosa
   ============================================================ */
body.v2.v3.v4 :is(.cp-answer,.cp-box,.cp-teach,.frow,.is-c,.pr-card,.pr-cta,.pr-calc,.pb-c,.pr-kkg > div,.cp-price > div,
 .ku-card,.ag-bar,a.ag-t,.tm-card,.kt-c,.pt-steps li,.rm-eq li,.pr-kk,.pt-bring,.pr-no,.pr-yes,.hb-card,.tp-styles span,
 .tctg span,.pr-steps > *,.rm-wide,.cp-rel,.ki,.mb,.mf){
  border:none !important;border-left:none !important;border-top:none !important;outline:none !important;box-shadow:none !important;}
body.unterseite.v2.v3.v4 .up p.cp-answer, body.unterseite.v4 a.tm-card, body.unterseite.v4 .tm-card:nth-child(n),
body.unterseite.v4 a.kt-c, body.unterseite.v4 div.kt-c, body.unterseite.v4 .pt-steps li, body.unterseite.v2.v3.v4 .cp-rels a.cp-rel{border:none !important;}

/* Füllungen auf Rosa (Seitenkopf, Rosa-Bänder) */
body.v2.v3.v4 :is(.cp-box,.cp-teach,.frow,.ku-card,.kt-c,.pt-steps li,.pr-card.pr-c1,.tp-styles span,.tctg span,.pr-no){background:var(--pu) !important;}
body.v2.v3.v4 .cp-price > div{background:var(--pu) !important;}
body.v2.v3.v4 .cp-price > div:first-child{background:var(--vi) !important;}
body.v2.v3.v4 .cp-price > div:first-child *{color:var(--ye) !important;}
body.v2.v3.v4 .pr-card.pr-c3{background:var(--vi) !important;}
body.v2.v3.v4 .pr-card.pr-c3 *{color:var(--ye) !important;}
body.v2.v3.v4 .pr-card.pr-c3 li svg{color:var(--pu) !important;}
body.v2.v3.v4 .pr-card.pr-c3 .pr-badge{background:var(--or) !important;color:var(--ind) !important;}
body.v2.v3.v4 a.ag-t.ag-ue40{background:var(--ye) !important;color:var(--vi) !important;}
body.v2.v3.v4 .cp-answer{background:var(--pu) !important;}
/* Füllungen in Lavendel- und Orange-Bändern */
body.v2.v3.v4 :is(.bd-a,.bd-c) :is(.cp-box,.cp-teach,.frow,.ku-card,.kt-c,.pt-steps li,.pr-no,.cp-answer,.pr-calc,.rm-eq li,.is-c,.tp-styles span){background:var(--ye) !important;}
body.v2.v3.v4 :is(.bd-a,.bd-c) .cp-price > div:not(:first-child){background:var(--ye) !important;}
body.v4.unterseite :is(.bd-a,.bd-c) .cp-box ul.ku-l li{background:var(--pu) !important;}
body.v4.unterseite .bd-b .cp-box ul.ku-l li, body.v4.unterseite .up-in > .cp-box ul.ku-l li{background:var(--ye) !important;}
/* Kurskarten: Chips/Labels innerhalb Lavendel-Karte */
body.v2.v3.v4 .ku-card .ku-l li, body.v2.v3.v4 .cp-box .ku-g li, body.v2.v3.v4 .cp-box .ku-n li{background:transparent !important;}
/* Weiterführende Links als gefüllte Chips */
body.v4.unterseite .cp-rels a.cp-rel, body.v4.unterseite .bd-c .cp-rels a.cp-rel{background:var(--vi) !important;color:var(--ye) !important;}
body.v4 .hb-nav a{border:none !important;background:var(--vi);color:var(--ye) !important;}
body.v4.unterseite .cp-box ul.ku-l li{background:var(--ye) !important;}
body.v4.unterseite :is(.bd-a,.bd-c) .cp-box ul.ku-l li{background:var(--pu) !important;}
body.v2.v3.v4 .up .cp-price > div:first-child, body.v2.v3.v4 .up :is(.bd-a,.bd-b,.bd-c) .cp-price > div:first-child{background:var(--vi) !important;}
body.v2.v3.v4 .up .cp-price > div:first-child *, body.v2.v3.v4 .up :is(.bd-a,.bd-b,.bd-c) .cp-price > div:first-child *{color:var(--ye) !important;}

/* ============================================================
   Violett-Band (bd-d) – dunkler Hintergrund
   ============================================================ */
body.v4 .bd-d{background:var(--vi);box-shadow:0 0 0 100vmax var(--vi);clip-path:inset(0 -100vmax);color:var(--ye);}
body.v2.v3.v4 .up .bd-d h2, body.v2.v3.v4 .bd-d .ku-sech h2{color:var(--pu) !important;}
body.v2.v3.v4 .up .bd-d > p, body.v2.v3.v4 .up .bd-d > ul li, body.v4 .bd-d .pr-note, body.v4 .bd-d .ku-sech small, body.v4 .bd-d .ku-sech span{color:var(--ye) !important;}
body.v4 .bd-d > p a, body.v4 .bd-d .pr-note a{color:var(--ye) !important;text-decoration-color:var(--or) !important;}
body.v4 .bd-d > ul svg, body.v4 .bd-d .cp-bring svg{color:var(--or) !important;}
body.v2.v3.v4 .bd-d :is(.cp-box,.cp-teach,.frow,.ku-card,.kt-c,.pt-steps li,.pr-no,.cp-answer,.pr-calc,.rm-eq li,.is-c,.tp-styles span,.pr-kk,.pr-kkg > div,.pr-steps > *,.rm-wide){background:var(--ye) !important;color:var(--ind) !important;}
body.v2.v3.v4 .bd-d :is(.cp-box,.cp-teach,.ku-card,.pr-kk,.rm-wide,.rm-eq li,.kt-c,.is-c) :is(p,li,span,strong,small,h3,h4,a:not(.btn)){color:var(--ind) !important;}
body.v2.v3.v4 .bd-d .cp-box h3, body.v2.v3.v4 .bd-d .cp-teach h3, body.v2.v3.v4 .bd-d .ku-card h3{color:var(--vi) !important;}
body.v4.unterseite .bd-d .cp-box ul.ku-l li{background:var(--pu) !important;}
body.v2.v3.v4 .bd-d .cp-price > div:not(:first-child){background:var(--ye) !important;}
body.v2.v3.v4 .up .bd-d .cp-price > div:first-child{background:var(--or) !important;}
body.v2.v3.v4 .up .bd-d .cp-price > div:first-child *{color:var(--ind) !important;}
body.v4 .bd-d .pr-row, body.v4 .bd-d .pr-q{border-color:rgba(246,214,227,.25) !important;}
body.v4 .bd-d .pr-rn strong, body.v4 .bd-d .pr-rn span, body.v4 .bd-d .pr-rp, body.v4 .bd-d .pr-rp small, body.v4 .bd-d .pr-q summary, body.v4 .bd-d .pr-q p{color:var(--ye) !important;}
body.v4 .bd-d .pr-cta{background:var(--or) !important;}
body.v4 .bd-d .pr-cta p, body.v4 .bd-d .pr-cta strong{color:var(--ind) !important;}
body.v4 .bd-d .pr-cta .btn.bor{background:var(--vi) !important;color:var(--ye) !important;}
body.v4 .bd-d .pt-form{background:transparent !important;padding:0 !important;}
body.v4.unterseite .bd-d .cp-rels a.cp-rel{background:var(--or) !important;color:var(--ind) !important;}
body.v4 .bd-d .lbl{background:var(--or) !important;color:var(--ind) !important;}
body.v4 .bd-d .pr-yes{background:var(--pu) !important;color:var(--ind) !important;}
body.v4 .bd-d .pr-no{background:var(--ye) !important;}

/* Startseite: Team auf Violett */
body.v4 #team{background:var(--vi) !important;}
body.v4 #team .h1{color:var(--ye) !important;}
body.v4 #team a.ts-c strong, body.v4 #team a.ts-c span{color:var(--ye) !important;}
body.v4 #team .lbl{background:var(--or) !important;color:var(--ind) !important;}
body.v3.v4 #team .ts-saeka .ts-i{background:var(--pu) !important;}
body.v3.v4 #team .ts-jana .ts-i{background:var(--ye) !important;}

/* ============================================================
   Footer: standardmässig eingeklappt (Desktop & Handy)
   ============================================================ */
footer.sf .sf-open{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:18px;width:100%;cursor:pointer;padding:4px 0 22px;
  font-family:var(--fd);font-weight:800;font-size:15px;letter-spacing:3px;text-transform:uppercase;color:var(--pu);}
footer.sf .sf-open img{height:42px;width:auto;display:block;}
footer.sf .sf-open span:nth-of-type(1){flex:1;}
footer.sf .sf-oi{font-size:28px;line-height:1;transition:transform .2s;color:var(--ye);}
footer.sf .sf-open:focus-visible{outline:2px solid var(--or);outline-offset:4px;}
html:not(.js) footer.sf .sf-open{display:none;}
.js body.v4 footer.sf:not(.open) .sf-top{display:none !important;}
.js body.v4 footer.sf.open .sf-oi{transform:rotate(45deg);}
.js body.v4 footer.sf.open .sf-top{padding-top:8px;}
.js body.v4 footer.sf .sf-brand img{display:none;}
body.v4 footer.sf{padding-top:32px !important;padding-bottom:22px !important;}
/* innere Akkordeons aus: wenn geöffnet, alles sichtbar */
html.js body.v4 footer.sf .sf-acc ul{display:flex !important;}
body.v4 footer.sf .sf-tg .sf-ic{display:none !important;}
body.v4 footer.sf .sf-tg{cursor:default !important;padding:0 !important;}
@media (max-width:768px){
  footer.sf .sf-open{font-size:13px;letter-spacing:2px;gap:12px;}
  footer.sf .sf-open img{height:34px;}
  body.v4 footer.sf .sf-col.sf-acc{padding:16px 0 !important;}
  body.v4 footer.sf{padding-bottom:18px !important;}
}
body.v2.v3.v4 .up :is(.bd-a,.bd-b,.bd-c,.bd-d) .pr-kk h2{color:var(--vi) !important;}
body.v2.v3.v4 .up .bd-d .pr-kk :is(p,strong,span,small,li,a){color:var(--ind) !important;}

/* Abstand letzter Inhalt → Footer (auch Seiten ohne Bänder) */
body.v4 .up-in > :last-child:not(.bd){margin-bottom:72px !important;}
body.v4 #splan.sp-page{padding-bottom:72px !important;}
@media (max-width:768px){ body.v4 .up-in > :last-child:not(.bd){margin-bottom:52px !important;} body.v4 #splan.sp-page{padding-bottom:52px !important;} }

/* Stundenplan: jeder Wochentag eigene Farbe, keine Konturen */
body.v4 #splan .dc-row{border:none !important;box-shadow:none !important;gap:8px;margin-bottom:8px !important;background:transparent !important;}
body.v4 #splan .dc-label{border:none !important;}
body.v4 #splan .dc-row.row-mon .dc-label{background:var(--vi) !important;color:var(--ye) !important;}
body.v4 #splan .dc-row.row-die .dc-label{background:var(--or) !important;color:var(--ind) !important;}
body.v4 #splan .dc-row.row-don .dc-label{background:var(--ind) !important;color:var(--ye) !important;}
body.v4 #splan .dc-row.row-fri .dc-label{background:var(--pu) !important;color:var(--vi) !important;}
body.v4 #splan .dc-slots{gap:8px !important;background:transparent !important;}
body.v4 #splan .sl, body.v4 #splan .sl:first-child, body.v4 #splan .sl:first-child.sk, body.v4 #splan .sl:last-child{border:none !important;box-shadow:none !important;}
body.v4 #splan .dc-row .dc-slots .sl{background:var(--pu) !important;opacity:1 !important;filter:none !important;}
body.v4 #splan .dc-row.row-fri .dc-slots .sl{background:rgba(208,213,253,.55) !important;}
body.v4 #splan .sl-t{color:var(--ind) !important;opacity:1 !important;font-weight:700;}
body.v4 #splan .sl-n{color:var(--vi) !important;}
body.v4 #splan .sl-sub{color:var(--ind) !important;opacity:.75 !important;}
body.v4 #splan .sl-p{color:var(--ind) !important;}
body.v4 #splan .sl-p-abo{background:var(--ye) !important;color:var(--vi) !important;}
body.v4 #splan .sl:hover{filter:brightness(.97) !important;}

/* Info: «So findest du uns» – einheitliche Farben, keine Kontur */
body.v4 .is-c .is-k, body.v4 .kt-c .pr-k, body.v4 .kt-c span{color:var(--ind) !important;opacity:1 !important;}
body.v4 .is-c strong, body.v4 .is-c a, body.v4 .kt-c strong, body.v4 .kt-c a, body.v4 a.kt-c strong{color:var(--vi) !important;}
body.v4 .is-c a, body.v4 .kt-c a{text-decoration:underline;text-decoration-color:var(--or);text-underline-offset:3px;}
body.v4 #maps-box, body.v4 .kt-map, body.v4 .mf, body.v4 .mb{border:none !important;outline:none !important;box-shadow:none !important;}
body.v4 :is(.bd-a,.bd-c,.bd-d) #maps-box{background:var(--ye) !important;}
body.v4 .bd-b #maps-box, body.v4 .up-in > #maps-box{background:var(--pu) !important;}

/* Maus: keine versteckten Cursor mehr */
body.v4 .igc, body.v4 a.igc, body.v4 .mb, body.v4 .mf, body.v4 #maps-box, body.v4 #maps-box *{cursor:pointer !important;}
body.v4 main.sp-head, body.v4 #splan, body.v4 #splan.sp-page, body.v4 .sp-page .w{border:none !important;box-shadow:none !important;}
body.v4 main.sp-head .up-in > :last-child{margin-bottom:24px !important;}
body.v4 #splan.sp-page{padding-top:16px !important;}

/* ============================================================
   Stundenplan v2: einheitlich – Tage als klare Blöcke, Zeiten gross
   ============================================================ */
body.v4 #splan .dag{display:flex !important;flex-direction:column !important;gap:28px !important;}
body.v4 #splan .dc-row{display:grid !important;grid-template-columns:200px 1fr !important;gap:10px !important;margin:0 !important;align-items:stretch;}
body.v4 #splan .dc-row .dc-label, body.v4 #splan .dc-row.row-mon .dc-label, body.v4 #splan .dc-row.row-die .dc-label,
body.v4 #splan .dc-row.row-don .dc-label, body.v4 #splan .dc-row.row-fri .dc-label{
  writing-mode:horizontal-tb !important;transform:none !important;min-width:0 !important;
  background:var(--vi) !important;color:var(--ye) !important;display:flex !important;align-items:center !important;justify-content:flex-start !important;
  padding:20px 22px !important;font-family:var(--fd) !important;font-weight:900 !important;font-size:28px !important;letter-spacing:1px !important;text-transform:uppercase !important;}
body.v4 #splan .dc-slots{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:10px !important;}
body.v4 #splan .dc-row .dc-slots .sl, body.v4 #splan .dc-row.row-fri .dc-slots .sl{background:var(--pu) !important;padding:18px 20px !important;gap:6px !important;}
body.v4 #splan .sl-t{font-family:var(--fd) !important;font-size:24px !important;font-weight:800 !important;letter-spacing:.5px !important;color:var(--ind) !important;line-height:1 !important;}
body.v4 #splan .sl-n{font-size:18px !important;line-height:1.15 !important;color:var(--vi) !important;}
body.v4 #splan .sl-sub{font-size:12px !important;letter-spacing:1.5px !important;}
body.v4 #splan .slb{background:var(--ye) !important;color:var(--vi) !important;border:none !important;}
body.v4 #splan .sl-p{font-size:12.5px !important;}
@media (max-width:900px){
  body.v4 #splan .dc-row{grid-template-columns:1fr !important;gap:8px !important;}
  body.v4 #splan .dc-row .dc-label{font-size:22px !important;padding:12px 16px !important;}
  body.v4 #splan .dc-slots{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:560px){ body.v4 #splan .dc-slots{grid-template-columns:1fr !important;} body.v4 #splan .dag{gap:22px !important;} }
/* Handy: Platz für fixe Leiste im Footer statt rosa Streifen darunter */
@media (max-width:768px){
  body.v2.v4{padding-bottom:0 !important;}
  body.v4 footer.sf{padding-bottom:calc(92px + env(safe-area-inset-bottom)) !important;}
}
/* Google-Bewertung CTA */
body.v4 .gr-cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:22px 0 0 !important;max-width:none !important;}
body.v4 .gr-cta span{font-size:15px;}

/* Kursseiten: Ablauf einer Lektion + Gruppe/Einstieg/Auftritte */
body.v4 .lx-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:8px 0 18px;}
body.v4 .lx-steps .cp-box{padding:22px 20px;margin:0;display:flex;flex-direction:column;gap:6px;}
body.v4 .lx-steps .cp-box h3{margin:4px 0 0;}
body.v4 .lx-steps .cp-box p{margin:0;font-size:15px;line-height:1.45;}
body.v4 .lx-n{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--vi);color:#fff;font-family:var(--fd);font-weight:900;font-size:20px;}
body.v4 .lx-info{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:8px 0 0;}
body.v4 .lx-info.lx-3{grid-template-columns:repeat(3,1fr);}
body.v4 .lx-info .cp-box{margin:0;padding:24px 22px;}
body.v4 .lx-info .cp-box p{margin:6px 0 0;}
@media (max-width:1000px){ body.v4 .lx-steps{grid-template-columns:repeat(2,1fr);} body.v4 .lx-info.lx-3{grid-template-columns:1fr;} }
@media (max-width:640px){ body.v4 .lx-steps,body.v4 .lx-info{grid-template-columns:1fr;gap:10px;} body.v4 .lx-steps .cp-box{padding:18px;} }
@media (max-width:640px){ body.v4 .lx-steps .cp-box{display:grid;grid-template-columns:36px 1fr;column-gap:14px;row-gap:2px;padding:14px 16px;align-items:start;}
 body.v4 .lx-steps .lx-n{grid-row:span 2;width:32px;height:32px;font-size:18px;} body.v4 .lx-steps .cp-box h3{margin:0;} }

/* Ratgeber */
body.v4 .rg-meta{font-size:14px;letter-spacing:.3px;opacity:.8;margin:-6px 0 18px;}
body.v4 .rg-three{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:14px 0 18px;}
body.v4 .rg-three .cp-box,body.v4 .rg-study .cp-box{margin:0;padding:22px 22px;}
body.v4 .rg-three .cp-box p,body.v4 .rg-study .cp-box p{margin:6px 0 0;}
body.v4 .rg-study{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:14px 0 18px;}
body.v4 .rg-tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;background:var(--vi);color:#fff;padding:4px 9px;margin-bottom:10px;}
body.v4 .rg-tips{padding-left:22px;margin:10px 0 0;}
body.v4 .rg-tips li{margin:0 0 12px;line-height:1.55;}
body.v4 .rg-src{padding-left:22px;font-size:14px;line-height:1.5;}
body.v4 .rg-src li{margin-bottom:8px;word-break:break-word;}
body.v4 .rg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:10px;}
body.v4 a.rg-card{display:flex;flex-direction:column;gap:6px;margin:0;padding:24px 22px;text-decoration:none;color:inherit;transition:transform .15s;}
body.v4 a.rg-card:hover{transform:translateY(-3px);}
body.v4 a.rg-card h3{margin:0;}
body.v4 a.rg-card p{margin:0;flex:1;}
body.v4 .rg-more{font-weight:700;color:var(--or);margin-top:6px;}
body.v4 .rg p{max-width:760px;}
body.v4 .rg .cp-box p{max-width:none;}
@media (max-width:1000px){ body.v4 .rg-three,body.v4 .rg-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:640px){ body.v4 .rg-three,body.v4 .rg-study,body.v4 .rg-grid{grid-template-columns:1fr;gap:10px;} body.v4 .rg-three .cp-box,body.v4 .rg-study .cp-box,body.v4 a.rg-card{padding:18px;} }
/* Ratgeber Bilder */
body.v4 .rg-rels{display:contents;}
body.v4 .rg-hero,body.v4 .rg-fig{margin:22px 0 8px;max-width:1080px;}
body.v4 .rg-hero img,body.v4 .rg-fig img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;background:var(--pu);}
body.v4 .rg-hero figcaption,body.v4 .rg-fig figcaption{font-size:12px;opacity:.7;margin-top:6px;}
body.v4 .rg-hero figcaption a,body.v4 .rg-fig figcaption a{color:inherit;}
body.v4 .rg-fig{margin:26px 0 4px;}
body.v4 a.rg-card{padding:0 0 22px;overflow:hidden;}
body.v4 a.rg-card img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;margin-bottom:8px;}
body.v4 a.rg-card > :not(img){margin-left:22px;margin-right:22px;}
body.v4 a.rg-card .rg-tag{align-self:flex-start;}
@media (max-width:640px){ body.v4 a.rg-card{padding:0 0 18px;} body.v4 a.rg-card > :not(img){margin-left:18px;margin-right:18px;} }
body.v4 .rg-fig{max-width:860px;}

/* Startseite Über uns: Hochformat-Video (workshops.mp4) */
body.v4 #studio .sg:has(.sv-p){grid-template-columns:min(380px, calc((100vh - 230px) * .5625)) minmax(0,1fr);gap:clamp(48px,7vw,110px);max-width:1160px;margin:0 auto;}
body.v4 #studio .sv.sv-p{aspect-ratio:9/16 !important;height:auto !important;width:100% !important;margin:0 !important;}
body.v4 #studio .sv.sv-p video{width:100%;height:100%;object-fit:cover;opacity:.72;display:block;}
body.v4 #studio .sv-p .svo{align-items:flex-start;background:linear-gradient(to top,rgba(244,78,36,.62) 0%,rgba(244,78,36,.18) 45%,transparent 70%);}
body.v4 #studio .sv-p .svt{font-size:11px;padding:7px 14px;}
body.v4 #studio .sg:has(.sv-p) .st .h1{font-size:clamp(64px,7.4vw,124px) !important;line-height:.9;letter-spacing:-.5px;margin-bottom:30px !important;}
body.v4 #studio .sg:has(.sv-p) .st p{font-size:clamp(19px,1.6vw,23px);line-height:1.6;max-width:30em;}
body.v4 #studio .sg:has(.sv-p) .spp{margin-top:30px;gap:10px;max-width:640px;}
body.v4 #studio .sg:has(.sv-p) .st-more{margin-top:30px;font-size:15px;}
@media (max-width:960px){
 body.v4 #studio .sg:has(.sv-p){grid-template-columns:1fr;gap:28px;}
 body.v4 #studio .sv.sv-p{aspect-ratio:4/5 !important;max-width:420px;}
 body.v4 #studio .sv.sv-p video{object-position:center 40%;}
 body.v4 #studio .sg:has(.sv-p) .st .h1{font-size:clamp(44px,13vw,72px) !important;margin-bottom:18px !important;}
 body.v4 #studio .sg:has(.sv-p) .st p{font-size:18px;}
}
@media (min-width:961px){
 body.v4 #studio .sg:has(.sv-p) .st p{font-size:clamp(19px,1.55vw,23px) !important;line-height:1.6 !important;max-width:30em;}
 body.v4 #studio .sg:has(.sv-p) .sp{font-size:13px !important;padding:10px 18px !important;letter-spacing:2.5px !important;}
 body.v4 #studio .sg:has(.sv-p) .st-more{font-size:16px !important;}
 body.v4 #studio .sg:has(.sv-p) .lbl{font-size:14px !important;}
}

/* Footer: Plus direkt neben dem Text, nichts unter WhatsApp/Pfeil nach oben */
footer.sf .sf-open span:nth-of-type(1){flex:0 1 auto !important;}
footer.sf .sf-oi{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:34px;height:34px;background:var(--ye);color:var(--vi) !important;font-size:24px;font-weight:700;margin-left:4px;}
@media (min-width:769px){ footer.sf .sf-in{padding-right:120px !important;} }
@media (max-width:768px){ footer.sf .sf-oi{width:30px;height:30px;font-size:21px;} }
.js body.v4 footer.sf.open .sf-oi{transform:none !important;font-size:0 !important;}
.js body.v4 footer.sf.open .sf-oi::after{content:"\2013";font-size:30px;font-weight:700;line-height:1;}

/* Ratgeber: Demnächst */
body.v4 .rg-soon-h{margin:44px 0 6px;font-family:var(--fd);font-weight:800;font-size:24px;text-transform:uppercase;letter-spacing:.5px;}
body.v4 .rg-soon-grid{grid-template-columns:repeat(3,1fr);}
body.v4 .rg .cp-box.rg-soon{margin:0;padding:24px 22px;display:flex;flex-direction:column;gap:8px;opacity:.88;}
body.v4 .rg-soon h3{margin:0;}
body.v4 .rg-soon p{margin:0;flex:1;}
body.v4 .rg-soon .rg-tag{align-self:flex-start;background:var(--or) !important;color:var(--ind) !important;}
body.v4 .rg-soon-l{font-family:var(--fd);font-weight:800;font-size:13px;letter-spacing:2px;text-transform:uppercase;opacity:.7;}
body.v4 .rg-next{margin:28px 0 0;max-width:none !important;padding:18px 22px;background:var(--vi);color:var(--ye) !important;line-height:1.6;}
body.v4 .rg-next a{color:var(--ye) !important;}
body.v4 .rg-next .rg-tag{background:var(--or) !important;color:var(--ind) !important;margin:0 8px 0 0;vertical-align:1px;}
@media (max-width:1000px){ body.v4 .rg-soon-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:640px){ body.v4 .rg-soon-grid{grid-template-columns:1fr;} }
body.v2.v3.v4 .rg p.rg-next,body.v2.v3.v4 .rg p.rg-next strong,body.v2.v3.v4 .rg p.rg-next a{color:var(--ind) !important;}
body.v2.v3.v4 .rg p.rg-next{background:var(--pu) !important;}
body.v2.v3.v4 .rg .bd-a p.rg-next{background:var(--ye) !important;}
body.v2.v3.v4 .rg p.rg-next a{text-decoration:underline;}

/* === Startseite Update 26.09: Hero, Facts-Links, Team, Scroll-Animationen === */
body.v4 #hero .hv{opacity:.9 !important;}
body.v3.v4 #hero .hov{background:linear-gradient(to top,rgba(85,56,175,.95) 0%,rgba(85,56,175,.72) 22%,rgba(85,56,175,.38) 50%,rgba(85,56,175,.16) 78%,rgba(85,56,175,.1) 100%) !important;}
body.v4 #hero .hli{filter:drop-shadow(0 4px 24px rgba(33,19,80,.45));}
body.v4 #hero .hsu,body.v4 #hero .hey{text-shadow:0 2px 14px rgba(33,19,80,.55);}
body.v4 #facts a.fc{display:block;text-decoration:none;cursor:pointer;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s;}
body.v4 #facts a.fc:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(33,19,80,.18);}
body.v4 #facts .fc-go{position:absolute;right:22px;bottom:18px;font:700 22px/1 var(--fb);color:var(--ind);opacity:.55;transition:transform .3s,opacity .3s;z-index:1;}
body.v4 #facts a.fc:hover .fc-go{opacity:1;transform:translateX(4px);}
@media (max-width:640px){ body.v4 #facts .fc-go{right:10px;bottom:8px;font-size:16px;} }
/* Team: mehr Luft über dem Kopf */
body.v4 #team .ts-i{height:clamp(320px,31vw,440px) !important;padding-top:clamp(30px,3.4vw,52px);box-sizing:border-box;}
body.v4 #team .ts-i img{height:100% !important;width:auto;max-width:100%;object-fit:contain;object-position:bottom;}
@media (max-width:760px){ body.v4 #team .ts-i{height:200px !important;padding-top:18px;} }
/* Scroll-Animationen (einmalig, gedämpft) */
#facts,#kurse,#team,#social,#info,#kontakt{overflow-x:clip;}
html.js .ani{opacity:0;transition:opacity .75s ease,transform 1s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i,0) * 95ms);will-change:transform,opacity;}
html.js .ani-u{transform:translateY(38px);}
html.js .ani-r{transform:translateX(110px);}
html.js .ani-s{transform:translateY(26px) scale(.94);}
html.js .ani.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){ html.js .ani{opacity:1 !important;transform:none !important;transition:none !important;} }
body.unterseite main{overflow-x:clip;}

/* === Auftritte, Erfahrungen, Tanzstile, Region === */
body.v4 .ev-next{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start;margin-top:10px;}
body.v4 .ev-poster img{display:block;width:100%;height:auto;box-shadow:0 18px 40px rgba(33,19,80,.25);}
body.v4 .ev-info .rg-tag{margin-bottom:10px;}
body.v4 .ev-count{font:900 clamp(34px,4vw,54px)/1 var(--fd);text-transform:uppercase;margin:6px 0 18px;max-width:none !important;}
body.v4 .ev-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
body.v4 .ev-facts .cp-box{margin:0;padding:16px 18px;}
body.v4 .ev-k{display:block;font:800 12px var(--fd);letter-spacing:2px;text-transform:uppercase;opacity:.7;margin-bottom:4px;}
body.v4 .ev-facts strong{font-size:16px;line-height:1.4;}
body.v4 .ev-btns{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin-top:22px;}
body.v4 .ev-btns .btn{display:inline-flex;align-items:center;gap:8px;}
body.v4 a.ev-l{font:800 14px var(--fd);letter-spacing:1.5px;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px;}
body.v4 a.ev-route,body.v4 a.ev-ig{display:flex;align-items:center;gap:18px;padding:22px 24px;margin:14px 0;background:var(--or);color:var(--ind) !important;text-decoration:none;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s;}
body.v4 a.ev-ig{background:var(--vi);color:var(--ye) !important;}
body.v4 a.ev-route:hover,body.v4 a.ev-ig:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(33,19,80,.2);}
body.v4 .ev-route-pin,body.v4 .ev-ig-i{flex:0 0 52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--ye);color:var(--or);}
body.v4 .ev-ig-i{color:var(--vi);}
body.v4 a.ev-route strong,body.v4 a.ev-ig strong{display:block;font:900 22px/1.1 var(--fd);text-transform:uppercase;}
body.v4 a.ev-route small,body.v4 a.ev-ig small{display:block;font-size:15px;line-height:1.45;margin-top:4px;}
body.v4 .ev-route-t,body.v4 a.ev-ig > span:nth-child(2){flex:1;}
body.v4 .ev-route-go{font:900 20px var(--fd);white-space:nowrap;}
body.v4 .ev-map{min-height:340px;margin-top:10px;}
body.v4 .ev-past{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:start;margin:10px 0 16px;}
body.v4 .ev-past video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--ind);}
body.v4 .ev-past-flyer img{display:block;width:100%;height:auto;}
body.v4 .ev-kollekte{margin:16px 0 0;padding:22px 24px;}
body.v4 .ev-kollekte p{margin:8px 0 0;max-width:none !important;}
body.v4 .rv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:10px;}
body.v4 .rv-card{margin:0;padding:22px;}
body.v4 .rv-stars{color:var(--or);letter-spacing:2px;font-size:18px;}
body.v4 .rv-card blockquote{margin:10px 0;font-size:16px;line-height:1.55;}
body.v4 .rv-card figcaption{font:800 13px var(--fd);letter-spacing:1.5px;text-transform:uppercase;opacity:.75;}
body.v4 a.st-card{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit;padding:24px 22px;margin:0;transition:transform .3s cubic-bezier(.22,1,.36,1);}
body.v4 a.st-card:hover{transform:translateY(-3px);}
body.v4 a.st-card h3{margin:0;} body.v4 a.st-card p{margin:0;flex:1;}
body.v4 a.st-card .rg-tag{align-self:flex-start;}
@media (max-width:900px){ body.v4 .ev-next,body.v4 .ev-past{grid-template-columns:1fr;} body.v4 .ev-poster{max-width:480px;} body.v4 .rv-grid{grid-template-columns:1fr;} }
@media (max-width:560px){ body.v4 .ev-facts{grid-template-columns:1fr;} body.v4 a.ev-route,body.v4 a.ev-ig{padding:16px;gap:12px;} body.v4 .ev-route-pin,body.v4 .ev-ig-i{flex-basis:42px;height:42px;} body.v4 a.ev-route strong,body.v4 a.ev-ig strong{font-size:18px;} body.v4 .ev-route-go{display:none;} }

body.v4 .ev-map,body.v4 .ev-map .maps-consent{border:none !important;box-shadow:none !important;}
body.v4 .ev-past-media p{margin-top:16px;}

/* === Startseiten-Banner «Nächster Auftritt» === */
body.v4 .evb{background:var(--ind);color:var(--cr);padding:44px 0;}
body.v4 .evb-in{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:32px;align-items:center;}
body.v4 .evb-img img{display:block;width:120px;height:auto;box-shadow:0 10px 30px rgba(0,0,0,.35);transform:rotate(-3deg);transition:transform .4s cubic-bezier(.22,1,.36,1);}
body.v4 .evb-img:hover img{transform:rotate(0) scale(1.03);}
body.v4 .evb-tag{display:inline-block;background:var(--or);color:var(--ind);font:800 12px var(--fd);letter-spacing:3px;text-transform:uppercase;padding:5px 12px;}
body.v4 .evb-h{font:900 clamp(34px,4.4vw,56px)/0.95 var(--fd);text-transform:uppercase;color:var(--cr);margin:12px 0 10px;}
body.v4 .evb-p{font-size:17px;line-height:1.5;color:var(--cr);opacity:.9;margin:0;max-width:620px;}
body.v4 .evb-p strong{color:var(--cr);}
body.v4 .evb-c{font:800 15px var(--fd);letter-spacing:2.5px;text-transform:uppercase;color:var(--pu);margin:10px 0 0;}
body.v4 .evb-c:empty{display:none;}
body.v4 .evb .btn.evb-btn{background:var(--or) !important;color:var(--cr) !important;border-color:var(--or) !important;white-space:nowrap;}
body.v4 .evb.evb-off{display:none;}
@media (max-width:820px){
  body.v4 .evb{padding:34px 0;}
  body.v4 .evb-in{grid-template-columns:86px minmax(0,1fr);gap:18px 20px;}
  body.v4 .evb-img img{width:86px;}
  body.v4 .evb-btn{grid-column:1 / -1;justify-self:stretch;text-align:center;}
  body.v4 .evb-p{font-size:15.5px;}
}

/* === Intro-Animation: oberster Text blendet beim Laden ein (gleiche Bewegung wie beim Scrollen) === */
@keyframes aniIntro{from{opacity:0;transform:translateY(38px)}to{opacity:1;transform:none}}
body.unterseite main .up-in > :not(.bd):not(.bd ~ *){animation:aniIntro 1s cubic-bezier(.22,1,.36,1) both;}
body.unterseite main .up-in > :not(.bd):not(.bd ~ *):nth-child(1){animation-delay:.05s}
body.unterseite main .up-in > :not(.bd):not(.bd ~ *):nth-child(2){animation-delay:.17s}
body.unterseite main .up-in > :not(.bd):not(.bd ~ *):nth-child(3){animation-delay:.29s}
body.unterseite main .up-in > :not(.bd):not(.bd ~ *):nth-child(4){animation-delay:.41s}
body.unterseite main .up-in > :not(.bd):not(.bd ~ *):nth-child(n+5){animation-delay:.53s}
body.v4 #hero .hey,body.v4 #hero .hli,body.v4 #hero .hsu,body.v4 #hero .hbt{animation-name:aniIntro !important;animation-duration:1s !important;animation-timing-function:cubic-bezier(.22,1,.36,1) !important;}
/* alte .rv-Regel (v2) darf die Scroll-Animation nicht übersteuern (z.B. «Über uns» auf der Startseite) */
html.js body.v2 .rv.ani:not(.in){opacity:0 !important;}
html.js body.v2 .rv.ani-u:not(.in){transform:translateY(38px) !important;}
html.js body.v2 .rv.ani-s:not(.in){transform:translateY(26px) scale(.94) !important;}
html.js body.v2 .rv.ani-r:not(.in){transform:translateX(110px) !important;}
html.js body.v2 .rv.ani{transition:opacity .75s ease,transform 1s cubic-bezier(.22,1,.36,1) !important;transition-delay:calc(var(--i,0) * 95ms) !important;}
@media (prefers-reduced-motion:reduce){
  body.unterseite main .up-in > *,body.v4 #hero .hey,body.v4 #hero .hli,body.v4 #hero .hsu,body.v4 #hero .hbt{animation:none !important;opacity:1 !important;transform:none !important;}
  html.js body.v2 .rv.ani{opacity:1 !important;transform:none !important;}
}
body.v4 > section.evb:not(#hero),body.v4 section.evb:not(#hero){min-height:0 !important;display:block !important;padding:48px 0 !important;}
@media (max-width:820px){ body.v4 > section.evb:not(#hero),body.v4 section.evb:not(#hero){padding:34px 0 !important;} }

/* Parkieren im Event-Kasten */
body.v4 .ev-park{display:flex;gap:18px;align-items:flex-start;background:var(--ind);color:var(--cr);padding:22px 24px;margin-top:22px;}
body.v4 .ev-park-i{flex:0 0 52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--or);color:var(--cr);font:900 34px/1 var(--fd);}
body.v4 .ev-park .ev-k{color:var(--pu);}
body.v4 .ev-park strong{display:block;font:800 22px/1.15 var(--fd);text-transform:uppercase;letter-spacing:.5px;color:var(--cr);margin:4px 0 6px;}
body.v4 .ev-park p{margin:0 0 10px;font-size:15.5px;line-height:1.5;color:var(--cr);opacity:.9;}
body.v4 .ev-park a{color:var(--cr);font:800 13px var(--fd);letter-spacing:2px;text-transform:uppercase;text-decoration:none;border-bottom:2px solid var(--or);padding-bottom:2px;}
body.v4 .ev-tips.rg-three{grid-template-columns:repeat(2,1fr);}
@media (max-width:640px){ body.v4 .ev-tips.rg-three{grid-template-columns:1fr;} body.v4 .ev-park{padding:18px;gap:14px;} body.v4 .ev-park-i{flex-basis:42px;height:42px;font-size:28px;} }

/* === Suche === */
.ns-btn{background:none;border:0;cursor:pointer;color:inherit;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;margin-left:6px;}
body.v4 #nav .ns-btn{color:var(--ind);}
body.v4 #nav .ns-btn:hover{color:var(--or);}
.ns-btn svg{width:21px;height:21px;}
body.v4 #nav .ns-m{display:none;}
@media (max-width:960px){ body.v4 #nav .ns-m{display:inline-flex;margin-left:auto;margin-right:6px;} }
.sx{position:fixed;inset:0;z-index:10000;background:rgba(33,19,80,.72);display:none;align-items:flex-start;justify-content:center;padding:9vh 16px 16px;backdrop-filter:blur(3px);}
.sx.open{display:flex;}
.sx-box{width:100%;max-width:680px;background:var(--cr);color:var(--ind);box-shadow:0 24px 70px rgba(0,0,0,.35);display:flex;flex-direction:column;max-height:80vh;animation:aniIntro .45s cubic-bezier(.22,1,.36,1) both;}
.sx-top{display:flex;align-items:center;gap:12px;padding:16px 18px;background:var(--vi,#5538AF);color:var(--cr);}
.sx-top svg{flex:0 0 22px;}
.sx-in{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--cr);font:600 20px var(--fb);padding:6px 0;}
.sx-in::placeholder{color:rgba(246,214,227,.7);}
.sx-x{background:var(--or);color:var(--cr);border:0;cursor:pointer;font:800 12px var(--fd);letter-spacing:2px;text-transform:uppercase;padding:8px 12px;}
.sx-res{overflow-y:auto;padding:8px 0;}
.sx-hint{padding:14px 20px 4px;font:800 12px var(--fd);letter-spacing:2.5px;text-transform:uppercase;color:var(--vi,#5538AF);}
.sx-quick{display:flex;flex-wrap:wrap;gap:8px;padding:6px 20px 16px;}
.sx-quick a{background:var(--pu,#D0D5FD);color:var(--ind);text-decoration:none;font:800 13px var(--fd);letter-spacing:1.5px;text-transform:uppercase;padding:8px 12px;}
.sx-quick a:hover{background:var(--or);color:var(--cr);}
a.sx-r{display:block;padding:12px 20px;text-decoration:none;color:var(--ind);border-left:4px solid transparent;}
a.sx-r:hover,a.sx-r.act{background:var(--pu,#D0D5FD);border-left-color:var(--or);}
.sx-r b{display:block;font:800 17px/1.2 var(--fd);text-transform:uppercase;letter-spacing:.4px;color:var(--vi,#5538AF);}
.sx-r small{display:inline-block;font:700 11px var(--fd);letter-spacing:2px;text-transform:uppercase;color:var(--or);margin-bottom:3px;}
.sx-r span{display:block;font-size:14.5px;line-height:1.45;color:var(--ind);opacity:.85;margin-top:3px;}
.sx-r mark{background:rgba(244,78,36,.22);color:inherit;padding:0 1px;}
.sx-none{padding:18px 20px;font-size:15.5px;line-height:1.5;}
.sx-none a{color:var(--or);}
.sx-foot{padding:10px 20px;font-size:12.5px;color:var(--ind);opacity:.7;border-top:1px solid rgba(33,19,80,.1);}
@media (max-width:640px){ .sx{padding:0;} .sx-box{max-height:100vh;height:100%;max-width:none;} .sx-in{font-size:17px;} .sx-foot{display:none;} }
body.sx-lock{overflow:hidden;}
body.v4 .ev-park .ev-park-t p{color:var(--cr) !important;opacity:.9;}
.sx-in::-webkit-search-cancel-button,.sx-in::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none;}

/* === Bilder in Textseiten (enrich_images.py) === */
body.v4 figure.px{margin:34px 0 0;position:relative;overflow:hidden;}
body.v4 figure.px picture,body.v4 figure.px img{display:block;width:100%;height:auto;}
body.v4 figure.px img{background:rgba(33,19,80,.08);transition:transform 1.6s cubic-bezier(.22,1,.36,1);}
body.v4 figure.px-wide img{aspect-ratio:7/3;object-fit:cover;}
body.v4 figure.px figcaption{font-size:11.5px;letter-spacing:.3px;margin-top:8px;opacity:.7;}
body.v4 figure.px figcaption a{color:inherit !important;text-decoration:underline;text-decoration-color:rgba(127,127,127,.5) !important;}
body.v4 .bd > figure.px-wide:last-child{margin-bottom:0;}
body.v4 .px-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(36px,5vw,72px);align-items:center;}
body.v4 .px-row.px-l{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);}
body.v4 .px-row.px-l figure.px{order:-1;}
body.v4 .px-row figure.px{margin:0;}
body.v4 .px-row figure.px-side img{aspect-ratio:4/5;object-fit:cover;}
body.v4 .px-txt > h2:first-child{margin-top:0 !important;}
body.v4 .px-txt > :last-child{margin-bottom:0 !important;}
body.v4 .px-txt p{max-width:none;}
/* sanftes Reinzoomen beim Einblenden */
html.js body.v4 figure.px.ani:not(.in) img,html.js body.v4 .ku-stil.ani:not(.in) img{transform:scale(1.07);}
@media (max-width:860px){
  body.v4 .px-row,body.v4 .px-row.px-l{grid-template-columns:1fr;gap:28px;}
  body.v4 .px-row.px-l figure.px{order:0;}
  body.v4 .px-row figure.px-side img{aspect-ratio:10/7;}
  body.v4 figure.px{margin-top:28px;}
}
@media (max-width:700px){ body.v4 figure.px-wide img{aspect-ratio:10/7;} }

/* Tanzstile-Karten mit Bild */
body.v4 a.st-card{overflow:hidden;}
body.v4 a.st-card .st-img{display:block;margin:-24px -22px 16px;overflow:hidden;}
body.v4 a.st-card .st-img img{display:block;width:100%;aspect-ratio:8/5;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1);}
body.v4 a.st-card:hover .st-img img{transform:scale(1.05);}

/* Kurse-Übersicht: Teaser Tanzstile */
body.v4 a.ku-stil{display:grid;grid-template-columns:260px minmax(0,1fr);gap:0;background:var(--ind);color:var(--cr);text-decoration:none;margin:34px 0 0;overflow:hidden;}
body.v4 .ku-stil-img img{display:block;width:100%;height:100%;min-height:200px;object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1);}
body.v4 a.ku-stil:hover .ku-stil-img img{transform:scale(1.05);}
body.v4 .ku-stil-t{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:30px 34px;}
body.v4 .ku-stil-t .rg-tag{align-self:flex-start;background:var(--or) !important;color:var(--ind) !important;}
body.v4 .ku-stil-t strong{font:900 clamp(26px,3vw,36px)/1 var(--fd);text-transform:uppercase;color:var(--cr);}
body.v4 .ku-stil-t > span:not(.rg-tag):not(.ku-stil-go){font-size:16px;line-height:1.6;opacity:.9;}
body.v4 .ku-stil-go{font:800 13px var(--fd);letter-spacing:2px;text-transform:uppercase;color:var(--cr);border-bottom:2px solid var(--or);align-self:flex-start;padding-bottom:2px;}
@media (max-width:700px){ body.v4 a.ku-stil{grid-template-columns:1fr;} body.v4 .ku-stil-img img{aspect-ratio:16/9;min-height:0;} body.v4 .ku-stil-t{padding:24px 22px;} }

/* === Luftiger & leichter === */
body.v4 .up-in > .bd{padding:100px 0 !important;}
body.v4 .up-in > :not(.bd) + .bd{margin-top:84px !important;}
body.v4 .bd h2,body.v4 .px-txt h2{margin-bottom:26px !important;}
body.v4 .bd p{line-height:1.8;margin-bottom:18px;}
body.v4 .bd li{line-height:1.75;}
body.v4 .bd ul > li + li,body.v4 .bd ol > li + li{margin-top:4px;}
body.v4 .bd .cp-box{padding:28px 28px;}
body.v4 .rg-three,body.v4 .rg-study,body.v4 .rg-grid{gap:20px !important;}
body.v4 .bd .rg-three,body.v4 .bd .rg-study{margin:22px 0 26px;}
body.v4 .cp-answer{line-height:1.7 !important;}
@media (max-width:768px){
  body.v4 .up-in > .bd{padding:68px 0 !important;}
  body.v4 .up-in > :not(.bd) + .bd{margin-top:60px !important;}
  body.v4 .bd .cp-box{padding:22px 20px;}
  body.v4 .bd p{line-height:1.75;}
}
body.v4 .bd a.st-card.cp-box,body.v4 a.st-card.cp-box{padding:26px 24px !important;}
body.v4 a.st-card .st-img{margin:-26px -24px 18px !important;}
body.v4 figure.px-wide:not(:last-child){margin-bottom:34px;}
/* Textspalte neben Bildern: gleiche Farben wie direkte Bandinhalte */
body.v2.v3.v4 .up .bd-d .px-txt > p, body.v2.v3.v4 .up .bd-d .px-txt > ul li, body.v2.v3.v4 .up .bd-d .px-txt > ol li,
body.v2.v3.v4 .up .bd-d .px-txt :is(p,li) strong{color:var(--ye) !important;}
body.v4 .bd-d .px-txt > :is(p,ul,ol) a{color:var(--ye) !important;text-decoration-color:var(--or) !important;}
body.v4 .bd-d .px-txt > ul svg{color:var(--or) !important;}
body.v4 .bd-d figure.px figcaption{color:var(--ye);}
/* Button im violetten CTA-Kasten auf orangem Band sichtbar */
body.v4 .bd-c .pr-cta .btn.bor, body.v4 .bd-c .pr-cta a.btn.bor{background:var(--or) !important;color:var(--ind) !important;border-color:var(--or) !important;}
body.v4 a.st-card .st-img img{height:auto !important;aspect-ratio:8/5 !important;}
@media (max-width:860px){ body.v4 .px-row figure.px-tall img{aspect-ratio:4/5;max-height:560px;} }

/* === Auftritte: nächster Auftritt (neu) === */
body.v4 .ev-next{grid-template-columns:minmax(0,420px) minmax(0,1fr) !important;gap:clamp(28px,4.5vw,64px) !important;align-items:start !important;}
@media (min-width:901px){ body.v4 .ev-poster{position:sticky;top:96px;} }
body.v4 .ev-poster img{box-shadow:0 24px 50px rgba(33,19,80,.28) !important;transition:transform .5s cubic-bezier(.22,1,.36,1);}
body.v4 .ev-poster:hover img{transform:rotate(-1deg) scale(1.01);}
body.v4 .ev-title{font:900 clamp(34px,4vw,54px)/.95 var(--fd) !important;text-transform:uppercase;color:var(--ind) !important;margin:14px 0 22px !important;}
body.v4 .ev-title small{display:block;font:800 15px var(--fd);letter-spacing:3px;color:var(--vi);margin-top:10px;}
body.v4 .cd-box{background:var(--ind);color:var(--cr);padding:24px 24px 18px;}
body.v4 .cd{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
body.v4 .cd-t{background:rgba(246,214,227,.08);padding:14px 6px 12px;text-align:center;position:relative;overflow:hidden;}
body.v4 .cd-t b{display:block;font:900 clamp(40px,5vw,64px)/1 var(--fd);color:var(--cr);font-variant-numeric:tabular-nums;letter-spacing:1px;}
body.v4 .cd-t span{display:block;font:800 11px var(--fd);letter-spacing:2.5px;text-transform:uppercase;color:var(--pu);margin-top:8px;}
body.v4 .cd-s{background:var(--or) !important;}
body.v4 .cd-s b{color:var(--ind);} body.v4 .cd-s span{color:var(--ind);}
body.v4 .cd-t.tick b{animation:cdTick .45s cubic-bezier(.22,1,.36,1);}
@keyframes cdTick{0%{transform:translateY(-35%);opacity:0}100%{transform:none;opacity:1}}
body.v4 .cd-cap{margin:14px 0 0 !important;font:700 13px var(--fd);letter-spacing:2px;text-transform:uppercase;color:var(--pu) !important;max-width:none !important;}
body.v4 .cd-now{font:900 40px/1 var(--fd);text-transform:uppercase;color:var(--or);margin:0;grid-column:1/-1;}
body.v4 .ev-list{list-style:none;margin:22px 0 0 !important;padding:0 !important;}
body.v4 .ev-list li{display:flex;gap:16px;align-items:center;padding:14px 0 !important;border-bottom:1px solid rgba(33,19,80,.14);font-size:17px;line-height:1.4;font-weight:600;color:var(--ind) !important;margin:0 !important;}
body.v4 .ev-list li:first-child{border-top:1px solid rgba(33,19,80,.14);}
body.v4 .ev-i{flex:0 0 42px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--ye);color:var(--vi);}
body.v4 .ev-list .ev-k{margin-bottom:2px;}
body.v4 .ev-next .ev-btns{margin-top:24px;}
body.v4 .ev-next .ev-btns .btn{width:100%;justify-content:center;}
body.v4 .ev-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
body.v4 .ev-chips a{flex:1 1 auto;text-align:center;background:var(--ye);color:var(--ind) !important;text-decoration:none;font:800 12.5px var(--fd);letter-spacing:1.8px;text-transform:uppercase;padding:12px 14px;transition:background .2s,color .2s;}
body.v4 .ev-chips a:hover{background:var(--vi);color:var(--ye) !important;}
body.v4 .ev-next .ev-park{margin-top:22px;}
@media (max-width:560px){
  body.v4 .cd-box{padding:16px 12px 14px;}
  body.v4 .cd{gap:6px;}
  body.v4 .cd-t{padding:10px 2px 9px;}
  body.v4 .cd-t b{font-size:34px;}
  body.v4 .cd-t span{font-size:9.5px;letter-spacing:1.5px;}
  body.v4 .cd-cap{font-size:11px;letter-spacing:1.2px;}
  body.v4 .ev-list li{font-size:15.5px;gap:12px;}
  body.v4 .ev-chips a{flex:1 1 100%;}
}
/* Countdown im Startseiten-Banner */
body.v4 .cd.cd-sm{display:flex;align-items:stretch;gap:6px;margin-top:14px;grid-template-columns:none;}
body.v4 .cd-sm .cd-pre{align-self:center;font:800 13px var(--fd);letter-spacing:2.5px;text-transform:uppercase;color:var(--pu);margin-right:6px;}
body.v4 .cd-sm .cd-t{min-width:58px;padding:8px 6px 7px;}
body.v4 .cd-sm .cd-t b{font-size:28px;}
body.v4 .cd-sm .cd-t span{font-size:9.5px;letter-spacing:1.8px;margin-top:4px;}
@media (max-width:420px){ body.v4 .cd-sm .cd-t{min-width:0;flex:1;} body.v4 .cd-sm .cd-pre{display:none;} }

/* === Auftritte: Rückblick 2025 === */
body.v4 .ev-past{grid-template-columns:minmax(0,2.2fr) minmax(0,1fr) !important;gap:clamp(20px,3vw,36px) !important;align-items:start !important;}
body.v4 .ev-past video{box-shadow:0 18px 40px rgba(33,19,80,.22);outline:none;}
body.v4 .ev-past video:focus:not(:focus-visible){outline:none;}
body.v4 .ev-past-media p{margin-top:22px !important;font-size:17px;}
body.v4 .ev-past-flyer{display:block;}
body.v4 .ev-past-flyer img{box-shadow:0 18px 40px rgba(33,19,80,.22);transition:transform .5s cubic-bezier(.22,1,.36,1);}
body.v4 .ev-past-flyer:hover img{transform:rotate(1deg) scale(1.01);}
@media (max-width:900px){ body.v4 .ev-past{grid-template-columns:1fr !important;} body.v4 .ev-past-flyer{max-width:360px;} }

/* Kollekte-Tag hell */
body.v4 .ev-kollekte .rg-tag{color:var(--ye) !important;background:var(--vi) !important;}

/* Teacher-Profile: mehr Platz über dem Kopf */
body.v4 .tp-img{box-sizing:border-box;padding-top:48px;height:460px !important;}
@media (max-width:768px){ body.v4 .tp-img{padding-top:34px;height:360px !important;} }

/* Footer mobil: gleichmässige Abstände */
@media (max-width:768px){
  body.v4 footer.sf .sf-col h5{margin:0 0 14px !important;}
  body.v4 footer.sf .sf-col.sf-acc{padding:22px 0 !important;}
  body.v4 footer.sf .sf-col:not(.sf-acc){padding:22px 0 !important;}
  body.v4 footer.sf .sf-col ul{gap:12px !important;padding:0 !important;margin:0 !important;display:flex !important;flex-direction:column;}
  body.v4 footer.sf .sf-col li{line-height:1.45 !important;margin:0 !important;}
  body.v4 footer.sf .sf-brand{padding-bottom:26px !important;}
  body.v4 footer.sf .sf-bot{padding-top:20px !important;}
}
body.v2.v3.v4 .up .cd-box .cd-cap{color:var(--pu) !important;}
@media (max-width:768px){ body.v4 footer.sf .sf-top .sf-col.sf-acc h5, body.v4 footer.sf .sf-top .sf-col h5{margin:0 0 14px !important;} }
@media (max-width:900px){ body.v4 .ev-next{grid-template-columns:1fr !important;} body.v4 .ev-poster{max-width:420px;} }
body.v2.v3.v4 .up .bd .cp-box.ev-kollekte span.rg-tag, body.v2.v3.v4 .up .bd-d .cp-box.ev-kollekte span.rg-tag{color:var(--ye) !important;background:var(--vi) !important;}

/* Team-Karten: mehr Kopfraum, kein Loch zwischen Rolle und Name */
body.v4 .tm-img{box-sizing:border-box;padding-top:44px !important;height:340px !important;}
body.v4 .tm-body h2{margin-top:8px !important;}
body.v4 #team .ts-i{box-sizing:border-box;padding-top:72px !important;}
@media (max-width:768px){
  body.v4 .tm-img{padding-top:36px !important;height:300px !important;}
  body.v4 #team .ts-i{padding-top:32px !important;}
}

/* === Startseite: klare Aussage im Hero === */
body.v4 #hero .hclaim{font:900 clamp(26px,3.6vw,46px)/1.02 var(--fd);text-transform:uppercase;letter-spacing:.5px;color:var(--cr);max-width:760px;margin:6px auto 16px;opacity:0;animation:aniIntro 1s cubic-bezier(.22,1,.36,1) .65s both;text-wrap:balance;}
body.v4 #hero .hsu{margin-bottom:40px !important;letter-spacing:5px !important;}
@media (max-width:768px){ body.v4 #hero .hclaim{font-size:clamp(24px,7.4vw,32px);padding:0 10px;} body.v4 #hero .hsu{letter-spacing:3px !important;font-size:13px !important;} }
@media (prefers-reduced-motion:reduce){ body.v4 #hero .hclaim{animation:none;opacity:1;} }
body.v4 .fc-star{font-size:.62em;margin-left:4px;vertical-align:.18em;}
body.v4 #studio a.sp{text-decoration:none;transition:background .2s,color .2s;}
body.v4 #studio a.sp:hover{background:var(--cr);color:var(--vi);}

/* === Startseite: Bewertungen === */
body.v4 #stimmen{background:var(--ye);color:var(--ind);}
body.v4 #stimmen .lbl{background:var(--vi);color:var(--ye);}
body.v4 #stimmen .h1{color:var(--vi);margin:14px 0 40px;}
body.v4 .rvh-g{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
body.v4 .rvh-c{margin:0;background:var(--pu);padding:30px 28px;display:flex;flex-direction:column;gap:14px;}
body.v4 .rvh-s{color:var(--or);font-size:20px;letter-spacing:3px;}
body.v4 .rvh-c blockquote{margin:0;font-size:17px;line-height:1.65;color:var(--ind);flex:1;}
body.v4 .rvh-c figcaption{font:800 13px var(--fd);letter-spacing:2px;text-transform:uppercase;color:var(--vi);}
body.v4 .rvh-more{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:34px;}
body.v4 .rvh-l{font:800 13px var(--fd);letter-spacing:2px;text-transform:uppercase;color:var(--ind);text-decoration:none;border-bottom:2px solid var(--or);padding-bottom:2px;}
@media (max-width:900px){ body.v4 .rvh-g{grid-template-columns:1fr;gap:14px;} body.v4 .rvh-c{padding:24px 22px;} }

/* Pfeil nach oben: auf dem Handy weglassen */
@media (max-width:768px){ #tb,#tb.show{display:none !important;} }

/* Bewertung auf Kursseiten */
body.v4 .cp-rv{margin:30px 0 0;background:var(--ind);color:var(--ye);padding:28px 30px;position:relative;}
body.v4 .cp-rv .rvh-s{margin-bottom:10px;}
body.v4 .cp-rv blockquote{margin:0;font-size:18px;line-height:1.65;color:var(--ye) !important;}
body.v4 .cp-rv figcaption{margin-top:12px;font:800 13px var(--fd);letter-spacing:2px;text-transform:uppercase;color:var(--pu);}
body.v4 .cp-rv figcaption a{color:var(--pu) !important;}
@media (max-width:768px){ body.v4 #hero .hey{letter-spacing:2.5px !important;padding:7px 14px !important;} }
@media (max-width:560px){ body.v4 #hero h1.hsu .hsu-d{display:none;} body.v4 #hero h1.hsu .hsu-b{display:block;margin-top:6px;} }

/* Ratgeber: Artikel vor dem Erscheinungsdatum gesperrt */
.rg-lockbox{display:none;}
html.rg-locked .rg-lockbox{display:block;}
html.rg-locked main.rg .up-in > :not(.rg-lockbox):not(script){display:none !important;}
html.rg-locked main.rg .up-in{min-height:52vh;}
body.v4 .rg-lockbox .h1{margin:14px 0 18px;}
body.v4 .rg-lockbtns{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:22px;}
body.v2.v3.v4 .up .rg-lockbox p.h1{line-height:.95 !important;color:var(--or) !important;max-width:none !important;}
