:root{
  --cream:#FDF5F4;
  --peach:#F9E4E2;
  --rose:#E0ABA6;
  --champagne:#CE938D;
  --brown:#A8666C;
  --dark:#54343C;
  --white:#FFFCFC;
  --shadow:0 20px 60px rgba(84,52,60,.10);
  --ease:cubic-bezier(.22,1,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Lato',sans-serif;
  font-weight:300;
  color:var(--dark);
  background:var(--cream);
  line-height:1.75;
  overflow-x:hidden;
}
::selection{background:var(--rose);color:#fff}

h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;font-weight:400;line-height:1.15}
.script{font-family:'Allura',cursive;font-weight:400;color:var(--champagne)}
.eyebrow{
  font-family:'Allura',cursive;
  font-size:clamp(1.6rem,2.6vw,2.2rem);
  color:var(--champagne);
  display:block;margin-bottom:.4rem;
}
.section-title{
  font-size:clamp(2.2rem,4.5vw,3.4rem);
  letter-spacing:.02em;
  color:var(--dark);
}
.lede{max-width:640px;color:var(--brown);font-size:1.05rem}
.container{width:min(1180px,92%);margin:0 auto}
section{padding:clamp(4.5rem,9vw,8rem) 0;position:relative}

/* ---------- NAV ---------- */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem clamp(1.2rem,5vw,4rem);
  transition:background .4s,box-shadow .4s,padding .4s;
}
nav.scrolled{
  background:rgba(253,245,244,.88);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 1px 0 rgba(168,102,108,.12);
  padding:.7rem clamp(1.2rem,5vw,4rem);
}
.logo{cursor:pointer;line-height:1;text-align:left}
.logo .name{
  font-family:'Cormorant Garamond',serif;
  font-size:1.5rem;letter-spacing:.42em;font-weight:500;color:var(--dark);
}
.logo .sub{
  font-family:'Allura',cursive;font-size:1.05rem;color:var(--champagne);
  display:block;margin-top:-2px;letter-spacing:.05em;
}
.nav-links{display:flex;gap:2.4rem;align-items:center;list-style:none}
.nav-links a{
  text-decoration:none;color:var(--dark);font-size:.82rem;font-weight:400;
  letter-spacing:.22em;text-transform:uppercase;position:relative;padding:.3rem 0;cursor:pointer;
}
.nav-links a::after{
  content:'';position:absolute;left:0;bottom:0;height:1px;width:0;
  background:var(--champagne);transition:width .35s var(--ease);
}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-cta{
  background:var(--dark);color:var(--cream)!important;
  padding:.65rem 1.5rem!important;border-radius:99px;letter-spacing:.18em!important;
  transition:background .3s,transform .3s;
}
.nav-cta::after{display:none}
.nav-cta:hover{background:var(--brown);transform:translateY(-1px)}
.burger{display:none;background:none;border:none;cursor:pointer;z-index:110}
.burger span{display:block;width:26px;height:1.5px;background:var(--dark);margin:6px 0;transition:.35s var(--ease)}

/* ---------- HERO ---------- */
.hero{
  min-height:100svh;display:flex;align-items:center;justify-content:center;
  text-align:center;position:relative;overflow:hidden;padding:7rem 1.5rem 4rem;
  background:
    radial-gradient(ellipse 90% 60% at 50% 108%, rgba(255,178,170,.55), transparent 60%),
    radial-gradient(ellipse 60% 45% at 50% 100%, rgba(255,150,150,.40), transparent 65%),
    linear-gradient(180deg,#FDF5F4 0%,#FAE6E4 35%,#F6D4D2 70%,#F0BFBE 100%);
}
.sun{
  position:absolute;left:50%;bottom:-16vmin;transform:translateX(-50%);
  width:52vmin;height:52vmin;border-radius:50%;
  background:radial-gradient(circle,#FFF4F0 0%,#FFDCCE 30%,rgba(255,180,165,.55) 55%,transparent 72%);
  filter:blur(2px);
  animation:sunbreathe 9s ease-in-out infinite;
}
@keyframes sunbreathe{0%,100%{transform:translateX(-50%) scale(1);opacity:.95}50%{transform:translateX(-50%) scale(1.06);opacity:1}}
.sun-ring{
  position:absolute;left:50%;bottom:-30vmin;transform:translateX(-50%);
  width:88vmin;height:88vmin;border-radius:50%;
  border:1px solid rgba(224,171,166,.55);
  animation:ringspin 60s linear infinite;
}
.sun-ring::before{
  content:'';position:absolute;inset:-7vmin;border-radius:50%;
  border:1px dashed rgba(224,171,166,.3);
}
@keyframes ringspin{to{transform:translateX(-50%) rotate(360deg)}}
.hero-inner{position:relative;z-index:2;max-width:880px}
.hero .eyebrow{font-size:clamp(1.8rem,3.4vw,2.6rem);animation:rise 1.2s var(--ease) both .15s}
.hero h1{
  font-size:clamp(2.8rem,7.2vw,5.6rem);
  font-weight:300;letter-spacing:.01em;color:var(--dark);
  animation:rise 1.2s var(--ease) both .3s;
}
.hero h1 em{font-style:italic;color:var(--brown)}
.hero .sub{
  margin:1.6rem auto 0;max-width:560px;color:var(--brown);
  font-size:1.02rem;letter-spacing:.04em;
  animation:rise 1.2s var(--ease) both .5s;
}
.hero-ctas{margin-top:2.6rem;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;animation:rise 1.2s var(--ease) both .65s}
.btn{
  display:inline-block;text-decoration:none;cursor:pointer;border:none;
  font-family:'Lato',sans-serif;font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;
  padding:1.05rem 2.4rem;border-radius:99px;transition:transform .3s var(--ease),box-shadow .3s,background .3s;
}
.btn-primary{background:var(--dark);color:var(--cream)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(84,52,60,.25);background:var(--brown)}
.btn-ghost{background:transparent;color:var(--dark);border:1px solid var(--rose)}
.btn-ghost:hover{background:rgba(255,255,255,.5);transform:translateY(-2px)}
.scroll-hint{
  position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;
  font-size:.68rem;letter-spacing:.35em;text-transform:uppercase;color:var(--brown);
  animation:floaty 2.6s ease-in-out infinite;
}
@keyframes floaty{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}

/* butterflies */
.butterfly{position:absolute;z-index:1;opacity:.85;animation:drift linear infinite}
.butterfly svg{width:100%;height:100%;animation:flutter 1.1s ease-in-out infinite alternate;transform-origin:center}
@keyframes flutter{from{transform:rotateY(18deg) rotate(-6deg)}to{transform:rotateY(-30deg) rotate(8deg)}}
@keyframes drift{
  0%{transform:translate(0,0) rotate(0)}
  25%{transform:translate(6vw,-14vh) rotate(8deg)}
  50%{transform:translate(-3vw,-30vh) rotate(-6deg)}
  75%{transform:translate(8vw,-46vh) rotate(6deg)}
  100%{transform:translate(0,-62vh) rotate(0)}
}

/* ---------- reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.12s}.reveal.d2{transition-delay:.24s}.reveal.d3{transition-delay:.36s}

/* ---------- STORY ---------- */
.story{background:var(--cream);text-align:center}
.story blockquote{
  font-family:'Cormorant Garamond',serif;font-size:clamp(1.5rem,3vw,2.2rem);
  font-style:italic;font-weight:300;max-width:760px;margin:0 auto;color:var(--dark);
}
.story blockquote strong{font-weight:500;color:var(--brown);font-style:normal}
.story .signature{margin-top:2rem;font-size:2rem}
.hr-butterfly{display:flex;align-items:center;gap:1rem;justify-content:center;margin:0 auto 2.4rem;max-width:380px}
.hr-butterfly::before,.hr-butterfly::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--rose))}
.hr-butterfly::after{background:linear-gradient(90deg,var(--rose),transparent)}

/* ---------- ANSATZ (Innen/Außen Signature Toggle) ---------- */
.ansatz{background:linear-gradient(180deg,var(--cream),var(--peach))}
.ansatz-head{text-align:center;margin-bottom:3.2rem}
.toggle-wrap{display:flex;justify-content:center;margin:2.4rem 0 3rem}
.io-toggle{
  display:flex;background:var(--white);border:1px solid rgba(224,171,166,.45);
  border-radius:99px;padding:.35rem;position:relative;box-shadow:var(--shadow);
}
.io-toggle button{
  position:relative;z-index:2;background:none;border:none;cursor:pointer;
  font-family:'Lato',sans-serif;font-size:.8rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--brown);padding:.8rem 2.6rem;transition:color .4s;
}
.io-toggle button.active{color:var(--cream)}
.io-pill{
  position:absolute;top:.35rem;bottom:.35rem;left:.35rem;width:calc(50% - .35rem);
  background:var(--dark);border-radius:99px;transition:transform .5s var(--ease);z-index:1;
}
.io-toggle.outer .io-pill{transform:translateX(100%)}
.io-panels{position:relative;max-width:880px;margin:0 auto;min-height:340px}
.io-panel{
  position:absolute;inset:0;opacity:0;transform:translateY(18px) scale(.99);
  transition:opacity .6s var(--ease),transform .6s var(--ease);pointer-events:none;
}
.io-panel.show{opacity:1;transform:none;pointer-events:auto;position:relative}
.io-card{
  background:var(--white);border-radius:28px;padding:clamp(2rem,4vw,3.4rem);
  box-shadow:var(--shadow);border:1px solid rgba(224,171,166,.25);
}
.io-card h3{font-size:1.9rem;margin-bottom:.4rem}
.io-card p.intro{color:var(--brown);margin-bottom:1.6rem;font-style:italic;font-family:'Cormorant Garamond',serif;font-size:1.15rem}
.io-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}
.io-item{
  background:var(--cream);border-radius:16px;padding:1.1rem 1.3rem;
  display:flex;gap:.8rem;align-items:flex-start;font-size:.94rem;
  transition:transform .3s var(--ease),box-shadow .3s;
}
.io-item:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(84,52,60,.10)}
.io-item .dot{
  flex:none;width:9px;height:9px;border-radius:50%;margin-top:.5rem;
  background:radial-gradient(circle at 30% 30%,#F2C4BE,var(--champagne));
}
.verbindung{
  text-align:center;margin-top:2.6rem;font-family:'Cormorant Garamond',serif;
  font-style:italic;font-size:clamp(1.2rem,2.4vw,1.6rem);color:var(--brown);
}

/* ---------- ANGEBOT ---------- */
.angebot{background:var(--peach)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.6rem;margin-top:3rem}
.card{
  background:var(--white);border-radius:26px;padding:2.4rem 2.1rem;
  border:1px solid rgba(224,171,166,.3);box-shadow:0 8px 30px rgba(84,52,60,.06);
  transition:transform .45s var(--ease),box-shadow .45s;position:relative;overflow:hidden;
}
.card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--rose),var(--champagne),var(--rose));
  transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);
}
.card:hover{transform:translateY(-8px);box-shadow:0 26px 60px rgba(84,52,60,.14)}
.card:hover::before{transform:scaleX(1)}
.card .icon{font-size:1.8rem;margin-bottom:1rem;display:block}
.card h3{font-size:1.65rem;margin-bottom:.9rem;color:var(--dark)}
.card ul{list-style:none;margin:0 0 1.2rem}
.card ul li{padding:.32rem 0 .32rem 1.4rem;position:relative;font-size:.94rem;color:#6b4750}
.card ul li::before{content:'';position:absolute;left:0;top:.95em;width:14px;height:1px;background:var(--champagne)}
.card .tag{
  display:inline-block;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--brown);border:1px solid var(--rose);border-radius:99px;padding:.3rem .9rem;
}

/* ---------- TRANSFORMATION (Vorher/Nachher) ---------- */
.transform{background:var(--cream)}
.transform-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;margin-top:2.5rem}
.compare{
  position:relative;border-radius:30px;overflow:hidden;aspect-ratio:4/5;
  box-shadow:var(--shadow);cursor:ew-resize;user-select:none;touch-action:none;
}
.compare .layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.compare .before{
  background:linear-gradient(160deg,#DBCBCB,#BCA4A6 60%,#a18a8e);
}
.compare .after{
  background:
    radial-gradient(ellipse 80% 55% at 50% 100%,rgba(255,182,175,.7),transparent 65%),
    linear-gradient(160deg,#FBE6E3,#F2BFBA 55%,#E29A9A);
  clip-path:inset(0 0 0 50%);
}
.compare .word{
  font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:clamp(1.6rem,3vw,2.4rem);color:rgba(84,52,60,.85);letter-spacing:.06em;
}
.compare .after .word{color:#fff;text-shadow:0 2px 18px rgba(150,70,80,.4)}
.compare .handle{
  position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;
  box-shadow:0 0 18px rgba(0,0,0,.18);transform:translateX(-1px);
}
.compare .handle::after{
  content:'⟷';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:46px;height:46px;border-radius:50%;background:#fff;color:var(--brown);
  display:grid;place-items:center;font-size:1.1rem;box-shadow:0 6px 20px rgba(0,0,0,.18);
}
.compare .badge{
  position:absolute;bottom:1.1rem;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;
  background:rgba(255,255,255,.85);padding:.4rem 1rem;border-radius:99px;color:var(--brown);
}
.compare .badge.l{left:1.1rem}.compare .badge.r{right:1.1rem}
.transform-copy h2{margin-bottom:1.2rem}
.transform-copy p{margin-bottom:1.1rem;color:#6b4750}
.transform-copy .quote{
  font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.35rem;
  color:var(--brown);border-left:2px solid var(--champagne);padding-left:1.2rem;margin:1.6rem 0;
}

/* ---------- ZIELGRUPPEN ---------- */
.fuer-dich{background:linear-gradient(180deg,var(--peach),var(--cream))}
.persona-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.6rem;margin-top:3rem}
.persona{
  border-radius:26px;padding:2.6rem 2.2rem;position:relative;overflow:hidden;
  background:var(--white);border:1px solid rgba(224,171,166,.3);
  transition:transform .45s var(--ease),box-shadow .45s;
}
.persona:hover{transform:translateY(-6px);box-shadow:0 24px 56px rgba(84,52,60,.13)}
.persona .script{font-size:1.9rem;display:block;margin-bottom:.2rem}
.persona h3{font-size:1.6rem;margin-bottom:1rem}
.persona p{font-size:.95rem;color:#6b4750}

/* ---------- BREATHWORK / COMING SOON ---------- */
.breath{
  background:var(--dark);color:var(--peach);text-align:center;overflow:hidden;position:relative;
}
.breath .eyebrow{color:var(--rose)}
.breath h2{color:var(--cream);font-size:clamp(2rem,4vw,3rem)}
.breath p{max-width:560px;margin:1.4rem auto 0;color:rgba(249,228,226,.8)}
.breath-circle{
  width:130px;height:130px;border-radius:50%;margin:2.8rem auto 0;
  border:1px solid rgba(206,147,141,.6);display:grid;place-items:center;
  animation:breathe 7s ease-in-out infinite;
}
.breath-circle span{font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;color:var(--rose)}
@keyframes breathe{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(206,147,141,.25)}50%{transform:scale(1.18);box-shadow:0 0 0 34px rgba(206,147,141,0)}}

/* ---------- VISION / CTA ---------- */
.vision{text-align:center;background:
  radial-gradient(ellipse 80% 60% at 50% 115%,rgba(255,185,178,.5),transparent 62%),var(--cream)}
.vision h2{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:300}
.vision h2 .script{display:block;font-size:clamp(2.4rem,5vw,3.6rem);margin-bottom:.4rem}
.vision p{max-width:540px;margin:1.6rem auto 2.4rem;color:var(--brown)}

/* ---------- BLOG ---------- */
.page{display:block;animation:pagefade .7s var(--ease)}
@keyframes pagefade{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.page-hero{
  padding:11rem 0 4.5rem;text-align:center;
  background:linear-gradient(180deg,var(--peach),var(--cream));
}
.page-hero h1{font-size:clamp(2.6rem,5.5vw,4rem);font-weight:300}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.8rem;padding-bottom:6rem}
.post{
  background:var(--white);border-radius:24px;overflow:hidden;
  border:1px solid rgba(224,171,166,.3);box-shadow:0 8px 26px rgba(84,52,60,.06);
  transition:transform .4s var(--ease),box-shadow .4s;display:flex;flex-direction:column;
}
.post:hover{transform:translateY(-7px);box-shadow:0 24px 56px rgba(84,52,60,.13)}
.post .thumb{height:190px;position:relative}
.post .thumb.t1{background:radial-gradient(ellipse at 50% 110%,#FFD3D0,#F2B3B0 60%,#DD908F)}
.post .thumb.t2{background:radial-gradient(ellipse at 50% 110%,#F9E4E2,#E5BCBA 65%,#D09B98)}
.post .thumb.t3{background:radial-gradient(ellipse at 50% 110%,#FBE3E0,#E6AFAC 60%,#BC7E82)}
.post .thumb .script{position:absolute;inset:0;display:grid;place-items:center;font-size:2.1rem;color:#fff;text-shadow:0 2px 14px rgba(140,60,70,.35)}
.post .body{padding:1.8rem 1.8rem 2rem;display:flex;flex-direction:column;flex:1}
.post .meta{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--rose);margin-bottom:.7rem}
.post h3{font-size:1.45rem;margin-bottom:.7rem}
.post p{font-size:.92rem;color:#6b4750;flex:1}
.post a{
  margin-top:1.3rem;text-decoration:none;color:var(--brown);font-size:.78rem;
  letter-spacing:.22em;text-transform:uppercase;align-self:flex-start;border-bottom:1px solid var(--champagne);
  padding-bottom:.2rem;cursor:pointer;
}

/* ---------- KONTAKT ---------- */
.kontakt-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2.5rem,6vw,5rem);padding-bottom:6rem;align-items:start}
.kontakt-info h2{font-size:2rem;margin-bottom:1.2rem}
.kontakt-info p{color:#6b4750;margin-bottom:1.8rem}
.k-line{display:flex;gap:1rem;align-items:center;padding:.9rem 0;border-bottom:1px solid rgba(224,171,166,.35);font-size:.95rem}
.k-line .ic{width:38px;height:38px;border-radius:50%;background:var(--peach);display:grid;place-items:center;flex:none}
form{
  background:var(--white);border-radius:28px;padding:clamp(1.8rem,4vw,2.8rem);
  border:1px solid rgba(224,171,166,.3);box-shadow:var(--shadow);
}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.f-group{margin-bottom:1.1rem;display:flex;flex-direction:column}
label{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brown);margin-bottom:.45rem}
input,select,textarea{
  font-family:'Lato',sans-serif;font-size:.95rem;color:var(--dark);
  background:var(--cream);border:1px solid rgba(224,171,166,.4);border-radius:14px;
  padding:.85rem 1.1rem;transition:border .3s,box-shadow .3s;width:100%;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--champagne);box-shadow:0 0 0 4px rgba(206,147,141,.18)}
textarea{resize:vertical;min-height:130px}
.form-success{
  display:none;text-align:center;padding:3rem 1rem;
}
.form-success.show{display:block}
.form-success .script{font-size:2.6rem;display:block;margin-bottom:.6rem}

/* ---------- FOOTER ---------- */
footer{background:var(--dark);color:rgba(249,228,226,.75);padding:4rem 0 2.4rem;text-align:center}
footer .logo .name{color:var(--cream)}
footer .links{display:flex;gap:2rem;justify-content:center;margin:1.8rem 0;flex-wrap:wrap}
footer .links a{color:rgba(249,228,226,.75);text-decoration:none;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
footer .links a:hover{color:var(--rose)}
footer .fine{font-size:.74rem;color:rgba(249,228,226,.45)}

/* ---------- RESPONSIVE ---------- */
@media (max-width:880px){
  .transform-grid,.kontakt-grid{grid-template-columns:1fr}
  .f-row{grid-template-columns:1fr}
  .nav-links{
    position:fixed;inset:0;background:rgba(253,245,244,.97);backdrop-filter:blur(16px);
    flex-direction:column;justify-content:center;gap:2.2rem;
    transform:translateY(-100%);transition:transform .5s var(--ease);
  }
  .nav-links.open{transform:none}
  .nav-links a{font-size:1rem}
  .burger{display:block}
  .burger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  .burger.open span:nth-child(2){opacity:0}
  .burger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}

/* ===== v1.1 Mobile-Nav-Fix ===== */
@media (max-width:880px){
  .nav-links{
    top:0;left:0;right:0;bottom:0;
    -webkit-backdrop-filter:blur(16px);
    visibility:hidden;opacity:0;
    transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .4s,visibility 0s .5s;
  }
  .nav-links.open{
    visibility:visible;opacity:1;
    transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .4s,visibility 0s 0s;
  }
}
