/*
  Azis Sadikovic – Main Stylesheet (optimiert)
  */
  
@font-face { font-display:swap; font-family:'Inter'; font-weight:300; src:url('fonts/inter-v20-latin-300.woff2') format('woff2'); }
@font-face { font-display:swap; font-family:'Inter'; font-weight:400; src:url('fonts/inter-v20-latin-regular.woff2') format('woff2'); }
@font-face { font-display:swap; font-family:'Inter'; font-weight:500; src:url('fonts/inter-v20-latin-500.woff2') format('woff2'); }
@font-face { font-display:swap; font-family:'Inter'; font-weight:600; src:url('fonts/inter-v20-latin-600.woff2') format('woff2'); }
@font-face { font-display:swap; font-family:'Inter'; font-weight:700; src:url('fonts/inter-v20-latin-700.woff2') format('woff2'); }
@font-face { font-display:swap; font-family:'Cormorant Garamond'; font-weight:300; src:url('fonts/cormorant-garamond-v21-latin-300.woff2') format('woff2'); }
@font-face { font-display:swap; font-family:'Cormorant Garamond'; font-weight:400; src:url('fonts/cormorant-garamond-v21-latin-regular.woff2') format('woff2'); }
@font-face { font-display:swap; font-family:'Cormorant Garamond'; font-weight:500; src:url('fonts/cormorant-garamond-v21-latin-500.woff2') format('woff2'); }
@font-face { font-display:swap; font-family:'Cormorant Garamond'; font-weight:600; src:url('fonts/cormorant-garamond-v21-latin-600.woff2') format('woff2'); }

/* ── Custom Properties ─────────────────────────────────────────────────── */
:root {
  --bg:            hsl(40, 33%, 98%);
  --bg-card:       hsl(40, 25%, 96%);
  --bg-muted:      hsl(40, 20%, 93%);
  --fg:            #1e1a16;
  --fg-muted:      #7a6e64;
  --border:        #e0d8cf;
  --primary:       hsl(15, 85%, 55%);
  --primary-dark:  hsl(10, 80%, 42%);
  --primary-light: hsl(22, 90%, 62%);
  --secondary:     hsl(178, 50%, 45%);
  --accent:        hsl(42, 85%, 55%);
  --gradient-warm: linear-gradient(135deg, var(--primary-dark), var(--primary), var(--primary-light));
  --gradient-btn:  linear-gradient(90deg,  var(--primary-dark), var(--primary), var(--primary-light));
  --shadow-elegant: 0 25px 60px rgba(0,0,0,.10);
  --shadow-soft:    0 8px  30px rgba(0,0,0,.07);
  --font-display:  'Cormorant Garamond', Georgia, serif;
  --font-heading:  'Cormorant Garamond', Georgia, serif; /* Alias – war inkonsistent */
  --font-body:     'Josefin Sans', sans-serif;
}

/* ── Reset & Basis ─────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background-color: var(--bg);
  color: var(--fg);
  font-family: var(--font-body);
  font-weight: 300;
  overflow-x: hidden;
}

/* Barrierefreiheit – Bewegung reduzieren */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* ── Typografie ────────────────────────────────────────────────────────── */
.font-display { font-family: var(--font-display); }
.font-body    { font-family: var(--font-body); }

.heading-xl { font-family:var(--font-display); font-weight:400; font-size:clamp(3rem, 8vw, 7rem); line-height:1; }
.heading-lg { font-family:var(--font-display); font-weight:400; font-size:clamp(2.2rem, 5vw, 4rem); line-height:1.1; }
.heading-md { font-family:var(--font-display); font-weight:400; font-size:clamp(1.8rem, 3vw, 2.8rem); line-height:1.15; }

.text-gradient-warm {
  background: var(--gradient-warm);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.text-primary-c   { color: var(--primary)   !important; }
.text-secondary-c { color: var(--secondary) !important; }
.text-accent-c    { color: var(--accent)    !important; }
.text-muted-c     { color: var(--fg-muted)  !important; }
.text-fg          { color: var(--fg)        !important; }
.punkt            { font-weight: 700; }

/* ── Layout ────────────────────────────────────────────────────────────── */
.container-custom { max-width:1200px; margin:0 auto; padding:0 2rem; }
.section-padding  { padding:7rem 0; }

/* ── Buttons ───────────────────────────────────────────────────────────── */
/* Gemeinsame Basis für beide Outline-Varianten */
.btn-outline-custom,
.btn-outline-sm {
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:var(--font-body); font-weight:400;
  letter-spacing:.15em; text-transform:uppercase; text-decoration:none;
  border-radius:50px; border:2px solid rgba(100,85,75,.3);
  background:transparent; color:var(--fg); cursor:pointer; transition:all .3s;
}
.btn-outline-custom:hover,
.btn-outline-sm:hover { border-color:var(--primary); color:var(--primary); background:rgba(255,90,30,.05); }
.btn-outline-custom { font-size:.75rem; padding:.9rem 2.5rem; }
.btn-outline-sm     { font-size:.70rem; padding:.7rem 2rem; }

.btn-primary-custom {
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:var(--font-body); font-size:.75rem; font-weight:400;
  letter-spacing:.15em; text-transform:uppercase; text-decoration:none;
  border-radius:50px; border:none; cursor:pointer;
  background:var(--gradient-btn); color:#fff; padding:.9rem 2.5rem;
  transition:transform .3s, box-shadow .3s;
}
.btn-primary-custom:hover { box-shadow:0 8px 30px hsl(15 85% 55% / .4); transform:translateY(-2px); color:#fff; text-decoration:none; }
.btn-primary-custom:active { transform:scale(.97); }
.nav-links .btn-primary-custom::after { display:none; }

/* ── Navigation ────────────────────────────────────────────────────────── */
#main-nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:transparent; border-bottom:1px solid transparent;
  transition:background .4s, border-color .4s, box-shadow .4s;
}
#main-nav.scrolled {
  background:hsl(40,33%,98%);
  border-bottom-color:rgba(60,50,40,.1);
  box-shadow:0 2px 20px rgba(0,0,0,.08);
}
#main-nav .nav-inner { display:flex; align-items:center; justify-content:space-between; height:5rem; }

.nav-logo { font-family:var(--font-display); font-size:1.6rem; color:#2c2420; text-decoration:none; letter-spacing:.02em; line-height:1; transition:color .4s; }
.nav-logo:hover { color:var(--primary) !important; }
.nav-logo em   { font-style:italic; font-weight:400; }
.nav-logo span { font-weight:300; font-size:1rem; }

.nav-links a {
  font-family:var(--font-body); font-size:.68rem; letter-spacing:.18em;
  text-transform:uppercase; color:#6b5e54; text-decoration:none; font-weight:400;
  position:relative; padding-bottom:2px; transition:color .4s;
}
.nav-links a:hover { color:var(--primary) !important; }
.nav-links a::after {
  content:''; position:absolute; bottom:-2px; left:0;
  width:0; height:1px; background:var(--gradient-btn);
  border-radius:99px; transition:width .3s;
}
.nav-links a:hover::after { width:100%; }

.nav-lang {
  display:inline-flex; align-items:center; gap:.3rem;
  font-family:var(--font-body); font-size:.68rem; letter-spacing:.18em;
  text-transform:uppercase; color:#6b5e54; background:none; border:none;
  cursor:pointer; padding:0; font-weight:400; transition:color .4s;
}
.nav-lang:hover { color:var(--primary) !important; }

/* Sprach-Dropdown */
.lang-dropdown { position:relative; }
.lang-menu {
  position:absolute; top:calc(100% + .75rem); right:50%;
  transform:translateX(50%) translateY(-6px);
  background:#fff; border-radius:.75rem; padding:.4rem 0; min-width:5rem;
  box-shadow:0 8px 30px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.06);
  opacity:0; pointer-events:none; transition:opacity .2s, transform .2s;
}
.lang-dropdown.open .lang-menu { opacity:1; pointer-events:all; transform:translateX(50%) translateY(0); }
.lang-option {
  display:block; width:100%; padding:.6rem 1.25rem;
  background:none; border:none; cursor:pointer;
  font-family:var(--font-body); font-size:.72rem; letter-spacing:.15em;
  text-transform:uppercase; color:#4a4040; text-align:left;
  transition:color .2s, background .2s;
}
.lang-option:hover  { color:var(--primary); background:rgba(200,80,30,.05); }
.lang-option.active { color:var(--primary); font-weight:600; }

/* Mobile-Menü */
.mobile-menu {
  position:fixed; inset:0; top:5rem;
  background:rgba(245,240,232,.98); backdrop-filter:blur(20px);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:2rem; z-index:999; opacity:0; pointer-events:none; transition:opacity .4s;
}
.mobile-menu.open { opacity:1; pointer-events:all; }
.mobile-menu a { font-family:var(--font-display); font-size:2.5rem; color:#2c2420; text-decoration:none; transition:color .3s; }
.mobile-menu a:hover { color:var(--primary); }

/* ── Statische Seiten ──────────────────────────────────────────────────── */
.page-header { padding:8rem 0 4rem; text-align:left; }
.back-link { display:inline-flex; align-items:center; gap:.5rem; font-family:var(--font-body); font-size:.75rem; letter-spacing:.1em; color:var(--fg-muted); text-decoration:none; margin-bottom:2rem; transition:color .3s; }
.back-link:hover { color:var(--primary); }

.content-section         { margin-bottom:4rem; }
.content-section h2      { font-family:var(--font-display); font-size:2.5rem; margin-bottom:2rem; color:var(--fg); }
.content-section h3      { font-family:var(--font-display); font-size:1.5rem; margin-bottom:1rem; color:var(--fg); }
.content-section p,
.content-section li      { font-size:.95rem; line-height:1.7; color:var(--fg-muted); margin-bottom:1rem; }
.content-section ol      { margin-left:1rem; }
.content-section ol li   { margin-bottom:1.5rem; }

/* ── Hero ──────────────────────────────────────────────────────────────── */
#hero { min-height:100vh; display:flex; align-items:center; padding:2rem; }

.hero-overlay-h { position:absolute; inset:0; background:linear-gradient(to right, hsl(40,33%,98%) 20%, hsla(40,33%,98%,.75) 55%, hsla(40,33%,98%,.25) 100%); }
.hero-overlay-v { position:absolute; inset:0; background:linear-gradient(to bottom, hsla(40,33%,98%,.15), transparent 40%, hsl(40,33%,98%)); }

.eyebrow { font-family:var(--font-body); font-size:1rem; letter-spacing:.3em; text-transform:uppercase; color:var(--primary); display:flex; align-items:center; gap:.75rem; }
.eyebrow-dot { width:6px; height:6px; border-radius:50%; background:var(--primary); flex-shrink:0; }
.scroll-hint { position:absolute; bottom:1.5rem; left:50%; transform:translateX(-50%); z-index:2; display:flex; flex-direction:column; align-items:center; gap:.5rem; }
.scroll-hint span { font-size:.6rem; letter-spacing:.25em; text-transform:uppercase; color:var(--fg-muted); }
.scroll-hint i    { color:var(--primary); animation:bounce 1.5s infinite; }

/* ── Video Hero Section (Vollbild-Hintergrund-Video) ──────────────────── */
.hero-section {
  position:relative; height:100vh;
  min-height:600px; max-height:1200px;
  overflow:hidden; display:flex; align-items:center; justify-content:center;
}
.video-hero-container { position:absolute; inset:0; z-index:-1; }

.hero-background-fallback {
  position:absolute; inset:0;
  background-image:url('/images/azis-hero-fallback.jpg');
  background-size:cover; background-position:center; background-repeat:no-repeat;
}
.video-loaded .hero-background-fallback { display:none; }
.video-error  .hero-background-fallback { display:block; }

/* Lade-Spinner via ::before (ergänzt .video-loading) */
.video-loading::before {
  content:''; position:absolute; top:50%; left:50%;
  width:50px; height:50px; margin:-25px 0 0 -25px;
  border:3px solid rgba(255,255,255,.3); border-radius:50%;
  border-top-color:var(--primary);
  animation:spin 1s ease-in-out infinite; z-index:10;
}
/* @keyframes spin ist bereits weiter oben definiert */

.video-play-button {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:80px; height:80px; border-radius:50%;
  background:rgba(0,0,0,.8); border:none; color:#fff;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:all .3s; z-index:20;
}
.video-play-button:hover { background:rgba(0,0,0,.9); transform:translate(-50%,-50%) scale(1.1); }

.hero-overlay {
  position:relative; z-index:5; width:100%; height:100%;
  background:linear-gradient(45deg, rgba(0,0,0,.4) 0%, rgba(0,0,0,.2) 50%, rgba(0,0,0,.3) 100%);
  display:flex; align-items:center; justify-content:center;
}

.hero-content {
  display:grid; grid-template-columns:1fr auto;
  gap:4rem; align-items:center;
  width:100%; max-width:1200px; padding:0 2rem;
}
.hero-overlay .hero-text { color:#fff; }

.hero-eyebrow {
  font-family:var(--font-body); font-size:.9rem; font-weight:400;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--primary); margin-bottom:1.5rem; opacity:.9;
}
/* Größen-Override für Hero-Section Kontext */
.hero-section .hero-title   { font-size:clamp(3.5rem,8vw,6rem); line-height:.9; margin:0 0 1.5rem; }
.hero-section .hero-subtitle { font-size:clamp(1.2rem,2.5vw,1.8rem); line-height:1.4; margin:0 0 3rem; max-width:500px; opacity:.95; color:#fff; }
.title-line { display:block; }

.hero-actions { display:flex; gap:1.5rem; align-items:center; }

.btn-primary-hero {
  display:inline-flex; align-items:center; gap:.75rem; padding:1rem 2rem;
  background:var(--gradient-warm); color:#fff; text-decoration:none;
  border-radius:.75rem; font-family:var(--font-body); font-size:.9rem; font-weight:500;
  transition:all .3s;
}
.btn-primary-hero:hover { transform:translateY(-3px); box-shadow:0 10px 30px rgba(0,0,0,.3); color:#fff; text-decoration:none; }

.btn-secondary-hero {
  color:#fff; text-decoration:none;
  font-family:var(--font-body); font-size:.9rem; font-weight:400;
  border-bottom:1px solid transparent; transition:all .3s;
}
.btn-secondary-hero:hover { border-bottom-color:#fff; color:#fff; text-decoration:none; }

/* ── Video-Container (zusammengeführt – war doppelt definiert) ─────────── */
.hero-video-container {
  position:relative; width:100%; height:100%;
  aspect-ratio:16/9; border-radius:2rem;
  overflow:hidden; background:#000;
  box-shadow:var(--shadow-elegant);
}
.video-container { position:relative; width:100%; height:100%; overflow:hidden; background:#000; border-radius:inherit; }
.hero-video { width:100%; height:100%; object-fit:cover; border-radius:inherit; }

.video-loading { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; background:var(--bg-muted); color:var(--fg); z-index:2; }
.loading-spinner { width:40px; height:40px; border-radius:50%; border:3px solid var(--border); border-top-color:var(--primary); animation:spin 1s linear infinite; margin-bottom:1rem; }
.video-fallback { position:absolute; inset:0; z-index:1; }
.video-fallback img { width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.fallback-overlay { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.4); border-radius:inherit; }
.play-button { background:rgba(255,255,255,.9); border:none; border-radius:50%; width:80px; height:80px; display:flex; flex-direction:column; align-items:center; justify-content:center; cursor:pointer; transition:all .3s; font-family:var(--font-body); font-size:.9rem; color:var(--fg); }
.play-button:hover { background:#fff; transform:scale(1.1); }
.play-button .play-icon { font-size:1.5rem; margin-bottom:.25rem; }
.video-overlay { position:absolute; bottom:20px; right:20px; display:flex; gap:10px; opacity:0; transition:opacity .3s; z-index:3; }
.video-container:hover .video-overlay { opacity:1; }
.video-toggle,
.sound-toggle { background:rgba(0,0,0,.7); border:none; border-radius:50%; width:44px; height:44px; color:#fff; cursor:pointer; transition:all .3s; display:flex; align-items:center; justify-content:center; font-size:1rem; }
.video-toggle:hover,
.sound-toggle:hover { background:rgba(0,0,0,.9); transform:scale(1.1); }

/* Cookie/Video-Consent */
.video-consent-overlay { position:fixed; inset:0; background:rgba(0,0,0,.8); backdrop-filter:blur(10px); display:none; align-items:center; justify-content:center; z-index:9999; transition:opacity .4s; }
.video-consent-overlay.show   { display:flex; }
.video-consent-overlay.hidden { opacity:0; pointer-events:none; }
.consent-active { overflow:hidden; height:100vh; }
.video-consent-content { text-align:center; max-width:500px; padding:2rem; position:relative; z-index:10000; }
.consent-icon { margin-bottom:1rem; }
.video-placeholder { position:absolute; inset:0; transition:opacity .4s; z-index:-1; }
.video-placeholder.hidden { opacity:0; pointer-events:none; }
.video-placeholder-overlay { position:absolute; inset:0; background:linear-gradient(to bottom, rgba(0,0,0,.1), rgba(0,0,0,.4)); display:flex; align-items:center; justify-content:center; z-index:1; }

/* ── Animationen ───────────────────────────────────────────────────────── */
@keyframes bounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(6px)} }
@keyframes fadeUp { to{opacity:1; transform:translateY(0);} }
@keyframes spin   { to{transform:rotate(360deg);} }

.fade-up  { opacity:0; transform:translateY(30px); animation:fadeUp .8s forwards; }
.delay-1  { animation-delay:.10s; }
.delay-2  { animation-delay:.25s; }
.delay-3  { animation-delay:.40s; }
.delay-4  { animation-delay:.55s; }
.delay-5  { animation-delay:.70s; }
.delay-6  { animation-delay:.85s; }

/* Scroll-Reveal */
.reveal       { opacity:0; transform:translateY(40px);  transition:opacity .9s, transform .9s; }
.reveal-left  { opacity:0; transform:translateX(-50px); transition:opacity .9s, transform .9s; }
.reveal-right { opacity:0; transform:translateX(50px);  transition:opacity .9s, transform .9s; }
.reveal.visible, .reveal-left.visible, .reveal-right.visible { opacity:1; transform:translate(0); }

/* ── Inhalts-Komponenten ───────────────────────────────────────────────── */
.stat-num { font-family:var(--font-display); font-weight:700; font-size:clamp(2.5rem,5vw,3.5rem); }

/* Asymmetrische Radien – konsolidiert (.card-mixed = identisch zu .card-tl) */
.card-tl, .card-mixed { border-radius:3rem 1rem 3rem 1rem; }
.card-br               { border-radius:1rem 3rem 1rem 3rem; }

/* Dekorative Blobs konsolidiert (.glow-blob blur:50px / .section-blob blur:80px) */
.glow-blob, .section-blob { position:absolute; border-radius:50%; filter:blur(60px); pointer-events:none; z-index:-1; }

.portrait-wrap { border-radius:3rem 1rem 3rem 1rem; overflow:hidden; position:relative; box-shadow:var(--shadow-elegant); }
.portrait-wrap img { width:100%; height:100%; object-fit:cover; display:block; }
.portrait-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(10,9,7,.25),transparent); }

.role-img-wrap { border-radius:2rem 0.5rem 2rem 0.5rem; overflow:hidden; position:relative; box-shadow:var(--shadow-elegant); aspect-ratio:16/10; }
.role-img-wrap img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s; }
.role-img-wrap:hover img { transform:scale(1.05); }
.role-img-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(10,9,7,.65),transparent); }
.role-badge { position:absolute; bottom:1.5rem; left:1.5rem; display:flex; align-items:center; gap:.75rem; }
.role-badge-icon { width:2.75rem; height:2.75rem; border-radius:50%; backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.08); }
.role-badge-name { font-family:var(--font-display); font-size:1.25rem; color:#fff; font-style:italic; }

/* ── Media-Bereich ─────────────────────────────────────────────────────── */
.video-card { border-radius:2rem 0.5rem 2rem 0.5rem; overflow:hidden; position:relative; cursor:pointer; box-shadow:var(--shadow-elegant); aspect-ratio:16/9; }
.video-card img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s; }
.video-card:hover img { transform:scale(1.05); }
.video-card-overlay { position:absolute; inset:0; background:rgba(10,9,7,.35); transition:background .5s; }
.video-card:hover .video-card-overlay { background:rgba(10,9,7,.2); }
.play-btn    { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.play-circle { width:5rem; height:5rem; border-radius:50%; background:var(--gradient-btn); display:flex; align-items:center; justify-content:center; transition:transform .4s; box-shadow:var(--shadow-elegant); }
.video-card:hover .play-circle { transform:scale(1.12); }
.video-meta   { position:absolute; bottom:1.5rem; left:1.5rem; right:1.5rem; }
.video-meta h3 { font-family:var(--font-display); font-size:1.2rem; color:#fff; margin-bottom:.2rem; }
.video-meta p  { font-size:.8rem; color:rgba(255,255,255,.7); }
.carousel-dot { width:8px; height:8px; border-radius:50%; background:rgba(0,0,0,.2); cursor:pointer; border:none; padding:0; transition:background .3s; }
.carousel-dot.active { background:var(--primary); }

/* ── Presse-, Zitat- & Blog-Karten ────────────────────────────────────── */
.press-card, .service-card { background:var(--bg-card); border:1px solid var(--border); border-radius:1.5rem 0.5rem 1.5rem 0.5rem; padding:1.5rem; cursor:pointer; box-shadow:var(--shadow-soft); transition:border-color .5s, box-shadow .5s; }
.press-card:hover, .service-card:hover { border-color:rgba(255,110,30,.3); box-shadow:var(--shadow-elegant); }

.coral-line { height:1px; margin-bottom:4rem; background:linear-gradient(to right, var(--primary-dark), var(--primary-light), transparent); }

.bq-card { background:var(--bg-card); border-radius:1.5rem 0.5rem 1.5rem 0.5rem; padding:2.5rem; position:relative; box-shadow:var(--shadow-soft); }
.bq-mark { font-family:var(--font-display); font-size:5rem; line-height:1; color:rgba(255,110,30,.15); position:absolute; top:1rem; left:1.5rem; }
.bq-text { font-family:var(--font-display); font-size:1.15rem; font-style:italic; line-height:1.7; color:var(--fg); padding:1.5rem 0 0 2rem; }
.bq-avatar { width:3rem; height:3rem; border-radius:50%; flex-shrink:0; background:var(--gradient-btn); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:1.1rem; color:#fff; }

.blog-card { background:var(--bg-card); border:1px solid var(--border); border-radius:1.5rem 0.5rem 1.5rem 0.5rem; overflow:hidden; text-decoration:none; display:flex; flex-direction:column; box-shadow:var(--shadow-soft); transition:border-color .5s, box-shadow .5s, transform .3s; }
.blog-card:hover { border-color:rgba(255,110,30,.4); box-shadow:var(--shadow-elegant); transform:translateY(-4px); }
.blog-card-img { aspect-ratio:16/10; overflow:hidden; background:var(--bg-muted); }
.blog-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .7s; }
.blog-card:hover .blog-card-img img { transform:scale(1.05); }
.blog-card-body { padding:1.75rem; display:flex; flex-direction:column; flex:1; }
.blog-tag     { font-size:.65rem; letter-spacing:.2em; text-transform:uppercase; color:var(--primary); font-family:var(--font-body); }
.blog-title   { font-family:var(--font-display); font-size:1.2rem; color:var(--fg); line-height:1.35; transition:color .3s; }
.blog-card:hover .blog-title { color:var(--primary); }
.blog-excerpt { font-size:.85rem; color:var(--fg-muted); line-height:1.6; }
.blog-date    { font-size:.70rem; color:var(--fg-muted); }
.arrow-up-right { width:1.25rem; height:1.25rem; color:var(--fg-muted); transition:all .3s; flex-shrink:0; }
.blog-card:hover .arrow-up-right { color:var(--primary); transform:translate(2px,-2px); }

/* ── Kontaktformular ───────────────────────────────────────────────────── */
.contact-card { background:var(--bg-card); border-radius:1.75rem; padding:2.5rem; box-shadow:var(--shadow-elegant); }
.form-label-c { font-size:.75rem; color:var(--fg-muted); margin-bottom:.4rem; display:block; }
.form-control-c,
.form-select-c { width:100%; padding:.8rem 1.1rem; background:var(--bg-muted); border:1px solid var(--border); border-radius:.75rem; color:var(--fg); font-family:var(--font-body); font-size:.85rem; outline:none; appearance:none; transition:border-color .3s, box-shadow .3s; }
.form-control-c::placeholder { color:var(--fg-muted); }
.form-control-c:focus,
.form-select-c:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(255,110,30,.2); }
textarea.form-control-c { resize:none; }
.form-select-c option { background:var(--bg-muted); }
.contact-icon { width:3.5rem; height:3.5rem; border-radius:1rem; display:flex; align-items:center; justify-content:center; flex-shrink:0; }

/* ── Footer ────────────────────────────────────────────────────────────── */
footer { background:hsl(40,25%,96%); border-top:1px solid var(--border); padding:3.5rem 0; }
.social-btn { width:2.75rem; height:2.75rem; border-radius:50%; background:hsl(40,20%,93%); display:flex; align-items:center; justify-content:center; color:var(--fg-muted); text-decoration:none; transition:color .3s, background .3s; }
.social-btn:hover { color:var(--primary); background:rgba(200,90,40,.1); }
.footer-link { font-size:.8rem; color:var(--fg-muted); text-decoration:none; transition:color .3s; }
.footer-link:hover { color:var(--fg); }

/* ── Bildplatzhalter ───────────────────────────────────────────────────── */
.img-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:1.2rem; font-style:italic; color:rgba(80,60,50,.25); }
.img-p-hero     { background:linear-gradient(135deg,#e8e0d4,#ddd4c4,#e4dbd0); }
.img-p-about    { background:linear-gradient(160deg,#ece6dd,#e4ddd2,#ede8e0); }
.img-p-director { background:linear-gradient(135deg,#e6dfd6,#ddd5ca,#e8e1d8); }
.img-p-speaker  { background:linear-gradient(135deg,#dce8e6,#d4e4e0,#daeae6); }
.img-p-mentor   { background:linear-gradient(135deg,#ede8d8,#e8e2cc,#edeae0); }
.img-p-innov    { background:linear-gradient(135deg,#e4dff0,#ddd8ee,#e8e2f4); }
.img-p-post1    { background:linear-gradient(135deg,#e8e0d4,#e2d8ca,#eae4d8); }
.img-p-post2    { background:linear-gradient(135deg,#dce8e6,#d8e6e2,#dceae8); }
.img-p-post3    { background:linear-gradient(135deg,#eae8dc,#e4e2d4,#eceae0); }

/* ── Dekorative Hilfsklassen ───────────────────────────────────────────── */
.dot-list-item { display:flex; align-items:center; gap:.75rem; font-family:var(--font-body); font-size:.8rem; color:var(--fg); }
.dot-bullet    { width:6px; height:6px; border-radius:50%; flex-shrink:0; }

/* ── Rollen-Seiten (Dirigent / Speaker / Mentor) ──────────────────────── */
.role-hero { padding:0 0 6rem; background:var(--bg); position:relative; }
.breadcrumb { margin-bottom:2rem; }
.breadcrumb-link { font-family:var(--font-body); font-size:.7rem; font-weight:400; letter-spacing:.15em; text-transform:uppercase; color:var(--fg-muted); text-decoration:none; transition:color .3s; }
.breadcrumb-link:hover { color:var(--primary); }

.hero-grid     { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; min-height:500px; }
.hero-text     { max-width:500px; }
.hero-category { font-family:var(--font-body); font-size:.7rem; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--primary); margin-bottom:1.5rem; }
.hero-title    { font-family:var(--font-heading); font-size:clamp(3rem,8vw,5rem); font-weight:400; line-height:.9; color:var(--fg); margin:0 0 1rem; }
.hero-subtitle { font-family:var(--font-display); font-style:italic; font-weight:400; font-size:1.675rem; line-height:2.25rem; color:var(--fg-muted); margin:0 0 2rem; }
.hero-description p { font-family:var(--font-body); font-size:1rem; line-height:1.6; color:var(--fg); margin:0; }
.hero-description   { margin-bottom:2.5rem; }
.hero-cta           { margin-top:2.5rem; }

.hero-image      { position:relative; display:flex; justify-content:center; align-items:center; }
.image-container { position:relative; width:100%; max-width:400px; aspect-ratio:4/5; border-radius:1rem; overflow:hidden; box-shadow:var(--shadow-elegant); }
.image-container img { width:100%; height:100%; object-fit:cover; object-position:center; }
.image-badge { position:absolute; bottom:1rem; right:1rem; background:rgba(0,0,0,.8); backdrop-filter:blur(10px); color:#fff; padding:.5rem 1rem; border-radius:2rem; display:flex; align-items:center; gap:.5rem; font-family:var(--font-body); font-size:.7rem; font-weight:500; letter-spacing:.05em; }
.image-badge svg { width:16px; height:16px; opacity:.8; }

/* ── Services ──────────────────────────────────────────────────────────── */
.services-section    { padding:4rem 0; background:var(--bg); }
.section-header      { text-align:left; margin-bottom:3rem; }
.section-eyebrow     { font-family:var(--font-body); font-size:.7rem; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--primary); margin-bottom:.5rem; }
.section-title       { font-family:var(--font-heading); font-size:clamp(2rem,5vw,2.5rem); font-weight:400; line-height:1.2; color:var(--fg); margin:0; }
.services-grid       { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:2rem; }
.service-title       { font-family:var(--font-display); font-size:1.25rem; font-weight:500; color:var(--fg); margin:0 0 1rem; }
.service-description { font-family:var(--font-body); font-size:.9rem; line-height:1.6; color:var(--fg-muted); margin:0; }

/* ── Experience ────────────────────────────────────────────────────────── */
.experience-section { padding:4rem 0; }
.experience-list    { display:flex; flex-direction:column; gap:1.5rem; max-width:600px; }
.experience-item    { display:flex; align-items:flex-start; gap:1rem; }
.experience-icon    { flex-shrink:0; width:32px; height:32px; border-radius:50%; background:var(--primary); color:#fff; display:flex; align-items:center; justify-content:center; }
.experience-icon svg { width:16px; height:16px; }
.experience-text    { font-family:var(--font-body); font-size:1rem; line-height:1.7; color:var(--fg); margin:0; }

/* ── Testimonials ──────────────────────────────────────────────────────── */
.testimonials-section { padding:6rem 0; text-align:center; }
.main-testimonial { font-family:var(--font-display); font-size:clamp(1.5rem,4vw,2.5rem); font-style:italic; font-weight:400; line-height:1.4; color:var(--fg); margin:0 auto 2rem; max-width:900px; position:relative; }
.testimonial-attribution { font-family:var(--font-body); font-size:.8rem; font-weight:500; letter-spacing:.15em; text-transform:uppercase; color:var(--primary); font-style:normal; }

/* ── Galerie ───────────────────────────────────────────────────────────── */
.gallery-section { padding:4rem 0; background:var(--bg); }
.gallery-grid    { display:grid; grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr; gap:1rem; height:500px; }
.gallery-item    { position:relative; border-radius:1rem; overflow:hidden; background:var(--bg-card); }
.gallery-large   { grid-row:1 / -1; }
.gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.gallery-item:hover img { transform:scale(1.05); }
.gallery-overlay { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(transparent,rgba(0,0,0,.8)); padding:2rem 1.5rem 1.5rem; color:#fff; opacity:0; transform:translateY(20px); transition:all .3s; }
.gallery-item:hover .gallery-overlay { opacity:1; transform:translateY(0); }
.gallery-title       { font-family:var(--font-heading); font-size:1.1rem; font-weight:500; margin:0 0 .5rem; }
.gallery-description { font-family:var(--font-body); font-size:.85rem; margin:0; opacity:.9; }

/* ── Zitat-Sektion ─────────────────────────────────────────────────────── */
.quote-section { padding:6rem 0; background:var(--bg-muted); text-align:center; }
.main-quote { font-family:var(--font-heading); font-size:clamp(1.5rem,4vw,2.5rem); font-style:italic; font-weight:400; line-height:1.4; color:var(--fg); margin:0 auto 2rem; max-width:800px; position:relative; }
.main-quote::before { content:'"'; position:absolute; top:-2rem; left:50%; transform:translateX(-50%); font-size:6rem; color:var(--primary); line-height:1; opacity:.3; }
.quote-attribution { font-family:var(--font-body); font-size:.8rem; font-weight:500; letter-spacing:.15em; text-transform:uppercase; color:var(--fg-muted); font-style:normal; }

/* ── CTA-Karte ─────────────────────────────────────────────────────────── */
.cta-section { padding:4rem 0; background:var(--bg); }
.cta-card { background:linear-gradient(to right, var(--primary), var(--primary-light)); border-radius:1.5rem 0.5rem 1.5rem 0.5rem; padding:4rem 2rem; text-align:center; color:#fff; max-width:1000px; margin:0 auto; }
.cta-content     { max-width:700px; margin:0 auto; }
.cta-title       { font-family:var(--font-display); font-size:clamp(2rem,5vw,2.5rem); font-weight:400; margin:0 0 1rem; color:#fff; }
.cta-description { font-family:var(--font-body); font-size:1.1rem; line-height:1.6; margin:0 0 2.5rem; opacity:.95; color:#fff; }
.btn-cta-outline { display:inline-flex; align-items:center; gap:.75rem; padding:1rem 2rem; background:rgba(255,255,255,.1); border:2px solid rgba(255,255,255,.8); color:#fff; text-decoration:none; border-radius:3rem; font-family:var(--font-body); font-size:.8rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase; transition:all .3s; }
.btn-cta-outline:hover { background:#fff; color:var(--primary); border-color:#fff; transform:translateY(-2px); box-shadow:0 10px 30px rgba(0,0,0,.2); text-decoration:none; }

/* ── Biografie – mehrspaltig ───────────────────────────────────────────── */
.paragraph-section { padding:0; background:var(--bg); }
.paragraph-content { max-width:1000px; margin:0 auto; }
.paragraph-text { margin-top:3rem; padding-left:2rem; text-align:justify; display:grid; grid-template-columns:1fr 8fr 1fr; column-gap:2rem; }
.paragraph-text p { font-family:var(--font-body); font-size:.95rem; line-height:1.7; color:var(--fg-muted); margin:0 0 1.5rem; break-inside:avoid; }
.paragraph-text p:first-child { margin-top:0; }
.paragraph-text p:last-child  { margin-bottom:0; }

/* ═══════════════════════════════════════════════════════════════════════════
   RESPONSIVE – alle Breakpoints konsolidiert (waren auf 4 Blöcke verteilt)
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Layout */
	.eyebrow {max-width: 100% !important;}
  .section-padding      { padding:4rem 0; }
  #hero-content         { grid-template-columns:1fr; gap:2rem; text-align:center; padding: 0 !important; max-width: 100% !important; }
  .hero-grid            { grid-template-columns:1fr; gap:2.5rem; min-height:auto; }
  .hero-text            { max-width:100%; }
  .gallery-grid         { grid-template-columns:1fr; height:auto; }
  .gallery-large        { grid-row:auto; }
  .paragraph-text       { grid-template-columns:1fr; padding-left:0; text-align:left; }

  /* Video */
  .hero-video-container { aspect-ratio:9/16; max-height:60vh; order:-1; }
  .video-overlay        { bottom:15px; right:15px; gap:8px; }
  .video-toggle,
  .sound-toggle         { width:40px; height:40px; font-size:.9rem; }
  .play-button          { width:60px; height:60px; font-size:.8rem; }
  .play-button .play-icon { font-size:1.2rem; }

  /* Typografie */
  .heading-xl           { font-size:clamp(2.5rem,12vw,4.5rem); }

  /* Consent-Overlay */
  .video-consent-content { padding:1.5rem; max-width:90vw; }

  /* Video Hero */
  .hero-content   { grid-template-columns:1fr; gap:2rem; text-align:center; }
  .hero-actions   { justify-content:center; flex-direction:column; width:100%; }
  .btn-primary-hero { width:100%; justify-content:center; }
}

@media (orientation: portrait) and (max-width: 768px) {
  .video-container { height:60vh; }
  .hero-video      { object-position:center center; }
}

@media (max-width: 480px) {
  .paragraph-text { display:block; }
  .hero-content   { padding:0 1rem; }
}