@font-face{font-family:'Montserrat';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/montserrat-300.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/montserrat-400.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/montserrat-500.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/montserrat-600.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/montserrat-700.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/montserrat-800.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:900;font-display:swap;src:url('../fonts/montserrat-900.woff2') format('woff2');}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --bg:#000000;--surface:#0A0A0A;--surface2:#131313;
  --gold:#C8924A;--gold-light:#E5BD82;--gold-pale:#F2DAB4;--gold-dark:#9A6A28;
  --petrol:#0E7490;--petrol-light:#1C8CA3;--petrol-dark:#0B5A70;--petrol-pale:#B8DEE6;
  --text:#FFFFFF;
  --border2:rgba(255,255,255,.18);
  --radius:8px;--radius-lg:12px;
}
html{scroll-behavior:smooth;}
html,body{background:var(--bg);color:var(--text);font-family:'Montserrat',sans-serif;overflow-x:hidden;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
.container{max-width:1180px;margin:0 auto;padding:0 24px;}

/* NAV */
header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(0,0,0,.82);backdrop-filter:blur(10px);transition:background .3s;}
header.scrolled{background:rgba(0,0,0,.6);}
body{padding-top:80px;}
.nav-inner{width:100%;margin:0;padding:0 40px;display:flex;align-items:center;justify-content:space-between;height:80px;}
.logo{display:flex;align-items:center;}
.logo img{height:52px;width:auto;display:block;}
nav.main-nav{display:flex;align-items:center;gap:6px;}
.nav-item{position:relative;}
.nav-link{display:flex;align-items:center;gap:4px;padding:10px 16px;font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#FFFFFF;border-radius:6px;transition:color .2s;cursor:pointer;}
.nav-link:hover{color:var(--gold);}
.nav-link.active{color:var(--gold);}
.nav-dd{position:absolute;top:calc(100% + 10px);left:0;background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);padding:8px;min-width:200px;opacity:0;visibility:hidden;transform:translateY(6px);transition:all .2s;box-shadow:0 20px 50px rgba(0,0,0,.6);}
.nav-item:hover .nav-dd{opacity:1;visibility:visible;transform:translateY(0);}
.nav-dd a{display:block;padding:9px 12px;font-size:12px;font-weight:600;color:#FFFFFF;border-radius:8px;}
.nav-dd a:hover{color:var(--gold);}
.nav-cta{background:linear-gradient(135deg,rgba(28,140,163,.9),rgba(11,90,112,.9));border:1px solid rgba(255,255,255,.25);color:#FFFFFF;font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;padding:11px 20px;border-radius:6px;white-space:nowrap;box-shadow:0 6px 20px rgba(14,116,144,.22);transition:all .2s;}
.nav-cta:hover{background:linear-gradient(135deg,rgba(229,189,130,.9),rgba(154,106,40,.9));box-shadow:0 8px 26px rgba(200,146,74,.35);transform:translateY(-1px);}
.lang-switch{display:flex;align-items:center;gap:2px;background:rgba(255,255,255,.06);border:1px solid var(--border2);border-radius:99px;padding:3px;}
.lang-switch a{font-size:10px;font-weight:800;letter-spacing:1px;padding:6px 11px;border-radius:99px;color:#FFFFFF;opacity:.55;transition:all .2s;}
.lang-switch a.active{background:var(--gold);color:#000;opacity:1;}
.lang-switch a:hover:not(.active){opacity:1;color:var(--gold-light);}
.burger{display:none;background:none;border:none;color:var(--text);cursor:pointer;}
@media(max-width:920px){nav.main-nav{display:none;}.burger{display:block;}}

/* GOLD ACCENT */
.gold-accent{width:56px;height:3px;background:var(--gold);margin-bottom:18px;border-radius:2px;}

/* BUTTONS */
.btn-primary{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.5);color:#FFFFFF;font-size:12px;font-weight:700;padding:15px 28px;border-radius:8px;cursor:pointer;letter-spacing:.5px;text-transform:uppercase;transition:all .2s;}
.btn-primary:hover{background:rgba(255,255,255,.22);border-color:#FFFFFF;}
.btn-solid{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,rgba(28,140,163,.9),rgba(11,90,112,.9));border:1px solid rgba(255,255,255,.25);color:#FFFFFF;font-size:12px;font-weight:700;padding:15px 28px;border-radius:8px;cursor:pointer;letter-spacing:.5px;text-transform:uppercase;box-shadow:0 6px 24px rgba(14,116,144,.25);transition:all .2s;}
.btn-solid:hover{background:linear-gradient(135deg,rgba(229,189,130,.9),rgba(154,106,40,.9));box-shadow:0 8px 30px rgba(200,146,74,.35);transform:translateY(-1px);}
.btn-outline{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1.5px solid #FFFFFF;color:#FFFFFF;font-size:12px;font-weight:700;padding:14px 27px;border-radius:8px;cursor:pointer;letter-spacing:.5px;text-transform:uppercase;transition:all .2s;}
.btn-outline:hover{background:rgba(255,255,255,.16);border-color:var(--gold);color:#FFFFFF;}
.btn-gold{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,rgba(229,189,130,.9),rgba(154,106,40,.9));border:1px solid rgba(255,255,255,.25);color:#FFFFFF;font-size:12px;font-weight:800;padding:15px 28px;border-radius:8px;cursor:pointer;letter-spacing:.5px;text-transform:uppercase;box-shadow:0 6px 24px rgba(200,146,74,.25);transition:all .2s;}
.btn-gold:hover{background:linear-gradient(135deg,rgba(28,140,163,.9),rgba(11,90,112,.9));box-shadow:0 8px 30px rgba(14,116,144,.35);transform:translateY(-1px);}

/* HERO — Vollbild-Foto, identisch zur Startseite (für Unterseiten mit eigenem Hero-Foto) */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden;}
.hero.hero-compact{min-height:44vh;}
.hero.hero-compact .hero-inner{padding:100px 0 50px;}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:75% 25%;}
.hero-container{width:100%;padding:0 192px;}
@media(max-width:760px){.hero-container{padding:0 24px;}}
.hero-inner{position:relative;z-index:1;max-width:900px;padding:110px 0 90px;}
h1.hero-title{font-size:clamp(46px,7.5vw,86px);font-weight:900;line-height:.92;letter-spacing:-1.5px;text-transform:uppercase;color:#FFFFFF;margin-bottom:10px;margin-left:-0.06em;}
.hero-tagline{font-size:clamp(16px,2.4vw,22px);font-weight:300;letter-spacing:4px;text-transform:uppercase;color:#FFFFFF;margin-bottom:28px;}
.hero-sub{font-size:16px;line-height:1.75;color:#FFFFFF;max-width:780px;margin-bottom:14px;}

/* PAGE HERO — Vollbild-Foto (wie Startseite) */
.page-hero{position:relative;min-height:78vh;display:flex;align-items:center;overflow:hidden;}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 30%;}
.page-hero-container{width:100%;padding:0 96px;}
@media(max-width:760px){.page-hero-container{padding:0 24px;}}
.page-hero-inner{position:relative;z-index:1;max-width:760px;padding:150px 0 70px;}
.page-eyebrow{font-size:11px;font-weight:800;letter-spacing:3px;text-transform:uppercase;margin-bottom:16px;}
.spot-gold .page-eyebrow{color:var(--gold);}
.spot-petrol-light .page-eyebrow{color:var(--petrol-light);}
.spot-petrol-dark .page-eyebrow{color:var(--petrol-pale);}
.page-title{font-size:clamp(38px,7vw,68px);font-weight:900;letter-spacing:-1.5px;text-transform:uppercase;line-height:.98;margin-bottom:16px;color:#FFFFFF;}
.page-sub{font-size:16px;line-height:1.75;color:#FFFFFF;max-width:600px;}

/* SECTIONS */
.ambient-glows{position:absolute;top:0;left:0;width:100%;z-index:0;pointer-events:none;}
.glow-blob{position:absolute;border-radius:50%;background:radial-gradient(ellipse,rgba(200,146,74,var(--o,.22)) 0%,rgba(200,146,74,calc(var(--o,.22) * 0.4)) 45%,transparent 72%);}
.page-content{position:relative;z-index:1;}
.section{padding:80px 0;}
.sec-head{max-width:680px;margin-bottom:40px;}
.sec-title{font-size:clamp(22px,4vw,34px);font-weight:900;letter-spacing:-.7px;text-transform:uppercase;line-height:1.06;margin-bottom:14px;}
.sec-body{font-size:14px;line-height:1.75;color:#FFFFFF;}
.sec-body p{margin-bottom:16px;}

/* MEDIA PLACEHOLDER (Foto/Video) */
.media-ph{position:relative;border-radius:var(--radius-lg);border:1.5px dashed var(--border2);background:linear-gradient(135deg,#0D0D0D,#050505);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:30px;min-height:220px;}
.media-ph .ph-icon{width:44px;height:44px;border-radius:50%;background:rgba(200,146,74,.12);display:flex;align-items:center;justify-content:center;}
.media-ph .ph-label{font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-light);}
.media-ph .ph-note{font-size:12px;color:#FFFFFF;opacity:.7;max-width:280px;}
.media-ph.tall{min-height:420px;}
.media-ph.video .ph-icon{background:rgba(28,140,163,.14);}

/* POSTER CARD (Cirque Show-Poster) */
.poster-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
@media(max-width:820px){.poster-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.poster-grid{grid-template-columns:1fr;}}
.poster-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;background:linear-gradient(160deg,#0D0D0D,#000);box-shadow:0 16px 40px rgba(0,0,0,.4);transition:box-shadow .3s,transform .3s;background-size:cover;background-position:center;}
.poster-card.has-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1) 0%,rgba(0,0,0,.55) 55%,rgba(0,0,0,.92) 100%);z-index:0;}
.poster-card:hover{transform:translateY(-3px);}
.poster-card::before{content:'';position:absolute;top:-100px;left:50%;transform:translateX(-50%);width:320px;height:320px;border-radius:50%;opacity:.55;}
.poster-card.gold::before{background:radial-gradient(ellipse,rgba(200,146,74,.35) 0%,transparent 70%);}
.poster-card.petrol-light::before{background:radial-gradient(ellipse,rgba(28,140,163,.35) 0%,transparent 70%);}
.poster-card.petrol-dark::before{background:radial-gradient(ellipse,rgba(11,90,112,.4) 0%,transparent 70%);}
.poster-title{position:relative;z-index:1;font-size:24px;font-weight:900;text-transform:uppercase;letter-spacing:-.3px;margin-bottom:6px;}
.poster-sub{position:relative;z-index:1;font-size:12px;font-weight:600;letter-spacing:.5px;}
.poster-card.gold .poster-sub{color:var(--gold-light);}
.poster-card.petrol-light .poster-sub{color:var(--petrol-pale);}
.poster-card.petrol-dark .poster-sub{color:var(--petrol-pale);}
.poster-link{position:relative;z-index:1;margin-top:14px;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--gold-light);}

/* SCHEDULE TABLE */
.schedule-head{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr 1fr;gap:12px;padding:0 18px 10px;font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--petrol-light);}
@media(max-width:700px){.schedule-head{display:none;}}
.schedule-cards{display:flex;flex-direction:column;gap:10px;}
.schedule-row{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr 1fr;gap:12px;align-items:center;background:var(--surface);border-radius:10px;padding:16px 18px;box-shadow:0 8px 22px rgba(0,0,0,.3);transition:box-shadow .25s,transform .25s;}
.schedule-row:hover{box-shadow:0 10px 28px rgba(200,146,74,.16);transform:translateY(-1px);}
.sr-name{font-weight:700;font-size:13px;}
.sr-meta{font-size:12px;color:#FFFFFF;}
@media(max-width:700px){.schedule-row{grid-template-columns:1fr 1fr;row-gap:8px;}}
.lvl-tag{display:inline-block;padding:3px 9px;border-radius:99px;font-size:10px;font-weight:700;letter-spacing:.5px;background:rgba(200,146,74,.15);color:var(--gold-light);}

/* FAQ */
.faq details{border-bottom:1px solid var(--border2);padding:18px 0;}
.faq summary{cursor:pointer;font-size:14px;font-weight:700;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+';font-size:18px;color:var(--gold);font-weight:400;}
.faq details[open] summary::after{content:'–';}
.faq p{font-size:13px;line-height:1.7;color:#FFFFFF;margin-top:12px;max-width:640px;}

/* PRICE TABLE */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
@media(max-width:760px){.price-grid{grid-template-columns:1fr;}}
.price-card{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-lg);padding:28px;display:flex;flex-direction:column;gap:10px;box-shadow:0 16px 40px rgba(0,0,0,.35);}
.price-card.highlight{border-color:var(--gold);box-shadow:0 16px 40px rgba(200,146,74,.18);}
.price-name{font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-light);}
.price-amount{font-size:36px;font-weight:900;letter-spacing:-1px;}
.price-amount span{font-size:14px;font-weight:600;color:#FFFFFF;}
.price-card{transition:transform .25s,box-shadow .25s;}
.price-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(200,146,74,.22);border-color:var(--gold);}
.price-desc{font-size:12.5px;line-height:1.7;color:#FFFFFF;flex:1;}
.price-note{font-size:11px;color:#FFFFFF;opacity:.55;}

/* TEAM */
.team-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:32px;}
@media(max-width:900px){.team-strip{grid-template-columns:repeat(3,1fr);gap:22px;}}
@media(max-width:520px){.team-strip{grid-template-columns:repeat(2,1fr);gap:18px;}}
.team-card{text-align:center;}
.team-name{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;}
.team-role{font-size:10px;color:var(--petrol-light);margin-top:2px;}
.team-avatar-wrap{position:relative;margin-bottom:12px;}
.team-avatar-wrap::before{content:'';position:absolute;inset:-16px;border-radius:50%;background:radial-gradient(circle,rgba(200,146,74,.26) 0%,transparent 72%);z-index:0;pointer-events:none;}
.team-avatar{position:relative;z-index:1;aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 14px 32px rgba(0,0,0,.45);}
.team-avatar img{width:100%;height:100%;object-fit:cover;display:block;-webkit-mask-image:radial-gradient(circle,#000 60%,transparent 100%);mask-image:radial-gradient(circle,#000 60%,transparent 100%);filter:brightness(.94);transition:transform .35s ease,filter .3s ease;}
.team-card:hover .team-avatar img{transform:scale(1.1);filter:brightness(1.06);}
.team-ig{font-size:10px;color:var(--gold-light);margin-top:4px;display:inline-block;}
.photo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.photo-glow-item{position:relative;}
.photo-glow-item::before{content:'';position:absolute;inset:-20px;z-index:0;pointer-events:none;border-radius:var(--radius-lg);background:radial-gradient(ellipse,rgba(200,146,74,.25) 0%,transparent 72%);opacity:0;transition:opacity .3s ease;}
.photo-glow-item:hover::before{opacity:1;}
.photo-glow-item img{position:relative;z-index:1;transition:transform .35s ease;}
.photo-glow-item:hover img{transform:scale(1.04) translateY(-4px);}
.photo-row img{width:100%;height:220px;object-fit:cover;border-radius:var(--radius-lg);box-shadow:0 16px 40px rgba(0,0,0,.4);}
@media(max-width:700px){.photo-row{grid-template-columns:1fr;}}
.vision-photo{max-width:560px;margin:32px auto 0;text-align:center;}
.vision-split2{display:grid;grid-template-columns:1.15fr 0.85fr;gap:48px;align-items:start;}
@media(max-width:860px){.vision-split2{grid-template-columns:1fr;}}
.vision-photo-col{position:relative;}
.vision-photo-col .vp-glow{position:absolute;inset:-36px;z-index:0;pointer-events:none;background:radial-gradient(ellipse,rgba(200,146,74,.24) 0%,transparent 72%);}
.vision-photo-col img{position:relative;z-index:1;width:100%;border-radius:var(--radius-lg);box-shadow:0 22px 55px rgba(0,0,0,.5);transition:transform .35s ease;}
.vision-photo-col:hover img{transform:scale(1.03) translateY(-4px);}
.vision-photo-caption2{position:relative;z-index:1;text-align:center;margin-top:16px;font-size:12px;color:#FFFFFF;line-height:1.6;}
.vision-photo-caption2 b{color:var(--gold-light);}
.vision-quote{font-size:19px;font-style:italic;font-weight:600;color:var(--gold-light);border-left:3px solid var(--gold);padding-left:20px;margin:26px 0;line-height:1.55;}
.kids-times{margin-top:24px;}
.kt-item{background:var(--surface);border-radius:10px;padding:14px 18px;margin-bottom:10px;font-size:13px;line-height:1.5;color:#FFFFFF;box-shadow:0 8px 22px rgba(0,0,0,.3);transition:box-shadow .25s,transform .25s;}
.kt-item:hover{box-shadow:0 10px 28px rgba(200,146,74,.16);transform:translateY(-1px);}
.kt-item b{color:var(--gold-light);}
.kt-address{font-size:12px;color:#FFFFFF;opacity:.65;margin:6px 2px 0;}
.kt-booked{color:var(--petrol-light);font-weight:800;font-size:11px;letter-spacing:.5px;text-transform:uppercase;margin-left:6px;}
.kt-free{display:inline-block;background:#1F9D6B;color:#fff;font-weight:800;font-size:10.5px;letter-spacing:.5px;text-transform:uppercase;margin-left:6px;padding:3px 9px;border-radius:6px;}
.kt-mail{margin-top:16px;font-size:13px;line-height:1.6;color:#FFFFFF;}
.kt-mail a{color:var(--gold-light);font-weight:700;}

/* LIGHT SECTION — Abschnitt bleibt dunkel, nur die Kurskarten heben sich hell mit Gold-Glow ab */
.section-light .schedule-row{position:relative;background:#FFFDF8;box-shadow:0 6px 18px rgba(0,0,0,.35);}
.section-light .schedule-row::before{content:'';position:absolute;inset:-14px;z-index:-1;border-radius:16px;pointer-events:none;background:radial-gradient(ellipse,rgba(200,146,74,.3) 0%,transparent 72%);}
.section-light .schedule-row:hover{box-shadow:0 8px 22px rgba(0,0,0,.4);transform:translateY(-1px);}
.section-light .sr-name{color:#2B1D0E;}
.section-light .sr-meta{color:#4A3620;}
.section-light .lvl-tag{background:rgba(154,106,40,.16);color:#6B4718;}
.section-light .kt-booked{background:rgba(14,116,144,.14);color:#0B5A70;padding:3px 9px;border-radius:6px;}

/* PHOTO CTA — Foto-Hintergrund mit Call-to-Action */
.photo-cta{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:440px;display:flex;align-items:center;}
.photo-cta-bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.photo-cta-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.72) 48%,rgba(0,0,0,.3) 100%);}
.photo-cta-inner{position:relative;z-index:1;padding:50px;max-width:620px;}
.photo-cta-inner h2{font-size:clamp(26px,4.2vw,40px);font-weight:900;text-transform:uppercase;letter-spacing:-1px;line-height:1.05;color:#FFFFFF;margin-bottom:14px;}
.photo-cta-inner .tagline{font-size:15px;color:var(--gold-light);font-weight:700;line-height:1.5;margin-bottom:18px;}
.photo-cta-inner p{font-size:14px;line-height:1.75;color:#FFFFFF;margin-bottom:28px;}
.photo-cta.centered .photo-cta-inner{margin:0 auto;text-align:center;}
.photo-cta.centered .photo-cta-overlay{background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.85) 100%);}
.cta-btn-row{display:flex;gap:14px;flex-wrap:wrap;}
.photo-cta.centered .cta-btn-row{justify-content:center;}
.cond-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.cond-pill{display:flex;align-items:center;gap:7px;background:var(--surface);border-radius:99px;padding:8px 16px;font-size:12px;font-weight:600;color:#FFFFFF;box-shadow:0 6px 16px rgba(0,0,0,.3);}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0;}
.centered-block{text-align:center;}
.centered-block .sec-head{margin-left:auto;margin-right:auto;}
.centered-block .gold-accent{margin-left:auto;margin-right:auto;}
.centered-block .sec-body{margin-left:auto;margin-right:auto;}
.centered-block .price-card{text-align:center;}
.centered-block .cond-row{justify-content:center;}
@media(max-width:520px){.stat-grid{grid-template-columns:1fr;}}
.stat-card{background:var(--surface);border-radius:12px;padding:28px;text-align:center;box-shadow:0 10px 26px rgba(0,0,0,.3);}
.stat-num{font-size:48px;font-weight:900;color:var(--gold-light);line-height:1;}
.stat-label{font-size:12px;color:#FFFFFF;margin-top:8px;text-transform:uppercase;letter-spacing:.5px;}
@media(max-width:640px){.photo-cta{min-height:auto;}.photo-cta-inner{padding:32px 24px;}}
.kt-item span{opacity:.65;font-size:12px;}
.vision-quote span{display:block;font-size:11px;font-style:normal;font-weight:700;color:#FFFFFF;margin-top:10px;letter-spacing:.5px;text-transform:uppercase;opacity:.85;}
.anfahrt-map-wrap{position:relative;max-width:300px;}
.anfahrt-map-wrap .amw-glow{position:absolute;inset:-28px;z-index:0;pointer-events:none;background:radial-gradient(ellipse,rgba(200,146,74,.22) 0%,transparent 72%);border-radius:24px;}
.anfahrt-map-wrap .anfahrt-map{position:relative;z-index:1;}
.vision-photo img{width:100%;border-radius:var(--radius-lg);box-shadow:0 20px 50px rgba(0,0,0,.45);margin-bottom:14px;}
.vision-photo-caption{font-size:12px;color:#FFFFFF;line-height:1.6;}
.vision-photo-caption b{color:var(--gold-light);}
.anfahrt-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:50px;}
@media(max-width:760px){.anfahrt-detail-grid{grid-template-columns:1fr;}}
.anfahrt-detail-grid h3{font-size:16px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;margin-bottom:14px;color:var(--gold-light);}
.anfahrt-detail-grid p{font-size:13px;line-height:1.75;color:#FFFFFF;margin-bottom:12px;}
.anfahrt-detail-grid b{color:var(--gold-light);}

/* CONTACT / INFO */
.info-row{display:flex;gap:14px;padding:16px 0;}
.info-row:last-child{border-bottom:none;}
.info-icon{width:34px;height:34px;border-radius:9px;background:rgba(14,116,144,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.info-label{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--petrol-light);margin-bottom:3px;}
.info-value{font-size:14px;color:#FFFFFF;font-weight:500;}
.komm-vorbei-title{font-size:clamp(32px,6vw,58px);font-weight:900;letter-spacing:-1px;text-transform:uppercase;margin-bottom:40px;}
.kv-accent{color:#FFFFFF;}
.komm-vorbei-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;}
@media(max-width:820px){.komm-vorbei-grid{grid-template-columns:1fr;}}
.anfahrt-map{position:relative;display:block;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/10;box-shadow:0 16px 40px rgba(0,0,0,.4);}
.anfahrt-map img{width:80%;height:80%;object-fit:cover;}
.anfahrt-map-badge{position:absolute;top:16px;left:16px;background:rgba(0,0,0,.75);color:#FFFFFF;font-size:11px;font-weight:700;padding:8px 14px;border-radius:99px;}
.anfahrt-info .info-row{padding:14px 0;}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
@media(max-width:820px){.split{grid-template-columns:1fr;gap:32px;}}
.split img{width:100%;border-radius:var(--radius-lg);aspect-ratio:1/1;object-fit:cover;box-shadow:0 16px 40px rgba(0,0,0,.4);}
.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr;}}
.cta-title{font-size:clamp(34px,6.5vw,64px);font-weight:900;letter-spacing:-1.5px;text-transform:uppercase;margin-bottom:18px;}

/* FOOTER */
footer{border-top:1px solid var(--border2);padding:60px 0 34px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-bottom:44px;}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr 1fr;}}
.footer-col h4{font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--petrol-light);margin-bottom:16px;}
.footer-col a{display:block;font-size:13px;color:#FFFFFF;margin-bottom:10px;}
.footer-col a:hover{color:var(--gold-light);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;padding-top:26px;border-top:1px solid var(--border2);font-size:11px;color:#FFFFFF;}
.social{display:flex;gap:10px;}
.social a{width:32px;height:32px;border-radius:50%;background:var(--surface);display:flex;align-items:center;justify-content:center;border:1px solid var(--border2);}

/* ── Zusatz-Kacheln im Kurs-Grid (Kurs-Quiz / Preise) ───────────── */
.poster-card.cta-card{border:1px solid rgba(255,255,255,.08);background:radial-gradient(ellipse at 80% 0%,rgba(255,255,255,.04) 0%,transparent 60%),linear-gradient(160deg,#111 0%,#000 100%);}
.poster-card.cta-card.gold{border-color:rgba(200,146,74,.35);}
.poster-card.cta-card.petrol-light{border-color:rgba(28,140,163,.4);}
.poster-card.cta-card.gold:hover{border-color:var(--gold);box-shadow:0 20px 44px rgba(200,146,74,.2);}
.poster-card.cta-card.petrol-light:hover{border-color:var(--petrol-light);box-shadow:0 20px 44px rgba(28,140,163,.22);}
.poster-card.cta-card::before{opacity:.9;}
.cta-icon{position:relative;z-index:1;margin-bottom:auto;opacity:.9;}
.cta-card.gold .cta-icon{color:var(--gold-light);}
.cta-card.petrol-light .cta-icon{color:var(--petrol-light);}
.cta-card.petrol-light .poster-link{color:var(--petrol-pale);}

/* ── Kurs-Quiz eingebettet (eigene Seite kurs-quiz.html) ───────── */
.quiz-frame-wrap{max-width:680px;margin:0 auto;border-radius:20px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.6);background:var(--bg);}
.quiz-frame-wrap iframe{width:100%;height:600px;border:none;display:block;transition:height .25s ease;}

/* ── Lesbarkeit: keine einzelnen Wörter in der letzten Zeile ─────── */
.sec-title{text-wrap:balance;}
.sec-body,.sec-body p,.hero-sub,.hero-sub p{text-wrap:pretty;}

/* ── Kids Preise: "Kleine Gruppen, große Entwicklung" ───────────── */
.group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:36px 0 0;text-align:left;}
@media(max-width:900px){.group-grid{grid-template-columns:1fr;max-width:460px;margin-left:auto;margin-right:auto;}}
.group-card{position:relative;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(160deg,#101010 0%,#050505 100%);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:30px 30px 32px;box-shadow:0 16px 40px rgba(0,0,0,.4);transition:transform .3s,border-color .3s;}
.group-card:hover{transform:translateY(-3px);border-color:rgba(200,146,74,.4);}
.group-card::before{content:'';position:absolute;top:-120px;right:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(ellipse,rgba(200,146,74,.18) 0%,transparent 70%);pointer-events:none;}
.group-chip{position:relative;align-self:flex-start;padding:6px 12px;border-radius:99px;background:rgba(200,146,74,.14);color:var(--gold-light);font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;}
.group-num{position:relative;margin-top:22px;font-size:84px;font-weight:900;line-height:.9;letter-spacing:-3px;color:#FFFFFF;}
.group-label{position:relative;margin-top:10px;font-size:13px;font-weight:600;color:rgba(255,255,255,.7);}
.group-dots{position:relative;display:grid;grid-template-columns:repeat(10,1fr);gap:7px;margin-top:auto;padding-top:26px;max-width:220px;}
.group-dots span{display:block;aspect-ratio:1;border-radius:50%;background:var(--gold);opacity:.85;}
.group-card-extra{border-color:rgba(200,146,74,.45);background:radial-gradient(ellipse at 100% 0%,rgba(200,146,74,.2) 0%,transparent 60%),linear-gradient(160deg,#141008 0%,#050505 100%);}
.group-card-extra .group-num{color:var(--gold-light);}
.group-card-extra .group-chip{background:var(--gold);color:#000;}
.group-text{position:relative;margin-top:auto;padding-top:22px;font-size:13px;line-height:1.7;color:#FFFFFF;text-wrap:pretty;}
.group-closing{max-width:560px;margin:36px auto 0;font-size:15px;font-weight:700;line-height:1.6;color:var(--gold-light);text-align:center;text-wrap:balance;}

/* ── FAQ: Karten-Design ─────────────────────────────────────────── */
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start;}
@media(max-width:900px){.faq-layout{grid-template-columns:1fr;gap:28px;}}
.faq-side{position:sticky;top:120px;}
@media(max-width:900px){.faq-side{position:static;}}
.faq-side .sec-head{margin-bottom:14px;}
.faq-intro{margin-bottom:26px;opacity:.85;}
.faq-layout{--fa:var(--gold);--fa-l:var(--gold-light);--fa-rgb:200,146,74;}
.faq-layout.faq-petrol{--fa:var(--petrol-light);--fa-l:var(--petrol-pale);--fa-rgb:28,140,163;}
.faq-layout .gold-accent{background:var(--fa);}
.faq-contact{position:relative;overflow:hidden;border-radius:16px;padding:26px;background:radial-gradient(ellipse at 100% 0%,rgba(var(--fa-rgb),.22) 0%,transparent 65%),linear-gradient(160deg,#141414 0%,#070707 100%);border:1px solid rgba(var(--fa-rgb),.3);}
.faq-contact-title{font-size:16px;font-weight:800;margin-bottom:6px;}
.faq-contact p{font-size:13px;line-height:1.6;opacity:.8;margin-bottom:18px;}
.faq-contact-btns{display:flex;gap:10px;flex-wrap:wrap;}
.faq-contact-btns a{padding:12px 20px;}
.faq.faq-cards{display:flex;flex-direction:column;gap:12px;}
.faq.faq-cards details{border:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);border-radius:14px;padding:0;background:linear-gradient(160deg,#151515 0%,#0B0B0B 100%);box-shadow:0 10px 28px rgba(0,0,0,.35);transition:border-color .25s,box-shadow .25s,background .25s;}
.faq.faq-cards details:hover{border-color:rgba(var(--fa-rgb),.45);}
.faq.faq-cards details[open]{border-color:rgba(var(--fa-rgb),.6);background:radial-gradient(ellipse at 0% 0%,rgba(var(--fa-rgb),.14) 0%,transparent 55%),linear-gradient(160deg,#171717 0%,#0B0B0B 100%);box-shadow:0 16px 40px rgba(0,0,0,.45),0 0 0 1px rgba(var(--fa-rgb),.12);}
.faq.faq-cards summary{display:flex;align-items:center;gap:18px;padding:20px 22px;font-size:15px;font-weight:700;line-height:1.4;}
.faq.faq-cards summary::after{content:none;}
.faq-num{flex:0 0 auto;font-size:12px;font-weight:900;letter-spacing:1px;color:var(--fa);min-width:22px;}
.faq-q{flex:1;text-wrap:pretty;}
.faq-icon{position:relative;flex:0 0 32px;height:32px;border-radius:50%;background:rgba(var(--fa-rgb),.14);border:1px solid rgba(var(--fa-rgb),.4);transition:transform .3s ease,background .3s;}
.faq-icon::before,.faq-icon::after{content:'';position:absolute;top:50%;left:50%;width:12px;height:2px;border-radius:2px;background:var(--fa-l);transform:translate(-50%,-50%);}
.faq-icon::after{transform:translate(-50%,-50%) rotate(90deg);}
details[open] .faq-icon{transform:rotate(45deg);background:var(--fa);}
details[open] .faq-icon::before,details[open] .faq-icon::after{background:#000;}
.faq-a{padding:0 22px 22px 62px;animation:faqIn .35s ease;}
.faq.faq-cards .faq-a p{margin-top:0;font-size:14px;line-height:1.75;opacity:.9;max-width:none;text-wrap:pretty;}
@keyframes faqIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}
@media(max-width:560px){.faq.faq-cards summary{padding:18px 16px;gap:12px;font-size:14px;}.faq-a{padding:0 16px 18px 16px;}}

/* ── Adults: Level als Weg ──────────────────────────────────────── */
.level-path{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding-top:6px;}
.level-track{position:absolute;top:26px;left:12%;right:12%;height:2px;background:linear-gradient(90deg,#1C8CA3,#558E86,#8F9067,#C8924A);opacity:.55;}
.level-card{position:relative;display:flex;flex-direction:column;border-radius:16px;padding:0 24px 26px;background:transparent;}
.level-card::before{content:'';position:absolute;inset:44px 0 0 0;border-radius:16px;background:linear-gradient(160deg,#131313 0%,#070707 100%);border:1px solid rgba(255,255,255,.07);border-top:3px solid var(--lc);box-shadow:0 16px 40px rgba(0,0,0,.4);transition:transform .3s,box-shadow .3s;z-index:0;}
.level-card:hover::before{transform:translateY(-3px);box-shadow:0 20px 48px rgba(0,0,0,.55),0 0 30px color-mix(in srgb,var(--lc) 25%,transparent);}
.level-card>*{position:relative;z-index:1;}
.level-dot{width:42px;height:42px;margin:0 auto 26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;color:#000;background:var(--lc);box-shadow:0 0 0 6px #000,0 0 24px color-mix(in srgb,var(--lc) 60%,transparent);}
.level-bars{display:flex;gap:5px;margin-bottom:14px;}
.level-bars i{flex:0 0 22px;height:6px;border-radius:3px;background:rgba(255,255,255,.12);}
.level-bars i.on{background:var(--lc);}
.level-name{font-size:18px;font-weight:900;text-transform:uppercase;letter-spacing:-.2px;line-height:1.15;margin-bottom:10px;color:#fff;}
.level-desc{font-size:13px;line-height:1.7;opacity:.85;text-wrap:pretty;}
.level-fit{margin-top:auto;padding-top:16px;font-size:12px;line-height:1.6;color:rgba(255,255,255,.75);text-wrap:pretty;}
.level-fit b{display:block;margin-bottom:2px;color:var(--lc);font-size:10px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;}
@media(max-width:980px){.level-path{grid-template-columns:1fr 1fr;row-gap:26px;}.level-track{display:none;}}
@media(max-width:560px){.level-path{grid-template-columns:1fr;}}

/* ── Preise (Teens & Adults) ───────────────────────────────────── */
.kids-hint{margin-top:22px;font-size:13px;opacity:.85;}
.kids-hint a{color:var(--gold-light);font-weight:700;}
.tarif-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:stretch;}
@media(max-width:1100px){.tarif-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.tarif-grid{grid-template-columns:1fr;}}
.tarif-card{position:relative;display:flex;flex-direction:column;border-radius:16px;padding:30px 26px 26px;background:linear-gradient(160deg,#141414 0%,#070707 100%);border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 40px rgba(0,0,0,.4);transition:transform .3s,border-color .3s,box-shadow .3s;}
.tarif-card:hover{transform:translateY(-4px);border-color:rgba(28,140,163,.55);}
.tarif-card.highlight{border-color:rgba(200,146,74,.6);background:radial-gradient(ellipse at 100% 0%,rgba(200,146,74,.2) 0%,transparent 60%),linear-gradient(160deg,#17130c 0%,#070707 100%);box-shadow:0 20px 50px rgba(200,146,74,.14);}
.tarif-card.highlight:hover{border-color:var(--gold);}
.tarif-badge{position:absolute;top:-12px;left:26px;padding:5px 12px;border-radius:99px;background:var(--gold);color:#000;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;}
.tarif-name{font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--petrol-pale);}
.tarif-card.highlight .tarif-name{color:var(--gold-light);}
.tarif-price{margin:14px 0 18px;font-size:44px;font-weight:900;letter-spacing:-1.5px;line-height:1;color:#fff;}
.tarif-price span{margin-left:6px;font-size:13px;font-weight:600;letter-spacing:0;opacity:.7;}
.tarif-feats{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);}
.tarif-feats li{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.45;}
.tarif-feats svg{flex:0 0 auto;margin-top:2px;color:var(--petrol-light);}
.tarif-card.highlight .tarif-feats svg{color:var(--gold-light);}
.tarif-btn{margin-top:auto;justify-content:center;}
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media(max-width:860px){.guide-grid{grid-template-columns:1fr;}}
.guide-card{border-radius:16px;padding:26px;background:linear-gradient(160deg,#121212 0%,#070707 100%);border:1px solid rgba(255,255,255,.07);}
.guide-num{font-size:12px;font-weight:900;color:var(--gold);letter-spacing:1px;margin-bottom:10px;}
.guide-title{font-size:17px;font-weight:800;margin-bottom:8px;}
.guide-card p{font-size:13px;line-height:1.7;opacity:.85;text-wrap:pretty;}
.faq.faq-cards details[open] summary::after{content:none;}

/* ── Stundenplan: Altersnavigation ─────────────────────────────── */
:root{--wk-accent-kids:var(--gold);--wk-accent-teens:var(--petrol-light);--wk-accent-adults:var(--petrol);}
.age-nav{position:sticky;top:var(--hdr,76px);z-index:50;padding:14px 0;background:rgba(0,0,0,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.06);}
.age-nav-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.age-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 20px;border-radius:12px;text-decoration:none;color:#fff;border:1px solid;transition:transform .25s,box-shadow .25s,background .25s,color .25s;}
.age-btn span{font-size:15px;font-weight:900;letter-spacing:2px;text-transform:uppercase;}
.age-btn small{font-size:11px;font-weight:600;opacity:.85;}
.age-btn:hover{transform:translateY(-2px);}
.age-kids{border-color:rgba(200,146,74,.6);background:rgba(200,146,74,.1);color:var(--gold-light);}
.age-teens{border-color:rgba(28,140,163,.65);background:rgba(28,140,163,.1);color:var(--petrol-pale);}
.age-adults{border-color:rgba(14,116,144,.8);background:rgba(14,116,144,.12);color:var(--petrol-pale);}
.age-kids.active,.age-kids:hover{background:var(--gold);color:#1a1005;box-shadow:0 0 28px rgba(200,146,74,.55);}
.age-teens.active,.age-teens:hover{background:var(--petrol-light);color:#fff;box-shadow:0 0 28px rgba(28,140,163,.6);}
.age-adults.active,.age-adults:hover{background:var(--petrol);color:#fff;box-shadow:0 0 28px rgba(14,116,144,.65);}
@media(max-width:600px){.age-nav{padding:10px 0;}.age-nav-inner{gap:8px;}.age-btn{flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;}.age-btn span{font-size:13px;letter-spacing:1.4px;}.age-btn small{font-size:10px;}}
.wk-section{scroll-margin-top:calc(var(--hdr,76px) + 90px);}

/* ── Stundenplan: Wochen-Raster ────────────────────────────────── */
.wk-head{margin-bottom:26px;max-width:680px;}
.wk-head .sec-title{margin-bottom:8px;}
.wk-head .sec-body{opacity:.8;}
.wk{position:relative;--tone:200,146,74;--card:linear-gradient(160deg,#D9A564 0%,#C8924A 55%,#B07E3C 100%);--ink:#1a1005;--sub:rgba(26,16,5,.72);}
.wk-teens{--tone:28,140,163;--card:linear-gradient(160deg,#27A1BA 0%,#1C8CA3 55%,#157689 100%);--ink:#fff;--sub:rgba(255,255,255,.8);}
.wk-adults{--tone:14,116,144;--card:linear-gradient(160deg,#10809E 0%,#0E7490 50%,#0B5A70 100%);--ink:#fff;--sub:rgba(255,255,255,.78);}
.wk::before{content:'';position:absolute;inset:-40px -20px;background:radial-gradient(ellipse at 50% 55%,rgba(var(--tone),.16) 0%,transparent 65%);pointer-events:none;z-index:0;}
.wk-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:12px;align-items:start;}
.wk-col{display:flex;flex-direction:column;gap:10px;min-width:0;}
.wk-day{text-align:center;padding:12px 6px;border:1.5px solid rgba(255,255,255,.75);border-radius:10px;font-size:12px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;background:rgba(0,0,0,.35);box-shadow:0 0 18px rgba(var(--tone),.18);}
.wk-day-short{display:none;}
.wk-card{position:relative;padding:16px 12px;border-radius:10px;text-align:center;background:var(--card);color:var(--ink);box-shadow:0 0 0 1px rgba(255,255,255,.08) inset,0 10px 24px rgba(0,0,0,.45),0 0 26px rgba(var(--tone),.42);transition:transform .25s,box-shadow .25s;}
.wk-card:hover{transform:translateY(-3px);box-shadow:0 0 0 1px rgba(255,255,255,.14) inset,0 14px 30px rgba(0,0,0,.5),0 0 38px rgba(var(--tone),.65);}
.wk-time{font-size:13px;font-weight:800;letter-spacing:.4px;}
.wk-name{margin-top:4px;font-size:14px;font-weight:800;line-height:1.25;text-wrap:balance;}
.wk-teacher{margin-top:4px;font-size:12px;font-weight:500;color:var(--sub);}
.wk-free{display:inline-block;margin-top:9px;padding:4px 10px;border-radius:99px;background:#1F9D6B;color:#fff;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;}
.wk-booked{display:inline-block;margin-top:9px;padding:4px 10px;border-radius:99px;background:rgba(0,0,0,.72);color:#fff;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;}
.wk-empty{padding:18px 8px;border:1px dashed rgba(255,255,255,.18);border-radius:10px;text-align:center;font-size:11px;color:rgba(255,255,255,.45);}
.wk-pager{display:none;}
@media(max-width:760px){
  .wk-pager{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;padding:6px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(var(--tone),.45);box-shadow:0 0 22px rgba(var(--tone),.2);}
  .wk-pager button{flex:0 0 42px;height:42px;border-radius:9px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;background:rgba(var(--tone),.9);color:var(--ink);box-shadow:0 0 16px rgba(var(--tone),.5);transition:opacity .2s;}
  .wk-pager button:disabled{opacity:.25;box-shadow:none;cursor:default;}
  .wk-pager-label{flex:1;text-align:center;font-size:13px;font-weight:800;letter-spacing:2px;text-transform:uppercase;}
  .wk-grid{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc(50% - 6px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:6px 2px 18px;margin:0 -2px;}
  .wk-grid::-webkit-scrollbar{display:none;}
  .wk-col{scroll-snap-align:start;}
}
html,body{overflow-x:clip;}

/* Stundenplan: mehr Luft zwischen Hero und Altersnavigation */
.age-nav{margin-top:14px;}
@media(max-width:600px){.age-nav{margin-top:10px;}}

/* ── Footer (neu) ─────────────────────────────────────────────── */
footer.site-footer{position:relative;overflow:hidden;border-top:none;padding:80px 0 30px;background:linear-gradient(180deg,#050505 0%,#0b0b0b 55%,#070707 100%);}
footer.site-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--petrol-light) 25%,var(--gold) 55%,var(--petrol) 80%,transparent 100%);box-shadow:0 0 22px rgba(200,146,74,.55);}
.footer-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 45% 60% at 8% 30%,rgba(200,146,74,.16) 0%,transparent 70%),radial-gradient(ellipse 40% 55% at 92% 85%,rgba(28,140,163,.18) 0%,transparent 70%);}
footer.site-footer .container{position:relative;z-index:1;}
footer.site-footer .footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:44px;margin-bottom:52px;}
@media(max-width:900px){footer.site-footer .footer-grid{grid-template-columns:1fr 1fr;}.footer-brand{grid-column:1/-1;}}
@media(max-width:340px){footer.site-footer .footer-grid{grid-template-columns:1fr;gap:34px;}}
.footer-logo img{height:64px;width:auto;display:block;filter:drop-shadow(0 0 18px rgba(200,146,74,.35));}
.footer-claim{margin:14px 0 26px;font-size:12px;font-weight:800;letter-spacing:4px;text-transform:uppercase;color:var(--gold-light);}
.footer-claim span{color:var(--petrol-light);margin:0 6px;}
.footer-address,.footer-contact{display:flex;align-items:flex-start;gap:12px;font-style:normal;font-size:13px;line-height:1.65;color:#fff;margin-bottom:14px;}
.footer-address b{font-weight:800;letter-spacing:.5px;}
a.footer-contact{text-decoration:none;transition:color .2s;}
a.footer-contact:hover{color:var(--gold-light);}
.footer-contact small{display:block;font-size:11px;color:rgba(255,255,255,.6);}
.fa-ico{flex:0 0 32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(200,146,74,.14);border:1px solid rgba(200,146,74,.35);color:var(--gold-light);}
a.footer-contact .fa-ico{background:rgba(37,211,102,.12);border-color:rgba(37,211,102,.4);color:#4ADE80;}
.footer-route{display:inline-flex;align-items:center;gap:9px;margin-top:8px;padding:12px 20px;}
footer.site-footer .footer-col h4{position:relative;font-size:11px;letter-spacing:2px;color:var(--gold-light);padding-bottom:12px;margin-bottom:18px;}
footer.site-footer .footer-col h4::after{content:'';position:absolute;left:0;bottom:0;width:28px;height:2px;border-radius:2px;background:var(--petrol-light);box-shadow:0 0 10px rgba(28,140,163,.7);}
footer.site-footer .footer-col:not(.footer-brand) a{position:relative;display:block;width:fit-content;font-size:13px;color:rgba(255,255,255,.85);margin-bottom:12px;transition:color .2s,transform .2s;}
footer.site-footer .footer-col:not(.footer-brand) a:hover{color:var(--gold-light);transform:translateX(4px);}
footer.site-footer .footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:24px;font-size:12px;color:rgba(255,255,255,.7);}
footer.site-footer .social{display:flex;gap:10px;}
footer.site-footer .social a{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);transition:background .25s,border-color .25s,box-shadow .25s,color .25s;}
footer.site-footer .social a:hover{background:var(--gold);border-color:var(--gold);color:#1a1005;box-shadow:0 0 20px rgba(200,146,74,.6);}
footer.site-footer a.footer-contact{display:flex;margin-bottom:18px;color:#fff;}
footer.site-footer a.footer-route{display:inline-flex;width:auto;color:#fff;margin-bottom:0;}
footer.site-footer a.footer-logo{display:inline-block;margin-bottom:0;}

/* ── AGB ──────────────────────────────────────────────────────── */
.agb-en-note{margin-bottom:28px;padding:18px 22px;border-radius:12px;background:rgba(28,140,163,.12);border:1px solid rgba(28,140,163,.45);font-size:14px;line-height:1.7;}
.agb-en-note a,.agb-content a{color:var(--gold-light);text-decoration:underline;}
.agb-facts-section{position:relative;}
.agb-facts{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
@media(max-width:1100px){.agb-facts{grid-template-columns:repeat(3,1fr);}}
@media(max-width:600px){.agb-facts{grid-template-columns:repeat(2,1fr);gap:10px;}}
.agb-fact{--c:200,146,74;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:10px;padding:22px 18px;border-radius:14px;text-decoration:none;color:#fff;background:radial-gradient(ellipse at 100% 0%,rgba(var(--c),.28) 0%,transparent 65%),linear-gradient(160deg,#1a1a1a 0%,#0c0c0c 100%);border:1px solid rgba(var(--c),.45);box-shadow:0 12px 30px rgba(0,0,0,.4),0 0 26px rgba(var(--c),.18);transition:transform .25s,box-shadow .25s;}
.agb-fact-petrol{--c:28,140,163;}
.agb-fact:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.5),0 0 36px rgba(var(--c),.4);}
.agb-fact-num{font-size:44px;font-weight:900;line-height:1;letter-spacing:-1.5px;color:rgb(var(--c));text-shadow:0 0 22px rgba(var(--c),.45);}
.agb-fact-gold .agb-fact-num{color:var(--gold-light);}
.agb-fact-petrol .agb-fact-num{color:#4FC3DA;}
.agb-fact-num span{margin-left:6px;font-size:13px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#fff;text-shadow:none;}
.agb-fact-label{font-size:12.5px;font-weight:600;line-height:1.45;color:rgba(255,255,255,.85);}
.agb-layout{display:grid;grid-template-columns:270px 1fr;gap:44px;align-items:start;}
@media(max-width:960px){.agb-layout{grid-template-columns:1fr;gap:28px;}}
.agb-toc{position:sticky;top:110px;max-height:calc(100vh - 140px);overflow:auto;padding:22px;border-radius:16px;background:radial-gradient(ellipse at 0% 0%,rgba(200,146,74,.16) 0%,transparent 60%),linear-gradient(160deg,#1a1a1a 0%,#0c0c0c 100%);border:1px solid rgba(200,146,74,.35);box-shadow:0 0 30px rgba(200,146,74,.12);}
@media(max-width:960px){.agb-toc{position:static;max-height:none;columns:2;column-gap:24px;}.agb-toc-title{column-span:all;}}
@media(max-width:560px){.agb-toc{columns:1;}}
.agb-toc-title{font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--gold-light);margin-bottom:12px;}
.agb-toc a{display:flex;gap:10px;padding:6px 8px;margin:0 -8px;border-radius:8px;font-size:12.5px;line-height:1.4;color:rgba(255,255,255,.85);text-decoration:none;break-inside:avoid;transition:background .2s,color .2s;}
.agb-toc a span{flex:0 0 22px;font-weight:800;color:var(--petrol-light);}
.agb-toc a:hover{background:rgba(200,146,74,.14);color:var(--gold-light);}
.agb-list{display:flex;flex-direction:column;gap:16px;}
.agb-item{--c:200,146,74;position:relative;overflow:hidden;display:flex;gap:22px;padding:28px 30px;border-radius:16px;background:radial-gradient(ellipse at 0% 0%,rgba(var(--c),.16) 0%,transparent 45%),linear-gradient(160deg,#1b1b1b 0%,#101010 100%);border:1px solid rgba(255,255,255,.09);box-shadow:0 14px 34px rgba(0,0,0,.35);scroll-margin-top:110px;transition:border-color .3s,box-shadow .3s;}
.agb-item.agb-petrol{--c:28,140,163;}
.agb-item:hover,.agb-item:target{border-color:rgba(var(--c),.55);box-shadow:0 16px 40px rgba(0,0,0,.45),0 0 32px rgba(var(--c),.22);}
.agb-item::after{content:'';position:absolute;left:0;top:24px;bottom:24px;width:3px;border-radius:0 3px 3px 0;background:rgb(var(--c));box-shadow:0 0 14px rgba(var(--c),.8);}
.agb-num{flex:0 0 46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;color:#fff;background:rgb(var(--c));box-shadow:0 0 0 5px rgba(var(--c),.15),0 0 24px rgba(var(--c),.55);}
.agb-gold .agb-num{color:#1a1005;}
.agb-content{flex:1;min-width:0;}
.agb-content h2{font-size:18px;font-weight:900;text-transform:uppercase;letter-spacing:-.2px;line-height:1.25;margin:11px 0 14px;}
.agb-content p{font-size:14px;line-height:1.8;color:rgba(255,255,255,.9);margin-bottom:12px;text-wrap:pretty;}
.agb-content p:last-child{margin-bottom:0;}
.agb-content b{color:var(--gold-light);}
.agb-petrol .agb-content b{color:#6fd0e3;}
.agb-form{margin-top:18px;padding:18px 20px;border-radius:12px;border:1px dashed rgba(255,255,255,.3);background:rgba(255,255,255,.04);}
.agb-form-title{font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-light);margin-bottom:10px;}
@media(max-width:560px){.agb-item{flex-direction:column;gap:10px;padding:22px 18px 22px 22px;}.agb-content h2{margin-top:0;}}
.ds-facts{grid-template-columns:repeat(4,1fr);}
@media(max-width:900px){.ds-facts{grid-template-columns:repeat(2,1fr);}}

/* ── Impressum ─────────────────────────────────────────────────── */
.imp-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
@media(max-width:1000px){.imp-cards{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.imp-cards{grid-template-columns:1fr;}}
.imp-card{--c:200,146,74;position:relative;padding:24px 22px;border-radius:14px;background:radial-gradient(ellipse at 100% 0%,rgba(var(--c),.26) 0%,transparent 65%),linear-gradient(160deg,#1a1a1a 0%,#0c0c0c 100%);border:1px solid rgba(var(--c),.45);box-shadow:0 12px 30px rgba(0,0,0,.4),0 0 26px rgba(var(--c),.16);transition:transform .25s,box-shadow .25s;}
.imp-card.imp-petrol{--c:28,140,163;}
.imp-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(0,0,0,.5),0 0 34px rgba(var(--c),.36);}
.imp-ico{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:16px;background:rgba(var(--c),.18);border:1px solid rgba(var(--c),.5);color:rgb(var(--c));}
.imp-gold .imp-ico{color:var(--gold-light);}
.imp-petrol .imp-ico{color:#4FC3DA;}
.imp-label{font-size:11px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;margin-bottom:8px;}
.imp-gold .imp-label{color:var(--gold-light);}
.imp-petrol .imp-label{color:#4FC3DA;}
.imp-val{font-size:14px;line-height:1.65;color:#fff;}
.imp-val a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3);}
.imp-val a:hover{color:var(--gold-light);border-color:var(--gold-light);}
.imp-list{max-width:900px;margin:0 auto;}
/* Footer: Claim in Weiß, Adresse als Link */
.footer-claim,.footer-claim span{color:#fff;}
footer.site-footer a.footer-address-link b{font-weight:800;letter-spacing:.5px;}
footer.site-footer a.footer-address-link:hover b{color:var(--gold-light);}
footer.site-footer a.footer-address-link .fa-ico{background:rgba(200,146,74,.14);border-color:rgba(200,146,74,.35);color:var(--gold-light);}

/* ── Barrierefreiheit & SEO ───────────────────────────────────── */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
h1 .h1-tagline{display:block;margin-top:14px;margin-left:0.06em;line-height:1.35;}
h1 .h1-sub{font-size:clamp(12px,1.4vw,15px);font-weight:700;letter-spacing:3px;color:var(--gold-light);margin-top:16px;}

/* ══ MOBIL-OPTIMIERUNG ═══════════════════════════════════════════ */
.mobile-lang{display:none;}
@media(max-width:920px){
  header .nav-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:0 16px;height:68px;}
  header .nav-inner>div:first-child{justify-self:start;gap:0!important;min-width:0;}
  header .lang-switch{display:none;}
  header .logo{flex-shrink:0;}
  header .logo img{height:40px;width:auto;max-width:none;flex-shrink:0;object-fit:contain;}
  header .nav-cta{justify-self:center;padding:10px 16px;font-size:10.5px;letter-spacing:.8px;white-space:nowrap;}
  header .burger{justify-self:end;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-8px;padding:0;position:relative;z-index:3;-webkit-tap-highlight-color:transparent;}
  header nav.main-nav.mobile-open{display:flex;position:absolute;top:100%;left:0;right:0;height:calc(100vh - 68px);height:calc(100dvh - 68px);flex-direction:column;align-items:stretch;gap:0;padding:8px 22px 40px;background:#050505;overflow-y:auto;-webkit-overflow-scrolling:touch;border-top:1px solid rgba(255,255,255,.08);}
  header nav.main-nav.mobile-open>.nav-item,header nav.main-nav.mobile-open>a.nav-link{border-bottom:1px solid rgba(255,255,255,.08);}
  header nav.main-nav.mobile-open .nav-link{padding:16px 2px;font-size:15px;letter-spacing:1.5px;}
  header nav.main-nav.mobile-open .nav-link svg{display:none;}
  header nav.main-nav.mobile-open .nav-dd{position:static;opacity:1;visibility:visible;transform:none;background:none;border:none;box-shadow:none;padding:0 0 12px 12px;margin-top:-6px;min-width:0;}
  header nav.main-nav.mobile-open .nav-dd a{font-size:14px;padding:9px 2px;color:rgba(255,255,255,.72);}
  header nav.main-nav.mobile-open .mobile-lang{display:flex;align-items:center;gap:10px;margin-top:24px;}
  .mobile-lang span{font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.55);margin-right:4px;}
  .mobile-lang a{padding:10px 18px;border-radius:99px;border:1px solid rgba(255,255,255,.22);font-size:13px;font-weight:700;color:#fff;}
  .mobile-lang a.active{background:var(--gold);border-color:var(--gold);color:#000;}
  body.menu-open{overflow:hidden;}
}
@media(max-width:380px){
  header .nav-inner{padding:0 12px;gap:6px;}
  header .logo img{height:34px;}
  header .nav-cta{padding:9px 12px;font-size:9.5px;letter-spacing:.5px;}
}
/* Hero auf dem Handy: volle Breite, lesbare Größen */
@media(max-width:760px){
  .hero .hero-container{padding:0 22px;}
  .hero .hero-inner{max-width:none;padding:112px 0 64px;}
  .hero{min-height:auto;}
  .hero h1.hero-title{font-size:clamp(40px,12.5vw,64px);line-height:.95;}
  .hero .hero-tagline{letter-spacing:2px;font-size:14px;}
  h1 .h1-tagline{font-size:14px;letter-spacing:1.8px;line-height:1.4;}
  h1 .h1-sub{font-size:12px;letter-spacing:2px;}
  .hero .hero-sub,.hero .hero-sub p{font-size:15px;line-height:1.65;}
  .hero-ctas,.hero .hero-inner>div[style*="flex"]{flex-direction:column;align-items:stretch;}
  .hero-ctas a,.hero .hero-inner>div[style*="flex"]>a{text-align:center;justify-content:center;}
  .section{padding-top:64px;padding-bottom:64px;}
  .container{padding-left:22px;padding-right:22px;}
}
@media(max-width:960px){.agb-layout{grid-template-columns:minmax(0,1fr);}.agb-toc,.agb-list{min-width:0;}}

/* ── Tanzstudio: Freelancer-Bereich ──────────────────────────── */
.team-sub-head{margin-top:72px;}
/* ── Kids: Shows ──────────────────────────────────────────────── */
.show-stat{display:flex;align-items:center;gap:18px;margin:26px 0 18px;padding:20px 22px;border-radius:14px;background:radial-gradient(ellipse at 0% 0%,rgba(28,140,163,.22) 0%,transparent 65%),linear-gradient(160deg,#161616 0%,#0a0a0a 100%);border:1px solid rgba(28,140,163,.45);box-shadow:0 0 28px rgba(28,140,163,.18);}
.show-stat-num{font-size:52px;font-weight:900;line-height:1;letter-spacing:-2px;color:#4FC3DA;text-shadow:0 0 24px rgba(28,140,163,.5);}
.show-stat-label{font-size:13px;font-weight:600;line-height:1.5;color:rgba(255,255,255,.88);}
.show-chips{display:flex;flex-wrap:wrap;gap:8px;}
.show-chips span{padding:7px 14px;border-radius:99px;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;background:rgba(200,146,74,.14);border:1px solid rgba(200,146,74,.4);color:var(--gold-light);}
/* ── Preise: Firmenfitness ───────────────────────────────────── */
.corp-fitness{margin-top:22px;padding:22px 26px;border-radius:14px;background:radial-gradient(ellipse at 100% 0%,rgba(28,140,163,.2) 0%,transparent 60%),linear-gradient(160deg,#151515 0%,#090909 100%);border:1px solid rgba(28,140,163,.45);}
.corp-fitness-title{font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#4FC3DA;margin-bottom:8px;}
.corp-fitness p{font-size:14px;line-height:1.7;}
/* Team (6) und Freelancer:innen (7) jeweils in einer Reihe, Rest zentriert */
.team-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:28px;}
.team-strip>.team-card{flex:0 0 calc((100% - 5*28px)/6);min-width:0;}
.team-strip.team-strip-free{gap:22px;}
.team-strip.team-strip-free>.team-card{flex-basis:calc((100% - 6*22px)/7);}
@media(max-width:900px){.team-strip,.team-strip.team-strip-free{gap:22px;}.team-strip>.team-card,.team-strip.team-strip-free>.team-card{flex-basis:calc((100% - 2*22px)/3);}}
@media(max-width:520px){.team-strip,.team-strip.team-strip-free{gap:18px;}.team-strip>.team-card,.team-strip.team-strip-free>.team-card{flex-basis:calc((100% - 18px)/2);}}
