:root{
  --accent:#ffc300;
  --paper:#ffffff;
  --cream:#ffffff;
  --ink:#000000;
  --muted:#4d4d4d;
  --sage:#f5f5f5;
  --coral:#ffc300;
  --peach:#ffc300;
  --lavender:#f2f2f2;
  --yellow:#ffc300;
  --line:rgba(0,0,0,.14);
  --shadow:0 24px 70px rgba(0,0,0,.12);
  --max:1240px;
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.65;
  overflow-x:hidden;
}

img{
  display:block;
  max-width:100%;
  height:auto;
}

a{
  color:inherit;
  text-underline-offset:.18em;
}

.wrap{
  width:min(calc(100% - 42px),var(--max));
  margin:auto;
}

.narrow{
  max-width:820px;
}

h1,
h2,
h3{
  margin:0 0 18px;
  line-height:1.08;
  letter-spacing:-.035em;
}

h1,
h2{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
}

h1{
  font-size:clamp(3rem,7vw,7rem);
}

h2{
  font-size:clamp(2.2rem,4.8vw,4.6rem);
}

h3{
  font-size:1.45rem;
}

.lead{
  font-size:clamp(1.08rem,1.8vw,1.35rem);
  color:var(--muted);
  max-width:760px;
}

.kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 20px;
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:900;
  color:var(--ink);
}

.kicker:before{
  content:"";
  width:30px;
  height:10px;
  background:var(--accent);
  border-radius:999px;
  transform:rotate(-4deg);
}

.site-header{
  position:fixed;
  z-index:99;
  inset:18px 0 auto;
}

.nav-shell{
  width:min(calc(100% - 28px),1120px);
  margin:auto;
  display:flex;
  align-items:center;
  gap:24px;
  padding:12px 14px 12px 20px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(0,0,0,.1);
  border-radius:999px;
  box-shadow:0 12px 35px rgba(0,0,0,.1);
}

.brand{
  text-decoration:none;
  font-weight:900;
  letter-spacing:-.035em;
  white-space:nowrap;
}

.brand i{
  font-family:Georgia,serif;
  font-weight:400;
  color:var(--ink);
  background:var(--accent);
  padding:0 .16em;
}

.main-nav{
  margin-left:auto;
}

.main-nav ul{
  display:flex;
  align-items:center;
  gap:18px;
  list-style:none;
  margin:0;
  padding:0;
}

.main-nav a{
  text-decoration:none;
  font-size:.9rem;
  font-weight:750;
}

.main-nav a:hover,
.main-nav a:focus-visible{
  text-decoration:underline;
  text-decoration-color:var(--accent);
  text-decoration-thickness:3px;
}

.menu-toggle{
  display:none;
}

.btn,
.wp-block-button__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:14px 20px;
  border-radius:999px;
  background:var(--accent);
  color:var(--ink);
  text-decoration:none;
  font-weight:850;
  border:1px solid var(--ink);
  box-shadow:0 10px 24px rgba(0,0,0,.16);
  transition:
    transform .22s ease,
    background-color .22s ease,
    color .22s ease,
    border-color .22s ease;
}

.btn:hover,
.wp-block-button__link:hover{
  transform:translateY(-2px);
  background:var(--accent);
  color:var(--ink);
  border-color:var(--accent);
}

.btn:focus-visible,
.wp-block-button__link:focus-visible{
  outline:3px solid var(--accent);
  outline-offset:3px;
}

.btn.coral{
  background:var(--accent);
  color:var(--ink);
  border-color:var(--accent);
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}

.btn.coral:hover{
  background:var(--ink);
  color:var(--paper);
  border-color:var(--ink);
}

.btn.soft{
  background:var(--paper);
  color:var(--ink);
  border:1px solid var(--ink);
  box-shadow:none;
}

.btn.soft:hover{
  background:var(--accent);
  color:var(--ink);
  border-color:var(--accent);
}

.site-main section{
  padding:110px 0;
}

.hero{
  min-height:100svh;
  padding-top:150px!important;
  display:grid;
  align-items:center;
  position:relative;
  overflow:hidden;
  background:var(--paper);
}

.hero:before{
  content:"";
  position:absolute;
  width:500px;
  height:500px;
  border-radius:43% 57% 61% 39% / 42% 35% 65% 58%;
  background:var(--accent);
  right:-130px;
  top:-140px;
  opacity:1;
}

.hero-grid,
.statement-grid,
.split-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:center;
}

.hero h1 span{
  position:relative;
  display:inline-block;
}

.hero h1 span:after{
  content:"";
  position:absolute;
  left:3%;
  right:-3%;
  bottom:.06em;
  height:.22em;
  background:var(--accent);
  z-index:-1;
  border-radius:50%;
  transform:rotate(-2deg);
}

.hero-actions,
.microproof{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}

.microproof span{
  background:var(--paper);
  border:1px solid var(--ink);
  border-radius:999px;
  padding:8px 12px;
  font-size:.86rem;
  font-weight:750;
  color:var(--ink);
}

.statement-copy{
  font:500 clamp(2rem,4.2vw,4.4rem)/1.1 Georgia,serif;
}

.statement-copy em{
  font-style:normal;
  background:linear-gradient(
    transparent 62%,
    var(--accent) 62%
  );
}

.hand-note{
  font-family:"Comic Sans MS",cursive;
  color:var(--ink);
  font-size:1.1rem;
}

.cream{
  background:var(--paper);
}

.sage{
  background:var(--sage);
}

.section-head{
  max-width:850px;
  margin-bottom:50px;
}

.cards.two{
  grid-template-columns:repeat(2,1fr);
}

.cards.three{
  grid-template-columns:repeat(3,1fr);
}

.cards.four{
  grid-template-columns:repeat(4,1fr);
}

.card,
.step{
  display:flex;
  flex-direction:column;
  padding:32px;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:0 16px 44px rgba(0,0,0,.07);
}

.card a{
  margin-top:auto;
  font-weight:800;
}

.card a:hover,
.card a:focus-visible{
  text-decoration-color:var(--accent);
  text-decoration-thickness:3px;
}

.decision-box,
.cta-panel{
  padding:34px;
  background:var(--accent);
  color:var(--ink);
  border-radius:12px 34px 34px 34px;
}

.rounded-image{
  border-radius:34px;
  box-shadow:var(--shadow);
}

.cta-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  background:var(--ink);
  color:var(--paper);
  padding:52px;
}

.cta-panel h2{
  max-width:720px;
}

.cta-panel .lead,
.cta-panel p{
  color:rgba(255,255,255,.78);
}

.cta-panel .btn,
.cta-panel .wp-block-button__link{
  background:var(--accent);
  color:var(--ink);
  border-color:var(--accent);
}

.cta-panel .btn:hover,
.cta-panel .wp-block-button__link:hover{
  background:var(--paper);
  color:var(--ink);
  border-color:var(--paper);
}

.page-hero,
.article-hero,
.not-found{
  padding:300px 0 90px;
  background:var(--accent);
  color:var(--ink);
}
.blog .page-hero, .wp-singular .article-hero {
	padding:90px 0 10px;
}

.page-hero.has-image{
  position:relative;
  background-size:cover;
  background-position:center;
  color:var(--paper);
}

.page-hero.has-image:before{
  content:"";
  position:absolute;
  inset:0;
  /*background:rgba(0,0,0,.62);*/
}

.page-hero.has-image .wrap{
  position:relative;
  z-index:1;
}

.content-area{
  padding:60px 0 100px;
}

.content-area>section{
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

.content-area>section>.wrap{
  width:min(calc(100% - 42px),var(--max));
}

.posts-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  padding:70px 0;
}

.post-card{
  display:flex;
  flex-direction:column;
  padding:28px;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:0 12px 34px rgba(0,0,0,.05);
  transition:
    transform .22s ease,
    box-shadow .22s ease;
}

.post-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 45px rgba(0,0,0,.1);
}

.post-card h2{
  font-size:2rem;
}

.post-card h2 a{
  text-decoration:none;
}

.post-card h2 a:hover,
.post-card h2 a:focus-visible{
  text-decoration:underline;
  text-decoration-color:var(--accent);
  text-decoration-thickness:4px;
}

.prose{
  padding:70px 0;
}

.prose h2{
  font-size:2.4rem;
  margin-top:2em;
}

.prose h3{
  margin-top:1.8em;
}

.prose p,
.prose li{
  font-size:1.08rem;
}

.prose a{
  text-decoration-color:var(--accent);
  text-decoration-thickness:3px;
}

.prose blockquote{
  margin:2.5rem 0;
  padding:1.6rem 2rem;
  background:var(--accent);
  color:var(--ink);
  border-left:6px solid var(--ink);
}

.prose code{
  background:var(--sage);
  color:var(--ink);
  padding:.15em .4em;
  border-radius:4px;
}

.post-nav{
  padding-bottom:80px;
}

.site-footer{
  background:var(--ink);
  color:var(--paper);
  padding:70px 0 28px;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr 1fr;
  gap:36px;
}

.site-footer h2{
  font:700 1rem/1.2 Inter,sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--accent);
}

.site-footer ul{
  list-style:none;
  margin:0;
  padding:0;
}

.site-footer a{
  color:var(--paper);
}

.site-footer a:hover,
.site-footer a:focus-visible{
  color:var(--accent);
}

.footer-bottom{
  margin-top:42px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.2);
  font-size:.85rem;
  color:rgba(255,255,255,.72);
}

.screen-reader-text{
  position:absolute;
  left:-9999px;
}

.skip-link:focus{
  left:20px;
  top:20px;
  z-index:999;
  background:var(--accent);
  color:var(--ink);
  padding:12px;
}

::selection{
  background:var(--accent);
  color:var(--ink);
}

:focus-visible{
  outline:3px solid var(--accent);
  outline-offset:3px;
}

@media(max-width:980px){
  .main-nav{
    position:absolute;
    top:72px;
    left:0;
    right:0;
    display:none;
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:24px;
    padding:20px;
    box-shadow:var(--shadow);
  }

  .main-nav.open{
    display:block;
  }

  .main-nav ul{
    flex-direction:column;
    align-items:flex-start;
  }

  .menu-toggle{
    display:inline-flex;
    margin-left:auto;
    border:0;
    background:transparent;
    color:var(--ink);
    font-weight:800;
    cursor:pointer;
  }

  .header-cta{
    display:none;
  }

  .hero-grid,
  .statement-grid,
  .split-grid{
    grid-template-columns:1fr;
  }

  .cards.three,
  .cards.four,
  .posts-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .footer-grid{
    grid-template-columns:1fr 1fr;
  }

  .cta-panel{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:640px){
  .wrap{
    width:min(calc(100% - 24px),var(--max));
  }

  .site-header{
    top:10px;
  }

  .site-main section{
    padding:78px 0;
  }

  .hero{
    padding-top:120px!important;
  }

  .hero:before{
    width:320px;
    height:320px;
    right:-150px;
    top:-90px;
  }

  .hero-actions{
    display:grid;
  }

  .hero-actions .btn{
    width:100%;
  }

  .cards.two,
  .cards.three,
  .cards.four,
  .posts-grid,
  .footer-grid{
    grid-template-columns:1fr;
  }

  .cta-panel{
    padding:30px;
  }

  .page-hero,
  .article-hero,
  .not-found{
    padding:130px 0 70px;
  }

  .nav-shell{
    gap:10px;
  }

  .brand{
    font-size:.95rem;
  }

  .portrait-main{
    transform:none;
  }

  .content-area>section>.wrap{
    width:min(calc(100% - 24px),var(--max));
  }
}

/* ---------- TRUSTBAR ---------- */

.trustbar{
    background:#000;
    color:#fff;
    padding:22px 0;
}

.trustgrid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:40px;
    align-items:center;
}

.trustgrid .stat{
    display:flex;
    flex-direction:column;
    gap:4px;
    padding-left:18px;
    border-left:3px solid #ffc300;
}

.trustgrid .stat strong{
    font-size:1.6rem;
    font-weight:700;
    line-height:1;
    color:#fff;
}

.trustgrid .stat span{
    font-size:.95rem;
    color:rgba(255,255,255,.7);
    line-height:1.45;
}

/* ---------- ZAHLENBLOCK ---------- */

.section{
    padding:70px 0;
    background:#fff;
}

.stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.stats .stat:hover{
    transform:translateY(-4px);
    border-color:#ffc300;
    box-shadow:0 12px 30px rgba(0,0,0,.06);
}

.stats .stat strong{
    display:block;
    margin-bottom:8px;
    font-size:2.4rem;
    font-weight:800;
    line-height:1;
    color:#000;
}

.stats .stat strong::after{
    content:"";
    display:block;
    width:32px;
    height:3px;
    margin:12px auto 0;
    border-radius:999px;
    background:#ffc300;
}

.stats .stat{
    font-size:.95rem;
    color:#666;
    line-height:1.5;
}

/* ---------- RESPONSIVE ---------- */

@media (max-width:992px){

    .trustgrid,
    .stats{
        grid-template-columns:repeat(2,1fr);
    }

}

@media (max-width:640px){

    .trustbar{
        padding:28px 0;
    }

    .trustgrid,
    .stats{
        grid-template-columns:1fr;
    }

    .trustgrid{
        gap:24px;
    }

    .stats .stat{
        padding:22px 18px;
    }

    .stats .stat strong{
        font-size:2rem;
    }

}
/* ---------- FALLBEISPIELE ---------- */

.cases{
  position:relative;
  padding:100px 0;
  background:#fff;
  color:#000;
  overflow:hidden;
}

.cases::before{
  content:"";
  position:absolute;
  top:48px;
  right:-90px;
  width:220px;
  height:220px;
  border-radius:50%;
  background:#ffc300;
  opacity:.18;
}

.cases .wrap{
  position:relative;
  z-index:1;
}

.cases-head{
  
  margin-bottom:48px;
}

.cases-head .kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
  color:#000;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.cases-head .kicker::before{
  content:"";
  width:28px;
  height:8px;
  border-radius:999px;
  background:#ffc300;
  transform:rotate(-4deg);
}

.cases-head h2{
  margin:0 0 18px;
  
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.4rem,5vw,4.8rem);
  font-weight:500;
  line-height:1.06;
  letter-spacing:-.04em;
}

.cases-head .lead{
  max-width:700px;
  margin:0;
  color:#5b5b5b;
  font-size:clamp(1.05rem,1.6vw,1.28rem);
  line-height:1.65;
}

.case-stack{
  display:grid;
  gap:26px;
}

.case{
  display:grid;
  grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);
  min-height:420px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:22px;
  box-shadow:0 14px 40px rgba(0,0,0,.06);
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}

.case:hover{
  transform:translateY(-4px);
  border-color:rgba(255,195,0,.8);
  box-shadow:0 20px 50px rgba(0,0,0,.09);
}

.case:nth-child(even){
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
}

.case:nth-child(even) .case-img{
  order:2;
}

.case-img{
  min-height:420px;
  overflow:hidden;
  background:#f3f3f3;
}

.case-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .45s ease;
}

.case:hover .case-img img{
  transform:scale(1.025);
}

.case-body{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:42px;
}

.case-body::before{
  content:"";
  width:42px;
  height:4px;
  margin-bottom:24px;
  border-radius:999px;
  background:#ffc300;
}

.case-body h3{
  margin:0 0 18px;
  font-size:clamp(1.7rem,2.4vw,2.4rem);
  line-height:1.15;
  letter-spacing:-.025em;
}

.case-body p{
  margin:0;
  color:#5e5e5e;
  font-size:1.02rem;
  line-height:1.7;
}

.case-body strong{
  display:block;
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid rgba(0,0,0,.1);
  color:#000;
  font-size:.98rem;
  line-height:1.6;
}

.case-body strong::before{
  content:"";
  display:inline-block;
  width:8px;
  height:8px;
  margin-right:10px;
  border-radius:50%;
  background:#ffc300;
  vertical-align:.08em;
}

/* ---------- TABLET ---------- */

@media(max-width:980px){

  .cases{
    padding:82px 0;
  }

  .case,
  .case:nth-child(even){
    grid-template-columns:1fr;
  }

  .case:nth-child(even) .case-img{
    order:0;
  }

  .case-img{
    min-height:360px;
    aspect-ratio:16 / 9;
  }

  .case-body{
    padding:34px;
  }

}

/* ---------- MOBILE ---------- */

@media(max-width:640px){

  .cases{
    padding:68px 0;
  }

  .cases-head{
    margin-bottom:34px;
  }

  .case-stack{
    gap:20px;
  }

  .case{
    border-radius:16px;
  }

  .case-img{
    min-height:280px;
    aspect-ratio:4 / 3;
  }

  .case-body{
    padding:28px 24px 30px;
  }

  .case-body::before{
    width:34px;
    margin-bottom:20px;
  }

  .case-body h3{
    font-size:1.7rem;
  }

  .case-body p,
  .case-body strong{
    font-size:.96rem;
  }

}

/* =========================================================
   GEMEINSAME BASIS
   Akzentfarbe: #ffc300
   ========================================================= */

.authority,
.visual-authority,
.trust-strip,
.book,
.fit,
.closing{
  color:#000;
}

.authority figure,
.visual-authority figure,
.trust-strip figure,
.book figure,
.closing figure{
  margin:0;
}

.authority img,
.visual-authority img,
.trust-strip img,
.book img,
.closing img{
  display:block;
  width:100%;
  height:auto;
}

.authority .kicker,
.visual-authority .kicker,
.trust-strip .kicker,
.book .kicker,
.fit .kicker,
.closing .kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 18px;
  color:#000;
  font-size:.76rem;
  font-weight:800;
  line-height:1.3;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.authority .kicker::before,
.visual-authority .kicker::before,
.trust-strip .kicker::before,
.book .kicker::before,
.fit .kicker::before,
.closing .kicker::before{
  content:"";
  flex:0 0 auto;
  width:28px;
  height:7px;
  border-radius:999px;
  background:#ffc300;
  transform:rotate(-4deg);
}

.authority h2,
.visual-authority h2,
.trust-strip h2,
.book h2,
.fit h2,
.closing h2{
  margin:0 0 20px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.3rem,4.8vw,4.8rem);
  font-weight:500;
  line-height:1.06;
  letter-spacing:-.04em;
}

.authority .lead,
.visual-authority .lead,
.trust-strip .lead,
.book .lead{
  margin:0;
  color:#5d5d5d;
  font-size:clamp(1.05rem,1.5vw,1.24rem);
  line-height:1.7;
}

/* =========================================================
   AUTHORITY / ÜBER MICH
   ========================================================= */

.authority{
  padding:100px 0;
  background:#fff;
}

.authority-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:72px;
  align-items:center;
}

.authority-collage{
  position:relative;
  min-height:680px;
}

.authority-collage .a{
  position:absolute;
  top:0;
  left:0;
  width:74%;
  height:76%;
  overflow:hidden;
  border-radius:28px 72px 28px 72px;
  background:#f2f2f2;
  box-shadow:0 20px 55px rgba(0,0,0,.11);
  transform:rotate(-2deg);
}

.authority-collage .b{
  position:absolute;
  right:0;
  bottom:0;
  width:48%;
  height:46%;
  overflow:hidden;
  border:8px solid #fff;
  border-radius:50% 50% 18% 50%;
  background:#f2f2f2;
  box-shadow:0 16px 40px rgba(0,0,0,.1);
  transform:rotate(4deg);
}

.authority-collage .a img,
.authority-collage .b img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}

.authority-copy{
  max-width:620px;
}

.authority-copy .fact{
  position:relative;
  padding:22px 0 22px 22px;

}

.authority-copy .fact::before{
  content:"";
  position:absolute;
  top:27px;
  left:0;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#ffc300;
  margin-top: 6px;
}

.authority-copy .fact strong{
  display:block;
  margin-bottom:6px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.4rem;
  font-weight:500;
  line-height:1.25;
}

.authority-copy .fact p{
  margin:0;
  color:#606060;
  line-height:1.65;
}

/* =========================================================
   VISUAL AUTHORITY / BILDERGALERIE
   ========================================================= */

.visual-authority{
  padding:100px 0;
  background:#f5f5f5;
}

.visual-head{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);
  gap:60px;
  align-items:end;
  margin-bottom:44px;
}

.visual-head .lead{
  padding-bottom:8px;
}

.portrait-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:280px;
  gap:16px;
}

.portrait-tile{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  background:#e9e9e9;
}

.portrait-tile::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border:1px solid rgba(0,0,0,.05);
  border-radius:inherit;
}

.portrait-tile img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  transition:transform .45s ease;
}

.portrait-tile:hover img{
  transform:scale(1.025);
}

.portrait-tile.tall{
  grid-row:span 2;
}

.portrait-tile.wide{
  grid-column:span 2;
}

/* =========================================================
   TRUST STRIP
   ========================================================= */

.trust-strip{
  padding:100px 0;
  background:#fff;
}

.trust-strip-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:34px;
  align-items:center;
}

.trust-strip-grid > div{
  padding:20px 10px;
}

.trust-strip-grid figure,
.secondary-photo-row figure{
  overflow:hidden;
  border-radius:18px;
  background:#f1f1f1;
}

.trust-strip-grid figure{
  min-height:500px;
}

.trust-strip-grid figure img{
  width:100%;
  height:500px;
  object-fit:cover;
  object-position:center top;
}

.secondary-photo-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:18px;
}

.secondary-photo-row figure{
  height:360px;
}

.secondary-photo-row figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  transition:transform .45s ease;
}

.secondary-photo-row figure:hover img,
.trust-strip-grid figure:hover img{
  transform:scale(1.02);
}

/* =========================================================
   BOOK / LEITFADEN
   ========================================================= */

.book{
  position:relative;
  padding:110px 0;
  overflow:hidden;
  background:#f7f7f7;
}

.book::before{
  content:"";
  position:absolute;
  top:70px;
  left:-170px;
  width:400px;
  height:400px;
  border-radius:50%;
  background:#ffc300;
  opacity:.24;
}

.book-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);
  gap:78px;
  align-items:center;
}

.book-cover{
  max-width:380px;
  margin-inline:auto;
  filter:drop-shadow(0 25px 28px rgba(0,0,0,.18));
  transform:rotate(-3deg);
  transition:transform .3s ease;
}

.book-cover:hover{
  transform:rotate(-1deg) translateY(-4px);
}

.book-copy{
  max-width:720px;
}

.book-copy > p:not(.lead){
  color:#565656;
  font-size:1.05rem;
  line-height:1.7;
}

.download-facts{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:24px 0 30px;
}

.download-facts span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:999px;
  background:#fff;
  color:#333;
  font-size:.86rem;
  font-weight:700;
}

.download-facts span::before{
  content:"";
  width:7px;
  height:7px;
  margin-right:8px;
  border-radius:50%;
  background:#ffc300;
}

.book .btn.coral{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:13px 20px;
  border:1px solid #ffc300;
  border-radius:999px;
  background:#ffc300;
  color:#000;
  font-weight:800;
  text-decoration:none;
  transition:
    transform .2s ease,
    background-color .2s ease,
    color .2s ease;
}

.book .btn.coral:hover{
  transform:translateY(-2px);
  border-color:#000;
  background:#000;
  color:#fff;
}

/* =========================================================
   FIT / PASST DAS?
   ========================================================= */

.fit{
  padding:100px 0;
  background:#fff;
}

.fit > .wrap > h2{
  max-width:850px;
}

.fit-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:40px;
}

.fit-card{
  position:relative;
  padding:32px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.1);
  border-radius:18px;
  background:#fff;
}

.fit-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:5px;
  background:#ffc300;
}

.fit-card.alt{
  background:#f5f5f5;
}

.fit-card h3{
  margin:0 0 20px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.65rem;
  font-weight:500;
  line-height:1.2;
}

.fit-card ul{
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
}

.fit-card li{
  position:relative;
  padding-left:25px;
  color:#4f4f4f;
  line-height:1.55;
}

.fit-card li::before{
  content:"";
  position:absolute;
  top:.63em;
  left:0;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#ffc300;
}

/* =========================================================
   CLOSING CTA
   ========================================================= */

.closing{
  padding:48px 0 80px;
  background:#fff;
}

.closing-panel{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  width:min(calc(100% - 42px),1320px);
  margin-inline:auto;
  overflow:hidden;
  border-radius:26px;
  background:#000;
  color:#fff;
  box-shadow:0 20px 60px rgba(0,0,0,.12);
}

.closing-image{
  min-height:600px;
}

.closing-image img{
  width:100%;
  height:100%;
  min-height:600px;
  object-fit:cover;
  object-position:center top;
}

.closing-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:64px;
}

.closing-copy .kicker{
  color:#fff;
}

.closing-copy h2{
  color:#fff;
}

.closing-copy p{
  max-width:590px;
  margin:0 0 28px;
  color:rgba(255,255,255,.75);
  font-size:1.08rem;
  line-height:1.7;
}

.closing-copy .btn.coral{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:14px 22px;
  border:1px solid #ffc300;
  border-radius:999px;
  background:#ffc300;
  color:#000;
  font-weight:800;
  text-decoration:none;
  transition:
    transform .2s ease,
    background-color .2s ease,
    color .2s ease;
}

.closing-copy .btn.coral:hover{
  transform:translateY(-2px);
  border-color:#fff;
  background:#fff;
  color:#000;
}

/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:980px){

  .authority,
  .visual-authority,
  .trust-strip,
  .book,
  .fit{
    padding:82px 0;
  }

  .authority-grid,
  .visual-head,
  .book-grid,
  .closing-panel{
    grid-template-columns:1fr;
  }

  .authority-grid{
    gap:46px;
  }

  .authority-collage{
    min-height:600px;
  }

  .visual-head{
    gap:18px;
    align-items:start;
  }

  .portrait-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .trust-strip-grid{
    grid-template-columns:1fr 1fr;
  }

  .trust-strip-grid > div{
    grid-column:1 / -1;
    grid-row:1;
    padding:0 0 16px;
  }

  .trust-strip-grid figure{
    min-height:430px;
  }

  .trust-strip-grid figure img{
    height:430px;
  }

  .book-grid{
    gap:48px;
  }

  .book-cover{
    max-width:330px;
  }

  .closing-panel{
    width:min(calc(100% - 32px),1320px);
  }

  .closing-image,
  .closing-image img{
    min-height:500px;
  }

  .closing-copy{
    padding:48px;
  }

}

/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:640px){

  .authority,
  .visual-authority,
  .trust-strip,
  .book,
  .fit{
    padding:68px 0;
  }

  .authority h2,
  .visual-authority h2,
  .trust-strip h2,
  .book h2,
  .fit h2,
  .closing h2{
    font-size:clamp(2.2rem,11vw,3.3rem);
  }

  .authority-collage{
    min-height:500px;
  }

  .authority-collage .a{
    width:82%;
    height:75%;
    border-radius:22px 52px 22px 52px;
  }

  .authority-collage .b{
    width:58%;
    height:42%;
    border-width:6px;
  }

  .authority-copy .fact{
    padding:20px 0 20px 20px;
  }

  .portrait-grid{
    grid-template-columns:1fr;
    grid-auto-rows:390px;
  }

  .portrait-tile.tall,
  .portrait-tile.wide{
    grid-row:auto;
    grid-column:auto;
  }

  .trust-strip-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .trust-strip-grid > div{
    grid-column:auto;
    grid-row:auto;
    order:-1;
  }

  .trust-strip-grid figure{
    min-height:380px;
  }

  .trust-strip-grid figure img{
    height:380px;
  }

  .secondary-photo-row{
    grid-template-columns:1fr;
  }

  .secondary-photo-row figure{
    height:340px;
  }

  .book::before{
    top:30px;
    left:-200px;
  }

  .book-cover{
    max-width:270px;
  }

  .download-facts{
    gap:7px;
  }

  .download-facts span{
    font-size:.8rem;
  }

  .fit-grid{
    grid-template-columns:1fr;
  }

  .fit-card{
    padding:28px 24px;
  }

  .closing{
    padding:24px 0 56px;
  }

  .closing-panel{
    width:min(calc(100% - 24px),1320px);
    border-radius:20px;
  }

  .closing-image,
  .closing-image img{
    min-height:430px;
  }

  .closing-copy{
    padding:36px 26px 40px;
  }

  .closing-copy .btn.coral{
    width:100%;
  }

}

/* =========================================================
   GEMEINSAME BASIS
   Akzentfarbe: #ffc300
   ========================================================= */

.photo-essay,
.method,
.process{
  color:#000;
}

.photo-essay figure,
.process figure{
  margin:0;
}

.photo-essay img,
.process img{
  display:block;
  width:100%;
  height:auto;
}

.photo-essay .kicker,
.method .kicker,
.process .kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 18px;
  color:#000;
  font-size:.76rem;
  font-weight:800;
  line-height:1.3;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.photo-essay .kicker::before,
.method .kicker::before,
.process .kicker::before{
  content:"";
  flex:0 0 auto;
  width:28px;
  height:7px;
  border-radius:999px;
  background:#ffc300;
  transform:rotate(-4deg);
}

.photo-essay h2,
.method h2,
.process h2{
  margin:0 0 20px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.3rem,4.8vw,4.8rem);
  font-weight:500;
  line-height:1.06;
  letter-spacing:-.04em;
}

.photo-essay .lead,
.process .lead{
  margin:0;
  color:#5d5d5d;
  font-size:clamp(1.05rem,1.5vw,1.24rem);
  line-height:1.7;
}

/* =========================================================
   PHOTO ESSAY
   ========================================================= */

.photo-essay{
  padding:100px 0;
  background:#fff;
}

.editorial-split{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:72px;
  align-items:center;
}

.editorial-image{
  min-height:680px;
  overflow:hidden;
  border-radius:24px;
  background:#f2f2f2;
  box-shadow:0 20px 55px rgba(0,0,0,.1);
}

.editorial-image img{
  width:100%;
  height:680px;
  object-fit:cover;
  object-position:center top;
  transition:transform .45s ease;
}

.editorial-image:hover img{
  transform:scale(1.02);
}

.editorial-copy{
  max-width:650px;
}

.editorial-copy blockquote{
  position:relative;
  margin:36px 0;
  padding:8px 0 8px 28px;
  border-left:5px solid #ffc300;
  color:#000;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.8rem,3.2vw,3.2rem);
  font-weight:500;
  line-height:1.15;
  letter-spacing:-.025em;
}

.editorial-copy blockquote::before{
  content:"“";
  position:absolute;
  top:-16px;
  left:20px;
  color:#ffc300;
  font-family:Georgia,"Times New Roman",serif;
  font-size:4.5rem;
  line-height:1;
  opacity:.45;
}

.editorial-copy > p:last-child{
  margin:0;
  color:#555;
  font-size:1.05rem;
  line-height:1.7;
}

/* =========================================================
   METHOD
   ========================================================= */

.method{
  padding:100px 0;
  background:#f6f6f6;
}

.method > .wrap > h2{
  max-width:900px;
}

.method-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-top:42px;
}

.method .step{
  position:relative;
  min-height:220px;
  padding:28px 26px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  background:#fff;
  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.method .step::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:4px;
  background:#ffc300;
}

.method .step:hover{
  transform:translateY(-4px);
  border-color:rgba(255,195,0,.8);
  box-shadow:0 14px 34px rgba(0,0,0,.07);
}

.method .step h3{
  margin:0 0 14px;
  font-size:1.45rem;
  line-height:1.2;
  letter-spacing:-.02em;
}

.method .step p{
  margin:0;
  color:#5d5d5d;
  line-height:1.65;
}

/* =========================================================
   PROCESS
   ========================================================= */

.process{
  padding:110px 0;
  background:#fff;
}

.process-grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:72px;
  align-items:center;
}

.process-photo{
  position:relative;
}

.process-photo::after{
  content:"Vertraulich. Menschlich. Klar.";
  position:absolute;
  right:-20px;
  bottom:34px;
  padding:13px 18px;
  border-radius:999px;
  background:#ffc300;
  color:#000;
  font-size:.9rem;
  font-weight:800;
  line-height:1.2;
  box-shadow:0 12px 28px rgba(0,0,0,.12);
  transform:rotate(-3deg);
}

.process-photo img{
  width:100%;
  height:650px;
  object-fit:cover;
  object-position:center top;
  border-radius:24px;
  box-shadow:0 20px 55px rgba(0,0,0,.1);
}

.timeline{
  position:relative;
  display:grid;
  margin-top:26px;
}

.timeline::before{
  content:"";
  position:absolute;
  top:26px;
  bottom:26px;
  left:7px;
  width:2px;
  background:rgba(0,0,0,.1);
}

.timeline-item{
  position:relative;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:16px;
  padding:20px 0;
  
}

.timeline-item:last-child{
  border-bottom:0;
}

.timeline-item > span{
  position:relative;
  z-index:1;
  display:block;
  width:14px;
  height:14px;
  margin-top:7px;
  border:3px solid #fff;
  border-radius:50%;
  background:#ffc300;
  box-shadow:0 0 0 1px rgba(0,0,0,.1);
  font-size:0;
}

.timeline-item h3{
  margin:0 0 7px;
  font-size:1.3rem;
  line-height:1.25;
  letter-spacing:-.02em;
}

.timeline-item p{
  margin:0;
  color:#5f5f5f;
  line-height:1.65;
}

.decision-box{
  margin-top:28px;
  padding:22px 24px;
  border-left:5px solid #000;
  border-radius:10px 18px 18px 10px;
  background:#ffc300;
  color:#000;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.2rem;
  line-height:1.45;
}

.process .btn.coral{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:13px 20px;
  border:1px solid #ffc300;
  border-radius:999px;
  background:#ffc300;
  color:#000;
  font-weight:800;
  text-decoration:none;
  transition:
    transform .2s ease,
    background-color .2s ease,
    color .2s ease,
    border-color .2s ease;
}

.process .btn.coral:hover{
  transform:translateY(-2px);
  border-color:#000;
  background:#000;
  color:#fff;
}

/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:980px){

  .photo-essay,
  .method,
  .process{
    padding:82px 0;
  }

  .editorial-split,
  .process-grid{
    gap:44px;
  }

  .editorial-image,
  .editorial-image img{
    min-height:560px;
    height:560px;
  }

  .method-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .process-photo img{
    height:560px;
  }

}

/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:640px){

  .photo-essay,
  .method,
  .process{
    padding:68px 0;
  }

  .photo-essay h2,
  .method h2,
  .process h2{
    font-size:clamp(2.2rem,11vw,3.3rem);
  }

  .editorial-image,
  .editorial-image img{
    min-height:440px;
    height:440px;
    border-radius:18px;
  }

  .editorial-copy blockquote{
    margin:28px 0;
    padding-left:20px;
    font-size:1.8rem;
  }

  .method-grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .method .step{
    min-height:auto;
    padding:24px 22px;
  }

  .process-photo img{
    height:460px;
    border-radius:18px;
  }

  .process-photo::after{
    right:8px;
    bottom:18px;
    padding:11px 14px;
    font-size:.78rem;
  }

  .timeline-item{
    grid-template-columns:24px minmax(0,1fr);
    gap:12px;
  }

  .decision-box{
    padding:20px;
    font-size:1.08rem;
  }

  .process .btn.coral{
    width:100%;
  }

}

.portrait-stage{
    display:flex;
    flex-direction:column;
    align-items:center;
}

.portrait-main{
    width:100%;
    overflow:hidden;
    /*border-radius:26px;*/
    box-shadow:0 18px 45px rgba(0,0,0,.08);
	border-radius: 48% 52% 44% 56% / 36% 42% 58% 64%;
    transform: rotate(2deg);
}

.portrait-main img{
    display:block;
    width:100%;
    aspect-ratio:4/5;
    object-fit:cover;
    object-position:center top;
}

.portrait-caption{
    width:85%;
    margin-top:-34px;
    padding:22px 28px;
    text-align:center;
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    border-radius:18px;
    box-shadow:0 12px 35px rgba(0,0,0,.08);
}

.portrait-caption h3{
    margin:0 0 6px;
    font-size:1.45rem;
    font-weight:700;
    color:#000;
}

.portrait-caption p{
    margin:0;
    color:#666;
    font-size:.95rem;
    line-height:1.5;
}

.portrait-caption::before{
    content:"";
    display:block;
    width:42px;
    height:4px;
    margin:0 auto 16px;
    border-radius:999px;
    background:#ffc300;
}

/* Verfügbarkeit */

.availability{
  display:inline-block;
  margin:24px 0 28px;
  padding:14px 18px;
  border-left:5px solid var(--black);
  border-radius:8px 16px 16px 8px;
  background:var(--accent);
  color:var(--black);
  font-weight:800;
  line-height:1.45;
}

/* Buttons */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:14px 22px;
  border:1px solid var(--black);
  border-radius:999px;
  background:var(--black);
  color:var(--white);
  font-weight:800;
  text-decoration:none;
  transition:
    transform .2s ease,
    background-color .2s ease,
    color .2s ease,
    border-color .2s ease;
}

.btn:hover{
  transform:translateY(-2px);
  border-color:var(--accent);
  background:var(--accent);
  color:var(--black);
}

/* Checkliste */

.check-list{
  display:grid;
  gap:14px;
  max-width:820px;
  margin:0;
  padding:0;
  list-style:none;
}

.check-list li{
  position:relative;
  padding:18px 20px 18px 52px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--white);
  color:#3f3f3f;
  line-height:1.55;
}

.check-list li::before{
  content:"✓";
  position:absolute;
  top:50%;
  left:18px;
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:var(--accent);
  color:var(--black);
  font-size:.85rem;
  font-weight:900;
  transform:translateY(-50%);
}

/* Zitat */

.quote{
  position:relative;
  max-width:900px;
  margin:64px 0;
  padding:34px 36px 34px 42px;
  border-left:6px solid var(--accent);
  background:var(--soft);
}

.quote::before{
  content:"“";
  position:absolute;
  top:-10px;
  left:26px;
  color:var(--accent);
  font-family:Georgia,"Times New Roman",serif;
  font-size:5rem;
  line-height:1;
  opacity:.9;
}

.quote p{
  position:relative;
  z-index:1;
  margin:0;
  color:var(--black);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.7rem,3vw,2.8rem);
  line-height:1.2;
}



/* Karten */

.cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.card{
  position:relative;
  min-height:220px;
  padding:28px 24px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--white);
  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:4px;
  background:var(--accent);
}

.card:hover{
  transform:translateY(-4px);
  border-color:rgba(255,195,0,.9);
  box-shadow:var(--shadow);
}

.card p{
  margin:0;
  font-size:1rem;
}

/* CTA-Band */

.cta-band{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  margin-top:90px;
  padding:48px 52px;
  border-radius:22px;
  background:var(--black);
  color:var(--white);
}

.cta-band h2{
  margin:0 0 10px;
  color:var(--white);
  font-size:clamp(2rem,3.8vw,3.8rem);
}

.cta-band p{
  margin:0;
  color:rgba(255,255,255,.72);
}

.cta-band p:last-child{
  flex:0 0 auto;
}

/* Tablet */

@media(max-width:900px){

  .cards{
    grid-template-columns:1fr;
  }

  .cta-band{
    align-items:flex-start;
    flex-direction:column;
    padding:40px;
  }

}

/* Mobile */

@media(max-width:640px){

  h1{
    font-size:clamp(2.7rem,14vw,4.3rem);
  }

  h2{
    margin-top:60px;
    font-size:clamp(2rem,10vw,3rem);
  }

  .availability{
    display:block;
  }

  .check-list li{
    padding:16px 16px 16px 48px;
  }

  .quote{
    margin:46px 0;
    padding:30px 24px 30px 28px;
  }

  .quote::before{
    left:18px;
  }

  .steps .step{
    grid-template-columns:30px minmax(0,1fr);
    gap:14px;
  }

  .steps::before{
    left:9px;
  }

  .steps .step::before{
    width:20px;
    height:20px;
  }

  .card{
    min-height:auto;
  }

  .cta-band{
    margin-top:64px;
    padding:32px 26px;
  }

  .cta-band .btn{
    width:100%;
  }

}

.steps{
  position:relative;
  display:grid;
  gap:0;
  max-width:920px;
  margin-top:34px;
  counter-reset:step;
}

.step:not(:last-child){
  border-bottom:1px solid rgba(0,0,0,.1);
}

.step::before{
  content:"0" counter(step);
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  padding-top:3px;
  color:#ffc300;
  font-family:Georgia,"Times New Roman",serif;
  font-size:2.2rem;
  font-weight:500;
  line-height:1;
  letter-spacing:-.04em;
}

.step > div{
  position:relative;
  padding-left:24px;
}

.step > div::before{
  content:"";
  position:absolute;
  top:5px;
  bottom:5px;
  left:0;
  width:3px;
  border-radius:999px;
  background:#ffc300;
}

.step h3{
  margin:0 0 8px;
  color:#000;
  font-size:1.45rem;
  font-weight:750;
  line-height:1.25;
  letter-spacing:-.02em;
}

.step p{
  max-width:680px;
  margin:0;
  color:#5d5d5d;
  font-size:1rem;
  line-height:1.65;
}

.step{
  transition:
    transform .2s ease,
    background-color .2s ease;
}

.step:hover{
  transform:translateX(6px);
}

@media(max-width:640px){

  .steps{
    margin-top:26px;
  }

  .step{
    grid-template-columns:52px minmax(0,1fr);
    gap:16px;
    padding:24px 0;
  }

  .step::before{
    font-size:1.55rem;
  }

  .step > div{
    padding-left:18px;
  }

  .step h3{
    font-size:1.25rem;
  }

  .step p{
    font-size:.96rem;
  }

}

.btn.light{
    background:#ffc300;
    color:#000;
    border:2px solid #ffc300;
    box-shadow:none;
    transition:all .25s ease;
}

.btn.light:hover{
    background:#000;
    color:#ffc300;
    border-color:#ffc300;
    transform:translateY(-2px);
}

.btn.light:active{
    transform:translateY(0);
}

.btn.light:focus-visible{
    outline:3px solid #ffc300;
    outline-offset:3px;
}
.post-meta{
    display:none;
}
.trustgrid .stat h3{
    margin:0 0 8px;
    font-size:1.6rem;
    font-weight:700;
}

.trustgrid .stat p{
    margin:0;
}
/* =========================================================
   STATISTIK-BLOCK
   Dezente Animation und Hervorhebung
   ========================================================= */

.section{
  position:relative;
  padding:100px 0;
  overflow:hidden;
  background:#fff;
}

/* Dezente dekorative Fläche */

.section::before{
  content:"";
  position:absolute;
  top:-130px;
  right:-110px;
  width:300px;
  height:300px;
  border-radius:50%;
  background:#ffc300;
  opacity:.12;
  pointer-events:none;
}

.section::after{
  content:"";
  position:absolute;
  bottom:-170px;
  left:-140px;
  width:340px;
  height:340px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:50%;
  pointer-events:none;
}

.section > .wrap{
  position:relative;
  z-index:1;
}


/* Gutenberg-Spalten */

.stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin:0;
}

.stats > .wp-block-column{
  min-width:0;
  margin:0;
}


/* Einzelne Statistik */

.stats .stat{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:190px;
  padding:30px 24px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.09);
  border-radius:18px;
  background:#fff;
  text-align:center;
  box-shadow:0 10px 30px rgba(0,0,0,.045);
  opacity:0;
  transform:translateY(24px);
  animation:statReveal .65s cubic-bezier(.2,.75,.3,1) forwards;
  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease,
    background-color .25s ease;
}


/* Gestaffelte Animation */

.stats > .wp-block-column:nth-child(1) .stat{
  animation-delay:.05s;
}

.stats > .wp-block-column:nth-child(2) .stat{
  animation-delay:.14s;
}

.stats > .wp-block-column:nth-child(3) .stat{
  animation-delay:.23s;
}

.stats > .wp-block-column:nth-child(4) .stat{
  animation-delay:.32s;
}


/* Akzentlinie */

.stats .stat::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:54px;
  height:4px;
  border-radius:0 0 999px 999px;
  background:#ffc300;
  transform:translateX(-50%);
  transition:width .25s ease;
}


/* Dezente Zahl im Hintergrund */

.stats .stat::after{
  content:"";
  position:absolute;
  right:-28px;
  bottom:-40px;
  width:110px;
  height:110px;
  border:18px solid rgba(255,195,0,.1);
  border-radius:50%;
  transition:
    transform .3s ease,
    opacity .3s ease;
}


/* Kennzahl */

.stats .stat h3{
  position:relative;
  z-index:1;
  margin:0 0 12px;
  color:#000;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.5rem,4vw,4rem);
  font-weight:500;
  line-height:1;
  letter-spacing:-.045em;
}


/* Beschreibung */

.stats .stat p{
  position:relative;
  z-index:1;
  max-width:190px;
  margin:0 auto;
  color:#626262;
  font-size:.96rem;
  line-height:1.5;
}


/* Hover */

.stats .stat:hover{
  z-index:2;
  transform:translateY(-7px);
  border-color:#ffc300;
  box-shadow:0 20px 48px rgba(0,0,0,.1);
}

.stats .stat:hover::before{
  width:100%;
}

.stats .stat:hover::after{
  opacity:.7;
  transform:scale(1.12) rotate(8deg);
}


/* Dritte Statistik besonders hervorheben */

.stats > .wp-block-column:nth-child(3) .stat{
  border-color:#ffc300;
  background:#ffc300;
  box-shadow:0 16px 40px rgba(255,195,0,.2);
}

.stats > .wp-block-column:nth-child(3) .stat::before{
  width:100%;
  background:#000;
}

.stats > .wp-block-column:nth-child(3) .stat::after{
  border-color:rgba(0,0,0,.08);
}

.stats > .wp-block-column:nth-child(3) .stat h3,
.stats > .wp-block-column:nth-child(3) .stat p{
  color:#000;
}

.stats > .wp-block-column:nth-child(3) .stat:hover{
  border-color:#000;
  box-shadow:0 22px 52px rgba(0,0,0,.14);
}


/* Einblendanimation */

@keyframes statReveal{
  from{
    opacity:0;
    transform:translateY(24px);
  }

  to{
    opacity:1;
    transform:translateY(0);
  }
}


/* Tablet */

@media(max-width:980px){

  .section{
    padding:82px 0;
  }

  .stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

}


/* Mobile */

@media(max-width:640px){

  .section{
    padding:64px 0;
  }

  .stats{
    grid-template-columns:1fr;
    gap:14px;
  }

  .stats .stat{
    min-height:150px;
    padding:26px 22px;
  }

  .stats .stat h3{
    font-size:2.7rem;
  }

  .stats .stat p{
    max-width:none;
  }

}


/* Barrierefreiheit */

@media(prefers-reduced-motion:reduce){

  .stats .stat{
    opacity:1;
    transform:none;
    animation:none;
    transition:none;
  }

  .stats .stat:hover{
    transform:none;
  }

}


/* =========================================================
   MENTORING-ABLAUF
   Klassen: .steps und .step
   Akzentfarbe: #ffc300
   ========================================================= */

.steps{
  position:relative;
  display:grid;
  gap:18px;
  max-width:920px;
  margin-top:36px;
  counter-reset:mentoring-step;
}

.step{
  position:relative;
  display:grid;
  grid-template-columns:86px minmax(0,1fr);
  gap:28px;
  align-items:start;
  padding:30px 32px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.09);
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 34px rgba(0,0,0,.055);
  counter-increment:mentoring-step;
  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
}

.step::before{
  content:"0" counter(mentoring-step);
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  width:62px;
  height:62px;
  border-radius:50%;
  background:#ffc300;
  color:#000;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.55rem;
  font-weight:500;
  line-height:1;
  letter-spacing:-.04em;
  box-shadow:0 10px 24px rgba(255,195,0,.24);
}

.step::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:5px;
  height:100%;
  background:#ffc300;
  transform:scaleY(.35);
  transform-origin:center;
  transition:transform .25s ease;
}

.step > div{
  position:relative;
  z-index:1;
  padding-top:3px;
}

.step h3{
  margin:0 0 9px;
  color:#000;
  font-size:1.45rem;
  font-weight:750;
  line-height:1.25;
  letter-spacing:-.025em;
}

.step p{
  max-width:680px;
  margin:0;
  color:#5d5d5d;
  font-size:1rem;
  line-height:1.65;
}

.step:hover{
  transform:translateY(-4px);
  border-color:#ffc300;
  box-shadow:0 20px 48px rgba(0,0,0,.09);
}

.step:hover::after{
  transform:scaleY(1);
}

.step:hover::before{
  background:#000;
  color:#ffc300;
}

/* Verbindungslinie zwischen den Schritten */

.step:not(:last-child) > div::after{
  content:"";
  position:absolute;
  left:-60px;
  bottom:-50px;
  width:2px;
  height:38px;
  background:rgba(0,0,0,.12);
}

/* Tablet */

@media(max-width:780px){

  .step{
    grid-template-columns:68px minmax(0,1fr);
    gap:20px;
    padding:26px 24px;
  }

  .step::before{
    width:52px;
    height:52px;
    font-size:1.3rem;
  }

  .step:not(:last-child) > div::after{
    left:-46px;
  }

}

/* Mobile */

@media(max-width:520px){

  .steps{
    gap:14px;
    margin-top:28px;
  }

  .step{
    grid-template-columns:1fr;
    gap:18px;
    padding:24px 22px 26px;
    border-radius:16px;
  }

  .step::before{
    width:48px;
    height:48px;
    font-size:1.2rem;
  }

  .step::after{
    width:4px;
  }

  .step h3{
    font-size:1.3rem;
  }

  .step p{
    font-size:.96rem;
  }

  .step:not(:last-child) > div::after{
    display:none;
  }

}

/* Barrierefreiheit */

@media(prefers-reduced-motion:reduce){

  .step,
  .step::after,
  .step::before{
    transition:none;
  }

  .step:hover{
    transform:none;
  }

}

/* =========================================================
   CTA BAND
   ========================================================= */

.cta-band{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    margin:100px 0 40px;
    padding:55px 60px;
    overflow:hidden;
    border-radius:28px;
    background:#000;
    color:#fff;
    box-shadow:0 28px 70px rgba(0,0,0,.14);
}

.cta-band::before{
    content:"";
    position:absolute;
    top:-140px;
    right:-90px;
    width:320px;
    height:320px;
    border-radius:50%;
    background:#ffc300;
    opacity:.16;
}

.cta-band>*{
    position:relative;
    z-index:2;
}

.cta-band h2{
    flex:1;
    max-width:620px;
    margin:0 0 10px;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(2.3rem,4vw,4.4rem);
    font-weight:500;
    line-height:1.08;
    letter-spacing:-.04em;
}

.cta-band p{
    margin:0;
    color:rgba(255,255,255,.78);
    font-size:1.08rem;
}

.cta-band p:nth-of-type(2){
    flex-shrink:0;
}


/* Button */

.cta-band .btn.light{
    min-width:240px;
    justify-content:center;
}


/* Hover */

.cta-band:hover{
    box-shadow:0 34px 90px rgba(0,0,0,.18);
}


/* Tablet */

@media(max-width:900px){

    .cta-band{
        flex-direction:column;
        align-items:flex-start;
        padding:46px 40px;
        gap:20px;
    }

    .cta-band h2{
        max-width:none;
    }

}


/* Mobile */

@media(max-width:640px){

    .cta-band{
        margin:70px 0 20px;
        padding:34px 26px;
        border-radius:20px;
    }

    .cta-band .btn.light{
        width:100%;
    }

}

/* =========================================================
   METHOD / ARBEITSWEISE
   Passend für Gutenberg-Ausgabe
   Akzentfarbe: #ffc300
   ========================================================= */

.method{
  position:relative;
  padding:100px 0;
  overflow:hidden;
  background:#f7f7f7;
  color:#000;
}

.method::before{
  content:"";
  position:absolute;
  top:-120px;
  right:-100px;
  width:280px;
  height:280px;
  border-radius:50%;
  background:#ffc300;
  opacity:.13;
  pointer-events:none;
}

.method > .wrap{
  position:relative;
  z-index:1;
}

.method .kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 18px;
  color:#000;
  font-size:.76rem;
  font-weight:800;
  line-height:1.3;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.method .kicker::before{
  content:"";
  flex:0 0 auto;
  width:28px;
  height:7px;
  border-radius:999px;
  background:#ffc300;
  transform:rotate(-4deg);
}

.method > .wrap > h2{
  max-width:900px;
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.4rem,5vw,4.8rem);
  font-weight:500;
  line-height:1.06;
  letter-spacing:-.04em;
}

.method-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-top:46px;
}

.method-grid .step{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:245px;
  padding:30px 26px 28px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 34px rgba(0,0,0,.045);
  transition:
    transform .24s ease,
    border-color .24s ease,
    box-shadow .24s ease;
}

.method-grid .step::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:4px;
  background:#ffc300;
}

.method-grid .step::after{
  content:"";
  position:absolute;
  right:-35px;
  bottom:-45px;
  width:120px;
  height:120px;
  border:18px solid rgba(255,195,0,.09);
  border-radius:50%;
  transition:
    transform .3s ease,
    opacity .3s ease;
}

.method-grid .step h3{
  position:relative;
  z-index:1;
  margin:0 0 14px;
  color:#000;
  font-size:1.5rem;
  font-weight:750;
  line-height:1.2;
  letter-spacing:-.025em;
}

.method-grid .step p{
  position:relative;
  z-index:1;
  margin:0;
  color:#5d5d5d;
  font-size:1rem;
  line-height:1.65;
}

.method-grid .step:hover{
  transform:translateY(-5px);
  border-color:#ffc300;
  box-shadow:0 20px 46px rgba(0,0,0,.085);
}

.method-grid .step:hover::after{
  opacity:.75;
  transform:scale(1.08) rotate(8deg);
}

/* Leichte Staffelung für mehr Dynamik */

.method-grid .step:nth-child(2),
.method-grid .step:nth-child(4){
  transform:translateY(18px);
}

.method-grid .step:nth-child(2):hover,
.method-grid .step:nth-child(4):hover{
  transform:translateY(12px);
}

/* Tablet */

@media(max-width:980px){

  .method{
    padding:82px 0;
  }

  .method-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }

  .method-grid .step{
    min-height:220px;
  }

  .method-grid .step:nth-child(2),
  .method-grid .step:nth-child(4){
    transform:none;
  }

  .method-grid .step:nth-child(2):hover,
  .method-grid .step:nth-child(4):hover{
    transform:translateY(-5px);
  }

}

/* Mobile */

@media(max-width:640px){

  .method{
    padding:68px 0;
  }

  .method > .wrap > h2{
    font-size:clamp(2.2rem,11vw,3.3rem);
  }

  .method-grid{
    grid-template-columns:1fr;
    gap:14px;
    margin-top:34px;
  }

  .method-grid .step{
    min-height:auto;
    padding:24px 22px;
    border-radius:16px;
  }

  .method-grid .step h3{
    font-size:1.35rem;
  }

  .method-grid .step p{
    font-size:.97rem;
  }

  .method-grid .step::after{
    right:-48px;
    bottom:-54px;
    width:110px;
    height:110px;
  }

}

/* Bewegung reduzieren */

@media(prefers-reduced-motion:reduce){

  .method-grid .step,
  .method-grid .step::after{
    transition:none;
  }

  .method-grid .step,
  .method-grid .step:nth-child(2),
  .method-grid .step:nth-child(4),
  .method-grid .step:hover,
  .method-grid .step:nth-child(2):hover,
  .method-grid .step:nth-child(4):hover{
    transform:none;
  }

}

/* ==========================================
   Floating WhatsApp Button
   ========================================== */

.whatsapp-float{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:9999;

    display:flex;
    align-items:center;
    gap:12px;

    padding:14px 18px;

    background:#ffc300;
    color:#000;

    border:2px solid #000;
    border-radius:999px;

    text-decoration:none;
    font-weight:700;
    font-size:.95rem;

    box-shadow:0 16px 40px rgba(0,0,0,.18);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background .25s ease;
}

.whatsapp-float svg{
    width:22px;
    height:22px;
    fill:currentColor;
    flex-shrink:0;
}

.whatsapp-float:hover{
    transform:translateY(-4px);
    background:#000;
    color:#ffc300;
    box-shadow:0 22px 50px rgba(0,0,0,.25);
}

.whatsapp-float:active{
    transform:translateY(-1px);
}

.whatsapp-float:focus-visible{
    outline:3px solid #ffc300;
    outline-offset:4px;
}

/* Mobile */

@media(max-width:640px){

    .whatsapp-float{
        right:16px;
        bottom:16px;

        padding:13px 16px;
    }

    .whatsapp-float span{
        display:none;
    }

    .whatsapp-float svg{
        width:24px;
        height:24px;
    }

}


/* =========================================================
   ÜBER MICH
   Nur Seite ID 122
   ========================================================= */


.page-id-122 .page-hero::before{
    content:"";
    position:absolute;
    right:-120px;
    top:-150px;
    width:420px;
    height:420px;
    border-radius:50%;
    background:#ffc300;
    opacity:.12;
}

.page-id-122 .page-hero h1{
    max-width:900px;
    margin:0;
    color:#fff;
    font-size:clamp(3rem,6vw,6rem);
    line-height:1.02;
}

.page-id-122 .content-section,
.page-id-122 .section{
    padding:100px 0;
}


/* =========================================================
   PROCESS
   ========================================================= */

.process{
    padding:110px 0;
    background:#fff;
}

.process-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}


/* ---------------------------------------------------------
   Bild
--------------------------------------------------------- */

.process-photo{
    margin:0;
}

.process-photo img{
    display:block;
    width:100%;
    aspect-ratio:4/5;
    object-fit:cover;
    border-radius:30px;
    box-shadow:0 30px 70px rgba(0,0,0,.12);
}


/* ---------------------------------------------------------
   Timeline
--------------------------------------------------------- */

.timeline{
    position:relative;
    display:grid;
    gap:26px;
    margin-top:40px;
    padding-left:34px;
}

.timeline::before{
    content:"";
    position:absolute;
    left:13px;
    top:12px;
    bottom:12px;
    width:2px;
    background:rgba(0,0,0,.12);
}

.timeline-item{
    position:relative;
    padding:0 0 0 34px;
}



.timeline-item h3{
    margin:0 0 8px;
    color:#000;
    font-size:1.4rem;
    font-weight:700;
    line-height:1.25;
    letter-spacing:-.02em;
}

.timeline-item p{
    margin:0;
    color:#666;
    line-height:1.7;
}

.timeline-item:hover::before{
    transform:scale(1.3);
}


/* ---------------------------------------------------------
   Decision Box
--------------------------------------------------------- */

.decision-box{
    margin-top:45px;
    padding:26px 30px;
    border-left:5px solid #ffc300;
    border-radius:0 18px 18px 0;
    background:#fafafa;
    font-size:1.1rem;
    font-weight:600;
    line-height:1.7;
    color:#000;
}


/* ---------------------------------------------------------
   Button
--------------------------------------------------------- */

.process .wp-block-buttons,
.process p:last-child{
    margin-top:34px;
}


/* ---------------------------------------------------------
   Animation
--------------------------------------------------------- */

.timeline-item{
    opacity:0;
    transform:translateY(24px);
    animation:processFade .6s ease forwards;
}

.timeline-item:nth-child(1){animation-delay:.05s;}
.timeline-item:nth-child(2){animation-delay:.15s;}
.timeline-item:nth-child(3){animation-delay:.25s;}
.timeline-item:nth-child(4){animation-delay:.35s;}

@keyframes processFade{

    from{
        opacity:0;
        transform:translateY(24px);
    }

    to{
        opacity:1;
        transform:none;
    }

}


/* ---------------------------------------------------------
   Tablet
--------------------------------------------------------- */

@media (max-width:980px){

    .process{
        padding:90px 0;
    }

    .process-grid{
        grid-template-columns:1fr;
        gap:50px;
    }

    .process-photo{
        order:-1;
    }

}


/* ---------------------------------------------------------
   Mobile
--------------------------------------------------------- */

@media (max-width:640px){

    .process{
        padding:70px 0;
    }

    .process-grid{
        gap:36px;
    }

    .process-photo img{
        border-radius:22px;
    }

    .timeline{
        gap:22px;
        padding-left:24px;
    }

    .timeline::before{
        left:9px;
    }

    .timeline-item{
        padding-left:22px;
    }

    .timeline-item::before{
        width:12px;
        height:12px;
        left:-1px;
    }

    .timeline-item h3{
        font-size:1.2rem;
    }

    .decision-box{
        padding:22px;
        font-size:1rem;
    }

}


/* ---------------------------------------------------------
   Bewegung reduzieren
--------------------------------------------------------- */

@media (prefers-reduced-motion:reduce){

    .timeline-item{
        animation:none;
        opacity:1;
        transform:none;
    }

    .timeline-item::before{
        transition:none;
    }

}

/* =========================================================
   PHOTO ESSAY
   ========================================================= */

.photo-essay{
    padding:100px 0;
    background:#fff;
}

.editorial-split{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}

.editorial-image{
    margin:0;
}

.editorial-image img{
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:4/5;
    object-fit:cover;
    border-radius:28px;
    box-shadow:0 24px 60px rgba(0,0,0,.12);
}

.editorial-copy{
    max-width:680px;
}

.editorial-copy .lead{
    margin-bottom:32px;
}

.editorial-copy blockquote{
    margin:40px 0;
    padding:28px 34px;
    border-left:4px solid #ffc300;
    background:#fafafa;
    border-radius:0 18px 18px 0;
}

.editorial-copy blockquote p{
    margin:0;
    font-size:1.5rem;
    line-height:1.4;
    color:#000;
}


/* =====================================
   Tablet
===================================== */

@media (max-width:980px){

    .editorial-split{
        grid-template-columns:1fr;
        gap:40px;
    }

    .editorial-image{
        order:-1;
    }

    .editorial-copy{
        max-width:100%;
    }

}


/* =====================================
   Mobile
===================================== */

@media (max-width:640px){

    .photo-essay{
        padding:70px 0;
    }

    .editorial-split{
        gap:28px;
    }

    .editorial-image img{
        aspect-ratio:auto;
        border-radius:18px;
    }

    .editorial-copy h2{
        font-size:2.2rem;
    }

    .editorial-copy blockquote{
        margin:28px 0;
        padding:22px;
    }

    .editorial-copy blockquote p{
        font-size:1.25rem;
    }

}

@media (max-width:500px){

    .btn.coral{
        display:none;
    }

}