:root{
  --ink:#111116;
  --paper:#fffaf3;
  --muted:#6e6872;
  --gold:#f7c75e;
  --rose:#ff3f7f;
  --orange:#ff8a1c;
  --cyan:#16c2f4;
  --violet:#6f45ff;
  --card:rgba(255,255,255,.86);
  --shadow:0 24px 80px rgba(17,17,22,.18);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.section{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:96px 0}
.eyebrow{margin:0 0 16px;text-transform:uppercase;letter-spacing:.2em;font-weight:900;font-size:.78rem;color:var(--gold)}
.eyebrow.dark{color:var(--violet)}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(4.2rem,11vw,10.5rem);line-height:.82;letter-spacing:-.08em;margin-bottom:28px;color:white;text-shadow:0 18px 45px rgba(0,0,0,.45)}
h1 span{background:linear-gradient(90deg,var(--gold),var(--rose),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
h2{font-size:clamp(2.2rem,5vw,5.4rem);line-height:.92;letter-spacing:-.055em;margin-bottom:26px}
h3{font-size:1.45rem;margin-bottom:10px}.lead{font-size:clamp(1.1rem,2vw,1.45rem);max-width:680px;color:rgba(255,255,255,.86)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:15px 22px;font-weight:900;transition:.25s ease;min-height:52px}.button:hover{transform:translateY(-3px)}.primary{background:linear-gradient(120deg,var(--gold),var(--orange),var(--rose));color:#121217;box-shadow:0 16px 40px rgba(255,102,0,.25)}.ghost{border:1px solid rgba(255,255,255,.36);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(14px)}
.hero{position:relative;min-height:100svh;padding:28px;display:grid;align-items:center;background:radial-gradient(circle at 20% 20%,rgba(255,63,127,.45),transparent 28%),radial-gradient(circle at 80% 20%,rgba(22,194,244,.5),transparent 28%),linear-gradient(130deg,#111116 0%,#211333 45%,#061b35 100%);}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.28),rgba(0,0,0,.68));z-index:-1}.hero-art{position:absolute;inset:0;z-index:-2;overflow:hidden}.hero-solo{position:absolute;right:4vw;bottom:-11vh;width:min(50vw,740px);height:auto;filter:saturate(1.2) contrast(1.08);opacity:.88}.glow{position:absolute;width:48vw;aspect-ratio:1;border-radius:50%;filter:blur(48px);opacity:.35}.glow-one{left:-16vw;bottom:10vh;background:var(--orange)}.glow-two{right:-10vw;top:4vh;background:var(--cyan)}
/*.nav{position:fixed;z-index:9999;top:20px;left:50%;transform:translateX(-50%);width:min(1120px,calc(100% - 40px));display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid rgba(255,255,255,.18);background:rgba(17,17,22,.58);backdrop-filter:blur(18px);border-radius:999px;color:#fff;box-shadow:0 20px 70px rgba(0,0,0,.18)}*/
.brand{display:flex;align-items:center;gap:10px;font-weight:950;letter-spacing:-.03em}.brand-mark{width:28px;aspect-ratio:1;border-radius:50%;background:conic-gradient(from 140deg,var(--gold),var(--rose),var(--cyan),var(--gold));box-shadow:0 0 0 4px rgba(255,255,255,.08)}
.nav-links{display:flex;align-items:center;gap:2px;position:relative;z-index:10000}.nav-links a{padding:10px 14px;border-radius:999px;font-weight:800;font-size:.92rem;color:rgba(255,255,255,.82)}.nav-links a:hover,.nav-cta{background:rgba(255,255,255,.12);color:white!important}.nav-toggle{display:none;border:0;border-radius:999px;background:#fff;color:#111;padding:10px 14px;font-weight:900}
.hero-content{position:relative;z-index:2;width:min(1120px,calc(100% - 10px));margin:0 auto;padding-top:80px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.hero-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px}.hero-badges span{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff;font-weight:800}
.intro{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end}.intro p:last-child{font-size:1.18rem;color:var(--muted)}
.split{display:grid;grid-template-columns:.95fr 1.05fr;gap:38px;align-items:center}.image-card{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transform:rotate(-2deg);background:#111}.image-card img{height:620px;width:100%;object-fit:cover}.content-card{padding:56px;border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);border:1px solid rgba(17,17,22,.08)}.content-card p{color:var(--muted);font-size:1.08rem}.style-cloud{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.style-cloud span{border-radius:999px;padding:10px 14px;font-weight:900;background:#f2edf7;color:#28172e}.style-cloud span:nth-child(3n+1){background:#fff0d0}.style-cloud span:nth-child(3n+2){background:#e5f8ff}.style-cloud span:nth-child(4n){background:#ffe6ee}
.goals{width:100%;max-width:none;padding:110px max(20px,calc((100vw - 1120px)/2));background:#111116;color:white;position:relative;overflow:hidden}.goals:before{content:"";position:absolute;inset:-20%;background:url('assets/dance-group.png') center/cover no-repeat;opacity:.18;filter:blur(2px) saturate(1.2)}.goals-copy{position:relative;max-width:760px}.goals-copy p{color:rgba(255,255,255,.78);font-size:1.14rem}.goal-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}.goal-card{padding:30px;border-radius:24px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(16px)}.goal-card strong{color:var(--gold);font-size:.9rem}.goal-card p{color:rgba(255,255,255,.72)}
.details-header{max-width:760px}.details-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.detail{min-height:230px;padding:26px;border-radius:24px;background:#fff;box-shadow:0 14px 40px rgba(17,17,22,.08);border:1px solid rgba(17,17,22,.06)}.detail span{display:inline-flex;margin-bottom:44px;font-weight:950;font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;color:var(--rose)}.detail p{font-size:1.02rem;color:var(--muted)}
.teacher{display:grid;grid-template-columns:220px 1fr;gap:42px;align-items:center;padding-top:28px}.teacher img{border-radius:50%;box-shadow:0 16px 50px rgba(17,17,22,.18);border:8px solid #fff}.teacher p{color:var(--muted);font-size:1.08rem}.teacher h2{font-size:clamp(2.1rem,4.4vw,4.6rem)}
.cta{padding:110px 20px;background:radial-gradient(circle at 25% 15%,rgba(255,199,94,.6),transparent 24%),radial-gradient(circle at 75% 0%,rgba(22,194,244,.5),transparent 30%),linear-gradient(135deg,#331233,#101124);color:white;text-align:center}.cta-inner{width:min(820px,100%);margin:auto}.cta .logo{width:180px;margin:0 auto 24px;border-radius:50%;box-shadow:0 16px 50px rgba(0,0,0,.3)}.cta p{color:rgba(255,255,255,.78);font-size:1.12rem}.contact-list{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:30px 0}.contact-list a,.contact-list button{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);font:inherit;font-weight:800;color:inherit;cursor:pointer;min-height:48px}.contact-list a:hover,.contact-list button:hover{background:rgba(255,255,255,.18)}.contact-list button{appearance:none;-webkit-appearance:none}
.footer{display:flex;justify-content:space-between;gap:16px;align-items:center;width:min(1120px,calc(100% - 40px));margin:0 auto;padding:28px 0;color:var(--muted);font-weight:750}.footer a{text-decoration:underline;text-underline-offset:4px}

/* ========================================
   REVEAL FIX
======================================== */

.reveal{
  opacity:0;

  /* REMOVE TRANSFORM */
  transform:none !important;

  transition:
    opacity .7s ease;
}

.reveal.is-visible{
  opacity:1;

  /* REMOVE TRANSFORM */
  transform:none !important;
}

@media (max-width:900px){.nav{border-radius:26px;align-items:center}.nav-toggle{display:block;position:relative;z-index:10002}.nav-links{position:fixed;z-index:10001;top:84px;left:20px;right:20px;margin:0;padding:12px;border-radius:24px;background:rgba(17,17,22,.98);box-shadow:0 28px 80px rgba(0,0,0,.36);backdrop-filter:blur(22px);flex-direction:column;align-items:stretch;max-height:calc(100svh - 108px);overflow:auto;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}.nav-links.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.nav-links a{padding:14px 18px}.hero{padding:22px;min-height:880px}.hero-solo{width:90vw;right:-28vw;opacity:.55}.intro,.split,.teacher{grid-template-columns:1fr}.details-grid,.goal-grid{grid-template-columns:1fr 1fr}.image-card{transform:none}.image-card img{height:480px}.content-card{padding:34px}.teacher img{width:180px}.footer{flex-direction:column;text-align:center}}
@media (max-width:560px){.section{width:min(100% - 40px,1120px);padding:70px 0}.hero{min-height:820px;padding:20px}.hero-content{width:min(100%,1120px);padding-top:90px}.lead{font-size:1.05rem}.hero-actions .button{width:100%}.details-grid,.goal-grid{grid-template-columns:1fr}.detail{min-height:auto}.detail span{margin-bottom:22px}.teacher{text-align:center}.teacher img{margin:auto}.contact-list{flex-direction:column}.contact-list a,.contact-list button{word-break:break-word;width:100%}.cta{padding:80px 20px}h1{font-size:4.3rem}}
/* ========================================
   NAVIGATION
======================================== */

.nav{
  position:fixed;
  top:20px;
  left:50%;
  transform:translateX(-50%);

  width:min(1120px, calc(100% - 40px));

  display:flex;
  align-items:center;
  justify-content:space-between;

  padding:12px 14px;

  border-radius:999px;

  background:rgba(17,17,22,.58);

  border:1px solid rgba(255,255,255,.16);

  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);

  color:#fff;

  box-shadow:0 20px 70px rgba(0,0,0,.28);

  z-index:999999999;
}

.nav-links{
  display:flex;
  align-items:center;
  gap:2px;
}

.nav-links a{
  padding:10px 14px;
  border-radius:999px;

  font-weight:800;
  font-size:.92rem;

  color:rgba(255,255,255,.82);
}

.nav-links a:hover,
.nav-cta{
  background:rgba(255,255,255,.12);
  color:#fff !important;
}

.nav-toggle{
  display:none;
}

/* MOBILE */

@media (max-width:900px){

  .nav{
    top:12px;
    width:calc(100% - 20px);
    border-radius:24px;
  }

  .nav-toggle{
    display:block;

    border:0;
    border-radius:999px;

    background:#fff;
    color:#111;

    padding:10px 14px;

    font-weight:900;
  }

  .nav-links{
    position:fixed;

    top:78px;
    left:10px;
    right:10px;

    display:flex;
    flex-direction:column;

    padding:12px;

    border-radius:24px;

    background:rgba(17,17,22,.58);

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    transform:translateY(-10px);

    transition:.25s ease;

    z-index:999999999;
  }

  .nav-links.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;

    transform:translateY(0);
  }
}
/* =========================================
   FINAL NAV FIX
========================================= */

body{
  position:relative;
}

/* NAV ALWAYS ON TOP */
.nav{
  position:fixed !important;
  top:20px !important;
  left:50% !important;
  transform:translateX(-50%) translateZ(0) !important;

  z-index:2147483647 !important;

  isolation:auto !important;
  will-change:auto !important;
}

/* MOBILE MENU */
.nav-links{
  z-index:2147483647 !important;
}

/* FORCE ALL CONTENT BELOW NAV */
.hero,
.hero *,
main,
main *,
section,
section *,
.reveal,
.reveal.is-visible,
.image-card,
.content-card,
.goal-card,
.detail{
  z-index:auto !important;
}

/* REMOVE GPU LAYERS CAUSING OVERLAP */
.reveal,
.reveal.is-visible,
.image-card,
.goal-card,
.content-card,
.detail{
  transform-style:flat !important;
  backface-visibility:hidden;
}

/* PREVENT IMAGE LAYERS FROM ESCAPING 
img{
  position:relative;
  z-index:0 !important;
}*/

/* ONLY HERO DECORATION IMAGES 

.hero-solo,
.hero-art img{
  position:relative;
  z-index:0 !important;
} */


.hero-art{
  z-index:0 !important;
  pointer-events:none;
}

.hero:after{
  z-index:0 !important;
}

.glow,
.hero-solo{
  z-index:1 !important;
  pointer-events:none;
}

/* HERO BACKGROUND LAYERS */
.hero-art,
.hero:after,
.glow,
.hero-solo{
  z-index:-1 !important;
  pointer-events:none;
}
/* ========================================
   ABSOLUTE NAV FIX
======================================== */

.nav{
  position:fixed !important;

  z-index:999999999999 !important;

  transform:translateX(-50%) !important;

  isolation:isolate;
}

/* ALL CONTENT BELOW NAV */

.hero-content,
.image-card,
.content-card,
.goal-card,
.detail,
.reveal,
.reveal.is-visible,
.hero-art,
.hero-solo,
.glow{
  z-index:1 !important;
}

/* Mobile spacing fix: Ziele section */
@media (max-width:560px){
  .goals{
    padding-left:20px;
    padding-right:20px;
  }

  .goals-copy,
  .goal-grid{
    width:100%;
  }
}