:root{
  --bg:#F2F1EF; --bg-deep:#E8E6E1; --ink:#16150F; --body:#4A4845;
  --gold:#B08F55; --dark:#0D0D0C; --red:#8C1A11;
  --line:rgba(22,21,15,.14);
  --pad:1.5rem;
  --bar:56px;
  --serif:"Playfair Display",Georgia,serif;
  --sans:"Poppins",-apple-system,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--bar) + 1rem);}
body{margin:0;font-family:var(--sans);font-weight:300;color:var(--body);
  background:var(--bg);line-height:1.7;overflow-x:hidden;}
h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);margin:0;line-height:1.15;
  text-wrap:balance;hyphens:auto;}
p{margin:0;}
a:focus-visible,.btn:focus-visible{outline:2px solid var(--red);outline-offset:3px;}

.wrap{width:100%;max-width:1100px;margin-inline:auto;padding-inline:var(--pad);}
.eyebrow{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--red);font-weight:500;}

/* ---------- STICKY BAR ---------- */
.bar{
  position:fixed;top:0;left:0;right:0;z-index:50;
  height:var(--bar);
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;padding-inline:var(--pad);
  background:rgba(242,241,239,.82);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .3s ease, background .3s ease;
}
.bar.is-stuck{border-bottom-color:var(--line);background:rgba(242,241,239,.94);}
.bar__home{
  font-family:var(--serif);font-weight:700;font-size:1.02rem;color:var(--ink);
  text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.bar__home em{font-style:italic;font-weight:500;color:var(--gold);}
.bar .btn{margin:0;width:auto;min-height:38px;padding:.45rem 1.1rem;
  font-size:.66rem;flex:none;}
body{padding-top:var(--bar);}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  min-height:52px;padding:.9rem 1.6rem;
  border:1px solid var(--ink);border-radius:2px;
  color:var(--ink);background:transparent;text-decoration:none;
  font-family:var(--sans);font-size:.74rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.btn span{transition:transform .25s ease;}
.btn:hover,.btn:active{background:var(--ink);color:var(--bg);}
.btn:hover span{transform:translateX(4px);}
.btn--solid{background:var(--red);border-color:var(--red);color:#fff;}
.btn--solid:hover,.btn--solid:active{background:var(--ink);border-color:var(--ink);color:#fff;}
.btn--wide{width:100%;}
.btn--light{border-color:rgba(255,255,255,.5);color:#fff;}
.btn--light:hover,.btn--light:active{background:#fff;color:var(--ink);}

/* ---------- HERO ---------- */
.hero{
  background:linear-gradient(180deg,var(--bg) 0%,var(--bg-deep) 100%);
  padding-block:clamp(2.75rem,9vh,5.5rem) clamp(3rem,10vh,6rem);
  text-align:center;
}
.hero .eyebrow{display:block;margin-bottom:1rem;}
.hero h1{font-size:clamp(2.1rem,8.2vw,4rem);font-weight:700;letter-spacing:-.015em;}
.hero h1 em{display:block;font-style:italic;font-weight:600;color:var(--gold);}
.hero__lead{font-size:clamp(1rem,3.9vw,1.15rem);line-height:1.75;
  max-width:38ch;margin:1.5rem auto 0;}
.hero__cta{margin-top:2.25rem;display:flex;flex-direction:column;gap:.75rem;align-items:center;}
.hero__cta .btn{width:100%;max-width:340px;}
.hero__note{font-size:.8rem;color:var(--body);}

/* ---------- SECTION BASICS ---------- */
.section{padding-block:clamp(3.25rem,11vw,6rem);}
.section--alt{background:var(--bg-deep);}
.section__head{margin-bottom:clamp(2rem,7vw,3rem);}
.section__head .eyebrow{display:block;margin-bottom:.75rem;}
.section h2{font-size:clamp(1.75rem,6.6vw,2.75rem);font-weight:700;color:var(--red);}
.section__intro{margin-top:1rem;max-width:52ch;font-size:clamp(.97rem,3.8vw,1.05rem);}

/* ---------- VALUE LIST ---------- */
.pillars{display:grid;grid-template-columns:1fr;gap:0;}
.pillar{padding-block:1.6rem;border-top:1px solid var(--line);
  display:grid;grid-template-columns:2.2rem 1fr;gap:0 .9rem;align-items:start;}
.pillar:last-child{border-bottom:1px solid var(--line);}
.pillar__num{font-family:var(--serif);font-size:1.5rem;color:var(--gold);
  line-height:1.25;font-weight:500;}
.pillar h3{font-size:1.12rem;font-weight:700;margin-bottom:.35rem;}
.pillar p{font-size:.95rem;}

/* ---------- SUBGROUPS ---------- */
.groups{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.75rem;}
.group{
  border:1px solid var(--line);border-radius:100px;
  display:inline-flex;align-items:center;gap:.42rem;
  padding:.5rem 1rem;font-size:.85rem;background:rgba(255,255,255,.5);
}
.group__emoji{font-size:1rem;line-height:1;}
.group b{font-weight:500;color:var(--ink);}

/* ---------- WOCHENPLAN (Signature) ---------- */
.section--plan{background:#fbfaf7;}
.week{border-top:1px solid var(--line);}
.day{
  padding-block:1.6rem;border-bottom:1px solid var(--line);position:relative;
}
.day__head{display:flex;align-items:baseline;flex-wrap:wrap;gap:.55rem .9rem;margin-bottom:.9rem;}
.day__abbr{
  font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;
  color:var(--body);border:1px solid var(--line);border-radius:100px;
  padding:.3rem .8rem;background:rgba(255,255,255,.55);white-space:nowrap;
}
.day__topic{font-family:var(--serif);font-size:clamp(1.15rem,4.8vw,1.5rem);
  font-weight:700;color:var(--ink);line-height:1.2;}
.day__list{
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:1fr;gap:.3rem .0rem;
  font-size:.92rem;line-height:1.6;
}
.day__list li{padding-left:1rem;position:relative;}
.day__list li::before{content:"·";position:absolute;left:.15rem;color:var(--gold);font-weight:600;}
.day__goal{
  margin-top:1rem;padding:.85rem 1rem;border-left:2px solid var(--gold);
  background:rgba(255,255,255,.55);font-size:.9rem;
}
.day__goal b{font-weight:500;color:var(--ink);
  letter-spacing:.12em;text-transform:uppercase;font-size:.62rem;
  display:block;margin-bottom:.2rem;color:var(--gold);}
.day.is-today .day__abbr{background:var(--red);border-color:var(--red);color:#fff;}
.day__today{display:none;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--red);font-weight:500;}
.day.is-today .day__today{display:inline;}

/* Original-Skizze */
.plan-figure{margin:clamp(2.25rem,8vw,3.5rem) 0 0;}
.plan-figure img{
  display:block;width:100%;height:auto;
  background:#fff;border-radius:3px;
}
.plan-figure figcaption{
  margin-top:.85rem;font-size:.8rem;text-align:center;color:var(--body);
}

/* ---------- CHALLENGES (dunkel) ---------- */
.dark{background:var(--dark);color:#D9D6D0;}
.dark h2{color:#fff;}
.dark .eyebrow{color:var(--gold);}
.dark .section__intro{color:#C9C6C0;}
.prizes{display:grid;grid-template-columns:1fr;gap:0;margin-top:2rem;}
.prize{padding-block:1.5rem;border-top:1px solid rgba(255,255,255,.14);}
.prize:last-child{border-bottom:1px solid rgba(255,255,255,.14);}
.prize h3{color:#fff;font-size:1.1rem;font-weight:700;margin-bottom:.3rem;}
.prize p{font-size:.94rem;}
.prize__tag{display:inline-block;font-size:.62rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold);margin-bottom:.5rem;}

/* ---------- PREIS ---------- */
.price-card{
  border:1px solid var(--line);background:rgba(255,255,255,.6);
  padding:clamp(1.75rem,7vw,2.75rem);text-align:center;
  max-width:480px;margin-inline:auto;
}
.price-card .eyebrow{display:block;margin-bottom:1rem;}
.price{font-family:var(--serif);font-size:clamp(2.6rem,12vw,3.4rem);
  font-weight:700;color:var(--ink);line-height:1;}
.price small{font-family:var(--sans);font-size:.9rem;font-weight:300;
  color:var(--body);display:block;margin-top:.6rem;letter-spacing:0;}
.price-list{list-style:none;padding:0;margin:1.75rem 0;text-align:left;
  display:flex;flex-direction:column;gap:.7rem;font-size:.94rem;}
.price-list li{padding-left:1.4rem;position:relative;}
.price-list li::before{content:"—";position:absolute;left:0;color:var(--gold);}
.price-fee{margin-top:1rem;font-size:.78rem;line-height:1.6;color:var(--body);opacity:.85;}

/* ---------- PLÄNE (3 Optionen) ---------- */
.plans{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-top:2rem;}
.plan{
  position:relative;
  border:1px solid var(--line);background:rgba(255,255,255,.6);
  padding:clamp(1.75rem,6vw,2.25rem);
  display:flex;flex-direction:column;
}
.plan--highlight{
  border-color:var(--red);
  background:#fff;
  box-shadow:0 18px 40px -22px rgba(140,26,17,.35);
}
.plan__badge{
  position:absolute;top:-.7rem;left:50%;transform:translateX(-50%);
  background:var(--red);color:#fff;font-size:.62rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;
  padding:.35rem .9rem;border-radius:100px;white-space:nowrap;
}
.plan__name{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);font-weight:500;margin-bottom:.6rem;}
.plan__price{font-family:var(--serif);font-size:clamp(2rem,9vw,2.5rem);
  font-weight:700;color:var(--ink);line-height:1;}
.plan__price sup{font-family:var(--sans);font-size:.9rem;font-weight:400;
  vertical-align:super;margin-right:.15rem;}
.plan__unit{font-family:var(--sans);font-size:.82rem;font-weight:300;
  color:var(--body);display:block;margin-top:.45rem;}
.plan__note{font-size:.78rem;color:var(--body);margin-top:.35rem;opacity:.85;}
.plan__save{
  position:absolute;top:0;right:0;
  background:var(--red);color:#fff;
  font-family:var(--sans);font-size:.74rem;font-weight:700;
  letter-spacing:.02em;line-height:1.2;
  padding:.55rem 1rem;
  border-radius:0 2px 0 12px;
}
.plan__features{list-style:none;padding:0;margin:1.5rem 0;text-align:left;
  display:flex;flex-direction:column;gap:.6rem;font-size:.9rem;flex-grow:1;}
.plan__features li{padding-left:1.3rem;position:relative;}
.plan__features li::before{content:"—";position:absolute;left:0;color:var(--gold);}
.plan .btn{margin-top:auto;}

@media (min-width:820px){
  .plans{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:1.5rem;}
  .plan--highlight{transform:translateY(-.5rem);}
}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{
  cursor:pointer;list-style:none;padding-block:1.1rem;
  font-family:var(--serif);font-size:1.02rem;font-weight:700;color:var(--ink);
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";color:var(--gold);font-family:var(--sans);
  font-weight:300;font-size:1.3rem;line-height:1;}
.faq details[open] summary::after{content:"–";}
.faq p{padding-bottom:1.2rem;font-size:.95rem;max-width:56ch;}

/* ---------- SCHLUSS-CTA ---------- */
.finale{text-align:center;}
.finale h2{color:var(--red);}
.finale .btn{margin-top:2rem;width:100%;max-width:340px;}

/* ---------- FOOTER ---------- */
.footer{border-top:1px solid var(--line);padding-block:2.25rem;
  padding-bottom:max(2.25rem,env(safe-area-inset-bottom));
  font-size:.8rem;display:flex;flex-direction:column;gap:1rem;align-items:center;text-align:center;}
.footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.4rem;}
.footer a{color:var(--body);text-decoration:none;padding-block:.25rem;
  border-bottom:1px solid transparent;}
.footer a:hover{border-bottom-color:var(--gold);}

/* ---------- REVEAL ---------- */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;}
.reveal.is-in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;}
}


/* ---------- LOGO ---------- */
.bar__home{display:inline-flex;align-items:center;gap:.55rem;}
.bar__logo{height:26px;width:auto;display:block;}
.hero__emblem{
  display:block;margin:0 auto 1.1rem;height:88px;width:auto;
  filter:drop-shadow(0 6px 16px rgba(176,143,85,.25));
}
#beitreten{position:relative;overflow:hidden;isolation:isolate;}
#beitreten .plans-watermark{
  position:absolute;top:50%;left:50%;
  width:min(720px,140vw);height:auto;
  transform:translate(-50%,-50%);
  opacity:.05;pointer-events:none;z-index:0;
}
#beitreten .wrap{position:relative;z-index:1;}

/* ---------- DESKTOP ---------- */
@media (min-width:768px){
  :root{--pad:2.5rem;--bar:64px;}
  .bar__home{font-size:1.15rem;}
  .pillars{grid-template-columns:repeat(2,1fr);gap:0 3rem;}
  .pillar{border-top:1px solid var(--line);}
  .pillar:nth-last-child(-n+2){border-bottom:1px solid var(--line);}
  .prizes{grid-template-columns:repeat(3,1fr);gap:0 2.5rem;}
  .prize{border-top:1px solid rgba(255,255,255,.14);border-bottom:none;}
  .prize:last-child{border-bottom:none;}
  .footer{flex-direction:row;justify-content:space-between;text-align:left;}
}
@media (min-width:600px){
  .day__list{grid-template-columns:1fr 1fr;gap:.3rem 2rem;}
}
@media (min-width:960px){
  .plan-figure img{max-width:760px;margin-inline:auto;}
}
