: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;padding-top:var(--bar);}
h1,h2,h3{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,button: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;}

/* ---------- 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;}

/* ---------- 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%;}

/* ---------- 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(2rem,7.6vw,3.7rem);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:44ch;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;}

/* ---------- SECTIONS ---------- */
.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:54ch;font-size:clamp(.97rem,3.8vw,1.05rem);}
.prose{display:flex;flex-direction:column;gap:1.1rem;max-width:58ch;
  font-size:clamp(.97rem,3.8vw,1.05rem);}

/* ---------- VORSCHAU ---------- */
.peek{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;max-width:620px;}
.peek img{width:100%;height:auto;display:block;border:1px solid var(--line);
  border-radius:3px;background:#fff;}

/* ---------- INHALT ---------- */
.toc{border-top:1px solid var(--line);}
.toc__item{display:block;
  padding-block:1rem;border-bottom:1px solid var(--line);}
.toc__num{font-family:var(--serif);font-size:1rem;color:var(--gold);}
.toc__title{font-family:var(--serif);font-size:clamp(1.02rem,4.2vw,1.2rem);font-weight:700;color:var(--ink);}
.toc__sub{font-size:.88rem;margin-top:.1rem;}
.toc__more{padding-block:1.2rem;font-size:.9rem;}

/* ---------- HIGHLIGHTS (dunkel) ---------- */
.dark{background:var(--dark);color:#D9D6D0;}
.dark h2{color:#fff;}
.dark .eyebrow{color:var(--gold);}
.dark .section__intro{color:#C9C6C0;}
.hl{display:grid;grid-template-columns:1fr;gap:0;}
.hl__item{padding-block:1.5rem;border-top:1px solid rgba(255,255,255,.14);}
.hl__item:last-child{border-bottom:1px solid rgba(255,255,255,.14);}
.hl__item h3{color:#fff;font-size:1.08rem;font-weight:700;margin-bottom:.3rem;}
.hl__item p{font-size:.94rem;}

/* ---------- FÜR WEN ---------- */
.fit{max-width:60ch;}
.fit h3{font-size:1.15rem;font-weight:700;margin-bottom:1rem;}
.fit ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.7rem;font-size:.96rem;}
.fit li{padding-left:1.5rem;position:relative;}
.fit li::before{content:"—";position:absolute;left:0;color:var(--gold);}

/* ---------- 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;opacity:.85;}

/* ---------- 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:58ch;}

/* ---------- 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{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));
}
#kaufen{position:relative;overflow:hidden;isolation:isolate;}
#kaufen .plans-watermark{
  position:absolute;top:50%;left:50%;
  width:min(640px,140vw);height:auto;
  transform:translate(-50%,-50%);
  opacity:.05;pointer-events:none;z-index:0;
}
#kaufen .wrap{position:relative;z-index:1;}

@media (min-width:768px){
  :root{--pad:2.5rem;--bar:64px;}
  .bar__home{font-size:1.15rem;}
  .peek{gap:1rem;}
  .hl{grid-template-columns:1fr 1fr;gap:0 3rem;}
  .hl__item{border-top:1px solid rgba(255,255,255,.14);border-bottom:none;}
  .hl__item:last-child{border-bottom:none;}
  .toc{columns:2;column-gap:3rem;}
  .toc__item{break-inside:avoid;}
  .footer{flex-direction:row;justify-content:space-between;text-align:left;}
}

