/* ══════════════════════════════════════════════════════════════
   ABSCHLUSSRETTER — Landing v2 Prototyp
   Near-black Kino-Hero → warmes Off-White, ein Amber-Akzent.
   DM Serif Display (Headlines) + DM Sans (UI/Body), self-hosted.
   ══════════════════════════════════════════════════════════════ */

:root{
  --black:      #0e0c09;   /* warmes Schwarz */
  --black-2:    #17140f;
  --paper:      #f6f1e8;   /* warmes Off-White */
  --paper-2:    #efe8db;
  --ink:        #221d15;   /* Text auf hell */
  --ink-2:      #6b6154;   /* Sekundärtext auf hell */
  --bone:       #f3ecdf;   /* Text auf dunkel */
  --bone-2:     #b3a894;   /* Sekundärtext auf dunkel */
  --amber:      #f08c1a;   /* Handwerk-Amber / Safety-Orange */
  --amber-deep: #c96f08;
  --amber-soft: rgba(240,140,26,.14);
  --line:       rgba(34,29,21,.14);
  --line-dark:  rgba(243,236,223,.16);
  --green:      #3f9d63;
  --red:        #d9503f;
  --serif: "DM Serif Display", Georgia, serif;
  --sans:  "DM Sans", -apple-system, "Segoe UI", sans-serif;
  --nav-h: 72px;
  --ease-slam: cubic-bezier(.16,1.2,.3,1);
  --ease-out:  cubic-bezier(.22,.8,.26,.99);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}

body{
  font-family:var(--sans);
  background:var(--black);
  color:var(--ink);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--amber);color:var(--black)}

img,video,canvas{max-width:100%;display:block}
a{color:inherit}

/* ── Film-Korn (SVG-Turbulence, keine externen Assets) ── */
.grain{
  position:absolute;inset:0;pointer-events:none;z-index:5;
  opacity:.09;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grainShift 1.1s steps(4) infinite;
}
@keyframes grainShift{
  0%{transform:translate(0,0)} 25%{transform:translate(-4%,3%)}
  50%{transform:translate(3%,-4%)} 75%{transform:translate(-2%,-2%)} 100%{transform:translate(0,0)}
}

/* ── Buttons ── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font:600 15px/1 var(--sans);letter-spacing:.01em;text-decoration:none;
  padding:13px 24px;border-radius:8px;border:1.5px solid transparent;
  transition:transform .18s var(--ease-out),background .18s,color .18s,border-color .18s,box-shadow .18s;
  cursor:pointer;white-space:nowrap;
}
.btn:active{transform:translateY(1px) scale(.99)}
.btn--primary{background:var(--amber);color:#1b1206;box-shadow:0 6px 24px -8px rgba(240,140,26,.55)}
.btn--primary:hover{background:#ffa031;transform:translateY(-2px);box-shadow:0 12px 32px -8px rgba(240,140,26,.6)}
.btn--ghost{color:var(--bone);border-color:var(--line-dark)}
.btn--ghost:hover{border-color:var(--bone-2);background:rgba(243,236,223,.06)}
.btn--outline{color:inherit;border-color:currentColor;opacity:.92}
.btn--outline:hover{opacity:1;transform:translateY(-2px)}
.btn--lg{padding:16px 30px;font-size:16px}
.btn--xl{padding:19px 40px;font-size:18px;border-radius:10px}
.btn--block{width:100%}

/* ── Typo-Bausteine ── */
.eyebrow{
  font:700 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;
  color:var(--amber-deep);margin-bottom:18px;
}
.eyebrow--light{color:var(--amber)}
.h2{font:400 clamp(34px,5vw,58px)/1.08 var(--serif);letter-spacing:-.01em;margin-bottom:28px}
.h2--light{color:var(--bone)}
.finelegal{font-size:12.5px;color:var(--ink-2);line-height:1.6;max-width:52ch}
.finelegal--center{margin:14px auto 0;text-align:center}

.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.wrap--narrow{max-width:760px}
.section{padding:clamp(84px,11vw,150px) 0;background:var(--paper);color:var(--ink)}

/* Reveal (Scroll-Einblendung) */
.reveal{opacity:0;transform:translateY(36px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.reveal.is-in{opacity:1;transform:none}

/* ══════════════ NAV ══════════════ */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:100;height:var(--nav-h);
  display:flex;align-items:center;gap:36px;padding:0 clamp(20px,4vw,44px);
  color:var(--bone);
  transition:background .35s,backdrop-filter .35s,box-shadow .35s;
}
.nav.is-scrolled{
  background:rgba(14,12,9,.82);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  box-shadow:0 1px 0 rgba(243,236,223,.08);
}
.nav__brand{
  display:flex;align-items:center;gap:10px;text-decoration:none;
  font:400 21px/1 var(--serif);letter-spacing:.01em;
}
.nav__mark{width:24px;height:24px;color:var(--amber)}
.nav__links{display:flex;gap:28px;margin-left:auto}
.nav__links a{
  font:500 14.5px/1 var(--sans);text-decoration:none;color:var(--bone-2);
  transition:color .18s;
}
.nav__links a:hover{color:var(--bone)}
.nav__actions{display:flex;gap:12px}
.nav__burger{display:none}

.mobilemenu{
  position:fixed;inset:var(--nav-h) 0 auto 0;z-index:99;
  background:rgba(14,12,9,.97);padding:18px 24px 28px;
  display:flex;flex-direction:column;gap:4px;
}
.mobilemenu[hidden]{display:none}
.mobilemenu a{
  color:var(--bone);text-decoration:none;font:500 18px/1 var(--sans);
  padding:14px 4px;border-bottom:1px solid var(--line-dark);
}
.mobilemenu a.btn{border-bottom:none;margin-top:14px;justify-content:center}

/* ══════════════ HERO ══════════════ */
.hero{height:340vh;position:relative;background:var(--black)}
.hero__sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.hero__canvas,.hero__poster{position:absolute;inset:0;width:100%;height:100%}
.hero__poster{background-size:cover;background-position:center;transition:opacity .5s}
.hero__poster.is-hidden{opacity:0}
.hero__canvas{object-fit:cover}
.hero__shade{
  position:absolute;inset:0;z-index:4;
  background:
    radial-gradient(120% 100% at 50% 112%,rgba(14,12,9,.94) 0%,rgba(14,12,9,.38) 48%,transparent 72%),
    linear-gradient(180deg,rgba(14,12,9,.62) 0%,rgba(14,12,9,.08) 30%,rgba(14,12,9,.2) 62%,rgba(14,12,9,.95) 100%);
}
.hero__content{
  position:absolute;inset:auto 0 0 0;z-index:6;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:0 24px 15vh;
  will-change:transform,opacity;
}
.hero__kicker{
  font:700 12px/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;
  color:var(--amber);margin-bottom:22px;
}
.hero__title{
  font:400 clamp(44px,8.4vw,124px)/1.02 var(--serif);
  color:var(--bone);letter-spacing:-.015em;
  max-width:14ch;margin-bottom:26px;
  text-wrap:balance;
}
.hero__title .tw{
  display:inline-block;opacity:0;
  letter-spacing:.34em;filter:blur(10px);transform:translateY(.35em);
  animation:trackIn 1.15s var(--ease-out) forwards;
}
.hero__title .tw:nth-child(1){animation-delay:.15s}
.hero__title .tw:nth-child(2){animation-delay:.27s}
.hero__title .tw:nth-child(3){animation-delay:.39s}
.hero__title .tw:nth-child(4){animation-delay:.51s}
.hero__title .tw:nth-child(5){animation-delay:.63s}
.hero__title .tw:nth-child(6){animation-delay:.78s}
.tw--amber{color:var(--amber)}
@keyframes trackIn{
  0%{opacity:0;letter-spacing:.34em;filter:blur(10px);transform:translateY(.35em)}
  60%{opacity:1}
  100%{opacity:1;letter-spacing:-.015em;filter:blur(0);transform:none}
}
.hero__sub{
  font:500 clamp(16px,1.9vw,21px)/1.5 var(--sans);color:var(--bone);
  max-width:44ch;margin-bottom:38px;
  text-shadow:0 1px 3px rgba(14,12,9,.85),0 0 26px rgba(14,12,9,.9),0 0 60px rgba(14,12,9,.7);
  opacity:0;animation:fadeUp .9s var(--ease-out) 1.15s forwards;
}
.hero__ctas{
  display:flex;gap:16px;flex-wrap:wrap;justify-content:center;
  opacity:0;animation:fadeUp .9s var(--ease-out) 1.35s forwards;
}
.hero__ctas .btn--outline{color:var(--bone)}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.hero__scrollhint{
  position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:6;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  color:var(--bone-2);font:600 10.5px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;
  opacity:0;animation:fadeUp 1s var(--ease-out) 2s forwards;
  transition:opacity .4s;
}
.hero__wheel{animation:wheel 1.8s ease-in-out infinite}
@keyframes wheel{0%,100%{transform:translateY(0);opacity:1}55%{transform:translateY(8px);opacity:.2}}

/* ══════════════ GEWERKE ══════════════ */
.trades{background:var(--black);color:var(--bone-2);padding:34px 0;border-top:1px solid rgba(243,236,223,.07)}
.trades__row{
  display:flex;align-items:baseline;justify-content:center;gap:18px;flex-wrap:wrap;
  padding:0 24px;text-align:center;
}
.trades__label{font:700 11.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--amber)}
.trades__list{font:500 15px/1.7 var(--sans);letter-spacing:.04em}
.trades__list i{font-style:normal;color:var(--amber);opacity:.7;padding:0 6px}

/* ══════════════ PAIN ══════════════ */
.pain{height:520vh;position:relative;background:var(--black)}
.pain__sticky{
  position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(90% 70% at 50% 50%,#1a1610 0%,var(--black) 78%);
}
.pain__stage{position:relative;width:100%;text-align:center;padding:0 24px}
.pain__line{
  position:absolute;inset:auto 0 auto 0;top:50%;
  font:700 clamp(40px,8.6vw,118px)/1 var(--sans);
  letter-spacing:-.03em;text-transform:uppercase;color:var(--bone);
  transform:translateY(-50%) scaleX(.86) scale(1.7);
  transform-origin:center;
  opacity:0;filter:blur(14px);
  transition:opacity .45s var(--ease-slam),transform .45s var(--ease-slam),filter .45s var(--ease-slam);
  pointer-events:none;
}
.pain__line.is-active{opacity:1;filter:blur(0);transform:translateY(-50%) scaleX(.86) scale(1)}
.pain__line.is-past{opacity:0;filter:blur(6px);transform:translateY(calc(-50% - .9em)) scaleX(.86) scale(.82)}
.pain__line--turn{color:var(--amber);text-shadow:0 0 90px rgba(240,140,26,.35)}
.pain__progress{
  position:absolute;bottom:34px;left:50%;transform:translateX(-50%);
  display:flex;gap:10px;
}
.pain__progress span{width:26px;height:3px;border-radius:2px;background:rgba(243,236,223,.18);transition:background .3s}
.pain__progress span.is-on{background:var(--amber)}
.pain__stack{display:none}

/* ══════════════ KALKULATOR ══════════════ */
.calc{background:linear-gradient(180deg,var(--paper-2) 0%,var(--paper) 18%)}
.calc__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);margin-top:26px;align-items:start}
.calc__inputs{display:flex;flex-direction:column;gap:34px;padding-top:12px}
.field label{display:block;font:600 15px/1 var(--sans);margin-bottom:14px;color:var(--ink)}
.field__row{display:flex;align-items:center;gap:18px}
.field__val{font:700 20px/1 var(--sans);color:var(--amber-deep);min-width:74px;text-align:right;font-variant-numeric:tabular-nums}
.field__row--unit{position:relative;max-width:260px}
.field__unit{position:absolute;right:16px;font:600 16px/1 var(--sans);color:var(--ink-2)}
input[type=range]{
  -webkit-appearance:none;appearance:none;flex:1;height:5px;border-radius:3px;
  background:linear-gradient(90deg,var(--amber) var(--fill,50%),rgba(34,29,21,.16) var(--fill,50%));
  outline:none;cursor:pointer;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:26px;height:26px;border-radius:50%;
  background:var(--paper);border:3px solid var(--amber);
  box-shadow:0 3px 10px rgba(34,29,21,.28);cursor:grab;
  transition:transform .15s;
}
input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.12)}
input[type=range]::-moz-range-thumb{
  width:22px;height:22px;border-radius:50%;background:var(--paper);
  border:3px solid var(--amber);box-shadow:0 3px 10px rgba(34,29,21,.28);cursor:grab;
}
input[type=number]{
  width:100%;padding:14px 44px 14px 16px;border-radius:8px;
  border:1.5px solid var(--line);background:#fff;
  font:600 17px/1 var(--sans);color:var(--ink);
  font-variant-numeric:tabular-nums;
}
input[type=number]:focus{outline:none;border-color:var(--amber)}
.calc__result{
  background:var(--black);color:var(--bone);border-radius:18px;
  padding:clamp(30px,4vw,48px);text-align:center;
  box-shadow:0 34px 80px -30px rgba(23,18,10,.45);
  position:relative;overflow:hidden;
}
.calc__result::before{
  content:"";position:absolute;inset:-40% -20% auto;height:120%;
  background:radial-gradient(60% 60% at 50% 0%,rgba(240,140,26,.16),transparent 70%);
  pointer-events:none;
}
.calc__result-label{font:500 15px/1 var(--sans);color:var(--bone-2);margin-bottom:10px}
.calc__number{
  font:400 clamp(46px,5.6vw,74px)/1 var(--serif);color:var(--amber);
  font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin-bottom:6px;
}
.calc__result-sub{font:500 15px/1 var(--sans);color:var(--bone-2);margin-bottom:12px}
.calc__open{font:500 13px/1.4 var(--sans);color:var(--bone-2);margin-bottom:24px;font-variant-numeric:tabular-nums}
.calc__kicker{
  font:400 19px/1.45 var(--serif);font-style:italic;color:var(--bone);
  max-width:30ch;margin:0 auto 28px;
}
.calc__result .finelegal{color:var(--bone-2);margin:22px auto 0;text-align:center}

/* ══════════════ HOW ══════════════ */
.how{height:440vh;position:relative;background:var(--black)}
.how__sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.how__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.how__shade{
  position:absolute;inset:0;z-index:4;
  background:linear-gradient(90deg,rgba(14,12,9,.93) 0%,rgba(14,12,9,.72) 46%,rgba(14,12,9,.18) 100%);
}
.how__content{
  position:relative;z-index:6;height:100%;max-width:1120px;margin:0 auto;
  display:flex;flex-direction:column;justify-content:center;
  padding:0 24px;
}
.how__content .h2{max-width:14ch}
.how__steps{list-style:none;display:flex;flex-direction:column;gap:26px;margin:22px 0 30px;max-width:560px}
.how__step{
  display:flex;gap:18px;align-items:flex-start;
  opacity:.14;transform:translateX(-14px);
  transition:opacity .55s var(--ease-out),transform .55s var(--ease-out);
}
.how__step.is-on{opacity:1;transform:none}
.how__num{
  flex:0 0 auto;width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font:700 16px/1 var(--sans);color:var(--amber);
  border:1.5px solid rgba(240,140,26,.55);margin-top:2px;
}
.how__step h3{font:500 clamp(17px,2vw,21px)/1.4 var(--sans);color:var(--bone);letter-spacing:.002em}
.how__chip{
  display:inline-block;margin-top:12px;padding:9px 16px;border-radius:100px;
  background:var(--amber-soft);border:1px solid rgba(240,140,26,.4);
  font:600 14.5px/1 "DM Sans",monospace;color:var(--amber);letter-spacing:.02em;
}
.how__badge{
  display:inline-block;align-self:flex-start;
  padding:11px 20px;border-radius:9px;
  background:rgba(243,236,223,.07);border:1px solid var(--line-dark);
  font:600 14px/1.5 var(--sans);color:var(--bone);
  opacity:0;transform:translateY(14px);
  transition:opacity .55s var(--ease-out),transform .55s var(--ease-out);
}
.how__badge.is-on{opacity:1;transform:none}

/* ══════════════ MORGEN-MAIL ══════════════ */
.morning{background:var(--paper)}
.mail{
  margin-top:14px;background:#fff;border-radius:16px;overflow:hidden;
  border:1px solid var(--line);
  box-shadow:0 40px 90px -34px rgba(23,18,10,.35);
  max-width:720px;
}
.mail__head{display:flex;gap:14px;align-items:center;padding:22px 26px;border-bottom:1px solid var(--line)}
.mail__avatar{
  width:44px;height:44px;border-radius:50%;flex:0 0 auto;
  background:var(--black);color:var(--amber);
  display:flex;align-items:center;justify-content:center;
  font:400 22px/1 var(--serif);
}
.mail__from{font:700 14.5px/1.3 var(--sans)}
.mail__from span{font-weight:500;color:var(--ink-2);margin-left:8px;font-size:13px}
.mail__subject{font:500 16.5px/1.3 var(--sans);color:var(--ink);margin-top:3px}
.mail__body{padding:8px 26px}
.mail__offer{
  display:grid;grid-template-columns:14px 1fr;grid-template-rows:auto auto;
  column-gap:14px;row-gap:6px;padding:19px 0;border-bottom:1px solid rgba(34,29,21,.08);
}
.mail__offer:last-child{border-bottom:none}
.dot{width:11px;height:11px;border-radius:50%;margin-top:5px}
.dot--red{background:var(--red);box-shadow:0 0 0 4px rgba(217,80,63,.14)}
.dot--amber{background:var(--amber);box-shadow:0 0 0 4px rgba(240,140,26,.16)}
.dot--green{background:var(--green);box-shadow:0 0 0 4px rgba(63,157,99,.14)}
.mail__cust{font:700 15.5px/1.35 var(--sans)}
.mail__meta{font:500 13.5px/1.4 var(--sans);color:var(--ink-2);font-variant-numeric:tabular-nums}
.mail__action{grid-column:2;font:500 14px/1.45 var(--sans);color:var(--amber-deep)}
.mail__foot{padding:14px 26px 20px;font-size:11.5px;color:var(--ink-2)}

/* ══════════════ LIVE-DEMO ══════════════ */
.demo{
  position:relative;min-height:92vh;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:var(--black);
}
.demo__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.demo__shade{
  position:absolute;inset:0;z-index:4;
  background:
    radial-gradient(100% 80% at 50% 50%,rgba(14,12,9,.42) 0%,rgba(14,12,9,.82) 100%);
}
.demo__content{position:relative;z-index:6;text-align:center;padding:120px 24px;max-width:820px}
.demo__content .h2{max-width:none}
.demo__sub{font:400 clamp(16px,1.8vw,19px)/1.55 var(--sans);color:var(--bone-2);margin-bottom:40px}
.demo__ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.demo__ctas .btn--outline{color:var(--bone)}

/* ══════════════ PREISE ══════════════ */
.pricing{background:var(--paper);text-align:center}
.pricing .h2{margin-bottom:20px}
.pricing__toggle{
  display:inline-flex;background:var(--paper-2);border:1px solid var(--line);
  border-radius:100px;padding:5px;margin:8px 0 46px;gap:4px;
}
.pricing__mode{
  border:none;background:transparent;border-radius:100px;
  padding:11px 22px;font:600 14.5px/1 var(--sans);color:var(--ink-2);
  cursor:pointer;transition:background .22s,color .22s,box-shadow .22s;
  display:flex;align-items:center;gap:9px;
}
.pricing__mode.is-active{background:var(--black);color:var(--bone);box-shadow:0 4px 14px -4px rgba(23,18,10,.4)}
.pricing__save{
  font:700 10.5px/1 var(--sans);letter-spacing:.05em;text-transform:uppercase;
  background:var(--amber);color:#1b1206;padding:5px 9px;border-radius:100px;
}
.pricing__cards{
  display:grid;grid-template-columns:repeat(2,minmax(0,420px));
  gap:26px;justify-content:center;text-align:left;
}
.price{
  background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:36px 34px;display:flex;flex-direction:column;position:relative;
}
.price--pro{
  background:var(--black);color:var(--bone);border-color:transparent;
  box-shadow:0 44px 90px -34px rgba(23,18,10,.5);
  transform:scale(1.02);
}
.price__badge{
  position:absolute;top:-13px;left:34px;
  background:var(--amber);color:#1b1206;border-radius:100px;
  font:700 11.5px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;
  padding:7px 14px;
}
.price__name{font:400 26px/1 var(--serif);margin-bottom:10px}
.price__desc{font:500 14.5px/1.5 var(--sans);color:var(--ink-2);margin-bottom:24px;min-height:2.9em}
.price--pro .price__desc{color:var(--bone-2)}
.price__amount{font:400 46px/1 var(--serif);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.price__per{font:500 15px/1 var(--sans);color:var(--ink-2)}
.price--pro .price__per{color:var(--bone-2)}
.price__vat{font:600 12.5px/1 var(--sans);color:var(--ink-2);margin:8px 0 26px}
.price--pro .price__vat{color:var(--bone-2)}
.price__feats{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:30px;flex:1}
.price__feats li{
  font:500 14.5px/1.45 var(--sans);padding-left:26px;position:relative;
}
.price__feats li::before{
  content:"";position:absolute;left:0;top:4px;width:14px;height:14px;
  border-radius:50%;background:var(--amber-soft);
  box-shadow:inset 0 0 0 1.5px var(--amber);
}
.pricing__trial{margin-top:34px;font:600 15px/1 var(--sans);color:var(--ink)}

/* ══════════════ FAQ ══════════════ */
.faq{background:linear-gradient(180deg,var(--paper) 0%,var(--paper-2) 100%)}
.faq__item{
  border-bottom:1px solid var(--line);
}
.faq__item summary{
  list-style:none;cursor:pointer;padding:24px 44px 24px 2px;position:relative;
  font:600 clamp(16px,1.9vw,19px)/1.35 var(--sans);
  transition:color .18s;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{
  content:"";position:absolute;right:8px;top:50%;width:12px;height:12px;
  border-right:2px solid var(--amber-deep);border-bottom:2px solid var(--amber-deep);
  transform:translateY(-70%) rotate(45deg);transition:transform .25s var(--ease-out);
}
.faq__item[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.faq__item summary:hover{color:var(--amber-deep)}
.faq__item p{padding:0 44px 26px 2px;color:var(--ink-2);font-size:15.5px;max-width:62ch}
.faq__item a{color:var(--amber-deep)}

/* ══════════════ FINAL ══════════════ */
.final{
  position:relative;min-height:88vh;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:var(--black);
}
.final__bg{position:absolute;inset:0;background-size:cover;background-position:center}
.final__shade{
  position:absolute;inset:0;z-index:4;
  background:radial-gradient(90% 75% at 50% 55%,rgba(14,12,9,.55) 0%,rgba(14,12,9,.93) 100%);
}
.final__content{position:relative;z-index:6;text-align:center;padding:120px 24px;max-width:900px}
.final__title{
  font:400 clamp(38px,5.6vw,68px)/1.1 var(--serif);color:var(--bone);
  letter-spacing:-.01em;margin-bottom:44px;text-wrap:balance;
}

/* ══════════════ FOOTER ══════════════ */
.footer{background:var(--black);border-top:1px solid rgba(243,236,223,.08);padding:38px 0}
.footer__row{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.footer__brand{font:400 18px/1 var(--serif);color:var(--bone)}
.footer__links{display:flex;gap:22px;margin-left:auto;flex-wrap:wrap}
.footer__links a{font:500 13.5px/1 var(--sans);color:var(--bone-2);text-decoration:none;transition:color .18s}
.footer__links a:hover{color:var(--bone)}
.footer__copy{font:500 13.5px/1 var(--sans);color:var(--bone-2)}

/* ══════════════ MOBILE ══════════════ */
@media (max-width:900px){
  .nav{gap:16px}
  .nav__links,.nav__actions{display:none}
  .nav__burger{
    display:flex;flex-direction:column;gap:6px;margin-left:auto;
    background:none;border:none;padding:10px;cursor:pointer;
  }
  .nav__burger span{width:24px;height:2px;background:var(--bone);transition:transform .25s,opacity .25s}
  .nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(4px) rotate(45deg)}
  .nav__burger[aria-expanded="true"] span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}

  .hero{height:auto;min-height:0}
  .hero__sticky{position:relative;height:100vh;height:100svh}
  .hero__content{padding-bottom:12vh}
  .hero__ctas{flex-direction:column;width:100%;max-width:340px}

  /* Pain: Pinned-Variante aus, vertikal aufblendende Zeilen an */
  .pain{height:auto}
  .pain__sticky{display:none}
  .pain__stack{
    display:flex;flex-direction:column;gap:15vh;
    padding:22vh 24px;background:var(--black);text-align:center;
  }
  .pain__stackline{
    font:700 clamp(30px,9vw,40px)/1.1 var(--sans);
    letter-spacing:-.02em;text-transform:uppercase;color:var(--bone);
    transform:scaleX(.9) scale(1.4) translateY(20px);
    opacity:0;filter:blur(10px);
    transition:opacity .5s var(--ease-slam),transform .5s var(--ease-slam),filter .5s var(--ease-slam);
  }
  .pain__stackline.is-in{opacity:1;filter:blur(0);transform:scaleX(.9) scale(1) translateY(0)}
  .pain__stackline--turn{color:var(--amber);text-shadow:0 0 60px rgba(240,140,26,.35)}

  .calc__grid{grid-template-columns:1fr}
  .field__row--unit{max-width:none}

  .how{height:auto}
  .how__sticky{position:relative;height:auto;min-height:100vh;padding:90px 0}
  .how__shade{background:linear-gradient(180deg,rgba(14,12,9,.9) 0%,rgba(14,12,9,.78) 100%)}
  /* Steps blenden per Scroll-Eintritt auf (JS/IntersectionObserver) */
  .how__step{transform:translateY(18px)}
  .how__step.is-on{transform:none}

  .pricing__cards{grid-template-columns:1fr}
  .price--pro{transform:none}

  .footer__row{flex-direction:column;text-align:center}
  .footer__links{margin-left:0;justify-content:center}
}

/* ══════════════ REDUCED MOTION ══════════════ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .hero{height:100vh}
  .pain{height:auto}
  .pain__sticky{display:none}
  .pain__stack{display:flex}
  .pain__stackline{opacity:1;filter:none;transform:none}
  .how{height:auto}
  .how__sticky{position:relative;height:auto;min-height:100vh;padding:90px 0}
  .how__step,.how__badge{opacity:1;transform:none}
  .reveal{opacity:1;transform:none}
  .hero__title .tw,.hero__sub,.hero__ctas{opacity:1;letter-spacing:normal;filter:none;transform:none}
}
