/* ============================================================
   alexanderamann.de · Design-System (abgeleitet von der
   Akademie-Landingpage, ruhiger und geschäftlicher gesetzt)
   ============================================================ */
:root{
  --ink:#3D3D3D;
  --ink-soft:#5A6478;
  --blue:#4E86F1;
  --blue-deep:#2F63C9;
  --blue-ink:#1A3A7A;
  --blue-tint:#E3EDFD;
  --cream:#FBF3E8;
  --cream-deep:#F4E6D2;
  --peach:#FEDCA3;
  --peach-deep:#F0A94E;
  --green:#EAEECD;
  --green-deep:#C5D27E;
  --white:#FFFFFF;
  --line:rgba(27,40,56,.10);
  --shadow:0 24px 60px -24px rgba(27,40,56,.35);
  --shadow-soft:0 10px 30px -12px rgba(27,40,56,.22);

  --display:"Bebas Neue","Oswald","Arial Narrow",Impact,sans-serif;
  --body:"Montserrat","Segoe UI",Helvetica,Arial,sans-serif;

  --container:1140px;
  --gutter:clamp(20px,4vw,40px);
  --radius:22px;
  --radius-sm:14px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;
  font-family:var(--body);
  font-size:17px;
  line-height:1.65;
  color:var(--ink);
  background:var(--white);
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue-deep)}
h1,h2,h3,h4{margin:0;text-wrap:balance}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--white);padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}

.container{width:min(var(--container),100% - 2*var(--gutter));margin-inline:auto}
.section{padding-block:clamp(64px,9vw,120px)}
.section--tight{padding-block:clamp(44px,6vw,72px)}
.bg-cream{background:var(--cream)}
.bg-blue{background:linear-gradient(135deg,var(--blue) 0%,var(--blue-deep) 100%);color:var(--white)}
.bg-ink{background:var(--blue-ink);color:var(--white)}

/* ---------- Typo ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--blue-deep);
}
.eyebrow::before{content:"";width:28px;height:3px;background:var(--peach-deep);border-radius:2px;flex:none}
.bg-blue .eyebrow,.bg-ink .eyebrow{color:var(--peach)}
.h-display{
  font-family:var(--display);
  font-weight:700;
  font-synthesis:none;
  letter-spacing:.01em;
  line-height:.95;
  text-transform:uppercase;
  overflow-wrap:anywhere;
  hyphens:auto;-webkit-hyphens:auto;
}
h1.h-display{font-size:clamp(46px,7.2vw,92px);color:var(--blue)}
h2.h-display{font-size:clamp(38px,5.4vw,64px);color:var(--ink)}
.bg-blue h2.h-display,.bg-ink h2.h-display{color:var(--white)}
.h-display em{font-style:normal;color:var(--blue)}
.bg-blue .h-display em,.bg-ink .h-display em{color:var(--peach)}
.lead{font-size:clamp(18px,2vw,21px);line-height:1.55;color:var(--ink-soft);max-width:62ch}
.bg-blue .lead,.bg-ink .lead{color:rgba(255,255,255,.88)}
.section-head{display:grid;gap:18px;max-width:780px;margin-bottom:clamp(36px,5vw,64px)}
.section-head--center{margin-inline:auto;text-align:center;justify-items:center}
.prose p+p{margin-top:1em}
.prose p{color:var(--ink-soft)}
.prose strong{color:var(--ink)}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:56px;padding:0 28px;border-radius:999px;
  font-weight:700;font-size:16.5px;text-decoration:none;
  border:2px solid transparent;cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn svg{width:20px;height:20px;flex:none}
.btn--primary{background:var(--blue);color:var(--white);box-shadow:0 14px 30px -12px rgba(78,134,241,.7)}
.btn--primary:hover{background:var(--blue-deep);box-shadow:0 18px 34px -12px rgba(47,99,201,.8)}
.btn--primary svg{transition:transform .18s ease}
.btn--primary:hover svg{transform:translateX(3px)}
.btn--ghost{background:transparent;color:var(--ink);border-color:rgba(27,40,56,.25)}
.btn--ghost:hover{border-color:var(--ink);background:rgba(27,40,56,.04)}
.btn--peach{background:var(--peach);color:var(--ink);box-shadow:0 14px 30px -12px rgba(0,0,0,.35)}
.btn--peach:hover{background:var(--white)}
.bg-blue .btn--primary,.bg-ink .btn--primary{background:var(--peach);color:var(--ink);box-shadow:0 14px 30px -12px rgba(0,0,0,.45)}
.bg-blue .btn--primary:hover,.bg-ink .btn--primary:hover{background:var(--white)}
.bg-blue .btn--ghost,.bg-ink .btn--ghost{color:var(--white);border-color:rgba(255,255,255,.45)}
.bg-blue .btn--ghost:hover,.bg-ink .btn--ghost:hover{border-color:var(--white);background:rgba(255,255,255,.08)}
.btn-note{font-size:14px;color:var(--ink-soft)}
.bg-blue .btn-note,.bg-ink .btn-note{color:rgba(255,255,255,.8)}
.cta-group{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.cta-stack{display:grid;gap:14px;justify-items:start}
.cta-stack--center{justify-items:center;text-align:center}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;color:var(--blue-deep)}
.link-arrow svg{width:18px;height:18px;transition:transform .18s ease}
.link-arrow:hover svg{transform:translateX(3px)}

/* ---------- Header ---------- */
.topbar{
  position:sticky;top:0;z-index:50;
  background:rgba(251,243,232,.88);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.topbar .container{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:78px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);min-width:0}
.brand img{width:46px;height:auto;flex:none}
.brand span{display:grid;gap:1px;line-height:1.15}
.brand b{font-weight:700;font-size:16px;letter-spacing:.02em}
.brand small{font-size:11.5px;color:var(--ink-soft);font-weight:500;letter-spacing:.04em}
.nav{display:flex;align-items:center;gap:6px}
.nav a,.nav .is-soon{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 12px;border-radius:999px;
  font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap;
  transition:background .18s ease,color .18s ease;
}
.nav a:hover,.nav a[aria-current="page"]{background:rgba(78,134,241,.12);color:var(--blue-deep)}
.nav .is-soon{color:var(--ink-soft);cursor:default}
.nav .soon{
  font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  background:var(--peach);color:var(--ink);padding:2px 7px;border-radius:999px;
}
.topbar .btn{min-height:44px;padding:0 20px;font-size:14.5px}
.nav-toggle{
  display:none;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);
  background:var(--white);cursor:pointer;place-items:center;color:var(--ink);
}
.nav-toggle svg{width:24px;height:24px}
.nav-toggle .ico-close{display:none}
@media (max-width:1240px){.brand small{display:none}}
@media (max-width:1099px){
  .topbar .container{min-height:70px}
  .brand img{width:40px}
  .brand b{font-size:15px}
  .brand small{display:none}
  .topbar .btn{display:none}
  .nav-toggle{display:grid}
  .nav{
    position:absolute;left:0;right:0;top:100%;
    flex-direction:column;align-items:stretch;gap:4px;
    background:var(--cream);border-bottom:1px solid var(--line);
    padding:12px var(--gutter) 20px;
    box-shadow:var(--shadow-soft);
    display:none;
  }
  .nav a,.nav .is-soon{font-size:17px;padding:12px 14px;border-radius:12px}
  .nav .btn{display:inline-flex;margin-top:8px;min-height:52px;font-size:16px;justify-content:center}
  body.nav-open .nav{display:flex}
  body.nav-open .nav-toggle .ico-open{display:none}
  body.nav-open .nav-toggle .ico-close{display:block}
}
@media (min-width:1100px){.nav .btn{margin-left:8px}}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(900px 600px at 85% 20%,rgba(254,220,163,.55),transparent 60%),
    radial-gradient(700px 500px at 10% 100%,rgba(234,238,205,.9),transparent 60%),
    var(--cream);
}
/* Foto oben in voller Breite, Text darunter (Wunsch von Alex: Bild wächst mit der Seite mit) */
.hero .container{display:grid;gap:clamp(28px,4vw,48px);padding-block:clamp(28px,4vw,56px) clamp(44px,6vw,88px)}
.hero__copy{display:grid;gap:24px;max-width:860px}
.hero__copy .lead{font-size:clamp(18px,2vw,22px);color:var(--ink)}
.hero h1.h-display{font-size:clamp(44px,6vw,80px);text-wrap:initial;hyphens:manual;-webkit-hyphens:manual}
.hero__copy .lead strong{font-weight:700}
.hero__tags{display:flex;flex-wrap:wrap;gap:8px}
.hero__tags li{
  font-size:13px;font-weight:600;color:var(--ink-soft);
  background:var(--white);border:1px solid var(--line);border-radius:999px;padding:6px 12px;
}
.trust{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px;color:var(--ink-soft)}
.trust li{display:flex;align-items:center;gap:8px}
.trust svg{width:18px;height:18px;color:var(--blue);flex:none}
.hero__visual{position:relative;order:-1}
.hero__blob{
  position:absolute;right:-8%;top:-30%;width:40%;aspect-ratio:1;
  border-radius:48% 52% 45% 55%/55% 45% 55% 45%;
  background:linear-gradient(160deg,var(--peach) 0%,rgba(254,220,163,0) 70%);
  filter:blur(2px);z-index:0;pointer-events:none;
}
.hero__photo{
  position:relative;z-index:1;width:100%;
  aspect-ratio:1400/645;object-fit:cover;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.hero__card{
  position:absolute;z-index:2;right:clamp(14px,3vw,32px);bottom:clamp(14px,3vw,32px);
  background:var(--white);border-radius:14px;padding:12px 16px;
  box-shadow:var(--shadow-soft);
  display:grid;gap:2px;
}
.hero__card b{font-size:15px}
.hero__card span{font-size:12.5px;color:var(--ink-soft)}
@media (max-width:640px){
  .hero__photo{aspect-ratio:4/3;object-position:35% 50%}
  .hero__card{display:none}
}
@media (max-width:520px){
  .btn{white-space:normal;text-align:center;line-height:1.25;padding-block:12px}
}

/* ---------- Facts ---------- */
.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white)}
.facts .container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:800px){.facts .container{grid-template-columns:repeat(4,minmax(0,1fr))}}
.fact{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;padding:22px 18px;min-width:0}
@media (max-width:480px){.fact{grid-template-columns:1fr;gap:10px;padding:18px 14px}.fact b{font-size:14px}}
.fact + .fact{border-left:1px solid var(--line)}
@media (max-width:799px){.fact:nth-child(3){border-left:0}.fact:nth-child(n+3){border-top:1px solid var(--line)}}
.fact__icon{width:46px;height:46px;border-radius:14px;background:var(--green);color:var(--blue-deep);display:grid;place-items:center;flex:none}
.fact__icon svg{width:24px;height:24px}
.fact b{display:block;font-size:15px;line-height:1.3}
.fact span{display:block;font-size:13px;line-height:1.4;margin-top:3px;color:var(--ink-soft)}

/* ---------- Zitate / Kennen Sie das ---------- */
.quotes{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.quote{
  background:var(--white);border:1px solid var(--line);
  border-radius:var(--radius-sm);padding:22px 24px 22px 28px;
  position:relative;font-size:16.5px;line-height:1.5;
  transition:transform .2s ease,box-shadow .2s ease;
}
.quote::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:2px;background:var(--green-deep)}
.quote:nth-child(3n+2)::before{background:var(--blue)}
.quote:nth-child(3n+3)::before{background:var(--peach-deep)}
.quote:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft)}
.quote q{quotes:"„" "“";font-weight:600;color:var(--ink)}
.quote span{display:block;color:var(--ink-soft);margin-top:2px}
@media (max-width:640px){.quotes{gap:10px}.quote{padding:16px 18px 16px 22px;font-size:15.5px}}

/* ---------- Karten (Leistungen, Ergebnisse) ---------- */
.cards{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.cards--four{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.card{
  display:grid;gap:14px;padding:28px;align-content:start;
  background:var(--white);border-radius:var(--radius);border:1px solid var(--line);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);border-color:transparent}
.card__icon{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,var(--blue),var(--blue-deep));color:var(--white);display:grid;place-items:center}
.card__icon svg{width:26px;height:26px}
.card h3{font-size:19px;line-height:1.3;font-weight:700}
.card p{color:var(--ink-soft);font-size:15.5px}
.card .link-arrow{margin-top:auto;font-size:15px}

/* ---------- Seminar-Kacheln ---------- */
.seminars{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.seminar{
  position:relative;display:grid;gap:10px;padding:26px 26px 22px;
  background:var(--white);border-radius:var(--radius);border:1px solid var(--line);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.seminar:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);border-color:transparent}
.seminar__num{font-family:var(--display);font-size:34px;line-height:1;color:var(--blue);letter-spacing:.02em}
.seminar h3{font-size:19px;line-height:1.3}
.seminar h3 a{color:inherit;text-decoration:none}
.seminar h3 a::after{content:"";position:absolute;inset:0}
.seminar__sub{font-size:14px;color:var(--blue-deep);font-weight:600}
.seminar p{color:var(--ink-soft);font-size:15px}
.seminar__foot{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:6px;font-size:14px}
.seminar__foot .link-arrow{font-size:14.5px}
.seminar__pdf{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;color:var(--ink-soft);text-decoration:none;font-weight:600}
.seminar__pdf:hover{color:var(--blue-deep)}
.seminar__pdf svg{width:16px;height:16px}
.seminar__topics{display:flex;flex-wrap:wrap;gap:6px}
.seminar__topics li{font-size:12.5px;background:var(--green);color:var(--ink);border-radius:999px;padding:4px 10px;font-weight:600}
.bg-cream .seminar{background:var(--white)}

/* ---------- Ablauf ---------- */
.steps{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));counter-reset:step}
.step{
  position:relative;display:grid;gap:10px;padding:28px 26px 26px;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:var(--radius);
}
.step__num{font-family:var(--display);font-size:52px;line-height:1;color:var(--peach)}
.step h3{font-size:19px;color:var(--white)}
.step p{color:rgba(255,255,255,.85);font-size:15.5px}

/* ---------- Über mich ---------- */
/* Foto oben in voller Breite, Text darunter; das Namensschild sitzt links unten, wo im Bild nur Hintergrund ist */
.about .container{display:grid;gap:clamp(32px,4vw,48px)}
.about__photo{position:relative;width:100%}
.about__frame{background:var(--white);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow)}
.about__frame img{border-radius:12px;width:100%;aspect-ratio:1200/800;object-fit:cover}
@media (max-width:640px){.about__frame img{aspect-ratio:4/3;object-position:70% 50%}}
.about__tag{
  position:absolute;left:clamp(18px,3vw,40px);bottom:clamp(28px,4vw,48px);
  background:var(--blue);color:var(--white);padding:12px 20px;border-radius:14px;
  box-shadow:0 14px 26px -10px rgba(47,99,201,.7);transform:rotate(-2deg);white-space:nowrap;
}
@media (max-width:640px){.about__tag{left:12px;bottom:22px;padding:10px 14px}.about__tag b{font-size:15px}}
.about__copy{max-width:860px}
.about__tag b{display:block;font-weight:600;font-size:18px;line-height:1.2}
.about__tag span{display:block;margin-top:4px;font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--peach)}
.about__copy{display:grid;gap:20px}
.about__copy p{color:var(--ink-soft);max-width:62ch}
.about__copy p strong{color:var(--ink)}
.badges{display:flex;flex-wrap:wrap;gap:8px}
.badges li{display:inline-flex;align-items:flex-start;gap:8px;font-size:13.5px;line-height:1.35;font-weight:600;background:var(--white);border:1px solid var(--line);border-radius:18px;padding:8px 13px}
.badges svg{width:16px;height:16px;color:var(--blue);flex:none;margin-top:1px}
.values{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.value{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px 20px}
.value b{display:block;font-size:16px;margin-bottom:4px}
.value span{font-size:14.5px;color:var(--ink-soft)}

/* ---------- Kundenstimmen ---------- */
.testimonials{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.testimonial{
  display:grid;gap:14px;padding:28px;align-content:start;
  background:var(--white);border-radius:var(--radius);border:1px solid var(--line);
}
.testimonial__stars{display:flex;gap:2px;color:var(--peach-deep)}
.testimonial__stars svg{width:18px;height:18px}
.testimonial blockquote{margin:0;font-size:15.5px;color:var(--ink-soft);line-height:1.6}
.testimonial blockquote p+p{margin-top:.6em}
.testimonial cite{font-style:normal;font-weight:700;font-size:14.5px}
.testimonial cite span{display:block;font-weight:500;color:var(--ink-soft);font-size:13px}

/* ---------- Video (vorbereitet, wird später aktiviert) ---------- */
.video{max-width:900px;margin-inline:auto}
.video__frame{
  position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;
  background:var(--blue-ink);box-shadow:var(--shadow);
}
.video__frame img,.video__frame iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.video__play{
  position:absolute;inset:0;display:grid;place-items:center;border:0;cursor:pointer;
  background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.45));color:var(--white);
}
.video__play i{width:86px;height:86px;border-radius:50%;background:var(--peach);color:var(--ink);display:grid;place-items:center;box-shadow:var(--shadow)}
.video__play svg{width:34px;height:34px;margin-left:4px}
.video__note{font-size:13px;color:var(--ink-soft);text-align:center;margin-top:12px}

/* ---------- Blog-Teaser ---------- */
.posts{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.post{
  position:relative;display:grid;gap:10px;padding:26px;align-content:start;
  background:var(--white);border-radius:var(--radius);border:1px solid var(--line);
  transition:transform .2s ease,box-shadow .2s ease;
}
.post:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}
.post time{font-size:13px;color:var(--ink-soft);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.post h3{font-size:18.5px;line-height:1.35}
.post h3 a{color:inherit;text-decoration:none}
.post h3 a::after{content:"";position:absolute;inset:0}
.post p{font-size:15px;color:var(--ink-soft)}

/* ---------- Region ---------- */
.region{display:grid;gap:28px;align-items:center}
@media (min-width:900px){.region{grid-template-columns:1.1fr .9fr;gap:clamp(40px,6vw,96px)}}
.region__cities{display:flex;flex-wrap:wrap;gap:8px}
.region__cities li{font-size:14px;font-weight:600;background:var(--white);border:1px solid var(--line);border-radius:999px;padding:7px 14px}
.region__box{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:grid;gap:14px}
.region__box h3{font-size:18px}
.region__box li{display:flex;gap:10px;align-items:flex-start;font-size:15.5px;color:var(--ink-soft)}
.region__box svg{width:20px;height:20px;color:var(--blue);flex:none;margin-top:3px}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:10px;max-width:820px;margin-inline:auto}
.faq details{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);transition:box-shadow .2s ease}
.faq details[open]{box-shadow:var(--shadow-soft)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 22px;font-weight:600;font-size:16.5px;line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;width:28px;height:28px;border-radius:50%;background:var(--cream);display:grid;place-items:center;transition:transform .25s ease}
.faq summary i svg{width:14px;height:14px}
.faq details[open] summary i{transform:rotate(45deg);background:var(--peach)}
.faq .answer{padding:0 22px 20px;color:var(--ink-soft);font-size:15.5px;max-width:70ch}

/* ---------- Finaler CTA ---------- */
.final .container{display:grid;gap:26px;justify-items:center;text-align:center}
.final .lead{max-width:56ch}
.final h2.h-display{font-size:clamp(40px,6.5vw,80px)}
.contact-line{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;font-size:15px}
.contact-line a{color:var(--white);text-decoration:none;display:inline-flex;align-items:center;gap:8px;font-weight:600}
.contact-line a:hover{text-decoration:underline}
.contact-line svg{width:18px;height:18px;color:var(--peach)}

/* ---------- Footer ---------- */
.footer{background:var(--cream);border-top:1px solid var(--line)}
.footer .container{display:grid;gap:26px;justify-items:center;text-align:center;padding-block:48px 56px}
.footer__logo{width:150px;height:auto}
.footer__claim{font-weight:700;display:grid;gap:4px;justify-items:center}
.footer__claim span{font-weight:500;font-size:14px;color:var(--ink-soft)}
.footer__nap{font-size:14.5px;color:var(--ink-soft);line-height:1.7}
.footer__nap a{color:var(--ink);text-decoration:none;font-weight:600}
.footer__nap a:hover{color:var(--blue-deep)}
.footer__nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;font-size:14.5px}
.footer__nav a{color:var(--ink);text-decoration:none;font-weight:600}
.footer__nav a:hover{color:var(--blue-deep)}
.social{display:flex;gap:12px}
.social a{width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(27,40,56,.25);display:grid;place-items:center;color:var(--ink);transition:all .18s ease}
.social a:hover{background:var(--ink);color:var(--white);border-color:var(--ink);transform:translateY(-2px)}
.social svg{width:20px;height:20px}
.legal{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;font-size:14px}
.legal small{flex-basis:100%;text-align:center;color:var(--ink-soft)}
@media (min-width:600px){.legal small{flex-basis:auto}}
.legal a{color:var(--ink-soft);text-decoration:none}
.legal a:hover{color:var(--blue-deep);text-decoration:underline}

/* ---------- Unterseiten: Seitenkopf ---------- */
.pagehead{
  background:
    radial-gradient(900px 500px at 90% 0%,rgba(254,220,163,.5),transparent 60%),
    radial-gradient(700px 500px at 0% 100%,rgba(234,238,205,.9),transparent 60%),
    var(--cream);
}
.pagehead .container{display:grid;gap:18px;padding-block:clamp(44px,6vw,80px);max-width:900px}
.pagehead h1.h-display{font-size:clamp(40px,6.4vw,84px)}
.breadcrumb{display:flex;flex-wrap:wrap;gap:6px;font-size:13.5px;color:var(--ink-soft)}
.breadcrumb a{color:var(--ink-soft);text-decoration:none}
.breadcrumb a:hover{color:var(--blue-deep)}
.breadcrumb li+li::before{content:"›";margin-right:6px}

/* ---------- Seminarseiten ---------- */
.info-boxes{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.info-box{background:var(--white);border:1.5px solid var(--blue);border-radius:var(--radius-sm);padding:20px 22px}
.info-box b{display:block;color:var(--blue-deep);font-size:16px;margin-bottom:6px}
.info-box p{font-size:15px;color:var(--ink-soft)}
.pull{background:var(--green);border-radius:var(--radius-sm);padding:22px 26px;display:grid;gap:8px}
.pull q{quotes:"„" "“";font-weight:700;font-style:italic;font-size:19px;line-height:1.35;color:var(--ink)}
.pull p{font-size:15px;color:var(--ink-soft)}
.branche{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;background:var(--blue-tint);border-radius:var(--radius-sm);padding:20px 22px}
.branche svg{width:28px;height:28px;color:var(--blue-deep);flex:none;margin-top:2px}
.branche b{display:block;margin-bottom:4px}
.branche p{font-size:15.5px;color:var(--ink-soft)}
.worum{display:grid;gap:28px;align-items:start}
@media (min-width:900px){.worum{grid-template-columns:1.3fr .9fr;gap:clamp(32px,5vw,64px)}}
.worum__text{display:grid;gap:18px}
.worum__text p{color:var(--ink-soft)}
.worum .info-boxes{grid-template-columns:1fr}
.dramaturgie{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:22px}
.dramaturgie li{font-family:var(--display);font-size:20px;letter-spacing:.06em;background:var(--peach);border-radius:999px;padding:8px 22px}
.dramaturgie li.arrow{background:none;padding:0;color:var(--blue);font-size:22px}
.module{display:grid;gap:12px}
.modul{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease}
.modul[open]{box-shadow:var(--shadow-soft);border-color:transparent}
.modul summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:18px 20px}
.modul summary::-webkit-details-marker{display:none}
.modul__num{width:46px;height:46px;border-radius:50%;background:var(--blue);color:var(--white);display:grid;place-items:center;font-weight:700;font-size:15px;flex:none}
.modul__title{display:grid;gap:2px}
.modul__title b{font-size:17.5px;line-height:1.3}
.modul__title span{font-size:14px;color:var(--ink-soft);line-height:1.4}
.modul__chev{width:34px;height:34px;border-radius:50%;background:var(--cream);display:grid;place-items:center;color:var(--ink);transition:transform .25s ease,background .2s ease}
.modul__chev svg{width:16px;height:16px}
.modul[open] .modul__chev{transform:rotate(180deg);background:var(--peach)}
.modul__body{padding:4px 20px 24px;display:grid;gap:22px}
@media (min-width:900px){.modul__body{grid-template-columns:1.4fr 1fr;padding-left:82px}}
.modul__points{display:grid;gap:14px}
.modul__points li{position:relative;padding-left:24px}
.modul__points li::before{content:"";position:absolute;left:0;top:.5em;width:11px;height:11px;border-radius:50%;background:var(--blue)}
.modul__points b{display:block;font-size:16px}
.modul__points p{font-size:15px;color:var(--ink-soft)}
.modul__side{display:grid;gap:12px;align-content:start}
.modul__side div{border-radius:var(--radius-sm);padding:16px 18px;font-size:14.5px;color:var(--ink-soft)}
.modul__side b{display:block;margin-bottom:4px;color:var(--ink);font-size:15px}
.modul__side .take{background:var(--green)}
.modul__side .take b{color:var(--blue-deep)}
.modul__side .meth{background:var(--peach)}
.modul__side .meth{color:var(--ink)}
.modul__side small{font-size:13px;color:var(--ink-soft);font-style:italic}
.formate{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.format{background:var(--white);border:1.5px solid var(--blue);border-radius:var(--radius-sm);padding:22px;display:grid;gap:8px;align-content:start}
.format--main{background:var(--green);border-color:transparent}
.format b{font-size:18px}
.format em{font-style:normal;color:var(--blue-deep);font-weight:700;font-size:15px}
.format p{font-size:14.5px;color:var(--ink-soft)}
.gut{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));margin-top:32px}
.gut b{display:block;font-size:16px;margin-bottom:4px}
.gut p{font-size:15px;color:var(--ink-soft)}
.download-box{display:grid;gap:18px;grid-template-columns:auto 1fr;align-items:center;background:var(--blue-ink);color:var(--white);border-radius:var(--radius);padding:clamp(22px,3vw,32px)}
.download-box__icon{width:64px;height:64px;border-radius:18px;background:rgba(255,255,255,.12);display:grid;place-items:center;color:var(--peach)}
.download-box__icon svg{width:32px;height:32px}
.download-box b{display:block;font-size:19px;margin-bottom:4px}
.download-box p{font-size:15px;color:rgba(255,255,255,.82)}
.download-box .cta-group{grid-column:1/-1}
@media (min-width:760px){.download-box{grid-template-columns:auto 1fr auto}.download-box .cta-group{grid-column:auto}}
.related{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.related a{display:grid;gap:4px;padding:18px 20px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);text-decoration:none;color:var(--ink);transition:transform .2s ease,box-shadow .2s ease}
.related a:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft)}
.related small{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-deep)}
.related b{font-size:16px;line-height:1.3}
.pagehead__meta{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;color:var(--ink-soft)}
.pagehead__meta li{display:flex;align-items:center;gap:8px}
.pagehead__meta svg{width:18px;height:18px;color:var(--blue)}

/* ---------- Blog ---------- */
.post-list{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.post-card{position:relative;display:grid;align-content:start;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}
.post-card img{width:100%;aspect-ratio:3/1;object-fit:cover;background:var(--green)}
.post-card__body{display:grid;gap:10px;padding:22px 24px 24px}
.post-card time{font-size:13px;color:var(--ink-soft);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.post-card h2{font-size:19px;line-height:1.35;font-weight:700}
.post-card h2 a{color:inherit;text-decoration:none}
.post-card h2 a::after{content:"";position:absolute;inset:0}
.post-card p{font-size:15px;color:var(--ink-soft)}
.post-card--featured{grid-column:1/-1}
@media (min-width:800px){.post-card--featured{grid-template-columns:1.2fr 1fr;align-items:center}.post-card--featured img{aspect-ratio:auto;height:100%;min-height:280px}.post-card--featured h2{font-size:26px}}
.article{max-width:760px;margin-inline:auto;font-size:17.5px;line-height:1.7}
.article > p{margin:0 0 1.15em;color:var(--ink)}
.article h2{font-family:var(--display);font-weight:700;font-synthesis:none;font-size:clamp(30px,3.6vw,40px);line-height:1;letter-spacing:.01em;text-transform:uppercase;color:var(--blue-deep);margin:1.6em 0 .6em}
.article h3{font-size:21px;line-height:1.3;font-weight:700;margin:1.5em 0 .5em}
.article h2+h3{margin-top:.6em}
.article ul,.article ol{margin:0 0 1.15em;padding-left:1.3em;list-style:disc}
.article ol{list-style:decimal}
.article li{margin:.35em 0}
.article img{border-radius:var(--radius-sm);margin:1.4em 0}
.article a:not(.btn){color:var(--blue-deep)}
.article strong{color:var(--ink)}
.article__meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px;color:var(--ink-soft)}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tags li{font-size:12.5px;font-weight:600;background:var(--green);color:var(--ink);border-radius:999px;padding:4px 11px}
.pagehead .tags li{background:var(--white);border:1px solid var(--line)}
.article__hero{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;aspect-ratio:3/1;object-fit:cover;margin-bottom:clamp(28px,4vw,44px)}
.article__box{background:var(--blue-tint);border-radius:var(--radius);padding:26px 28px;display:grid;gap:12px;margin-top:clamp(40px,6vw,64px)}
.article__box b{font-size:18px}
.article__box p{color:var(--ink-soft);font-size:15.5px}
.article__nav{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));margin-top:clamp(40px,6vw,64px)}
.article__nav a{display:grid;gap:4px;padding:18px 20px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);text-decoration:none;color:var(--ink)}
.article__nav a:hover{box-shadow:var(--shadow-soft)}
.article__nav small{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-deep)}
.article__nav b{font-size:15.5px;line-height:1.35}

/* ---------- Über mich ---------- */
.timeline{display:grid;gap:0;border-left:3px solid var(--green-deep);margin-left:8px}
.timeline li{position:relative;padding:0 0 22px 28px}
.timeline li::before{content:"";position:absolute;left:-9px;top:6px;width:15px;height:15px;border-radius:50%;background:var(--blue);border:3px solid var(--white);box-shadow:0 0 0 2px var(--green-deep)}
.timeline b{display:block;font-family:var(--display);font-size:22px;letter-spacing:.04em;color:var(--blue-deep);line-height:1}
.timeline span{display:block;font-size:16px;margin-top:4px}
.timeline small{display:block;font-size:14px;color:var(--ink-soft);margin-top:2px}
.certs{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr))}
.cert{display:grid;gap:8px;text-decoration:none;color:var(--ink)}
.cert img{width:100%;aspect-ratio:7/10;object-fit:cover;object-position:top;border-radius:10px;border:1px solid var(--line);background:var(--white);box-shadow:var(--shadow-soft);transition:transform .2s ease}
.cert:hover img{transform:translateY(-4px)}
.cert span{font-size:13px;font-weight:600;line-height:1.35;text-align:center}
.split{display:grid;gap:32px;align-items:start}
@media (min-width:900px){.split{grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px)}}

/* ---------- Kontakt / Newsletter ---------- */
.contact-cards{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.contact-card{display:grid;gap:12px;padding:28px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);align-content:start}
.contact-card .card__icon{width:52px;height:52px}
.contact-card h2{font-size:20px}
.contact-card p{font-size:15.5px;color:var(--ink-soft)}
.contact-card a.big{font-size:19px;font-weight:700;color:var(--blue-deep);text-decoration:none;word-break:break-word}
.contact-card a.big:hover{text-decoration:underline}
.consent{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--blue-tint);min-height:320px;display:grid;place-items:center;text-align:center;padding:32px}
.consent__inner{display:grid;gap:14px;justify-items:center;max-width:46ch}
.consent__inner p{font-size:14.5px;color:var(--ink-soft)}
.consent iframe{width:100%;height:100%;min-height:700px;border:0;background:var(--white)}
.consent.is-loaded{display:block;padding:0;background:var(--white)}
.form{display:grid;gap:16px;max-width:520px}
.form label{display:grid;gap:6px;font-weight:600;font-size:15px}
.form input[type=text],.form input[type=email]{font:inherit;font-size:16px;padding:14px 16px;border:1.5px solid rgba(27,40,56,.25);border-radius:12px;background:var(--white);width:100%}
.form input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(78,134,241,.25)}
.form .btn{justify-self:start}
.form small{font-size:13px;color:var(--ink-soft);line-height:1.5}

/* ---------- Rechtsseiten ---------- */
.legal-text{max-width:760px;margin-inline:auto;font-size:16px;line-height:1.7}
.legal-text h2{font-size:22px;line-height:1.3;margin:1.8em 0 .5em}
.legal-text h3{font-size:18px;line-height:1.3;margin:1.4em 0 .4em}
.legal-text p{margin:0 0 .9em;color:var(--ink-soft)}
.legal-text ul{list-style:disc;padding-left:1.3em;margin:0 0 .9em;color:var(--ink-soft)}
.legal-text .card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);padding:20px 24px;margin-bottom:1em}
.legal-text .card p{margin:0;color:var(--ink)}
.legal-text a:not(.btn){color:var(--blue-deep);overflow-wrap:anywhere}
.legal-text .stand{font-size:14px;margin-top:2em}

/* ---------- Cookie-Banner ---------- */
.consent-banner{position:fixed;left:0;right:0;bottom:0;z-index:80;padding:0 var(--gutter) calc(16px + env(safe-area-inset-bottom))}
.consent-banner__inner{
  max-width:720px;margin-inline:auto;display:grid;gap:12px;
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px 24px;box-shadow:var(--shadow);
}
.consent-banner b{font-size:17px}
.consent-banner p{font-size:14.5px;color:var(--ink-soft)}
.consent-banner__actions{display:flex;flex-wrap:wrap;gap:10px}
.consent-banner .btn{min-height:46px;padding:0 20px;font-size:15px}
@media (max-width:520px){.consent-banner .btn{flex:1 1 100%}}

/* ---------- Reveal ---------- */
.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none;transition:none}
  .btn,.quote,.card,.seminar,.post,.hero__photo{transition:none}
}
