*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

:root{
  /* Dunkle Welt mit drei Helligkeitsstufen für Rhythmus */
  --bg-a:#0F1216;
  --bg-b:#161A20;
  --bg-c:#0A0C10;
  --bg-card:#1A1F26;
  --bg-card-h:#222933;

  /* Schrift hell */
  --ink:#F4ECCC;
  --ink-2:#B4AC95;
  --ink-3:#7C7361;

  /* Borders */
  --line:rgba(244,236,204,0.10);
  --line-strong:rgba(244,236,204,0.20);

  /* Dunkle Klammer-Akzente */
  --dark:#0A0C10;
  --on-dark:#F4ECCC;
  --on-dark-2:#B4AC95;
  --on-dark-3:#7C7361;
  --line-dark:rgba(244,236,204,0.10);

  /* Bronze — Sunset-Verlauf (helle Variante, kein dunkles Ende mehr) */
  --bronze-shine:#FBEFB4;
  --bronze-glow:#F0D275;
  --bronze-light:#E1B85A;
  --bronze:#C99835;
  --bronze-mid:#A87928;
  --bronze-deep:#7E5A1F;

  --bronze-grad:linear-gradient(135deg,#FBEFB4 0%,#F0D275 25%,#E1B85A 50%,#C99835 75%,#A87928 100%);
  --bronze-grad-rich:linear-gradient(135deg,#FBEFB4 0%,#F0D275 22%,#E1B85A 45%,#C99835 70%,#A87928 100%);
  --bronze-grad-button:linear-gradient(180deg,#F0D275 0%,#E1B85A 45%,#C99835 100%);

  /* Premium-Border-Verlauf — hell oben links, läuft nach unten rechts aus */
  --card-border-grad:linear-gradient(135deg,rgba(245,228,154,0.36) 0%,rgba(245,228,154,0.12) 25%,rgba(245,228,154,0.04) 55%,transparent 90%);
  --card-border-grad-hover:linear-gradient(135deg,rgba(232,199,102,0.60) 0%,rgba(232,199,102,0.20) 25%,rgba(232,199,102,0.06) 55%,transparent 90%);

  --shadow-sm:0 2px 8px rgba(0,0,0,0.30);
  --shadow:0 8px 30px rgba(0,0,0,0.50);
  --shadow-lg:0 20px 48px rgba(0,0,0,0.65);
  --shadow-bronze:0 8px 24px rgba(184,136,42,0.30),inset 0 1px 0 rgba(245,228,154,0.36);

  --sans:'Inter',system-ui,-apple-system,sans-serif;
  --serif:'Inter',system-ui,-apple-system,sans-serif;
  --r:16px;
  --r-lg:24px;
  --r-full:999px;
  --container:1200px;

  /* Card-Padding Standards — konsistent über alle Card-Typen */
  --card-pad-y:2.1rem;
  --card-pad-x:1.95rem;
  --card-pad-y-mobile:1.65rem;
  --card-pad-x-mobile:1.45rem;
}

/* ════════════════════════════════════════════════════════════════════
   LOKAL GEHOSTETE WEBFONTS — DSGVO-konform (kein Drittanbieter-Hit)
   Beide Schriften sind Variable Fonts → 1 Datei pro Familie/Stil deckt
   alle Gewichte ab. font-display:swap = Browser zeigt System-Schrift bis
   die Webfont geladen ist (kein FOIT-Flash). unicode-range optimiert
   den Initial-Load auf Latin.
   ════════════════════════════════════════════════════════════════════ */
@font-face{
  font-family:'Inter';
  src:url('fonts/inter-variable.woff2') format('woff2-variations'),
      url('fonts/inter-variable.woff2') format('woff2');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

html{scroll-behavior:smooth;scrollbar-gutter:stable;}
body{
  font-family:var(--sans);
  background:var(--bg-a);
  color:var(--ink);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;transition:color .2s;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}

.container{max-width:var(--container);margin:0 auto;padding:0 1.5rem;}
.container-narrow{max-width:880px;margin:0 auto;padding:0 1.5rem;}

.accent{
  background:var(--bronze-grad-rich);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  position:relative;
  display:inline;
  padding-bottom:0.20em;
  text-decoration:none;
  filter:drop-shadow(0 1px 4px rgba(225,184,90,0.30));
}
/* Stroke als separates ::after Element, sitzt unter dem Text und ist
   NICHT vom background-clip:text betroffen. SVG-Brush mit echtem Schwung. */
.accent::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:0.32em;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 24' preserveAspectRatio='none'><defs><linearGradient id='g' x1='0' y1='0' x2='300' y2='0' gradientUnits='userSpaceOnUse'><stop offset='0' stop-color='%23FBEFB4' stop-opacity='0'/><stop offset='.10' stop-color='%23F0D275'/><stop offset='.5' stop-color='%23E1B85A'/><stop offset='.90' stop-color='%23F0D275'/><stop offset='1' stop-color='%23FBEFB4' stop-opacity='0'/></linearGradient></defs><path d='M6 14 C 50 4, 110 22, 160 12 S 250 4, 294 16' fill='none' stroke='url(%23g)' stroke-width='4.5' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;
  background-size:100% 100%;
  background-position:center bottom;
  pointer-events:none;
  opacity:1;
  filter:drop-shadow(0 1px 3px rgba(225,184,90,0.35));
}

/* === BUTTONS === */
.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:16px 30px;
  background:var(--bronze-grad-button);
  color:#FFF8E8;
  font-weight:600;
  font-size:15px;
  border-radius:var(--r-full);
  box-shadow:var(--shadow-bronze);
  transition:transform .25s,filter .25s,box-shadow .25s;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.btn::before{
  content:'';
  position:absolute;
  top:0;
  left:-120%;
  width:80%;
  height:100%;
  background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,0) 25%,rgba(255,255,255,.5) 50%,rgba(255,255,255,0) 75%,transparent 100%);
  transform:skewX(-22deg);
  transition:left .85s cubic-bezier(.16,1,.3,1);
  pointer-events:none;
}
.btn:hover::before{left:120%;}
.btn:hover{
  transform:translateY(-2px);
  filter:brightness(1.06);
  box-shadow:0 14px 32px rgba(184,136,42,0.48),inset 0 1px 0 rgba(245,228,154,0.42);
}
.btn-arrow{font-size:18px;line-height:1;}
.btn-lg{padding:18px 36px;font-size:16px;}

/* === HEADER (dunkel, sticky) === */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(15,18,22,0.92);
  backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid rgba(244,236,204,0.08);
}
.header-inner{
  max-width:1320px;
  margin:0 auto;
  padding:0 1.5rem;
  height:84px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  position:relative;
}
.logo{
  display:flex;
  align-items:center;
  gap:.85rem;
  color:#fff;
}

/* === SVG-Wappen-Logo === */
.logo-shield{
  width:60px;
  height:72px;
  flex-shrink:0;
  display:block;
  position:relative;
  overflow:visible;
  transition:transform .6s cubic-bezier(.16,1,.3,1),filter .6s ease;
}
.logo-shield .shield-body{
  animation:stampIn 1.0s cubic-bezier(0.34,1.56,0.64,1) forwards,
            shieldFloat 6s ease-in-out 1.2s infinite;
  transform-origin:center;
  transform:scale(0.5);
  opacity:0;
  transition:filter .5s ease;
}
.logo-shield .shield-letter{
  animation:fadeIn 0.6s ease-out 0.7s forwards;
  opacity:0;
}
.logo-shield .shield-sheen{
  animation:sheenSweep 4.5s ease-in-out 2s infinite;
  opacity:0;
}

/* Hover: zweiter, schnellerer Sheen + sanftes Glow */
.logo:hover .logo-shield{
  transform:translateY(-1px);
  filter:drop-shadow(0 0 18px rgba(245,228,154,0.35));
}
.logo:hover .logo-shield .shield-sheen{
  animation:sheenSweepHover 1.1s cubic-bezier(.16,1,.3,1) forwards;
}
.logo:hover .logo-shield .shield-body{
  filter:brightness(1.08) saturate(1.15);
}

@keyframes stampIn{
  0%{transform:scale(0.5);opacity:0;}
  60%{transform:scale(1.08);opacity:1;}
  100%{transform:scale(1);opacity:1;}
}
@keyframes shieldFloat{
  0%,100%{filter:drop-shadow(0 2px 4px rgba(0,0,0,0.4));}
  50%{filter:drop-shadow(0 5px 14px rgba(184,136,42,0.36));}
}
@keyframes sheenSweep{
  0%,70%,100%{opacity:0;transform:translateX(-220%) skewX(-22deg);}
  35%{opacity:0.9;}
  60%{opacity:0;transform:translateX(220%) skewX(-22deg);}
}
@keyframes sheenSweepHover{
  0%{opacity:0;transform:translateX(-220%) skewX(-22deg);}
  30%{opacity:1;}
  70%{opacity:1;}
  100%{opacity:0;transform:translateX(220%) skewX(-22deg);}
}
@keyframes fadeIn{to{opacity:1;}}

.logo-text{display:flex;flex-direction:column;line-height:1.05;}
.logo-word{
  font-weight:800;
  font-size:1.05rem;
  letter-spacing:-0.005em;
  color:#fff;
}
.logo-tag{
  font-weight:500;
  font-size:0.68rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  background:var(--bronze-grad);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  margin-top:3px;
}

.header-nav{
  display:flex;
  align-items:center;
  gap:2rem;
}
.header-nav-links{
  display:flex;
  list-style:none;
  gap:1.75rem;
}
.header-nav-links a{
  color:rgba(244,236,204,0.78);
  font-size:0.92rem;
  font-weight:500;
}
.header-nav-links a:hover{color:var(--bronze-light);}
.header-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0.65rem 1.3rem;
  background:var(--bronze-grad-button);
  color:#FFF8E8;
  font-weight:600;
  font-size:0.9rem;
  border-radius:var(--r-full);
  box-shadow:0 4px 14px rgba(184,136,42,0.30),inset 0 1px 0 rgba(245,228,154,0.36);
  transition:transform .2s,filter .2s,box-shadow .2s;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.header-cta::before{
  content:'';
  position:absolute;
  top:0;
  left:-120%;
  width:80%;
  height:100%;
  background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,0) 25%,rgba(255,255,255,.45) 50%,rgba(255,255,255,0) 75%,transparent 100%);
  transform:skewX(-22deg);
  transition:left .75s cubic-bezier(.16,1,.3,1);
  pointer-events:none;
}
.header-cta:hover::before{left:120%;}
.header-cta:hover{transform:translateY(-1px);filter:brightness(1.06);}
@media(max-width:880px){
  .header-nav-links{display:none;}
  .header-inner{height:72px;}
}

/* === HERO === */
.hero{
  padding:7rem 1.5rem 5rem;
  position:relative;
  overflow:hidden;
  min-height:calc(100vh - 84px);
  min-height:calc(100dvh - 84px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  /* Zentrale Lichtquelle hinter der Überschrift — rund und intensiv */
  background:
    radial-gradient(circle 420px at 50% 42%,
      rgba(245,228,154,0.30) 0%,
      rgba(240,210,117,0.22) 18%,
      rgba(225,184,90,0.13) 38%,
      rgba(184,136,42,0.06) 60%,
      transparent 85%);
}
@media(max-width:880px){
  .hero{
    min-height:calc(100vh - 72px);
    min-height:calc(100dvh - 72px);
  }
}
.hero::before{
  content:'';
  position:absolute;
  top:-15%;
  right:-15%;
  width:760px;
  height:760px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(184,136,42,0.16),transparent 65%);
  pointer-events:none;
}
.hero::after{
  content:'';
  position:absolute;
  bottom:-25%;
  left:-15%;
  width:560px;
  height:560px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(232,199,102,0.12),transparent 65%);
  pointer-events:none;
}
.hero-inner{
  max-width:1100px;
  margin:0 auto;
  position:relative;
  z-index:1;
  text-align:center;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 18px;
  background:
    linear-gradient(180deg,rgba(28,24,18,0.85),rgba(20,17,13,0.85)) padding-box,
    linear-gradient(135deg,rgba(245,228,154,0.65) 0%,rgba(212,168,75,0.28) 40%,rgba(133,96,28,0.14) 70%,rgba(245,228,154,0.50) 100%) border-box;
  border:1px solid transparent;
  border-radius:var(--r-full);
  font-size:13px;
  font-weight:600;
  letter-spacing:0.06em;
  color:var(--bronze-glow);
  margin-bottom:24px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  box-shadow:inset 0 1px 0 rgba(245,228,154,0.14),0 1px 8px rgba(0,0,0,0.30),0 0 18px rgba(184,136,42,0.12);
  text-shadow:0 1px 0 rgba(0,0,0,0.40);
}
.eyebrow::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 0%,transparent 40%,rgba(245,228,154,0.20) 50%,transparent 60%,transparent 100%);
  transform:translateX(-100%);
  pointer-events:none;
  z-index:-1;
  animation:eyebrowSheen 7s ease-in-out 3s infinite;
}
@keyframes eyebrowSheen{
  0%,100%{transform:translateX(-100%);}
  50%{transform:translateX(100%);}
}
.eyebrow-star{color:var(--bronze-glow);font-size:14px;}
.hero h1{
  font-family:var(--serif);
  font-weight:600;
  font-size:clamp(3rem,7vw,5.8rem);
  line-height:1.02;
  letter-spacing:-0.02em;
  margin:0 0 1.4rem;
  max-width:22ch;
  margin-left:auto;
  margin-right:auto;
  text-wrap:balance;
  hyphens:manual;
}
.hero-lead{
  font-size:clamp(1.05rem,1.6vw,1.25rem);
  color:var(--ink-2);
  line-height:1.6;
  max-width:62ch;
  margin:0 auto 2.2rem;
}
.hero-trust{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:1.2rem 2.4rem;
  margin-bottom:2.8rem;
  font-size:15px;
  color:var(--ink-2);
}
.hero-trust-item{
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.hero-trust-check{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:var(--bronze-grad-button);
  color:#FFF8E8;
  font-size:13px;
  font-weight:700;
  flex-shrink:0;
  box-shadow:0 2px 6px rgba(184,136,42,0.30),inset 0 1px 0 rgba(245,228,154,0.36);
}

/* === SECTIONS — drei dunkle Tonarten + Bronze-Glow-Übergänge === */
.section{
  padding:7.5rem 1.5rem 6rem;
  background:
    radial-gradient(ellipse 60% 45% at 12% 18%,rgba(232,199,102,0.045) 0%,rgba(232,199,102,0.018) 35%,transparent 70%),
    radial-gradient(ellipse 55% 40% at 88% 82%,rgba(184,136,42,0.040) 0%,rgba(184,136,42,0.015) 35%,transparent 70%),
    var(--bg-a);
  position:relative;
}
/* Lichtquellen-Variation für jede zweite Section (asymmetrisch verschoben) */
.section:nth-of-type(even){
  background:
    radial-gradient(ellipse 65% 50% at 85% 22%,rgba(245,228,154,0.040) 0%,rgba(232,199,102,0.014) 38%,transparent 72%),
    radial-gradient(ellipse 50% 38% at 18% 78%,rgba(184,136,42,0.038) 0%,rgba(184,136,42,0.012) 35%,transparent 70%),
    var(--bg-a);
}
/* Bronze-Glow-Linie an Sektion-Übergängen — weich auslaufend über die volle Breite */
.section + .section::before,
.section + .section-soft::before,
.section-soft + .section::before,
.section-soft + .section-soft::before,
.hero + .section::before,
.hero + .section-soft::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  width:100%;
  height:1.5px;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(184,136,42,0.02) 8%,
    rgba(225,184,90,0.18) 22%,
    rgba(240,210,117,0.55) 38%,
    rgba(245,228,154,0.78) 50%,
    rgba(240,210,117,0.55) 62%,
    rgba(225,184,90,0.18) 78%,
    rgba(184,136,42,0.02) 92%,
    transparent 100%);
  pointer-events:none;
  z-index:1;
  filter:blur(0.3px);
}
/* Subtiler Bronze-Schimmer unterhalb der Trennlinie — auch weich auslaufend */
.section + .section::after,
.section + .section-soft::after,
.section-soft + .section::after,
.section-soft + .section-soft::after,
.hero + .section::after,
.hero + .section-soft::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  width:100%;
  height:64px;
  background:radial-gradient(ellipse 45% 100% at center top,
    rgba(240,210,117,0.20) 0%,
    rgba(232,199,102,0.10) 25%,
    rgba(225,184,90,0.04) 55%,
    transparent 85%);
  pointer-events:none;
  z-index:0;
  filter:blur(8px);
}
.section-soft{
  background:
    radial-gradient(ellipse 58% 42% at 80% 18%,rgba(245,228,154,0.050) 0%,rgba(232,199,102,0.018) 38%,transparent 72%),
    radial-gradient(ellipse 50% 35% at 15% 82%,rgba(184,136,42,0.044) 0%,rgba(184,136,42,0.014) 35%,transparent 70%),
    var(--bg-b);
  position:relative;
  padding:7.5rem 1.5rem 6rem;
}
.section-deep{
  background:
    radial-gradient(ellipse 62% 45% at 18% 22%,rgba(245,228,154,0.055) 0%,rgba(232,199,102,0.018) 38%,transparent 72%),
    radial-gradient(ellipse 55% 40% at 82% 78%,rgba(184,136,42,0.048) 0%,rgba(184,136,42,0.016) 35%,transparent 70%),
    var(--bg-c);
}
.section-dark{
  background:var(--bg-c);
  color:var(--on-dark);
}
.section-head{
  text-align:center;
  max-width:780px;
  margin:0 auto 4rem;
}
.section-head h2{
  font-family:var(--serif);
  font-weight:600;
  font-size:clamp(2.5rem,5vw,3.8rem);
  line-height:1.05;
  letter-spacing:-0.015em;
  margin:0 0 1rem;
  color:var(--ink);
  text-wrap:balance;
  hyphens:manual;
}
/* Differenz-H2 + Final-CTA-H2 + Fit-H2 — Inter mit Display-Charakter */
.differenz-text h2,
.final-cta-card h2,
.fit-section h2,
.quote-section h2,
.process-section .section-head h2{
  font-family:var(--serif);
  font-weight:600;
  letter-spacing:-0.015em;
  text-wrap:balance;
  hyphens:manual;
}
/* Quote-Text italic für Charakter */
.quote-text{
  font-family:var(--serif);
  font-style:italic;
  font-weight:500;
}
.section-lead{
  font-size:17.5px;
  color:var(--ink-2);
  line-height:1.65;
  margin:0;
}

/* === CARD GRID (3-col) === */
.card-grid-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.8rem;
}
@media(max-width:880px){.card-grid-3{grid-template-columns:1fr;}}

.card{
  background:
    linear-gradient(var(--bg-card),var(--bg-card)) padding-box,
    var(--card-border-grad) border-box;
  border:1px solid transparent;
  border-radius:var(--r-lg);
  overflow:hidden;
  transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,background .35s;
  display:flex;
  flex-direction:column;
  position:relative;
}
.card::after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:var(--r-lg);
  background:radial-gradient(circle at 30% 0%,rgba(232,199,102,0.10),transparent 50%);
  opacity:0;
  transition:opacity .4s;
  pointer-events:none;
}
.card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow);
  background:
    linear-gradient(var(--bg-card-h),var(--bg-card-h)) padding-box,
    var(--card-border-grad-hover) border-box;
}
.card:hover::after{opacity:1;}
.card-img{
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--bg-c);
}
.card-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s cubic-bezier(.16,1,.3,1);
}
.card:hover .card-img img{transform:scale(1.04);}
.card-body{padding:var(--card-pad-y) var(--card-pad-x);flex:1;position:relative;z-index:1;}
.card-body h3{
  font-weight:700;
  font-size:22px;
  line-height:1.25;
  letter-spacing:-0.012em;
  margin:0 0 1rem;
  color:var(--ink);
}
.card-body p{
  font-size:15.5px;
  color:var(--ink-2);
  line-height:1.7;
  margin:0 0 .9rem;
}
.card-body p:last-child{margin-bottom:0;}

.cta-band{text-align:center;padding:3.5rem 1.5rem;}

/* === SPLIT BANNER === */
.split{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:4rem;
  align-items:center;
}
@media(max-width:880px){.split{grid-template-columns:1fr;gap:2.5rem;}}
.split-text h2{
  font-weight:800;
  font-size:clamp(1.8rem,3.6vw,2.6rem);
  line-height:1.15;
  letter-spacing:-0.022em;
  margin:0 0 1.2rem;
}
.split-text p{
  font-size:16.5px;
  color:var(--ink-2);
  line-height:1.7;
  margin:0 0 1rem;
}
.split-img{
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--shadow);
}

/* === MODULES (Accordion) === */
.modules-list{
  max-width:880px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.module-item{
  background:
    linear-gradient(var(--bg-card),var(--bg-card)) padding-box,
    var(--card-border-grad) border-box;
  border:1px solid transparent;
  border-radius:var(--r);
  overflow:hidden;
  transition:background .35s;
}
.module-item:hover,.module-item[open]{
  background:
    linear-gradient(var(--bg-card-h),var(--bg-card-h)) padding-box,
    var(--card-border-grad-hover) border-box;
}
.module-item summary{
  list-style:none;
  cursor:pointer;
  padding:var(--card-pad-y) var(--card-pad-x);
  display:flex;
  align-items:center;
  gap:1.2rem;
  font-weight:700;
  font-size:18px;
  color:var(--ink);
  line-height:1.3;
  letter-spacing:-0.005em;
  transition:background .25s;
}
.module-item summary::-webkit-details-marker{display:none;}
.module-item summary::after{
  content:'+';
  margin-left:auto;
  font-size:28px;
  font-weight:300;
  color:var(--bronze-light);
  transition:transform .3s cubic-bezier(.16,1,.3,1);
  line-height:1;
  flex-shrink:0;
}
.module-item[open] summary::after{transform:rotate(45deg);}
.module-num{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  background:var(--bronze-grad-button);
  color:#FFF8E8;
  border-radius:50%;
  font-size:14px;
  font-weight:800;
  box-shadow:var(--shadow-bronze);
}
.module-body{
  padding:0 1.8rem 1.6rem;
  border-top:1px solid var(--line);
  padding-top:1.4rem;
}
.module-goal{
  font-size:15px;
  font-weight:500;
  color:var(--bronze-light);
  margin-bottom:1.2rem;
  line-height:1.55;
}
.module-body ul{list-style:none;}
.module-body ul li{
  font-size:15px;
  color:var(--ink-2);
  padding:.45rem 0 .45rem 1.4rem;
  position:relative;
  line-height:1.55;
}
.module-body ul li::before{
  content:'';
  position:absolute;
  left:0;
  top:.95rem;
  width:10px;
  height:1.8px;
  background:linear-gradient(90deg,#F5E49A 0%,#D4A84B 50%,#B8882A 100%);
  border-radius:1px;
  box-shadow:0 0 6px rgba(184,136,42,0.35);
}

/* === TEAM === */
.section-head + .team-intro{margin-top:-2.5rem;}
.team-intro{
  max-width:680px;
  margin:0 auto 2rem;
  text-align:center;
  font-size:16px;
  color:var(--ink-2);
  line-height:1.65;
}
.team-intro strong{color:var(--bronze-light);font-weight:600;}
.team-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1.8rem;
  max-width:1000px;
  margin:0 auto;
}
@media(max-width:880px){.team-grid{grid-template-columns:1fr;}}
.team-card{
  background:
    linear-gradient(var(--bg-card),var(--bg-card)) padding-box,
    var(--card-border-grad) border-box;
  border:1px solid transparent;
  border-radius:var(--r-lg);
  padding:0.9rem 0.9rem 1.6rem;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  text-align:left;
  gap:1.1rem;
  transition:transform .35s,background .35s;
  position:relative;
}
.team-info{padding:0 0.4rem;}
.team-card:hover{
  transform:translateY(-4px);
  background:
    linear-gradient(var(--bg-card-h),var(--bg-card-h)) padding-box,
    var(--card-border-grad-hover) border-box;
  box-shadow:var(--shadow);
}
.team-photo{
  width:100%;
  max-width:320px;
  aspect-ratio:2/3;
  height:auto;
  margin:0 auto;
  border-radius:14px !important;
  overflow:hidden;
  flex-shrink:0;
  border:1px solid rgba(184,136,42,0.22);
  box-shadow:0 8px 28px rgba(0,0,0,0.45),0 0 0 1px rgba(245,228,154,0.06),inset 0 1px 0 rgba(245,228,154,0.08);
  position:relative;
}
.team-photo::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(245,228,154,0.05) 0%,transparent 25%,transparent 75%,rgba(0,0,0,0.30) 100%);
}
.team-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.team-info{flex:1;width:100%;}
.team-role{
  display:inline-block;
  padding:6px 16px;
  background:
    linear-gradient(180deg,rgba(28,24,18,0.85),rgba(20,17,13,0.85)) padding-box,
    linear-gradient(135deg,rgba(245,228,154,0.55) 0%,rgba(212,168,75,0.22) 40%,rgba(133,96,28,0.10) 70%,rgba(245,228,154,0.40) 100%) border-box;
  border:1px solid transparent;
  color:var(--bronze-glow);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:0.18em;
  text-transform:uppercase;
  border-radius:var(--r-full);
  margin-bottom:.7rem;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  box-shadow:inset 0 1px 0 rgba(245,228,154,0.12),0 1px 6px rgba(0,0,0,0.35),0 0 14px rgba(184,136,42,0.10);
  text-shadow:0 1px 0 rgba(0,0,0,0.40);
}
.team-role::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 0%,transparent 40%,rgba(245,228,154,0.18) 50%,transparent 60%,transparent 100%);
  transform:translateX(-100%);
  pointer-events:none;
  z-index:-1;
  transition:transform 1.2s cubic-bezier(.16,1,.3,1);
}
.team-card:hover .team-role::before{transform:translateX(100%);}
.team-name{
  font-weight:700;
  font-size:22px;
  letter-spacing:-0.015em;
  margin:0 0 1rem;
  line-height:1.2;
}
.team-bio{
  font-size:14.5px;
  color:var(--ink-2);
  line-height:1.65;
  margin:0;
  text-align:left;
}
.team-link{
  display:inline-block;
  margin-top:0.9rem;
  font-size:12.5px;
  font-weight:500;
  letter-spacing:0.02em;
  color:var(--bronze-light);
  text-decoration:none;
  padding:4px 10px;
  border-radius:var(--r);
  background:rgba(184,136,42,0.06);
  border:1px solid rgba(184,136,42,0.18);
  transition:background .25s,border-color .25s,color .25s,transform .25s;
  align-self:flex-start;
}
.team-link:hover{
  background:rgba(184,136,42,0.14);
  border-color:rgba(184,136,42,0.40);
  color:var(--bronze-shine);
  transform:translateX(2px);
}

/* === FÖRDERUNG === */
.foer-text{
  max-width:780px;
  margin:0 auto 3rem;
  text-align:center;
  font-size:16.5px;
  color:var(--ink-2);
  line-height:1.7;
}
.foer-text p{margin-bottom:1.2rem;}
.foer-text p:last-child{margin-bottom:0;}
.foer-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.8rem;
  margin-top:2rem;
}
@media(max-width:880px){.foer-cards{grid-template-columns:1fr;}}
.foer-card{
  background:
    linear-gradient(var(--bg-card),var(--bg-card)) padding-box,
    var(--card-border-grad) border-box;
  border:1px solid transparent;
  border-radius:var(--r-lg);
  padding:var(--card-pad-y) var(--card-pad-x);
  transition:transform .35s,background .35s,box-shadow .35s;
}
.foer-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow);
  background:
    linear-gradient(var(--bg-card-h),var(--bg-card-h)) padding-box,
    var(--card-border-grad-hover) border-box;
}
.foer-tag{
  display:inline-block;
  padding:7px 16px;
  background:
    linear-gradient(180deg,rgba(28,24,18,0.85),rgba(20,17,13,0.85)) padding-box,
    linear-gradient(135deg,rgba(245,228,154,0.55) 0%,rgba(212,168,75,0.22) 40%,rgba(133,96,28,0.10) 70%,rgba(245,228,154,0.40) 100%) border-box;
  border:1px solid transparent;
  color:var(--bronze-glow);
  font-size:11px;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  border-radius:var(--r-full);
  margin-bottom:1.2rem;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  box-shadow:inset 0 1px 0 rgba(245,228,154,0.12),0 1px 6px rgba(0,0,0,0.35),0 0 14px rgba(184,136,42,0.10);
  text-shadow:0 1px 0 rgba(0,0,0,0.40);
}
.foer-tag::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 0%,transparent 40%,rgba(245,228,154,0.20) 50%,transparent 60%,transparent 100%);
  transform:translateX(-100%);
  pointer-events:none;
  z-index:-1;
  transition:transform 1.2s cubic-bezier(.16,1,.3,1);
}
.foer-card:hover .foer-tag::before{transform:translateX(100%);}
.foer-card h3{
  font-weight:700;
  font-size:22px;
  line-height:1.2;
  letter-spacing:-0.012em;
  margin:0 0 1rem;
}
.foer-card p{
  font-size:15px;
  color:var(--ink-2);
  line-height:1.7;
  margin:0 0 .9rem;
}
.foer-card p:last-child{margin-bottom:0;}
.foer-card ul{list-style:none;margin:.8rem 0;}
.foer-card ul li{
  font-size:15px;
  color:var(--ink-2);
  padding:.4rem 0 .4rem 1.4rem;
  position:relative;
  line-height:1.55;
}
.foer-card ul li::before{
  content:'';
  position:absolute;
  left:0;
  top:.95rem;
  width:10px;
  height:1.8px;
  background:linear-gradient(90deg,#F5E49A 0%,#D4A84B 50%,#B8882A 100%);
  border-radius:1px;
  box-shadow:0 0 6px rgba(184,136,42,0.35);
}
.foer-note{
  margin-top:1rem;
  padding:1rem 1.2rem;
  background:rgba(184,136,42,0.08);
  border-left:3px solid var(--bronze);
  border-radius:8px;
  font-size:14px;
  color:var(--ink-2);
  line-height:1.6;
}

/* === QUOTE === */
.quote-section{padding:6rem 1.5rem;}
.quote-inner{
  max-width:1100px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:4rem;
  align-items:center;
}
@media(max-width:880px){
  .quote-inner{grid-template-columns:1fr;gap:2rem;}
  .quote-inner > div:first-child{order:2;}
  .quote-inner .quote-img{order:1;}
}
.quote-text{
  font-weight:500;
  font-style:italic;
  font-size:clamp(1.2rem,2vw,1.6rem);
  line-height:1.45;
  letter-spacing:-0.012em;
  margin:0 0 1.6rem;
}
.quote-author{
  font-size:14px;
  font-weight:700;
  letter-spacing:0.08em;
  color:var(--bronze-light);
  text-transform:uppercase;
}
.quote-author-sub{
  display:block;
  font-size:13px;
  font-weight:500;
  letter-spacing:0.02em;
  color:var(--ink-3);
  text-transform:none;
  margin-top:4px;
}
.quote-img{
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--shadow);
}

/* === FIT === */
.fit-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.8rem;
  margin-top:3rem;
}
@media(max-width:880px){.fit-grid{grid-template-columns:1fr;}}
.fit-col{
  background:
    linear-gradient(var(--bg-card),var(--bg-card)) padding-box,
    var(--card-border-grad) border-box;
  border:1px solid transparent;
  border-radius:var(--r-lg);
  padding:2.4rem 2.2rem;
}
.fit-col.yes{
  background:
    linear-gradient(var(--bg-card),var(--bg-card)) padding-box,
    linear-gradient(135deg,rgba(232,199,102,0.78) 0%,rgba(232,199,102,0.28) 30%,rgba(232,199,102,0.08) 60%,transparent 95%) border-box;
  position:relative;
}
.fit-col.yes::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:var(--r-lg);
  background:radial-gradient(circle at 0% 0%,rgba(232,199,102,0.10),transparent 50%);
  pointer-events:none;
}
.fit-col-head{
  display:flex;
  align-items:center;
  gap:.9rem;
  margin-bottom:1.6rem;
  padding-bottom:1.3rem;
  border-bottom:1px solid var(--line);
}
.fit-icon{
  width:44px;
  height:44px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  font-size:24px;
  flex-shrink:0;
}
.fit-col.yes .fit-icon{
  background:var(--bronze-grad-button);
  color:#1F1608;
  box-shadow:var(--shadow-bronze);
}
.fit-col.no .fit-icon{
  background:transparent;
  color:var(--bronze-light);
  border:2px solid rgba(184,136,42,0.55);
}
.fit-col h3{
  font-weight:700;
  font-size:20px;
  letter-spacing:-0.012em;
  line-height:1.25;
}
.fit-col.yes h3{color:var(--bronze-light);}
.fit-col.no h3{color:var(--ink);}
.fit-col ul{list-style:none;}
.fit-col ul li{
  font-size:15px;
  padding:.7rem 0 .7rem 1.8rem;
  border-bottom:1px solid var(--line);
  position:relative;
  line-height:1.55;
}
.fit-col ul li:last-child{border-bottom:none;}
/* LINKE Kachel (yes) — gold/bronze Schrift */
.fit-col.yes ul li{
  color:var(--bronze-light);
  font-weight:500;
}
.fit-col.yes ul li::before{
  content:'+';
  position:absolute;
  left:0;
  top:.65rem;
  color:var(--bronze);
  font-size:18px;
  font-weight:700;
}
/* RECHTE Kachel (no) — weiße Schrift, gut lesbar */
.fit-col.no ul li{
  color:var(--ink);
  font-weight:400;
}
.fit-col.no ul li::before{
  content:'×';
  position:absolute;
  left:0;
  top:.6rem;
  color:var(--bronze-light);
  font-size:18px;
  font-weight:700;
}

/* === PROZESS === */
.process-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.8rem;
}
@media(max-width:880px){.process-cards{grid-template-columns:1fr;}}
.process-card{
  background:
    linear-gradient(var(--bg-card),var(--bg-card)) padding-box,
    var(--card-border-grad) border-box;
  border:1px solid transparent;
  border-radius:var(--r-lg);
  overflow:hidden;
  transition:transform .35s,background .35s,box-shadow .35s;
}
.process-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow);
  background:
    linear-gradient(var(--bg-card-h),var(--bg-card-h)) padding-box,
    var(--card-border-grad-hover) border-box;
}
.process-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:2.8rem 0 0.5rem;
  color:var(--bronze-light);
  position:relative;
}
.process-icon::before{
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:140px;
  height:140px;
  border-radius:50%;
  background:radial-gradient(circle at 50% 45%,rgba(245,228,154,0.18) 0%,rgba(184,136,42,0.10) 35%,rgba(184,136,42,0.02) 60%,transparent 78%);
  z-index:0;
  transition:opacity .5s ease,transform .5s cubic-bezier(.16,1,.3,1);
}
.process-card:hover .process-icon::before{
  transform:translate(-50%,-50%) scale(1.1);
  background:radial-gradient(circle at 50% 45%,rgba(245,228,154,0.32) 0%,rgba(184,136,42,0.18) 35%,rgba(184,136,42,0.04) 60%,transparent 78%);
}
.process-icon svg{
  width:76px;
  height:76px;
  position:relative;
  z-index:1;
  transition:transform .5s cubic-bezier(.16,1,.3,1),filter .5s ease;
  filter:drop-shadow(0 6px 16px rgba(184,136,42,0.22));
}
.process-card:hover .process-icon svg{
  transform:translateY(-3px);
  filter:drop-shadow(0 10px 22px rgba(184,136,42,0.40));
}

/* === Subtiles Idle-Floating für alle drei Icons (zeitversetzt) === */
.proc-svg-1{animation:procFloat 7s ease-in-out infinite;}
.proc-svg-2{animation:procFloat 7s ease-in-out -2.3s infinite;}
.proc-svg-3{animation:procFloat 7s ease-in-out -4.6s infinite;}
@keyframes procFloat{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-3px);}
}
.process-card:hover .proc-svg-1,
.process-card:hover .proc-svg-2,
.process-card:hover .proc-svg-3{animation-play-state:paused;}

/* === Icon 1: Dialog — Punkte pulsieren === */
.proc-svg-1 .dot{
  transform-origin:center;
  animation:dotPulse 2.4s ease-in-out infinite;
}
.proc-svg-1 .dot-a{animation-delay:0s;}
.proc-svg-1 .dot-b{animation-delay:0.18s;}
.proc-svg-1 .dot-c{animation-delay:0.36s;}
.proc-svg-1 .dot-d{animation-delay:1.2s;}
.proc-svg-1 .dot-e{animation-delay:1.38s;}
.proc-svg-1 .dot-f{animation-delay:1.56s;}
@keyframes dotPulse{
  0%,40%,100%{opacity:0.30;}
  20%{opacity:1;}
}
.process-card:hover .proc-svg-1 .bubble{
  animation:bubbleNudge .9s cubic-bezier(.34,1.56,.64,1);
}
.process-card:hover .proc-svg-1 .bubble-1{transform-origin:14px 33px;}
.process-card:hover .proc-svg-1 .bubble-2{transform-origin:66px 43px;animation-delay:.12s;}
@keyframes bubbleNudge{
  0%{transform:scale(1);}
  50%{transform:scale(1.04);}
  100%{transform:scale(1);}
}

/* === Icon 2: Medaille — Häkchen wird gezeichnet === */
.proc-svg-2 .check{
  stroke-dasharray:30;
  stroke-dashoffset:30;
  animation:checkDraw 2.6s ease-out 0.8s forwards;
}
@keyframes checkDraw{
  to{stroke-dashoffset:0;}
}
.proc-svg-2 .medal-shine{
  transform-origin:34px 28px;
  animation:medalShine 4s ease-in-out 1.5s infinite;
}
@keyframes medalShine{
  0%,80%,100%{opacity:0;transform:scale(0.5);}
  40%{opacity:0.9;transform:scale(1.4);}
}
.process-card:hover .proc-svg-2 .ribbon-l{
  animation:ribbonSway .8s ease-in-out;
  transform-origin:36px 50px;
}
.process-card:hover .proc-svg-2 .ribbon-r{
  animation:ribbonSway .8s ease-in-out;
  transform-origin:44px 50px;
  animation-direction:reverse;
}
@keyframes ribbonSway{
  0%,100%{transform:rotate(0);}
  50%{transform:rotate(3deg);}
}

/* === Icon 3: Bogen — Pfeil schiebt sich durch === */
.proc-svg-3 .arrow-group{
  transform-origin:left center;
  animation:arrowSlide 5s cubic-bezier(.4,0,.2,1) infinite;
}
@keyframes arrowSlide{
  0%{transform:translateX(-10px);opacity:0;}
  10%{opacity:1;}
  55%,80%{transform:translateX(8px);opacity:1;}
  92%{transform:translateX(20px);opacity:0;}
  100%{transform:translateX(20px);opacity:0;}
}
.proc-svg-3 .arch-glow{
  transform-origin:40px 38px;
  animation:archGlow 3.6s ease-in-out 1.4s infinite;
}
@keyframes archGlow{
  0%,70%,100%{opacity:0.30;transform:scale(1);}
  35%{opacity:1;transform:scale(1.7);}
}
.process-card:hover .proc-svg-3 .arch-inner{
  animation:archShine 1.2s ease-out;
}
@keyframes archShine{
  0%{opacity:0.55;}
  50%{opacity:1;}
  100%{opacity:0.55;}
}

/* Reduce-Motion-Friendly */
@media (prefers-reduced-motion: reduce){
  .proc-svg-1,.proc-svg-2,.proc-svg-3,
  .proc-svg-1 .dot,
  .proc-svg-2 .check,
  .proc-svg-2 .medal-shine,
  .proc-svg-3 .arrow-group,
  .proc-svg-3 .arch-glow{
    animation:none !important;
  }
  .proc-svg-2 .check{stroke-dashoffset:0;}
}

.process-body{padding:var(--card-pad-y) var(--card-pad-x) calc(var(--card-pad-y) + 0.4rem);}
.process-num{
  display:inline-block;
  font-size:13px;
  font-weight:800;
  letter-spacing:0.16em;
  color:var(--bronze-light);
  margin-bottom:.7rem;
}
.process-body h3{
  font-weight:700;
  font-size:21px;
  line-height:1.25;
  letter-spacing:-0.012em;
  margin:0 0 1rem;
}
.process-body p{
  font-size:15px;
  color:var(--ink-2);
  line-height:1.7;
  margin:0 0 .8rem;
}
.process-body ul{list-style:none;margin:.8rem 0;}
.process-body ul li{
  font-size:14.5px;
  color:var(--ink-2);
  padding:.35rem 0 .35rem 1.3rem;
  position:relative;
}
.process-body ul li::before{
  content:'';
  position:absolute;
  left:0;
  top:.85rem;
  width:10px;
  height:1.8px;
  background:linear-gradient(90deg,#F5E49A 0%,#D4A84B 50%,#B8882A 100%);
  border-radius:1px;
  box-shadow:0 0 6px rgba(184,136,42,0.35);
}

/* === FAQ === */
.faq-list{max-width:880px;margin:0 auto;}
.faq-item{
  border-bottom:1px solid var(--line);
  padding:1.4rem 0;
}
.faq-item summary{
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1.5rem;
  font-weight:600;
  font-size:17px;
  color:var(--ink);
  list-style:none;
  line-height:1.4;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:'+';
  font-size:26px;
  font-weight:300;
  color:var(--bronze);
  transition:transform .3s cubic-bezier(.16,1,.3,1);
  flex-shrink:0;
  line-height:1;
}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item summary:hover{color:var(--bronze);}
.faq-item-body{
  margin-top:1rem;
  font-size:15.5px;
  color:var(--ink-2);
  line-height:1.7;
}

/* === FINAL CTA === */
.final-cta{
  background:
    linear-gradient(rgba(10,12,16,0.86),rgba(10,12,16,0.92)),
    url('images/cta-bg.jpg') center/cover no-repeat,
    var(--bg-c);
  color:var(--on-dark);
  padding:7rem 1.5rem;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.final-cta::before{
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:1000px;
  height:1000px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(184,136,42,0.22),transparent 60%);
  pointer-events:none;
}
.final-cta-inner{
  max-width:760px;
  margin:0 auto;
  position:relative;
  z-index:1;
}
.final-cta h2{
  font-weight:800;
  font-size:clamp(2.2rem,4.8vw,3.6rem);
  line-height:1.08;
  letter-spacing:-0.025em;
  margin:0 0 1.4rem;
  color:var(--on-dark);
}
.final-cta-lead{
  font-size:18px;
  color:var(--on-dark-2);
  line-height:1.6;
  max-width:50ch;
  margin:0 auto 2.5rem;
}
.final-cta-note{
  display:block;
  margin-top:1.4rem;
  font-size:13px;
  color:var(--on-dark-3);
}

/* === FOOTER (immer dunkel) === */
.site-footer{
  background:var(--dark);
  color:var(--on-dark-2);
  padding:4rem 1.5rem 2rem;
  position:relative;
}
/* Bronze-Glow-Trennlinie am Footer-Anfang (analog zu Section-Übergängen) */
.site-footer::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:min(70%,820px);
  height:1px;
  background:radial-gradient(ellipse at center,rgba(240,210,117,0.55) 0%,rgba(225,184,90,0.25) 40%,transparent 75%);
  pointer-events:none;
}
.footer-inner{
  max-width:var(--container);
  margin:0 auto;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:3rem;
  padding-bottom:3rem;
  border-bottom:1px solid var(--line-dark);
}
@media(max-width:720px){.footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr;}}
.footer-brand{margin-bottom:1.2rem;display:flex;align-items:center;gap:.8rem;}
.footer-tagline{
  color:var(--on-dark-2);
  font-size:.95rem;
  line-height:1.55;
  margin:0;
  max-width:320px;
}
.footer-col h4{
  font-size:.72rem;
  color:var(--bronze-light);
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  margin:0 0 1.2rem;
}
.footer-col ul{list-style:none;}
.footer-col li{margin-bottom:.55rem;}
.footer-col a{
  color:var(--on-dark-2);
  font-size:.93rem;
  transition:color .15s;
}
.footer-col a:hover{color:var(--on-dark);}
.footer-bottom{
  padding-top:2rem;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:1rem;
}
.footer-copy{
  font-size:.78rem;
  letter-spacing:0.06em;
  color:var(--on-dark-3);
}
.footer-legal{display:flex;gap:1.5rem;list-style:none;}
.footer-legal a{
  color:var(--on-dark-3);
  font-size:.78rem;
}
.footer-legal a:hover{color:var(--on-dark-2);}
.footer-disclaimer{
  font-size:.72rem;
  color:rgba(244,236,204,0.30);
  line-height:1.55;
  max-width:880px;
  margin:2rem auto 0;
  padding-top:1.5rem;
  border-top:1px solid rgba(244,236,204,0.06);
  text-align:center;
}

/* === STROKE-STYLE Erweiterungen === */

/* Sekundärer Button: Bronze-Outline, transparenter Hintergrund */
.btn-stroke{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:16px 32px;
  background:transparent;
  color:var(--bronze-light);
  font-family:var(--sans);
  font-weight:600;
  font-size:15px;
  border:1.5px solid;
  border-image:var(--bronze-grad) 1;
  border-image-slice:1;
  border-radius:var(--r-full);
  position:relative;
  transition:color .25s,background .25s,transform .25s;
  cursor:pointer;
}
/* border-image macht border-radius unwirksam; daher Trick mit background-clip */
.btn-stroke{
  border:1.5px solid transparent;
  background:
    linear-gradient(var(--bg-a),var(--bg-a)) padding-box,
    var(--bronze-grad) border-box;
}
.section-soft .btn-stroke{
  background:
    linear-gradient(var(--bg-b),var(--bg-b)) padding-box,
    var(--bronze-grad) border-box;
}
.section-deep .btn-stroke,
.final-cta .btn-stroke{
  background:
    linear-gradient(var(--bg-c),var(--bg-c)) padding-box,
    var(--bronze-grad) border-box;
}
.btn-stroke:hover{
  color:var(--bronze-shine);
  transform:translateY(-2px);
}
.btn-stroke .btn-arrow{
  color:var(--bronze-light);
  font-size:17px;
  transition:transform .25s;
}
.btn-stroke:hover .btn-arrow{transform:translateX(3px);}

/* Dezenter ornamentaler Trenner — fein, Bronze, mit Punkt in der Mitte */
.divider-ornament{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1.2rem;
  margin:3rem auto;
  max-width:600px;
}
.divider-ornament::before,
.divider-ornament::after{
  content:'';
  flex:1;
  height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(184,136,42,0.35) 50%,transparent 100%);
}
.divider-ornament .dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--bronze);
  box-shadow:0 0 0 4px rgba(184,136,42,0.10);
}

/* Bronze-Stroke-Underline für Headline-Akzente (alternative zum Gradient-Fill) */
.stroke-accent{
  position:relative;
  display:inline-block;
  -webkit-text-stroke:1px var(--bronze);
  -webkit-text-fill-color:transparent;
  color:var(--bronze);
  font-weight:800;
}

/* Tiefere Eyebrow-Variante */
.eyebrow-line{
  display:inline-flex;
  align-items:center;
  gap:14px;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--bronze-light);
  margin-bottom:24px;
}
.eyebrow-line::before,
.eyebrow-line::after{
  content:'';
  width:30px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--bronze) 50%,transparent);
}


/* ════════════════════════════════════════════════════════════════════
   COOKIE BANNER (Bottom-Bar) — orientiert an Hartmann
   ════════════════════════════════════════════════════════════════════ */

.cookie-banner{
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  z-index:4000;
  background:rgba(15,18,22,0.97);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  border-top:1px solid rgba(184,136,42,0.22);
  padding:1.5rem 2rem;
  transform:translateY(100%);
  transition:transform .5s cubic-bezier(.16,1,.3,1);
  box-shadow:0 -10px 40px rgba(0,0,0,0.45);
}
.cookie-banner.visible{transform:translateY(0);}

/* Pre-Init: Banner direkt im ersten Frame sichtbar wenn html.cookie-needed
   gesetzt ist (von inline-script im head). Keine Slide-Animation beim
   ersten Erscheinen — fühlt sich sofort präsent an. */
html.cookie-needed .cookie-banner{
  transform:translateY(0);
  transition:none;
}
/* Wenn Modal geöffnet ist, Banner ausblenden (sliddet wieder nach unten).
   Schließt User das Modal ohne Speichern → Banner kommt zurück (visible
   class bleibt). */
html.cookie-needed .cookie-banner.banner-paused{
  transform:translateY(100%);
  transition:transform .35s cubic-bezier(.16,1,.3,1);
}

body.cookie-blur > *:not(.cookie-banner):not(.cookie-modal),
html.cookie-needed body > *:not(.cookie-banner):not(.cookie-modal){
  filter:blur(6px);
  transition:filter .4s ease;
  pointer-events:none;
}
body.cookie-blur,
html.cookie-needed body{overflow:hidden;}

.cookie-inner{
  max-width:1200px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:2rem;
  flex-wrap:wrap;
}
.cookie-content{flex:1;min-width:280px;}
.cookie-content h4{
  font-family:var(--sans);
  font-size:1.15rem;
  font-weight:700;
  letter-spacing:-0.01em;
  color:var(--ink);
  margin:0 0 0.5rem;
}
.cookie-content p{
  font-size:0.9rem;
  color:var(--ink-2);
  line-height:1.55;
  margin:0;
}
.cookie-content a{
  color:var(--bronze-light);
  text-decoration:underline;
  text-underline-offset:2px;
}
.cookie-actions{
  display:flex;
  gap:0.65rem;
  flex-wrap:wrap;
}
.cookie-btn{
  padding:0.75rem 1.4rem;
  border-radius:var(--r-full);
  font-family:var(--sans);
  font-size:0.875rem;
  font-weight:600;
  letter-spacing:0.02em;
  cursor:pointer;
  border:1px solid transparent;
  transition:background-position .8s,border-color .2s,color .2s,transform .15s,box-shadow .3s;
  white-space:nowrap;
}
.cookie-btn.primary{
  background:linear-gradient(110deg,#F5E49A 0%,#D4A84B 20%,#F5E49A 50%,#D4A84B 80%,#B8882A 100%);
  background-size:200% auto;
  color:#1F1608;
  border:none;
  box-shadow:0 6px 20px rgba(184,136,42,0.22);
}
.cookie-btn.primary:hover{
  background-position:right center;
  transform:translateY(-1px);
}
.cookie-btn.secondary{
  background:rgba(184,136,42,0.10);
  color:var(--bronze-light);
  border-color:rgba(184,136,42,0.40);
}
.cookie-btn.secondary:hover{
  background:rgba(184,136,42,0.20);
  border-color:rgba(184,136,42,0.70);
}
@media(max-width:760px){
  .cookie-banner{padding:1.25rem;}
  .cookie-inner{flex-direction:column;align-items:stretch;gap:1.25rem;}
  .cookie-actions{flex-direction:column;}
  .cookie-btn{width:100%;}
}

/* ════════════════════════════════════════════════════════════════════
   COOKIE MODAL (Detail-Ansicht)
   ════════════════════════════════════════════════════════════════════ */

.cookie-modal{
  position:fixed;
  inset:0;
  background:rgba(8,10,14,0.78);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  z-index:9100;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1.5rem;
  opacity:0;
  visibility:hidden;
  transition:opacity .35s,visibility .35s;
}
.cookie-modal.active{opacity:1;visibility:visible;}

.cookie-modal-card{
  background:linear-gradient(160deg,#1A1F26 0%,#11141A 100%);
  border:1px solid rgba(184,136,42,0.28);
  border-radius:18px;
  max-width:640px;
  width:100%;
  padding:2.5rem 2.2rem 1.8rem;
  position:relative;
  box-shadow:0 30px 80px rgba(0,0,0,0.50);
  transform:translateY(20px) scale(0.96);
  transition:transform .4s cubic-bezier(0.2,0.8,0.2,1);
  max-height:90vh;
  overflow-y:auto;
}
.cookie-modal.active .cookie-modal-card{transform:translateY(0) scale(1);}

.cookie-modal-close{
  position:absolute;
  top:1rem;
  right:1rem;
  width:36px;
  height:36px;
  border-radius:50%;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.10);
  color:var(--ink-2);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background .2s,color .2s,transform .25s;
  padding:0;
}
.cookie-modal-close svg{width:16px;height:16px;}
.cookie-modal-close:hover{
  background:rgba(184,136,42,0.18);
  color:var(--bronze-light);
  transform:rotate(90deg);
}

.cookie-modal-header{margin-bottom:1.5rem;padding-right:2rem;}
.cookie-modal-eyebrow{
  display:inline-block;
  font-family:var(--sans);
  font-size:0.72rem;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  background:var(--bronze-grad);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  margin-bottom:0.7rem;
}
.cookie-modal-card h3{
  font-family:var(--sans);
  font-size:1.7rem;
  font-weight:700;
  line-height:1.25;
  margin:0 0 0.85rem;
  color:var(--ink);
  letter-spacing:-0.02em;
}
.cookie-modal-card h3 em{
  background:var(--bronze-grad);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  font-style:normal;
}
.cookie-modal-header p{
  font-size:0.92rem;
  line-height:1.65;
  color:var(--ink-2);
  margin:0;
}

.cookie-category{
  border:1px solid rgba(184,136,42,0.20);
  border-radius:12px;
  padding:1.1rem 1.3rem;
  margin-bottom:0.9rem;
  background:rgba(255,255,255,0.02);
}
.cookie-category-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:0.65rem;
}
.cookie-category-info{
  display:flex;
  align-items:center;
  gap:0.85rem;
  flex-wrap:wrap;
}
.cookie-category h4{
  font-family:var(--sans);
  font-size:1.05rem;
  font-weight:600;
  color:var(--ink);
  margin:0;
  letter-spacing:-0.01em;
}
.cookie-required,.cookie-optional{
  display:inline-block;
  font-family:var(--sans);
  font-size:0.65rem;
  font-weight:600;
  letter-spacing:0.16em;
  text-transform:uppercase;
  padding:0.2rem 0.65rem;
  border-radius:var(--r-full);
}
.cookie-required{
  color:var(--bronze-light);
  border:1px solid rgba(184,136,42,0.32);
  background:rgba(184,136,42,0.06);
}
.cookie-optional{
  color:var(--ink-3);
  border:1px solid rgba(255,255,255,0.14);
}
.cookie-category-desc{
  font-size:0.88rem;
  line-height:1.6;
  color:var(--ink-2);
  margin:0 0 0.75rem;
}

/* Toggle Switches */
.cookie-toggle{
  position:relative;
  display:inline-block;
  width:44px;
  height:24px;
  flex-shrink:0;
  cursor:pointer;
  margin:0;
}
.cookie-toggle input{
  opacity:0;
  width:0;
  height:0;
}
.cookie-toggle-slider{
  position:absolute;
  inset:0;
  background:rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.18);
  border-radius:24px;
  transition:background .25s,border-color .25s;
}
.cookie-toggle-slider::before{
  content:'';
  position:absolute;
  height:18px;
  width:18px;
  left:2px;
  top:2px;
  background:rgba(255,255,255,0.70);
  border-radius:50%;
  transition:transform .25s,background .25s;
}
.cookie-toggle input:checked + .cookie-toggle-slider{
  background:rgba(184,136,42,0.30);
  border-color:rgba(184,136,42,0.60);
}
.cookie-toggle input:checked + .cookie-toggle-slider::before{
  transform:translateX(20px);
  background:var(--bronze-light);
}
.cookie-toggle.disabled{opacity:0.55;cursor:not-allowed;}
.cookie-toggle.disabled .cookie-toggle-slider{
  background:rgba(184,136,42,0.18);
  border-color:rgba(184,136,42,0.30);
}
.cookie-toggle.disabled .cookie-toggle-slider::before{
  background:var(--bronze-light);
  transform:translateX(20px);
}

/* Cookie Services */
.cookie-services{
  display:flex;
  flex-direction:column;
  gap:0.55rem;
  padding-top:0.75rem;
  border-top:1px solid rgba(255,255,255,0.06);
}
.cookie-service{display:flex;flex-direction:column;gap:0.2rem;}
.cookie-service strong{
  font-size:0.85rem;
  color:var(--ink);
  font-weight:600;
}
.cookie-service span{
  font-size:0.8rem;
  color:var(--ink-3);
  line-height:1.55;
}

.cookie-modal-footer{
  display:flex;
  flex-wrap:wrap;
  gap:0.7rem;
  justify-content:flex-end;
  margin-top:1.4rem;
  padding-top:1.2rem;
  border-top:1px solid rgba(255,255,255,0.08);
}
.cookie-modal-footer .cookie-btn{flex:1;min-width:140px;}
.cookie-modal-fineprint{
  font-size:0.78rem;
  line-height:1.6;
  color:var(--ink-3);
  text-align:center;
  margin:1.2rem 0 0;
}
.cookie-modal-fineprint a{
  color:var(--bronze-light);
  text-decoration:none;
}
.cookie-modal-fineprint a:hover{text-decoration:underline;}

@media(max-width:600px){
  .cookie-modal-card{padding:2rem 1.4rem 1.5rem;border-radius:14px;}
  .cookie-modal-card h3{font-size:1.4rem;}
  .cookie-modal-header{padding-right:1.5rem;}
  .cookie-modal-footer{flex-direction:column;}
  .cookie-modal-footer .cookie-btn{width:100%;}
}

/* KT-Fallback box */
.kt-consent-fallback{padding:1.5rem;text-align:center;}
.kt-consent-fallback p{
  color:var(--ink-2);
  font-size:14.5px;
  line-height:1.65;
  margin:0 0 1rem;
}
.kt-consent-fallback p strong{color:var(--ink);}
.kt-form-wrapper:has(form) .kt-consent-fallback,
.kt-form-wrapper:has(iframe) .kt-consent-fallback{display:none;}


/* ════════════════════════════════════════════════════════════════════
   MULTISTEP CONTACT FORM
   ════════════════════════════════════════════════════════════════════ */

.ms-form{
  display:block;
  position:relative;
  background:linear-gradient(var(--bg-card),var(--bg-card)) padding-box,var(--card-border-grad) border-box;
  border:1px solid transparent;
  border-radius:var(--r-lg);
  padding:2.6rem 2.4rem;
  box-shadow:var(--shadow);
}
@media(max-width:600px){
  .ms-form{padding:1.8rem 1.4rem;}
}

/* Progress */
.ms-progress{
  margin-bottom:2.4rem;
}
.ms-progress-track{
  position:relative;
  height:4px;
  background:rgba(255,255,255,0.05);
  border-radius:var(--r-full);
  overflow:hidden;
}
.ms-progress-fill{
  position:absolute;
  top:0;
  left:0;
  height:100%;
  background:linear-gradient(90deg,#D4A84B 0%,#F5E49A 50%,#D4A84B 100%);
  border-radius:var(--r-full);
  transition:width .5s cubic-bezier(.16,1,.3,1);
  box-shadow:0 0 12px rgba(212,168,75,0.40);
}
.ms-progress-labels{
  display:flex;
  justify-content:space-between;
  gap:0.75rem;
  margin-top:0.8rem;
  font-family:var(--sans);
  font-size:0.78rem;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
}
.ms-step-label{
  color:var(--ink-3);
  transition:color .35s;
  flex:0 1 auto;
  text-align:center;
  white-space:nowrap;
}
.ms-step-label:first-child{text-align:left;}
.ms-step-label:last-child{text-align:right;}
.ms-step-label.is-active{
  color:var(--bronze-light);
}
@media(max-width:600px){
  .ms-progress-labels{font-size:0.7rem;gap:0.5rem;}
  .ms-step-label{font-size:0.7rem;}
}
@media(max-width:420px){
  .ms-progress-labels{font-size:0.65rem;gap:0.35rem;}
  .ms-step-label{font-size:0.65rem;}
}

/* Steps */
.ms-step{
  border:none;
  padding:0;
  margin:0;
  display:none;
  animation:msStepIn .5s cubic-bezier(.16,1,.3,1);
}
.ms-step.is-active{display:block;}

@keyframes msStepIn{
  from{opacity:0;transform:translateY(12px);}
  to{opacity:1;transform:translateY(0);}
}

.ms-step-title{
  font-family:var(--sans);
  font-size:1.5rem;
  font-weight:700;
  color:var(--ink);
  letter-spacing:-0.018em;
  margin:0 0 0.5rem;
  padding:0;
  display:block;
}
.ms-step-sub{
  font-size:14.5px;
  color:var(--ink-2);
  line-height:1.65;
  margin:0 0 1.8rem;
}

.ms-mini-label{
  font-family:var(--sans);
  font-size:0.78rem;
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--bronze-light);
  margin:1.4rem 0 0.7rem;
}
.ms-mini-label:first-of-type{margin-top:0;}

/* Fields */
.ms-grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
  margin-bottom:1rem;
}
@media(max-width:600px){.ms-grid-2{grid-template-columns:1fr;}}

.ms-field{
  display:flex;
  flex-direction:column;
  gap:0.45rem;
  margin-bottom:1rem;
}
.ms-label{
  font-family:var(--sans);
  font-size:13px;
  font-weight:600;
  color:var(--ink-2);
  letter-spacing:0.015em;
}
.ms-field input,
.ms-field textarea,
.ms-field select{
  font-family:var(--sans);
  font-size:15px;
  color:var(--ink);
  background:rgba(255,255,255,0.04);
  border:1px solid var(--line);
  padding:13px 16px;
  border-radius:var(--r);
  width:100%;
  transition:border-color .25s,background .25s,box-shadow .25s;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
}
.ms-field select{
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23d4a84b' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 16px center;
  padding-right:40px;
}
.ms-field select option{
  background:#15191F;
  color:var(--ink);
}
.ms-field input:focus,
.ms-field textarea:focus,
.ms-field select:focus{
  outline:none;
  border-color:var(--bronze);
  background:rgba(184,136,42,0.05);
  box-shadow:0 0 0 3px rgba(184,136,42,0.10);
}
.ms-field input.is-invalid,
.ms-field textarea.is-invalid,
.ms-field select.is-invalid,
.ms-consent input.is-invalid{
  border-color:#C44A2C;
  background:rgba(196,74,44,0.06);
}
.ms-field textarea{resize:vertical;min-height:130px;}

/* Autofill: Browser-Default (gelb/weiß) überschreiben — dark bleiben */
.ms-field input:-webkit-autofill,
.ms-field input:-webkit-autofill:hover,
.ms-field input:-webkit-autofill:focus,
.ms-field input:-webkit-autofill:active,
.ms-field textarea:-webkit-autofill,
.ms-field textarea:-webkit-autofill:hover,
.ms-field textarea:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--ink) !important;
  -webkit-box-shadow:0 0 0 1000px #1a1f26 inset !important;
  box-shadow:0 0 0 1000px #1a1f26 inset !important;
  caret-color:var(--ink);
  transition:background-color 5000s ease-in-out 0s;
  border:1px solid var(--bronze-light) !important;
}
/* Firefox autofill */
.ms-field input:autofill,
.ms-field textarea:autofill{
  background:#1a1f26 !important;
  color:var(--ink) !important;
}

/* Radio Cards */
.ms-radio-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0.6rem;
  margin-bottom:0.4rem;
}
@media(max-width:540px){.ms-radio-grid{grid-template-columns:1fr;gap:0.5rem;}}

.ms-radio{
  position:relative;
  display:block;
  cursor:pointer;
}
.ms-radio input[type="radio"]{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.ms-radio-card{
  display:block;
  padding:0.7rem 0.95rem;
  background:rgba(255,255,255,0.03);
  border:1px solid var(--line);
  border-radius:var(--r);
  transition:background .25s,border-color .25s,transform .25s,box-shadow .25s;
}
.ms-radio:hover .ms-radio-card{
  border-color:rgba(184,136,42,0.32);
  background:rgba(184,136,42,0.05);
}
.ms-radio input:checked + .ms-radio-card{
  border-color:var(--bronze);
  background:rgba(184,136,42,0.10);
  box-shadow:0 0 0 1px var(--bronze),0 8px 20px rgba(184,136,42,0.18);
}
.ms-radio-card strong{
  display:block;
  font-family:var(--sans);
  font-weight:600;
  font-size:14px;
  color:var(--ink);
  margin-bottom:1px;
  line-height:1.3;
}
.ms-radio-card span{
  font-family:var(--sans);
  font-size:12.5px;
  color:var(--ink-3);
  line-height:1.35;
}

/* Consent */
.ms-consent{
  display:flex;
  gap:0.8rem;
  align-items:flex-start;
  font-size:14px;
  color:var(--ink-2);
  line-height:1.55;
  padding:1rem 1.15rem;
  background:rgba(255,255,255,0.03);
  border:1px solid var(--line);
  border-radius:var(--r);
  margin-top:1rem;
}
.ms-consent input[type="checkbox"]{
  flex-shrink:0;
  margin-top:3px;
  width:18px;
  height:18px;
  accent-color:var(--bronze);
}
.ms-consent a{
  color:var(--bronze-light);
  text-decoration:underline;
  text-underline-offset:2px;
}

/* Action Bar */
.ms-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  margin-top:2.2rem;
  padding-top:1.8rem;
  border-top:1px solid var(--line);
}
@media(max-width:480px){
  .ms-actions{flex-direction:column-reverse;}
  .ms-actions > *{width:100%;justify-content:center;}
}

.ms-footer{
  text-align:center;
  font-size:13px;
  color:var(--ink-3);
  margin:1.4rem 0 0;
}


/* ════════════════════════════════════════════════════════════════════
   MOBILE POLISH
   ════════════════════════════════════════════════════════════════════ */

@media(max-width:768px){
  .hero{
    padding:5rem 1.5rem 3rem;
    min-height:calc(100vh - 72px);
    min-height:calc(100dvh - 72px);
  }
  /* HEADLINES, TITEL & TEXTE: linksbündig (außer Buttons) */
  .hero h1{margin-bottom:1rem;text-align:left;}
  .section-head{margin-bottom:2rem;text-align:left;}
  .section-head h2{text-align:left;}
  .differenz-text h2{text-align:left;}
  .final-cta-card h2{text-align:left;}
  .fit-section h2{text-align:left;}
  .quote-section h2{text-align:left;}
  .hero-lead{font-size:1rem;line-height:1.55;text-align:left;}
  .section-lead{margin-left:0;margin-right:0;text-align:left;max-width:100%;}
  .final-cta-lead{text-align:left;}
  .hero-inner{text-align:left;}
  .hero-trust{align-items:flex-start;}
  .hero-checks{margin-left:0;margin-right:0;}
  /* Buttons in linksbündigen Mobile-Sektionen bleiben zentriert */
  .hero-inner > .btn,
  .hero-inner > .btn-lg,
  .hero-inner > a.btn,
  .hero-inner > a.btn-lg{
    display:flex;
    width:fit-content;
    margin-left:auto;
    margin-right:auto;
    margin-top:1.5rem;
  }
  .section{padding:5.5rem 1.5rem 4rem;}
  .container{padding:0;}
  .eyebrow{font-size:11px;padding:6px 14px;}
  /* CARDS: mehr Glow & Tiefe damit Anfang/Ende klar werden */
  .card,
  .module-item,
  .team-card,
  .foer-card,
  .fit-col,
  .process-card{
    box-shadow:
      0 6px 24px rgba(0,0,0,0.55),
      0 1px 0 rgba(245,228,154,0.08) inset,
      0 0 0 1px rgba(245,228,154,0.05),
      0 -1px 32px rgba(184,136,42,0.08) inset !important;
  }
  .card{padding:var(--card-pad-y-mobile) var(--card-pad-x-mobile);}
  .card-body{padding:var(--card-pad-y-mobile) var(--card-pad-x-mobile);}
  .module-item summary{padding:1.4rem 1.5rem;font-size:16px;gap:0.85rem;}
  .module-item[open] .module-body{padding:0 1.5rem 1.6rem;padding-top:1rem;}
  .module-num{width:36px;height:36px;font-size:13px;}
  .module-item summary::after{font-size:24px;}
  .faq-item{padding:1.5rem 0.4rem;}
  .faq-item summary{font-size:15.5px;padding-right:1.5rem;}
  .faq-item-body{padding:0.6rem 0 0.25rem;}
  .step-item{padding:1.5rem 1.5rem;gap:1rem;}
  .process-card{padding:0;}
  /* TEAM-CARD: durchgehend linksbündig mit ordentlichem Innenraum */
  .team-card{padding:1.5rem 1.5rem 2rem;text-align:left;align-items:stretch;}
  .team-info{text-align:left;padding:0;}
  .team-photo{margin:0 auto;max-width:100%;}
  /* COACH-TEAM Lead: nicht in die Bio reinrutschen */
  .team-intro{margin-top:1.5rem;margin-bottom:2rem;text-align:left;max-width:100%;}
  .section-head + .team-intro{margin-top:1.5rem;}
  /* Lead-Bereiche der Sektionen: alle linksbündig auf Mobile */
  .foer-text{text-align:left;margin-left:0;margin-right:0;max-width:100%;}
  .foer-text p{text-align:left;}
  .foer-card{padding:2rem 1.5rem;}
  .quote-inner{padding:2rem 1.5rem;}
  .process-icon{justify-content:flex-start;padding:1.6rem 1.5rem 0.25rem;}
  .process-icon::before{left:75px;}
  .process-body{padding:1rem 1.5rem 1.5rem;}
  .footer-inner{padding:3rem 1.5rem 2rem;}
  .legal-text{font-size:15px;}
  .legal-text h2{font-size:1.3rem;margin:2.4rem 0 1rem;}
  .legal-text h3{font-size:1.05rem;margin:1.6rem 0 0.6rem;}
  .btn,.btn-lg{padding:14px 26px;font-size:14.5px;}
  .header-cta{padding:10px 18px;font-size:14px;}
  .header-inner{padding:0 1.25rem;}
  /* FIT-SEKTION cards */
  .fit-col{padding:2rem 1.5rem;}
  /* LP-Guides Teil-Cards */
  .lp-guide-card{padding:2rem 1.5rem;}
  /* DIFFERENZ-Headline: handhabbare Größe damit nicht zu viele Umbrüche */
  .differenz-text h2{
    font-size:clamp(2rem,6vw,2.7rem);
    line-height:1.2;
    text-wrap:balance;
  }
  .differenz-text{padding-bottom:2.5rem;padding-left:0.25rem;padding-right:0.25rem;}
  .differenz-text p{line-height:1.75;}
}

@media(max-width:540px){
  .hero{
    padding:4rem 1.25rem 2.5rem;
    min-height:calc(100vh - 64px);
    min-height:calc(100dvh - 64px);
  }
  .section{padding:4.5rem 1.25rem 3.5rem;}
  .footer-inner{padding:2.5rem 1.25rem 1.5rem;}
  .header-inner{padding:0 1.25rem;height:64px;}
  .logo-shield{width:48px;height:58px;}
  .logo-word{font-size:0.95rem;}
  .logo-tag{font-size:0.55rem;letter-spacing:0.18em;}
  .hero h1{line-height:1.1;}
  .hero-lead{font-size:0.95rem;}
  .eyebrow{font-size:10px;padding:5px 12px;letter-spacing:0.15em;}
  .step-num{width:42px;height:42px;font-size:17px;}
  .module-num{width:34px;height:34px;font-size:12.5px;}
  .module-item summary{padding:0.85rem 0.95rem;font-size:15px;gap:0.7rem;}
}

/* Lange E-Mail-Adressen umbrechen */
.footer-col a{word-break:break-word;hyphens:auto;}

/* Sichtbarkeit der CTA-Buttons auf Mobile */
@media(max-width:540px){
  .header-cta-text{display:none;}
  .header-cta-mobile{display:inline;}
}
.header-cta-mobile{display:none;}


/* ════════════════════════════════════════════════════════════════════
   MINIMALER HEADER (LP-Seiten, Danke-Seiten)
   ════════════════════════════════════════════════════════════════════ */
.site-header-minimal .header-nav,
.site-header-minimal .header-nav-links{display:none;}

/* Zentriertes Logo (Freischalten + Danke-Seiten) */
.site-header-centered .header-inner{
  justify-content:center;
}
.site-header-centered .logo{
  margin:0 auto;
}
.site-header-centered .mobile-menu-toggle{
  position:absolute;
  right:1.5rem;
  top:50%;
  transform:translateY(-50%);
}

.header-back-link{
  font-family:var(--sans);
  font-size:14px;
  font-weight:500;
  color:var(--bronze-light);
  text-decoration:none;
  letter-spacing:0.01em;
  padding:8px 16px;
  border-radius:var(--r-full);
  border:1px solid rgba(184,136,42,0.30);
  background:rgba(184,136,42,0.05);
  transition:background .25s,border-color .25s,color .25s,transform .25s;
}
.header-back-link:hover{
  background:rgba(184,136,42,0.14);
  border-color:rgba(184,136,42,0.55);
  color:var(--bronze-shine);
  transform:translateX(-2px);
}


/* ════════════════════════════════════════════════════════════════════
   FORM SUCCESS & ERROR
   ════════════════════════════════════════════════════════════════════ */
.ms-success{
  background:linear-gradient(var(--bg-card),var(--bg-card)) padding-box,
             var(--card-border-grad) border-box;
  border:1px solid transparent;
  border-radius:var(--r-lg);
  padding:3rem 2.5rem;
  text-align:center;
  animation:msStepIn .5s cubic-bezier(.16,1,.3,1);
  scroll-margin-top:120px;
  scroll-margin-bottom:40px;
}
.ms-success-check{
  width:64px;
  height:64px;
  border-radius:50%;
  background:rgba(184,136,42,0.15);
  border:1px solid rgba(184,136,42,0.40);
  color:var(--bronze-light);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:1.5rem;
}
.ms-success-check svg{width:30px;height:30px;}
.ms-success h2{
  font-family:var(--sans);
  font-size:1.8rem;
  font-weight:700;
  letter-spacing:-0.02em;
  margin:0 0 1rem;
  color:var(--ink);
}
.ms-success p{
  font-size:15px;
  color:var(--ink-2);
  line-height:1.65;
  max-width:480px;
  margin:0 auto;
}
.ms-error{
  background:rgba(196,74,44,0.10);
  border:1px solid rgba(196,74,44,0.40);
  border-radius:var(--r);
  padding:1.2rem 1.4rem;
  color:#F5C2B0;
  font-size:14.5px;
  line-height:1.55;
  margin-bottom:1.5rem;
}


/* ════════════════════════════════════════════════════════════════════
   HERO CHECKS — saubere Bullets als Grid
   ════════════════════════════════════════════════════════════════════ */
.hero-checks{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:1.5rem 2.5rem;
  margin:2rem 0 2.5rem;
  padding:0;
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
.hero-checks li{
  display:flex;
  align-items:center;
  gap:0.65rem;
  font-family:var(--sans);
  font-size:15px;
  font-weight:500;
  color:var(--ink-2);
  letter-spacing:0.005em;
}
.hero-check-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:var(--bronze-grad-button);
  color:#1F1608;
  font-size:14px;
  font-weight:800;
  flex-shrink:0;
  box-shadow:0 4px 10px rgba(184,136,42,0.30);
}
@media(max-width:600px){
  .hero-checks{
    flex-direction:column;
    align-items:flex-start;
    gap:0.85rem;
    padding-left:0.5rem;
  }
  .hero-checks li{font-size:14px;}
}


/* ════════════════════════════════════════════════════════════════════
   DIFFERENZ-SEKTION (Selbstständig vs. Unternehmer)
   Text links, Bild rechts — Bild ist unten-bündig zur Sektion fixiert,
   Sektion hat kein padding-bottom damit das Bild bis zum Rand reicht.
   ════════════════════════════════════════════════════════════════════ */
.section-differenz{
  padding-bottom:0;
  overflow:hidden;
  position:relative;
}
.section-differenz .container-narrow{
  max-width:1200px;
  margin:0 auto;
  padding:0 1.5rem;
}
.differenz-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3rem;
  align-items:end;  /* WICHTIG: Bild ist bottom-aligned */
  min-height:520px;
}
.differenz-text{
  padding-bottom:5rem;  /* Text-Spalte hat Abstand nach unten,
                          das Bild geht aber bis zum Rand */
}
.differenz-text h2{
  margin:0 0 1.5rem;
  max-width:560px;
}
.differenz-text p{
  color:var(--ink-2);
  font-size:1.05rem;
  line-height:1.7;
  margin:0 0 1rem;
  max-width:560px;
}
.differenz-text p strong{color:var(--ink);}
.differenz-image{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  height:100%;
}
.differenz-image img{
  max-width:520px;
  width:100%;
  height:auto;
  display:block;
  margin:0 auto;
  filter:drop-shadow(0 20px 50px rgba(184,136,42,0.18));
}
@media(max-width:900px){
  .differenz-grid{
    grid-template-columns:1fr;
    gap:1.5rem;
    min-height:auto;
  }
  .differenz-text{
    padding-bottom:1rem;
    text-align:left;
    order:2;
  }
  .differenz-image{order:1;}
  .differenz-text h2,
  .differenz-text p{margin-left:0;margin-right:0;text-align:left;}
  .differenz-image img{max-width:420px;}
}


/* ════════════════════════════════════════════════════════════════════
   FOOTER — refined (3 Spalten statt 4, CTA in Brand-Spalte)
   ════════════════════════════════════════════════════════════════════ */
.site-footer .footer-grid{
  grid-template-columns:1.6fr 1fr 1fr;
}
.footer-brand-col .footer-tagline{
  font-size:14px;
  color:var(--ink-3);
  margin:1rem 0 1.5rem;
  max-width:340px;
  line-height:1.6;
}
.footer-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 20px;
  border-radius:var(--r-full);
  border:1px solid rgba(184,136,42,0.45);
  background:rgba(184,136,42,0.06);
  color:var(--bronze-light);
  font-family:var(--sans);
  font-size:13.5px;
  font-weight:600;
  letter-spacing:0.01em;
  text-decoration:none;
  transition:background .25s,border-color .25s,color .25s,transform .25s;
}
.footer-cta:hover{
  background:var(--bronze-grad-button);
  border-color:transparent;
  color:#1F1608;
  transform:translateY(-1px);
}
.footer-bottom{
  padding-top:1.5rem;
  margin-top:2.5rem;
}
.footer-copy{
  font-size:12.5px;
  color:var(--ink-3);
  letter-spacing:0.01em;
  text-align:center;
}
.footer-disclaimer{display:none;} /* alter Facebook-Disclaimer raus */

@media(max-width:780px){
  .site-footer .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:2.5rem 2rem;
  }
  .footer-brand-col{grid-column:1 / -1;}
}
@media(max-width:480px){
  .site-footer .footer-grid{grid-template-columns:1fr;}
}


/* ════════════════════════════════════════════════════════════════════
   FOER-CARDS-3 — Drei Kacheln nebeneinander (AVGS / BAFA / Selbstzahler)
   ════════════════════════════════════════════════════════════════════ */
.foer-cards-3{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:1.5rem;
  align-items:stretch;          /* Alle Karten gleich hoch (vom Grid gesteuert) */
  max-width:1240px;
  margin-left:auto;
  margin-right:auto;
}
.foer-cards-3 .foer-card{
  display:flex;
  flex-direction:column;
  padding:2rem 1.75rem;
}
.foer-cards-3 .foer-card h3{
  font-size:1.25rem;
  margin:0 0 1rem;
}
.foer-cards-3 .foer-card > p{
  margin:0 0 .9rem;
}
.foer-cards-3 .foer-card .foer-list-block{
  margin-top:1.4rem;            /* fester Abstand zum Hauptparagraph */
  padding-top:1.4rem;
  border-top:1px solid rgba(245,228,154,0.08);  /* dezenter Bronze-Trenner */
}
.foer-cards-3 .foer-card .foer-subhead{
  font-weight:600;
  color:var(--ink);
  margin:0 0 .7rem;
  font-size:15px;
}
.foer-cards-3 .foer-card .foer-list-block ul{
  margin:0;
}
.foer-cards-3 .foer-card .foer-list-block ul li{
  padding:.35rem 0 .35rem 1.4rem;
}
@media(max-width:1100px){
  .foer-cards-3{grid-template-columns:1fr 1fr;}
}
@media(max-width:680px){
  .foer-cards-3{grid-template-columns:1fr;}
}


/* ════════════════════════════════════════════════════════════════════
   MOBILE MENU — Burger + Fullscreen-Overlay
   ════════════════════════════════════════════════════════════════════ */

/* BURGER ICON — nur auf Mobile sichtbar */
.mobile-menu-toggle{
  display:none;
  position:relative;
  width:42px;
  height:42px;
  background:transparent;
  border:1px solid rgba(184,136,42,0.30);
  border-radius:10px;
  cursor:pointer;
  padding:0;
  flex-shrink:0;
  transition:border-color .25s,background .25s;
}
.mobile-menu-toggle:hover{
  border-color:rgba(184,136,42,0.55);
  background:rgba(184,136,42,0.05);
}
.mobile-menu-bar{
  position:absolute;
  left:9px;
  width:22px;
  height:1.8px;
  background:var(--bronze-light);
  border-radius:2px;
  transition:transform .35s cubic-bezier(.7,0,.3,1),opacity .25s,top .35s;
}
.mobile-menu-bar:nth-child(1){top:13px;}
.mobile-menu-bar:nth-child(2){top:20px;}
.mobile-menu-bar:nth-child(3){top:27px;}
/* X-Animation wenn offen */
.mobile-menu-toggle.is-open .mobile-menu-bar:nth-child(1){
  top:20px;transform:rotate(45deg);
}
.mobile-menu-toggle.is-open .mobile-menu-bar:nth-child(2){
  opacity:0;
}
.mobile-menu-toggle.is-open .mobile-menu-bar:nth-child(3){
  top:20px;transform:rotate(-45deg);
}

/* MOBILE MENU OVERLAY — startet UNTERHALB des Site-Headers,
   damit Logo & Sandwich-Icon des Site-Headers immer sichtbar bleiben.
   Site-Header behält seinen Sticky-Status und überlagert das Menu. */
.mobile-menu{
  position:fixed;
  top:84px;
  left:0;
  right:0;
  bottom:0;
  z-index:99;        /* unter dem site-header (z:100) */
  background:radial-gradient(ellipse at top right,#1F1A12 0%,#0F1216 55%,#0A0C10 100%);
  display:flex;
  flex-direction:column;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .35s cubic-bezier(.16,1,.3,1),visibility .35s;
}
@media(max-width:880px){
  .mobile-menu{top:72px;}
}
@media(max-width:540px){
  .mobile-menu{top:64px;}
}
.mobile-menu.active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.mobile-menu-inner{
  display:flex;
  flex-direction:column;
  height:100%;
  width:100%;
  max-width:none;
  margin:0;
  padding:1rem 1.5rem 1rem;
}
/* menu-head wird komplett ausgeblendet — Site-Header übernimmt diese Rolle */
.mobile-menu-head{display:none;}
.mobile-menu-head .logo{
  display:flex;align-items:center;gap:.85rem;
  text-decoration:none;color:inherit;
}
/* Logo im Menu-Head matched exakt das Header-Logo (gleiche Größen pro Breakpoint) */
.mobile-menu-head .logo-shield{width:60px;height:72px;}
/* Keine Stamp-In-Animation beim Menüöffnen — Logo soll fix sichtbar sein */
.mobile-menu-head .logo-shield .shield-body{
  animation:shieldFloat 6s ease-in-out infinite;
  transform:scale(1);
  opacity:1;
}
.mobile-menu-head .logo-shield .shield-letter{
  animation:none;
  opacity:1;
}
.mobile-menu-head .logo-shield .shield-sheen{
  animation:sheenSweep 4.5s ease-in-out 2s infinite;
}
.mobile-menu-head .logo-word{font-weight:800;font-size:1.05rem;color:#fff;letter-spacing:-0.005em;}
.mobile-menu-head .logo-tag{
  font-weight:500;font-size:0.68rem;letter-spacing:0.22em;
  text-transform:uppercase;
  background:var(--bronze-grad);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  margin-top:3px;
}
/* Bei <768px Padding auf 1.25rem damit Menu-Inner exakt Site-Header matched */
@media(max-width:768px){
  .mobile-menu-inner{padding:1rem 1.25rem 1rem;}
}
.mobile-menu-close{
  width:42px;height:42px;
  background:transparent;
  border:1px solid rgba(184,136,42,0.30);
  border-radius:10px;
  color:var(--bronze-light);
  cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  flex-shrink:0;
  transition:border-color .25s,background .25s;
}
.mobile-menu-close:hover{
  border-color:rgba(184,136,42,0.55);
  background:rgba(184,136,42,0.05);
}
.mobile-menu-close svg{width:22px;height:22px;}

/* Navigation */
.mobile-menu-nav{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
}
.mobile-menu-nav ul{
  list-style:none;
  padding:0;
  margin:0;
  width:100%;
  display:flex;
  flex-direction:column;
  gap:0;
}
.mobile-menu-nav li{
  opacity:0;
  transform:translateY(8px);
  transition:opacity .4s ease,transform .4s cubic-bezier(.16,1,.3,1);
  text-align:center;
  border-bottom:1px solid rgba(245,228,154,0.07);
}
.mobile-menu-nav li:last-of-type{border-bottom:none;}
.mobile-menu.active .mobile-menu-nav li{
  opacity:1;
  transform:translateY(0);
}
.mobile-menu.active .mobile-menu-nav li:nth-child(1){transition-delay:.10s;}
.mobile-menu.active .mobile-menu-nav li:nth-child(2){transition-delay:.16s;}
.mobile-menu.active .mobile-menu-nav li:nth-child(3){transition-delay:.22s;}
.mobile-menu.active .mobile-menu-nav li:nth-child(4){transition-delay:.28s;}
.mobile-menu.active .mobile-menu-nav li:nth-child(5){transition-delay:.34s;}
.mobile-menu.active .mobile-menu-nav li:nth-child(6){transition-delay:.40s;}
.mobile-menu-nav a{
  display:block;
  padding:0.45rem 0;
  font-family:var(--sans);
  font-size:1rem;
  font-weight:600;
  line-height:1.2;
  letter-spacing:-0.005em;
  color:var(--ink);
  text-decoration:none;
  transition:color .25s;
}
.mobile-menu-nav a:hover,
.mobile-menu-nav a:active{
  color:var(--bronze-light);
}

/* Language-Toggle über dem CTA */
.mobile-menu-lang{
  display:flex;
  justify-content:center;
  padding:0.5rem 0 0.75rem;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .5s ease .35s,transform .5s cubic-bezier(.16,1,.3,1) .35s;
}
.mobile-menu.active .mobile-menu-lang{opacity:1;transform:translateY(0);}
/* === LANG-TOGGLE — edel, modern, mit Slide-Indicator === */
.lang-toggle{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:0;
  padding:3px;
  border-radius:var(--r-full);
  background:linear-gradient(180deg,rgba(15,18,22,0.65),rgba(10,12,16,0.65));
  backdrop-filter:blur(10px) saturate(140%);
  -webkit-backdrop-filter:blur(10px) saturate(140%);
  border:1px solid rgba(245,228,154,0.18);
  box-shadow:
    inset 0 1px 0 rgba(245,228,154,0.08),
    0 0 0 1px rgba(0,0,0,0.30),
    0 4px 18px rgba(0,0,0,0.35);
  isolation:isolate; /* Slide-Indicator bleibt innerhalb */
}
/* Der gleitende Bronze-Indicator hinter den Buttons */
.lang-toggle::before{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:calc(50% - 3px);
  height:calc(100% - 6px);
  border-radius:var(--r-full);
  background:linear-gradient(135deg,#F8E89C 0%,#E8C766 38%,#D4A84B 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.45),
    inset 0 -1px 0 rgba(0,0,0,0.20),
    0 2px 10px rgba(184,136,42,0.45);
  transition:transform .42s cubic-bezier(.4,.0,.2,1),background .3s;
  z-index:0;
  pointer-events:none;
}
/* Indicator nach rechts wenn EN aktiv */
.lang-toggle:has(.lang-btn[data-lang="en"].active)::before{
  transform:translateX(calc(100% + 0px));
}
.lang-toggle button{
  position:relative;
  z-index:1;
  appearance:none;
  border:none;
  background:transparent;
  color:rgba(244,236,204,0.55);
  font-family:var(--sans);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:0.14em;
  padding:6px 16px;
  border-radius:var(--r-full);
  cursor:pointer;
  transition:color .35s ease;
  min-width:42px;
  text-align:center;
}
.lang-toggle button:hover{
  color:rgba(244,236,204,0.85);
}
.lang-toggle button.active{
  color:#1F1608;
  text-shadow:0 1px 0 rgba(255,255,255,0.18);
}

/* CTA */
.mobile-menu-cta{
  padding:0 0 0.75rem;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .5s ease .4s,transform .5s cubic-bezier(.16,1,.3,1) .4s;
}
.mobile-menu.active .mobile-menu-cta{
  opacity:1;transform:translateY(0);
}
.btn-mobile-cta{
  width:100%;
  justify-content:center;
}

/* Legal Links — als kleine Links unter Button */
.mobile-menu-legal{
  text-align:center;
  padding-top:0.25rem;
  padding-bottom:0.5rem;
  font-size:13px;
  color:var(--ink-3);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0.85rem;
  opacity:0;
  transition:opacity .5s ease .55s;
}
.mobile-menu.active .mobile-menu-legal{opacity:1;}
.mobile-menu-legal > span{
  color:rgba(255,255,255,0.18);
}
.mobile-menu-legal a{
  color:var(--ink-3);
  text-decoration:none;
  transition:color .25s;
}
.mobile-menu-legal a:hover{color:var(--bronze-light);}

/* RESPONSIVE — Burger nur auf Mobile sichtbar, Desktop-Nav versteckt */
@media(max-width:900px){
  .mobile-menu-toggle{display:block;}
  .header-nav{display:none;}
  /* Auf minimalem Header bleibt der Back-Link bestehen, aber Burger taucht zusätzlich auf */
  .site-header-minimal .header-back-link{display:none;}
}
@media(min-width:901px){
  .mobile-menu{display:none !important;}
}


/* ════════════════════════════════════════════════════════════════════
   SPRUNGMARKEN-OFFSET — Section-Top am Viewport-Top, der Sticky-Header
   (84px) überdeckt das obere Section-Padding (96px) ohnehin, sodass
   der Title direkt unter dem Header sichtbar wird.
   ════════════════════════════════════════════════════════════════════ */
html{scroll-behavior:smooth;}
section[id]{scroll-margin-top:96px;}
/* Auf Mobile: Header ist nur 64px, scroll-margin entsprechend kleiner */
@media(max-width:900px){
  section[id]{scroll-margin-top:76px;}
}
.section-head[id]{
  scroll-margin-top:96px;
}
@media(max-width:900px){
  .section-head[id]{scroll-margin-top:76px;}
}

/* ════════════════════════════════════════════════════════════════════
   ZURÜCK-BUTTON für Impressum / Datenschutz — eigene Bar oberhalb der
   Hero-Sektion, links bündig (nicht zentriert).
   ════════════════════════════════════════════════════════════════════ */
.page-back-bar{
  max-width:1180px;
  margin:0 auto;
  padding:2rem 1.5rem 0;
}
.page-back-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--sans);
  font-size:13.5px;
  font-weight:500;
  color:var(--ink-2);
  text-decoration:none;
  letter-spacing:0.01em;
  padding:6px 14px;
  border-radius:var(--r-full);
  border:1px solid rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.02);
  transition:background .25s,border-color .25s,color .25s,transform .25s;
}
.page-back-link:hover{
  background:rgba(184,136,42,0.08);
  border-color:rgba(184,136,42,0.45);
  color:var(--bronze-light);
  transform:translateX(-2px);
}


/* ════════════════════════════════════════════════════════════════════
   TEAM-GRID-3 — drei Coach-Cards
   ════════════════════════════════════════════════════════════════════ */
.team-grid-3{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:1.5rem;
}
@media(max-width:1100px){
  .team-grid-3{grid-template-columns:1fr 1fr;}
}
@media(max-width:680px){
  .team-grid-3{grid-template-columns:1fr;}
}
/* In 3-Spalten-Layout etwas kompakter */
.team-grid-3 .team-card{padding:1rem 1rem 1.8rem;}
.team-grid-3 .team-photo{max-width:100%;}
.team-grid-3 .team-name{font-size:20px;}
.team-grid-3 .team-role{font-size:10.5px;}


/* ════════════════════════════════════════════════════════════════════
   FORM FIELD LIVE-VALIDATION STATES
   ════════════════════════════════════════════════════════════════════ */
.ms-form input.is-valid,
.ms-form textarea.is-valid,
.ms-form select.is-valid{
  border-color:rgba(184,136,42,0.55);
  background:rgba(184,136,42,0.03);
}
.ms-form input.is-invalid,
.ms-form textarea.is-invalid,
.ms-form select.is-invalid{
  border-color:rgba(196,74,44,0.65);
  background:rgba(196,74,44,0.05);
}
.ms-field-error{
  font-size:12.5px;
  color:#F5A99A;
  margin-top:6px;
  letter-spacing:0.01em;
  animation:msFieldErrorIn .2s ease-out;
}
@keyframes msFieldErrorIn{
  from{opacity:0;transform:translateY(-2px);}
  to{opacity:1;transform:translateY(0);}
}

/* ════════════════════════════════════════════════════════════════════
   LP QUICK GUIDES — Mockup-Liste (5 Karten, side-by-side, abwechselnd)
   ════════════════════════════════════════════════════════════════════ */
.guide-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2rem;
  max-width:1100px;
  margin:0 auto;
}
.guide-item{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:1.5rem;
  padding:2rem 1.75rem;
  background:
    linear-gradient(var(--bg-card),var(--bg-card)) padding-box,
    var(--card-border-grad) border-box;
  border:1px solid transparent;
  border-radius:var(--r-lg);
  transition:transform .35s,background .35s,box-shadow .35s;
}
/* .reverse-Klasse hat im Grid keinen Effekt mehr — alle Karten sind gleich aufgebaut */
.guide-item.reverse{
  flex-direction:column;
}
.guide-item:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow);
  background:
    linear-gradient(var(--bg-card-h),var(--bg-card-h)) padding-box,
    var(--card-border-grad-hover) border-box;
}
.guide-item.reverse .guide-cover{order:0;}
.guide-item.reverse .guide-body{order:1;}
.guide-cover{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0.5rem 0;
}
.guide-cover img{
  width:auto;
  max-width:170px;
  height:auto;
  display:block;
  filter:drop-shadow(0 18px 40px rgba(0,0,0,0.55)) drop-shadow(0 0 18px rgba(201,152,53,0.16));
  transition:transform .5s cubic-bezier(.16,1,.3,1);
}
.guide-item:hover .guide-cover img{
  transform:translateY(-3px) scale(1.02);
}
.guide-body{
  min-width:0;
  width:100%;
}
.guide-num{
  display:inline-block;
  padding:5px 12px;
  background:
    linear-gradient(180deg,rgba(28,24,18,0.85),rgba(20,17,13,0.85)) padding-box,
    linear-gradient(135deg,rgba(251,239,180,0.55) 0%,rgba(225,184,90,0.22) 40%,rgba(168,121,40,0.10) 70%,rgba(251,239,180,0.40) 100%) border-box;
  border:1px solid transparent;
  color:var(--bronze-glow);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:0.18em;
  text-transform:uppercase;
  border-radius:var(--r-full);
  margin-bottom:0.85rem;
  box-shadow:inset 0 1px 0 rgba(251,239,180,0.12),0 1px 6px rgba(0,0,0,0.35);
  text-shadow:0 1px 0 rgba(0,0,0,0.40);
}
.guide-body h2{
  font-weight:700;
  font-size:1.35rem;
  line-height:1.25;
  letter-spacing:-0.015em;
  margin:0 0 0.85rem;
}
.guide-body p{
  font-size:14.5px;
  color:var(--ink-2);
  line-height:1.65;
  margin:0;
}
@media(max-width:768px){
  .guide-list{
    grid-template-columns:1fr;
    gap:1.5rem;
  }
  .guide-item,
  .guide-item.reverse{
    padding:1.75rem 1.4rem;
    gap:1.25rem;
  }
  .guide-cover img{max-width:200px;}
  .guide-body h2{font-size:1.3rem;}
  .guide-body p{font-size:14.5px;}
}

/* ════════════════════════════════════════════════════════════════════
   LANG-TOGGLE — Desktop-Variante im Header
   ════════════════════════════════════════════════════════════════════ */
.lang-toggle-desktop{
  display:inline-flex;
  padding:3px;
  margin-right:8px;
  align-self:center;
}
.lang-toggle-desktop button{
  font-size:11.5px;
  padding:5px 11px;
  letter-spacing:0.08em;
}
@media(max-width:900px){
  .lang-toggle-desktop{display:none;}
}
