
/* Bebas Neue */
@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/bebas-neue-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/bebas-neue-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* DM Sans - italic weight 300 */
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/dm-sans-italic-300-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/dm-sans-italic-300-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* DM Sans - normal weights 300 / 400 / 500 */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300 500;
  font-display: swap;
  src: url('fonts/dm-sans-normal-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300 500;
  font-display: swap;
  src: url('fonts/dm-sans-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root { --red:#D72B2B; --dark:#0a0a0a; --mid:#1a1a1a; --light:#f0ece4; --muted:rgba(240,236,228,0.85); }
html { scroll-behavior:smooth; }
body { font-family:'DM Sans',sans-serif; background:var(--dark); color:var(--light); overflow-x:hidden; }

/* ── NAV ── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; justify-content:space-between; align-items:center;
  padding:1.2rem 3rem;
  background:rgba(10,10,10,0.95); backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.logo { font-family:'Bebas Neue',sans-serif; font-size:1.4rem; letter-spacing:0.12em; color:var(--light); text-decoration:none; cursor:pointer; }
.logo span { color:var(--red); }
nav ul { list-style:none; display:flex; gap:2rem; align-items:center; }
nav ul li { position:relative; }
nav ul li a {
  color:var(--muted); text-decoration:none; font-size:0.85rem;
  font-weight:500; letter-spacing:0.06em; text-transform:uppercase;
  transition:color .2s; cursor:pointer; background:none; border:none; font-family:inherit;
  display:flex; align-items:center; gap:.3rem;
}
nav ul li a:hover { color:var(--light); }
nav ul li a.active { color:var(--light); border-bottom:2px solid var(--red); padding-bottom:2px; }

/* Dropdown */
.dropdown { position:relative; }
.dropdown-arrow { font-size:.6rem; transition:transform .2s; display:inline-block; }
.dropdown-arrow.open { transform:rotate(180deg); }
.dropdown-menu {
  position:absolute; top:100%; left:50%; transform:translateX(-50%);
  background:rgba(15,15,15,0.98); backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,0.08); min-width:220px;
  opacity:0; pointer-events:none; transition:opacity .2s;
  display:flex; flex-direction:column;
  /* bridge gap so mouse can travel from nav link to menu */
  padding-top:1.2rem; margin-top:0;
}
.dropdown-menu.open { opacity:1; pointer-events:all; }
.dropdown-menu-inner {
  display:flex; flex-direction:column;
  background:rgba(15,15,15,0.98);
  border-top:2px solid var(--red);
}
.dropdown-menu a {
  padding:.9rem 1.4rem; font-size:.82rem; letter-spacing:.08em;
  border-bottom:1px solid rgba(255,255,255,0.05); display:flex; align-items:center; gap:.8rem;
  color:var(--muted); text-transform:uppercase; font-weight:500;
  transition:background .15s, color .15s; cursor:pointer;
}
.dropdown-menu a:last-child { border-bottom:none; }
.dropdown-menu a:hover { background:rgba(215,43,43,0.12); color:var(--light); }
.dropdown-menu a .dm-icon { font-size:1.1rem; width:1.5rem; text-align:center; }
.dropdown-item { display:flex; align-items:center; gap:1rem; text-decoration:none; }
.dropdown-item .di-icon { font-size:1.3rem; width:1.8rem; text-align:center; flex-shrink:0; }
.dropdown-item .di-text { display:flex; flex-direction:column; gap:.1rem; }
.dropdown-item .di-text strong { font-size:.85rem; letter-spacing:.06em; color:var(--light); font-weight:600; }
.dropdown-item .di-text span { font-size:.7rem; color:var(--muted); letter-spacing:.04em; font-weight:400; }
.dropdown-item { display:flex; align-items:center; gap:1rem; text-decoration:none; }
.dropdown-item .di-icon { font-size:1.3rem; width:1.8rem; text-align:center; flex-shrink:0; }
.dropdown-item .di-text { display:flex; flex-direction:column; gap:.1rem; }
.dropdown-item .di-text strong { font-size:.85rem; letter-spacing:.06em; color:var(--light); font-weight:600; }
.dropdown-item .di-text span { font-size:.7rem; color:var(--muted); letter-spacing:.04em; font-weight:400; }

.burger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:.4rem; background:none; border:none; }
.burger span { display:block; width:24px; height:2px; background:var(--light); transition:transform .3s,opacity .3s; }
.burger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.burger.open span:nth-child(2) { opacity:0; }
.burger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.mobile-menu {
  display:none; position:fixed; top:60px; left:0; right:0; bottom:0;
  background:rgba(10,10,10,0.98); z-index:99;
  flex-direction:column; align-items:center; justify-content:center; gap:2rem;
  overflow-y:auto; padding:2rem 0;
}
.mobile-menu.open { display:flex; }
.mobile-menu > a { font-family:'Bebas Neue',sans-serif; font-size:2rem; letter-spacing:.08em; text-transform:uppercase; color:var(--light); text-decoration:none; transition:color .2s; }
.mobile-menu > a:hover { color:var(--red); }
.mobile-menu .mob-title { font-family:'Bebas Neue',sans-serif; font-size:2rem; letter-spacing:.08em; color:var(--light); cursor:pointer; }
.mobile-menu .mob-title:hover { color:var(--red); }
.mob-sub-group { display:flex; flex-direction:column; align-items:center; gap:.6rem; }
.mob-sub-label { font-size:2rem; letter-spacing:.08em; text-transform:uppercase; color:var(--light); font-family:'Bebas Neue',sans-serif; }
.mob-sub-links { display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem; }
.mob-sub-link { font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); cursor:pointer; padding:.4rem .9rem; border:none; text-decoration:none; transition:color .2s; }
.mob-sub-link:hover { color:var(--red); }
.mob-cta { background:var(--red); color:#fff; padding:.9rem 2.5rem; font-family:'DM Sans',sans-serif; font-size:.9rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; border:none; }

/* ── TRANSITIONS ── */
#app { min-height:100vh; }
.page { animation:fadeIn .35s ease both; }
@keyframes fadeIn { from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:translateY(0)} }
@keyframes riseIn { from{opacity:0;transform:translateY(25px)} to{opacity:1;transform:translateY(0)} }
@keyframes zoomOut { from{transform:scale(1.08)} to{transform:scale(1.00)} }

/* ── SHARED ── */
.section-label { font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:#E8534E; margin-bottom:1rem; display:block; }
.page-hero { padding:10rem 3rem 5rem; border-bottom:1px solid rgba(255,255,255,0.06); position:relative; overflow:hidden; }
.page-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(3rem,7vw,6rem); line-height:0.95; text-transform:uppercase; letter-spacing:.02em; margin-bottom:1.2rem; animation:riseIn .8s ease both; }
.page-intro { font-size:1.05rem; color:var(--muted); max-width:580px; line-height:1.7; font-weight:300; }
.btn-primary { background:var(--red); color:#fff; padding:.9rem 2.2rem; font-size:.9rem; font-weight:500; letter-spacing:0.06em; text-transform:uppercase; border:none; cursor:pointer; text-decoration:none; transition:background .2s,transform .15s; display:inline-block; font-family:'DM Sans',sans-serif; }
.btn-primary:hover { background:#b82020; transform:translateY(-2px); }
.btn-ghost { background:transparent; color:var(--light); padding:.9rem 2.2rem; font-size:.9rem; font-weight:500; letter-spacing:0.06em; text-transform:uppercase; border:1px solid rgba(240,236,228,0.35); cursor:pointer; text-decoration:none; transition:border-color .2s; display:inline-block; font-family:'DM Sans',sans-serif; }
.btn-ghost:hover { border-color:var(--light); }
.btn-white { background:#fff; color:var(--red); padding:1rem 2.6rem; font-size:1rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; display:inline-block; transition:transform .15s, box-shadow .15s; cursor:pointer; border:2px solid #fff; font-family:'DM Sans',sans-serif; box-shadow:0 2px 12px rgba(0,0,0,0.2); }
.btn-white:hover { transform:translateY(-2px); }
.cta-strip { background:var(--red); padding:4.5rem 3rem; text-align:center; }
.cta-strip h2 { font-family:'Bebas Neue',sans-serif; font-size:clamp(2.5rem,5vw,4.5rem); line-height:1; text-transform:uppercase; margin-bottom:.8rem; }
.cta-strip p { opacity:1; margin-bottom:2rem; font-weight:300; font-size:1rem; color:rgba(255,255,255,0.95); }
.pills { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.5rem; }
.pill { border:1px solid rgba(215,43,43,0.4); color:var(--red); font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; padding:.3rem .8rem; }
.cta-row { display:flex; gap:1rem; flex-wrap:wrap; }
footer { background:var(--mid); text-align:center; padding:1.5rem; font-size:.8rem; color:var(--muted); border-top:1px solid rgba(255,255,255,0.06); }
footer a { color:var(--muted); text-decoration:none; }
footer a:hover { color:var(--red); }

/* ── HOME ── */
.hero { position:relative; min-height:100vh; display:flex; align-items:flex-end; overflow:hidden; }
.hero-img { position:absolute; inset:0; background:url('https://images.unsplash.com/photo-1555597673-b21d5c935865?w=1400&q=80') center/cover no-repeat; filter:grayscale(60%) brightness(0.45); transform:scale(1.04); animation:zoomOut 8s ease forwards; }
.hero::after { content:''; position:absolute; inset:0; background:linear-gradient(160deg,transparent 40%,var(--dark) 90%); pointer-events:none; }
.accent-line { position:absolute; top:0; left:0; width:4px; height:100%; background:var(--red); z-index:5; }
.hero-content { position:relative; z-index:6; padding:7rem 3rem 5rem; max-width:800px; animation:riseIn .9s ease both .3s; }
.badge { display:inline-block; background:var(--red); color:#fff; font-size:0.72rem; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; padding:.35rem .9rem; margin-bottom:1.4rem; }
.hero-content h1 { font-family:'Bebas Neue',sans-serif; font-size:clamp(3.2rem,8vw,7rem); line-height:0.95; letter-spacing:0.02em; text-transform:uppercase; margin-bottom:1.4rem; }
.hero-content h1 em { color:var(--red); font-style:normal; }
.hero-content .sub { font-size:1.05rem; line-height:1.65; color:var(--muted); max-width:520px; margin-bottom:2.8rem; font-weight:300; }
.stats { background:var(--mid); display:flex; justify-content:center; flex-wrap:wrap; border-top:1px solid rgba(255,255,255,0.06); }
.stat { flex:1; min-width:160px; padding:2rem 2.5rem; text-align:center; border-right:1px solid rgba(255,255,255,0.06); }
.stat:last-child { border-right:none; }
.stat-num { font-family:'Bebas Neue',sans-serif; font-size:2.8rem; color:var(--red); line-height:1; display:block; }
.stat-label { font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); margin-top:.3rem; display:block; }
.offers { padding:5rem 3rem; max-width:1100px; margin:0 auto; background:#0a0a0a; }
.offers .section-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(2.2rem,5vw,3.8rem); line-height:1; letter-spacing:.02em; text-transform:uppercase; margin-bottom:3rem; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1px; background:rgba(255,255,255,0.05); }
.card { background:#0a0a0a; padding:2.5rem 2rem; transition:background .2s; cursor:pointer; }
.card:hover { background:var(--mid); }
.card-icon { font-size:1.8rem; margin-bottom:1.2rem; }
.card h3 { font-family:'Bebas Neue',sans-serif; font-size:1.6rem; letter-spacing:.04em; margin-bottom:.7rem; }
.card p { font-size:.9rem; line-height:1.7; color:var(--muted); font-weight:300; }
.probe { background:var(--red); padding:4rem 3rem; text-align:center; }
.probe h2 { font-family:'Bebas Neue',sans-serif; font-size:clamp(2.5rem,6vw,5rem); line-height:1; text-transform:uppercase; margin-bottom:1rem; }
.probe p { font-size:1.05rem; margin-bottom:2rem; opacity:1; font-weight:300; color:rgba(255,255,255,0.95); }
.home-contact { padding:5rem 3rem; max-width:700px; margin:0 auto; text-align:center; }
.home-contact p { color:var(--muted); margin-bottom:2.5rem; line-height:1.7; font-weight:300; }
.contact-links { display:flex; flex-wrap:wrap; justify-content:center; gap:1rem; }

/* ── KURSE ÜBERSICHT ── */
.kurse-grid-wrap { max-width:1100px; margin:0 auto; padding:5rem 3rem; background:#0a0a0a; }
.kurse-grid-wrap .sub { color:var(--muted); font-size:.95rem; margin-bottom:3rem; font-weight:300; }
.kurse-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2px; background:rgba(255,255,255,0.05); }
.kurs-tile { background:#0a0a0a; padding:3rem 2.5rem; cursor:pointer; transition:background .2s; position:relative; overflow:hidden; }
.kurs-tile:hover { background:var(--mid); }
.kurs-tile::after { content:'→'; position:absolute; bottom:2rem; right:2rem; font-size:1.5rem; color:rgba(215,43,43,0.3); transition:color .2s,transform .2s; }
.kurs-tile:hover::after { color:var(--red); transform:translateX(4px); }
.kurs-tile .kurs-icon { font-size:2.5rem; margin-bottom:1.2rem; display:block; }
.kurs-tile h3 { font-family:'Bebas Neue',sans-serif; font-size:2rem; letter-spacing:.04em; margin-bottom:.3rem; }
.kurs-tile .kurs-sub { color:var(--red); font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; margin-bottom:1rem; }
.kurs-tile p { color:var(--muted); font-size:.88rem; line-height:1.65; font-weight:300; margin-bottom:1rem; }

/* ── DISZIPLIN DETAIL ── */
.disziplin-hero { min-height:65vh; display:flex; align-items:flex-end; position:relative; overflow:hidden; border-bottom:1px solid rgba(255,255,255,0.06); }
.disziplin-bg { position:absolute; inset:0; filter:grayscale(55%) brightness(0.38); background-size:cover; background-position:center; animation:zoomOut 8s ease forwards; }
.disziplin-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(160deg,transparent 30%,var(--dark) 85%); pointer-events:none; }
.disziplin-hero-content { position:relative; z-index:5; padding:7rem 3rem 4rem; max-width:750px; animation:riseIn .9s ease both .2s; }
.disziplin-icon { font-size:3rem; margin-bottom:1rem; display:block; }
.disziplin-tag { display:inline-block; background:var(--red); color:#fff; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; padding:.35rem .9rem; margin-bottom:1.2rem; }
.disziplin-hero-content h1 { font-family:'Bebas Neue',sans-serif; font-size:clamp(4rem,9vw,8rem); line-height:0.9; text-transform:uppercase; letter-spacing:.02em; margin-bottom:1rem; }
.hero-sub { font-size:1.05rem; color:var(--muted); line-height:1.65; font-weight:300; max-width:520px; margin-bottom:2rem; }

.disziplin-intro { max-width:1100px; margin:0 auto; padding:5rem 3rem; display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.disziplin-intro h2 { font-family:'Bebas Neue',sans-serif; font-size:clamp(2rem,4vw,3rem); text-transform:uppercase; letter-spacing:.02em; margin-bottom:1.2rem; line-height:1; }
.disziplin-intro p { color:var(--muted); line-height:1.8; font-weight:300; font-size:.95rem; margin-bottom:1rem; }
.highlight-box { background:rgba(215,43,43,0.08); border-left:3px solid var(--red); padding:1.2rem 1.5rem; font-size:.9rem; color:var(--muted); line-height:1.65; }
.highlight-box strong { color:var(--light); }
.zeiten-box { margin-top:1.5rem; padding:1.5rem; background:var(--mid); border-top:2px solid var(--red); }
.zeiten-box-label { font-family:'Bebas Neue',sans-serif; font-size:1rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:.8rem; }
.zeiten-row { font-size:.88rem; color:var(--muted); margin-bottom:.4rem; }
.zeiten-row strong { color:var(--light); }

.fuer-wen { background:var(--mid); padding:5rem 3rem; }
.fuer-wen-inner { max-width:1100px; margin:0 auto; }
.fuer-wen h2 { font-family:'Bebas Neue',sans-serif; font-size:clamp(2rem,4vw,3rem); text-transform:uppercase; margin-bottom:3rem; }
.fuer-wen-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,0.06); }
.fuer-wen-card { background:var(--mid); padding:2.5rem 2rem; }
.fuer-wen-card .card-icon { font-size:2rem; margin-bottom:1rem; display:block; }
.fuer-wen-card h3 { font-family:'Bebas Neue',sans-serif; font-size:1.4rem; letter-spacing:.04em; margin-bottom:.6rem; }
.fuer-wen-card p { color:var(--muted); font-size:.88rem; line-height:1.65; font-weight:300; }

.lernpfad { max-width:860px; margin:0 auto; padding:5rem 3rem; }
.lernpfad h2 { font-family:'Bebas Neue',sans-serif; font-size:clamp(2rem,4vw,3rem); text-transform:uppercase; margin-bottom:3rem; }
.stufe { display:grid; grid-template-columns:80px 1fr; border-bottom:1px solid rgba(255,255,255,0.07); }
.stufe-num { padding:2rem 1rem 2rem 0; font-family:'Bebas Neue',sans-serif; font-size:2.5rem; color:rgba(215,43,43,0.3); line-height:1; }
.stufe-content { padding:1.8rem 0; }
.stufe-content h3 { font-family:'Bebas Neue',sans-serif; font-size:1.3rem; letter-spacing:.05em; margin-bottom:.4rem; }
.stufe-content p { color:var(--muted); font-size:.88rem; line-height:1.65; font-weight:300; }

/* FAQ */
.inline-faq { max-width:860px; margin:0 auto; padding:4rem 3rem 5rem; }
.inline-faq h2 { font-family:'Bebas Neue',sans-serif; font-size:clamp(1.8rem,3vw,2.5rem); text-transform:uppercase; margin-bottom:2rem; }
.faq-item { border-bottom:1px solid rgba(255,255,255,0.08); }
.faq-question { width:100%; background:none; border:none; color:var(--light); text-align:left; padding:1.2rem 0; font-family:'DM Sans',sans-serif; font-size:.95rem; font-weight:500; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:2rem; transition:color .2s; }
.faq-question:hover { color:var(--red); }
.faq-question .arrow { width:1.5rem; height:1.5rem; border:1px solid rgba(255,255,255,0.2); display:flex; align-items:center; justify-content:center; font-size:.7rem; flex-shrink:0; transition:transform .3s,background .2s; }
.faq-item.open .arrow { transform:rotate(45deg); background:var(--red); border-color:var(--red); }
.faq-answer { max-height:0; overflow:hidden; transition:max-height .4s ease; }
.faq-item.open .faq-answer { max-height:400px; padding-bottom:1.2rem; }
.faq-answer p { color:var(--muted); line-height:1.75; font-size:.9rem; font-weight:300; }

/* ── TRAINER / TEAM ── */
.trainer-hero { padding:10rem 3rem 5rem; border-bottom:1px solid rgba(255,255,255,0.06); position:relative; overflow:hidden; }
.trainer-hero::before { content:'TEAM'; position:absolute; right:-1rem; top:50%; transform:translateY(-50%); font-family:'Bebas Neue',sans-serif; font-size:clamp(8rem,18vw,18rem); color:rgba(255,255,255,0.025); pointer-events:none; white-space:nowrap; }
.trainer-note { max-width:1100px; margin:3rem auto 0; padding:0 3rem; background:rgba(215,43,43,0.06); border:1px dashed rgba(215,43,43,0.3); color:var(--muted); font-size:.85rem; font-style:italic; padding:1.2rem 2rem; }
.trainer-note strong { color:var(--red); }
.team-disciplines { max-width:1100px; margin:0 auto; padding:0 3rem; }
.discipline { display:grid; grid-template-columns:1fr 1fr; gap:0; border-bottom:1px solid rgba(255,255,255,0.07); min-height:380px; }
.discipline:nth-child(even) { direction:rtl; }
.discipline:nth-child(even) > * { direction:ltr; }
.discipline-visual { background:var(--mid); position:relative; overflow:hidden; min-height:300px; }
.discipline-visual .number { position:absolute; bottom:1.5rem; right:2rem; font-family:'Bebas Neue',sans-serif; font-size:7rem; line-height:1; color:rgba(215,43,43,0.15); pointer-events:none; }
.discipline-visual .icon-display { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:5rem; }
.discipline-visual .trainer-photo-slot { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem; }
.trainer-photo-slot .t-icon { font-size:3.5rem; }
.trainer-photo-slot .t-label { font-size:.65rem; letter-spacing:.15em; text-transform:uppercase; color:var(--muted); }
.discipline-content { padding:3rem; display:flex; flex-direction:column; justify-content:center; }
.discipline-content h2 { font-family:'Bebas Neue',sans-serif; font-size:clamp(2rem,4vw,3rem); letter-spacing:.03em; text-transform:uppercase; margin-bottom:.3rem; line-height:1; }
.discipline-content .trainer-role { color:var(--red); font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; margin-bottom:1.2rem; font-weight:500; }
.discipline-content p { color:var(--muted); line-height:1.75; font-weight:300; font-size:.92rem; margin-bottom:1rem; }
.trainer-quals { display:flex; flex-direction:column; gap:.3rem; margin-top:.5rem; }
.trainer-qual { display:flex; align-items:center; gap:.6rem; font-size:.8rem; color:var(--muted); }
.trainer-qual::before { content:'▸'; color:var(--red); font-size:.6rem; }
.trainer-placeholder { opacity:.35; font-style:italic; }

/* ── BLOG ── */
.blog-hero { padding:10rem 3rem 5rem; border-bottom:1px solid rgba(255,255,255,0.06); position:relative; overflow:hidden; }
.blog-hero::before { content:'BLOG'; position:absolute; right:-1rem; top:50%; transform:translateY(-50%); font-family:'Bebas Neue',sans-serif; font-size:clamp(8rem,18vw,18rem); color:rgba(255,255,255,0.025); pointer-events:none; white-space:nowrap; }
.blog-layout { max-width:1100px; margin:0 auto; padding:4rem 3rem 5rem; display:grid; grid-template-columns:2fr 1fr; gap:4rem; }
.blog-main h2 { font-family:'Bebas Neue',sans-serif; font-size:1.4rem; letter-spacing:.06em; text-transform:uppercase; margin-bottom:2rem; color:var(--muted); }
.blog-post { border-bottom:1px solid rgba(255,255,255,0.07); padding:2rem 0; cursor:pointer; }
.blog-post:hover .post-title { color:var(--red); }
.post-meta { display:flex; gap:1rem; align-items:center; margin-bottom:.8rem; }
.post-cat { background:rgba(215,43,43,0.15); color:var(--red); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; padding:.2rem .7rem; }
.post-date { font-size:.75rem; color:var(--muted); letter-spacing:.06em; }
.post-title { font-family:'Bebas Neue',sans-serif; font-size:1.7rem; letter-spacing:.03em; line-height:1.1; margin-bottom:.6rem; transition:color .2s; }
.post-excerpt { color:var(--muted); font-size:.88rem; line-height:1.65; font-weight:300; }
.post-read { display:inline-block; margin-top:.8rem; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:var(--red); }
.sidebar-widget { margin-bottom:2.5rem; }
.sidebar-widget h3 { font-family:'Bebas Neue',sans-serif; font-size:1.2rem; letter-spacing:.06em; text-transform:uppercase; margin-bottom:1.2rem; padding-bottom:.6rem; border-bottom:1px solid rgba(255,255,255,0.08); }
.sidebar-cats { display:flex; flex-direction:column; gap:.3rem; }
.sidebar-cat { display:flex; justify-content:space-between; padding:.5rem 0; border-bottom:1px solid rgba(255,255,255,0.05); font-size:.85rem; color:var(--muted); cursor:pointer; transition:color .2s; }
.sidebar-cat:hover { color:var(--red); }
.sidebar-cat span { background:rgba(215,43,43,0.15); color:var(--red); font-size:.7rem; padding:.1rem .5rem; }
.cta-sidebar { background:var(--red); padding:2rem 1.5rem; }
.cta-sidebar h3 { font-family:'Bebas Neue',sans-serif; font-size:1.4rem; letter-spacing:.04em; text-transform:uppercase; margin-bottom:.6rem; }
.cta-sidebar p { font-size:.85rem; opacity:.85; margin-bottom:1.2rem; line-height:1.5; font-weight:300; }

/* ── FORMS ── */
.form-group { margin-bottom:1.4rem; }
label { display:block; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:.5rem; }
input,select,textarea { width:100%; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); color:var(--light); padding:.85rem 1rem; font-family:'DM Sans',sans-serif; font-size:.95rem; outline:none; transition:border-color .2s; appearance:none; }
input:focus,select:focus,textarea:focus { border-color:var(--red); }
input::placeholder,textarea::placeholder { color:var(--muted); }
select option { background:var(--mid); }
textarea { resize:vertical; min-height:110px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.submit-btn { width:100%; background:var(--red); color:#fff; padding:1.1rem; font-family:'DM Sans',sans-serif; font-size:1rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; border:none; cursor:pointer; transition:background .2s,transform .15s; margin-top:.5rem; }
.submit-btn:hover { background:#b82020; transform:translateY(-2px); }
.form-note { font-size:.78rem; color:var(--muted); margin-top:.8rem; line-height:1.5; }
.success-msg { display:none; background:rgba(215,43,43,0.1); border:1px solid var(--red); padding:1.5rem; text-align:center; margin-top:1rem; }
.success-msg h3 { font-family:'Bebas Neue',sans-serif; font-size:1.5rem; margin-bottom:.5rem; color:var(--red); }

/* PROBETRAINING */
.hero-split { display:grid; grid-template-columns:1fr 1fr; min-height:100vh; }
.hero-left { background:var(--red); padding:10rem 4rem 5rem; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; }
.hero-left::after { content:'GRATIS'; position:absolute; bottom:-2rem; left:-1rem; font-family:'Bebas Neue',sans-serif; font-size:clamp(5rem,12vw,11rem); color:rgba(0,0,0,0.12); letter-spacing:.05em; pointer-events:none; line-height:1; }
.hero-left .section-label { color:rgba(255,255,255,0.7); }
.hero-left h1 { font-family:'Bebas Neue',sans-serif; font-size:clamp(2.8rem,5vw,5rem); line-height:0.95; text-transform:uppercase; letter-spacing:.02em; margin-bottom:1.5rem; animation:riseIn .8s ease both; }
.hero-left p { font-size:1rem; line-height:1.7; opacity:.85; font-weight:300; max-width:400px; margin-bottom:2.5rem; }
.promise-list { list-style:none; display:flex; flex-direction:column; gap:.8rem; }
.promise-list li { display:flex; align-items:center; gap:.8rem; font-size:.9rem; font-weight:500; }
.promise-list li::before { content:'✓'; background:rgba(0,0,0,0.2); width:1.6rem; height:1.6rem; display:flex; align-items:center; justify-content:center; font-size:.8rem; flex-shrink:0; }
.hero-right { background:var(--mid); padding:10rem 4rem 5rem; display:flex; flex-direction:column; justify-content:center; }
.form-title { font-family:'Bebas Neue',sans-serif; font-size:2rem; letter-spacing:.05em; text-transform:uppercase; margin-bottom:.5rem; }
.form-sub { color:var(--muted); font-size:.9rem; margin-bottom:2.5rem; font-weight:300; }
.why { max-width:1100px; margin:0 auto; padding:6rem 3rem; }
.why h2 { font-family:'Bebas Neue',sans-serif; font-size:clamp(2.2rem,4vw,3.5rem); text-transform:uppercase; letter-spacing:.02em; margin-bottom:3rem; }
.why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,0.06); }
.why-card { background:var(--dark); padding:2.5rem 2rem; }
.why-card .why-icon { font-size:2rem; margin-bottom:1.2rem; display:block; }
.why-card h3 { font-family:'Bebas Neue',sans-serif; font-size:1.4rem; letter-spacing:.04em; margin-bottom:.7rem; }
.why-card p { color:var(--muted); font-size:.9rem; line-height:1.65; font-weight:300; }

/* KONTAKT */
.contact-layout { display:grid; grid-template-columns:1fr 1.3fr; min-height:100vh; }
.info-panel { background:var(--mid); padding:10rem 3.5rem 5rem; display:flex; flex-direction:column; justify-content:center; border-right:1px solid rgba(255,255,255,0.06); position:relative; overflow:hidden; }
.info-panel::before { content:''; position:absolute; top:0; left:0; width:3px; height:100%; background:var(--red); }
.info-panel h1 { font-family:'Bebas Neue',sans-serif; font-size:clamp(2.8rem,5vw,4.5rem); line-height:0.95; text-transform:uppercase; letter-spacing:.02em; margin-bottom:1.5rem; animation:riseIn .8s ease both; }
.info-intro { color:var(--muted); font-size:.95rem; line-height:1.7; font-weight:300; margin-bottom:3rem; max-width:360px; }
.contact-items { display:flex; flex-direction:column; gap:1.8rem; margin-bottom:3rem; }
.contact-item { display:flex; gap:1.2rem; align-items:flex-start; }
.contact-icon { width:2.5rem; height:2.5rem; background:rgba(215,43,43,0.15); display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; border:1px solid rgba(215,43,43,0.3); }
.contact-item-label { font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:.2rem; display:block; }
.contact-item-value { font-size:.95rem; color:var(--light); }
.contact-item-value a { color:var(--light); text-decoration:none; transition:color .2s; }
.contact-item-value a:hover { color:var(--red); }
.social-row { display:flex; gap:.8rem; margin-top:1rem; }
.social-btn { border:1px solid rgba(255,255,255,0.15); color:var(--muted); padding:.6rem 1.2rem; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; text-decoration:none; transition:border-color .2s,color .2s; cursor:pointer; background:none; font-family:'DM Sans',sans-serif; }
.social-btn:hover { border-color:var(--light); color:var(--light); }
.form-panel { background:var(--dark); padding:10rem 4rem 5rem; display:flex; flex-direction:column; justify-content:center; }

/* ── RESPONSIVE ── */
@media(max-width:768px) {
  nav { padding:1rem 1.2rem; }
  nav ul { display:none; }
  .burger { display:flex; }
  .page-hero,.trainer-hero,.blog-hero { padding:7rem 1.5rem 2.5rem; }
  .disziplin-hero-content { padding:6rem 1.5rem 3rem; }
  .disziplin-intro { grid-template-columns:1fr; gap:2rem; padding:3rem 1.5rem; }
  .fuer-wen { padding:3rem 1.5rem; }
  .fuer-wen-grid { grid-template-columns:1fr; }
  .lernpfad { padding:3rem 1.5rem; }
  .inline-faq { padding:3rem 1.5rem 4rem; }
  .team-disciplines { padding:0; }
  .discipline { grid-template-columns:1fr; direction:ltr !important; }
  .discipline-visual { min-height:200px; }
  .discipline-content { padding:2rem 1.5rem; }
  .blog-layout { grid-template-columns:1fr; gap:3rem; padding:3rem 1.5rem; }
  .kurse-grid { grid-template-columns:1fr; }
  .kurse-grid-wrap { padding:3rem 1.5rem; }
  .hero-split { grid-template-columns:1fr; }
  .hero-left { padding:7rem 1.5rem 3rem; min-height:auto; }
  .hero-right { padding:2.5rem 1.5rem 3rem; }
  .form-row { grid-template-columns:1fr; }
  .why { padding:3rem 1.5rem; }
  .why-grid { grid-template-columns:1fr; }
  .contact-layout { grid-template-columns:1fr; }
  .info-panel { padding:7rem 1.5rem 3rem; border-right:none; border-bottom:1px solid rgba(255,255,255,0.06); }
  .form-panel { padding:2.5rem 1.5rem 3rem; }
  .cta-strip { padding:3rem 1.5rem; }
}

.page-hero.zeiten::before { content: 'ZEITEN'; position: absolute; right: -1rem; top: 50%; transform: translateY(-50%); font-family: 'Bebas Neue', sans-serif; font-size: clamp(6rem, 15vw, 15rem); color: rgba(255,255,255,0.025); letter-spacing: .05em; pointer-events: none; white-space: nowrap; }

/* ═══════════════════════════════════════════
   ZEITEN PAGE
═══════════════════════════════════════════ */
.page-hero.zeiten::before { content: 'ZEITEN'; position: absolute; right: -1rem; top: 50%; transform: translateY(-50%); font-family: 'Bebas Neue', sans-serif; font-size: clamp(6rem, 15vw, 15rem); color: rgba(255,255,255,0.025); letter-spacing: .05em; pointer-events: none; white-space: nowrap; }
.legend-wrap { max-width: 1100px; margin: 3rem auto 0; padding: 0 3rem; display: flex; flex-wrap: wrap; gap: .8rem; }
.legend-item { display: flex; align-items: center; gap: .5rem; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.legend-dot { width: 10px; height: 10px; flex-shrink: 0; }
.schedule-wrap { max-width: 1100px; margin: 2rem auto 0; padding: 0 3rem 5rem; }
.week-grid { display: grid; grid-template-columns: 80px repeat(5, 1fr); gap: 1px; background: rgba(255,255,255,0.06); }
.grid-header { background: var(--mid); padding: .9rem .8rem; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); font-weight: 500; }
.grid-header.day { text-align: center; }
.time-label { background: var(--dark); padding: .6rem .8rem; font-size: .75rem; letter-spacing: .06em; color: var(--muted); display: flex; align-items: center; border-right: 2px solid rgba(255,255,255,0.06); }
.cell { background: var(--dark); min-height: 64px; position: relative; }
.cell.tall { min-height: 90px; }
.slot { position: absolute; inset: 3px; padding: .5rem .7rem; display: flex; flex-direction: column; justify-content: center; transition: filter .15s; cursor: pointer; }
.slot:hover { filter: brightness(1.15); }
.slot-name { font-family: 'Bebas Neue', sans-serif; font-size: 1rem; letter-spacing: .05em; line-height: 1.1; }
.slot-detail { font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; opacity: .8; margin-top: .15rem; }
.wt { background: rgba(215,43,43,0.85); }
.wt-kids { background: rgba(215,43,43,0.45); }
.qd { background: rgba(30,100,200,0.75); }
.taichi { background: rgba(30,160,120,0.75); }
.escrima { background: rgba(180,120,20,0.85); }
.mobile-schedule { display: none; }
.mob-day-title { font-family: 'Bebas Neue', sans-serif; font-size: 1.4rem; letter-spacing: .06em; text-transform: uppercase; padding: 1.2rem 1.5rem .5rem; border-bottom: 1px solid rgba(255,255,255,0.07); }
.mob-row { display: flex; align-items: center; gap: 1rem; padding: .9rem 1.5rem; border-bottom: 1px solid rgba(255,255,255,0.05); }
a.mob-row { color: inherit; text-decoration: none; transition: background .15s; }
a.mob-row:hover { background: var(--mid); }
.mob-time { font-size: .8rem; color: var(--muted); min-width: 80px; font-weight: 500; }
.mob-badge { padding: .3rem .8rem; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; font-weight: 500; }
.mob-who { font-size: .8rem; color: var(--muted); }
.schedule-note { max-width: 1100px; margin: 0 auto; padding: 0 3rem 2rem; color: var(--muted); font-size: .88rem; line-height: 1.6; font-weight: 300; }
.schedule-note strong { color: var(--light); }

@media (max-width: 768px) {
  .legend-wrap { padding: 0 1.5rem; }
  .schedule-wrap { padding: 0 0 3rem; }
  .week-grid { display: none; }
  .mobile-schedule { display: block; background: var(--mid); }
  .schedule-note { padding: 1rem 1.5rem 1.5rem; }
}

/* ═══════════════════════════════════════════
   BLOG SIDEBAR
═══════════════════════════════════════════ */
.blog-sidebar { display: flex; flex-direction: column; gap: 2rem; }
.sidebar-widget { background: var(--mid); padding: 2rem; }
.sidebar-widget h3 { font-family: 'Bebas Neue', sans-serif; font-size: 1.2rem; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 1.2rem; padding-bottom: .8rem; border-bottom: 1px solid rgba(255,255,255,0.08); }
.sidebar-cats { display: flex; flex-direction: column; gap: 0; }
.sidebar-cat { display: flex; justify-content: space-between; align-items: center; padding: .7rem 0; border-bottom: 1px solid rgba(255,255,255,0.06); font-size: .9rem; color: var(--muted); cursor: pointer; transition: color .2s; }
.sidebar-cat:hover { color: var(--light); }
.sidebar-cat span { background: var(--red); color: #fff; font-size: .7rem; font-weight: 600; padding: .15rem .5rem; min-width: 1.4rem; text-align: center; }
.cta-sidebar { background: var(--red); padding: 2rem; }
.cta-sidebar h3 { font-family: 'Bebas Neue', sans-serif; font-size: 1.4rem; letter-spacing: .06em; text-transform: uppercase; margin-bottom: .7rem; }
.cta-sidebar p { font-size: .88rem; opacity: .85; margin-bottom: 1.2rem; font-weight: 300; line-height: 1.5; }

/* ═══════════════════════════════════════════
   FAQ PAGE
═══════════════════════════════════════════ */
.page-hero.faq { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; }
.page-hero.faq::after { content: '?'; position: absolute; right: 3rem; top: 50%; transform: translateY(-50%); font-family: 'Bebas Neue', sans-serif; font-size: clamp(10rem, 22vw, 22rem); color: rgba(215,43,43,0.06); pointer-events: none; line-height: 1; }
.faq-wrap { max-width: 860px; margin: 0 auto; padding: 5rem 3rem 3rem; }
.faq-category { margin-bottom: 4rem; }
.category-label { font-family: 'Bebas Neue', sans-serif; font-size: 1.5rem; letter-spacing: .08em; text-transform: uppercase; color: var(--red); margin-bottom: 1.5rem; display: flex; align-items: center; gap: 1rem; }
.category-label::after { content: ''; flex: 1; height: 1px; background: rgba(215,43,43,0.25); }
.faq-item { border-bottom: 1px solid rgba(255,255,255,0.08); }
.faq-question { width: 100%; background: none; border: none; color: var(--light); text-align: left; padding: 1.4rem 0; font-family: 'DM Sans', sans-serif; font-size: 1rem; font-weight: 500; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 2rem; transition: color .2s; }
.faq-question:hover { color: var(--red); }
.faq-question .arrow { width: 1.6rem; height: 1.6rem; border: 1px solid rgba(255,255,255,0.2); display: flex; align-items: center; justify-content: center; font-size: .7rem; flex-shrink: 0; transition: transform .3s, border-color .2s, background .2s; }
.faq-item.open .arrow { transform: rotate(45deg); background: var(--red); border-color: var(--red); }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height .4s ease, padding .3s ease; }
.faq-item.open .faq-answer { max-height: 500px; padding-bottom: 1.5rem; }
.faq-answer p { color: var(--muted); line-height: 1.75; font-size: .95rem; font-weight: 300; }
.faq-answer strong { color: var(--light); }

/* ═══════════════════════════════════════════
   IMPRESSUM / DATENSCHUTZ (page-wrap)
═══════════════════════════════════════════ */
.page-wrap { max-width: 780px; margin: 0 auto; padding: 9rem 3rem 6rem; }
.page-wrap h1 { font-family: 'Bebas Neue', sans-serif; font-size: clamp(3rem, 7vw, 5rem); line-height: 0.95; text-transform: uppercase; letter-spacing: .02em; margin-bottom: 3rem; }
.block { margin-bottom: 2.8rem; padding-bottom: 2.8rem; border-bottom: 1px solid rgba(255,255,255,0.07); }
.block:last-child { border-bottom: none; }
.block h2 { font-family: 'Bebas Neue', sans-serif; font-size: 1.3rem; letter-spacing: .08em; text-transform: uppercase; color: var(--red); margin-bottom: 1rem; }
.block p, .block address { font-size: .95rem; line-height: 1.8; color: var(--muted); font-weight: 300; font-style: normal; }
.block a { color: var(--light); text-decoration: none; border-bottom: 1px solid rgba(240,236,228,0.2); transition: border-color .2s; }
.block a:hover { border-color: var(--red); color: var(--red); }

@media (max-width: 768px) {
  .page-hero.faq { grid-template-columns: 1fr; gap: 1rem; }
  .page-hero.faq::after { font-size: 8rem; right: 1rem; }
  .faq-wrap { padding: 2.5rem 1.5rem; }
  .page-wrap { padding: 7rem 1.5rem 4rem; }
}

/* ── WHATSAPP BUTTON ── */
.wa-btn { position:fixed; bottom:1.5rem; right:1.5rem; z-index:200; width:3.2rem; height:3.2rem; background:#25D366; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 16px rgba(0,0,0,0.4); transition:transform .2s,box-shadow .2s; }
.wa-btn:hover { transform:scale(1.08); box-shadow:0 6px 20px rgba(0,0,0,0.5); }
.wa-btn svg { width:1.6rem; height:1.6rem; fill:#fff; }
@media(max-width:768px){ .wa-btn { bottom:1rem; right:1rem; width:3rem; height:3rem; } .wa-btn svg { width:1.5rem; height:1.5rem; } }

/* ── AUCH INTERESSANT (cross-links) ── */
.auch-interessant { padding:4rem 3rem; background:#0a0a0a; border-top:1px solid rgba(255,255,255,0.06); }
.auch-interessant-inner { max-width:860px; margin:0 auto; }
.auch-interessant-inner .section-label { margin-bottom:1.8rem; }
.auch-interessant-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; background:rgba(255,255,255,0.06); }
.auch-interessant-card { background:#0a0a0a; padding:2.5rem 2rem; text-decoration:none; display:flex; flex-direction:column; gap:.6rem; transition:background .2s; }
.auch-interessant-card:hover { background:var(--mid); }
.ai-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:.2rem; }
.ai-label { font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); font-weight:400; }
.ai-icon { font-size:1.6rem; color:var(--light); }
.ai-course { font-family:'Bebas Neue',sans-serif; font-size:2.2rem; letter-spacing:.04em; color:var(--light); line-height:1; }
.ai-desc { color:var(--muted); font-size:.88rem; line-height:1.65; font-weight:300; flex:1; }
.ai-link { font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:var(--red); margin-top:.3rem; transition:letter-spacing .2s; }
.auch-interessant-card:hover .ai-link { letter-spacing:.14em; }
@media(max-width:768px){ .auch-interessant { padding:3rem 1.5rem; } .auch-interessant-grid { grid-template-columns:1fr; } }

/* ── KURS QUIZ ── */
.kurs-quiz { background:var(--mid); padding:5rem 3rem; border-top:1px solid rgba(255,255,255,0.06); }
.quiz-inner { max-width:680px; margin:0 auto; }
.quiz-inner > h2 { font-family:'Bebas Neue',sans-serif; font-size:clamp(2rem,4vw,3rem); text-transform:uppercase; letter-spacing:.02em; margin-bottom:.6rem; line-height:1; }
.quiz-subtitle { color:var(--muted); font-size:.95rem; margin-bottom:2.5rem; font-weight:300; line-height:1.6; }
.quiz-step { display:none; animation:fadeIn .3s ease; }
.quiz-step.active { display:block; }
.quiz-q { font-size:1.05rem; color:var(--light); font-weight:400; margin-bottom:1.2rem; line-height:1.6; }
.quiz-step-num { font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:.5rem; display:block; }
.quiz-options { display:flex; flex-direction:column; gap:.5rem; }
.quiz-opt { background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1); color:var(--muted); padding:.95rem 1.4rem; text-align:left; font-family:'DM Sans',sans-serif; font-size:.9rem; cursor:pointer; transition:background .15s,border-color .15s,color .15s; line-height:1.5; }
.quiz-opt:hover { background:rgba(255,255,255,0.08); color:var(--light); border-color:rgba(255,255,255,0.2); }
.quiz-opt.selected { background:rgba(215,43,43,0.1); border-color:var(--red); color:var(--light); }
.quiz-dots { display:flex; gap:.5rem; margin-top:1.8rem; }
.quiz-dot { width:.55rem; height:.55rem; border-radius:50%; background:rgba(255,255,255,0.12); transition:background .3s; }
.quiz-dot.active { background:var(--red); }
.quiz-dot.done { background:rgba(215,43,43,0.35); }
.quiz-result { display:none; }
.quiz-result.show { display:block; animation:fadeIn .4s ease; }
.quiz-result-box { border-top:3px solid var(--red); background:rgba(255,255,255,0.04); padding:2.5rem 2rem; }
.quiz-result-icon { font-size:2.8rem; display:block; margin-bottom:.8rem; }
.quiz-result-tag { font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--red); margin-bottom:.4rem; display:block; }
.quiz-result-name { font-family:'Bebas Neue',sans-serif; font-size:clamp(2.5rem,6vw,4rem); letter-spacing:.03em; line-height:.95; margin-bottom:.9rem; }
.quiz-result-desc { color:var(--muted); font-size:.92rem; line-height:1.75; font-weight:300; margin-bottom:1.8rem; }
.quiz-reset { background:none; border:none; color:rgba(240,236,228,0.3); font-size:.72rem; cursor:pointer; letter-spacing:.08em; text-transform:uppercase; margin-top:1.2rem; padding:0; font-family:'DM Sans',sans-serif; transition:color .2s; display:block; }
.quiz-reset:hover { color:var(--muted); }
@media(max-width:768px){ .kurs-quiz { padding:3rem 1.5rem; } }
