/* ── RESET ──────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}

body{
  background:var(--bg);
  color:var(--txt);
  font-family:var(--ff-b);
  font-weight:300;
  font-size:15px;
  line-height:1.8;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
.lazy-img{opacity:0;transition:opacity .6s ease}
.lazy-img.loaded{opacity:1}
a{text-decoration:none;color:inherit}
::-webkit-scrollbar{width:3px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--purple)}

/* ── ABSCHNITT BASIS ─────────────────────────────────────────── */
.s{position:relative;padding:clamp(4rem,7vw,8rem) clamp(1.5rem,4vw,3rem)}
.w{max-width:1240px;margin:0 auto}
.wsm{max-width:760px;margin:0 auto}

.etiq{/* Etikett */
  display:inline-block;
  font-size:.58rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;
  color:var(--coral);margin-bottom:.7rem;
}
.h2{
  font-family:var(--ff-h);
  font-size:clamp(2rem,4vw,3.6rem);font-weight:300;line-height:1.05;
  color:#fff;margin-bottom:.8rem;
}
.h2 em{font-style:italic;color:var(--green)}
.lead{font-size:.97rem;color:var(--muted);line-height:1.9;max-width:560px}
.linie{width:36px;height:1px;background:linear-gradient(to right,var(--gold),var(--gold-light));margin:.9rem 0}
.linie-c{margin:.9rem auto}
.sep{height:1px;background:linear-gradient(to right,transparent,var(--line2),transparent)}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.78rem 2.1rem;border-radius:2px;border:1px solid transparent;
  font-family:var(--ff-b);font-size:.64rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;cursor:pointer;
  transition:all .22s ease;white-space:nowrap;
}
.btn-r{background:var(--wine);color:var(--gold);border-color:var(--wine)}
.btn-r:hover{background:transparent;color:var(--gold)}
.btn-o{background:transparent;color:var(--gold-light);border-color:rgba(201,168,76,.3)}
.btn-o:hover{background:rgba(201,168,76,.08);border-color:var(--green)}

/* Scroll reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .65s,transform .65s}
.rv.in{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.32s}.d4{transition-delay:.46s}

.tc{text-align:center}
.mb{margin-bottom:2rem}
