:root{
  --paper:#f4efe6;          /* warmes Creme */
  --paper-deep:#ece4d6;
  --ink:#211c17;            /* tiefes warmes Anthrazit */
  --ink-soft:#5c5247;
  --ink-faint:#8a7f70;
  --amber:#a6622f;          /* gedämpfter Bernstein-Akzent */
  --amber-deep:#824a20;
  --granite-1:#6f6a64;
  --granite-2:#403c38;
  --granite-3:#8d8881;
  --line:#d8cdba;
  --maxw:1180px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:"Spectral",Georgia,serif;
  font-weight:400;
  font-size:clamp(17px,1.05vw + 14px,20px);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* Granit-Grain über allem */
.grain{
  position:fixed;inset:0;width:100%;height:100%;
  pointer-events:none;z-index:9999;opacity:.04;mix-blend-mode:multiply;
}

h1,h2,h3,.wordmark{font-family:"Fraunces",Georgia,serif;font-weight:400;line-height:1.04;letter-spacing:-.015em}
h1{font-size:clamp(2.6rem,5.4vw,5rem);font-optical-sizing:auto}
h1 em{font-style:italic;color:var(--amber)}
h2{font-size:clamp(1.9rem,3.4vw,3.1rem);margin-bottom:.4em}
h3{font-size:1.4rem;letter-spacing:-.01em}

.eyebrow{
  font-family:"Spectral",serif;font-style:italic;
  color:var(--amber);font-size:.95rem;letter-spacing:.04em;
  margin-bottom:1rem;
}

a{color:inherit}
em{font-style:italic}

/* ---------- Header ---------- */
.site-head{
  position:sticky;top:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem clamp(1.2rem,4vw,3.5rem);
  background:color-mix(in srgb,var(--paper) 82%,transparent);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.wordmark{font-size:1.35rem;letter-spacing:-.02em}
.wordmark span{color:var(--amber)}
.wordmark.small{font-size:1.1rem;opacity:.85}
.head-cta{
  font-family:"Spectral",serif;font-size:.95rem;text-decoration:none;
  padding:.5rem 1.1rem;border:1px solid var(--ink);border-radius:40px;
  transition:all .35s var(--ease);
}
.head-cta:hover{background:var(--ink);color:var(--paper)}

/* ---------- Layout ---------- */
section{padding:clamp(4rem,9vw,8.5rem) clamp(1.2rem,4vw,3.5rem)}
main>section{max-width:var(--maxw);margin-inline:auto}

/* ---------- Hero ---------- */
.hero{
  display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,5rem);
  align-items:center;padding-top:clamp(3rem,7vw,6rem);
}
.hero h1{margin:.2em 0 .5em}
.lede{font-size:1.18rem;color:var(--ink-soft);max-width:36ch}
.hero-actions{display:flex;gap:1rem;margin-top:2.2rem;flex-wrap:wrap}

.btn-primary,.btn-ghost{
  font-family:"Spectral",serif;font-size:1.02rem;text-decoration:none;
  padding:.85rem 1.7rem;border-radius:44px;transition:all .4s var(--ease);
}
.btn-primary{background:var(--amber);color:#fff;box-shadow:0 10px 30px -12px var(--amber-deep)}
.btn-primary:hover{background:var(--amber-deep);transform:translateY(-2px);box-shadow:0 16px 38px -12px var(--amber-deep)}
.btn-ghost{border:1px solid var(--ink-faint);color:var(--ink)}
.btn-ghost:hover{border-color:var(--ink);background:var(--paper-deep)}

/* Produktbild */
.hero-stone img{
  width:100%;height:auto;display:block;border-radius:16px;
  box-shadow:0 34px 64px -28px rgba(40,34,28,.6);
}

/* ---------- Lebenszyklus ---------- */
.cycle{border-top:1px solid var(--line)}
.cycle h2{max-width:18ch}
.cycle-track{
  list-style:none;display:grid;grid-template-columns:repeat(4,1fr);
  gap:1.5rem;margin-top:3rem;counter-reset:c;
}
.cycle-track li{
  position:relative;padding-top:2.4rem;border-top:2px solid var(--line);
}
.cycle-track li::before{
  content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;
  border-radius:50%;background:var(--amber);
}
.cycle-step{display:block;font-family:"Fraunces",serif;font-size:1.25rem;margin-bottom:.5rem}
.cycle-track p{font-size:1rem;color:var(--ink-soft)}

/* ---------- So funktioniert's ---------- */
.how{border-top:1px solid var(--line)}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,3rem);margin-top:3rem}
.how-grid article{position:relative}
.num{
  font-family:"Fraunces",serif;font-size:3.2rem;color:var(--amber);
  opacity:.35;display:block;line-height:1;margin-bottom:.4rem;
}
.how-grid h3{margin-bottom:.6rem}
.how-grid p{color:var(--ink-soft);font-size:1.02rem}

/* ---------- Vertrauen ---------- */
.trust{background:var(--ink);color:var(--paper);max-width:none!important;width:100%}
.trust ul{
  max-width:var(--maxw);margin-inline:auto;list-style:none;
  display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;
}
.trust li{display:flex;flex-direction:column;gap:.4rem}
.trust strong{font-family:"Fraunces",serif;font-weight:400;font-size:1.25rem;color:#fff}
.trust span{color:#c9bfae;font-size:.98rem}

/* ---------- Pakete ---------- */
.plans{border-top:1px solid var(--line)}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}
.plan{
  border:1px solid var(--line);border-radius:18px;padding:2rem 1.8rem;
  background:color-mix(in srgb,var(--paper-deep) 50%,var(--paper));
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
  position:relative;
}
.plan:hover{transform:translateY(-4px);box-shadow:0 22px 45px -25px rgba(40,34,28,.5)}
.plan.featured{border-color:var(--amber);background:#fff}
.tag{
  position:absolute;top:-13px;left:1.8rem;background:var(--amber);color:#fff;
  font-family:"Spectral",serif;font-size:.8rem;letter-spacing:.05em;
  padding:.25rem .8rem;border-radius:30px;
}
.plan h3{margin-bottom:.3rem}
.price{font-family:"Fraunces",serif;font-size:2.4rem;color:var(--ink);margin-bottom:1.2rem}
.plan ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.plan li{padding-left:1.5rem;position:relative;color:var(--ink-soft);font-size:1rem}
.plan li::before{content:"·";position:absolute;left:.4rem;color:var(--amber);font-weight:700;font-size:1.3rem;line-height:1}
.plans-note{margin-top:1.5rem;font-style:italic;color:var(--ink-faint);font-size:.95rem;text-align:center}

/* ---------- Vormerken ---------- */
.signup{max-width:none!important;width:100%;background:var(--paper-deep);border-top:1px solid var(--line)}
.signup-inner{max-width:620px;margin-inline:auto;text-align:center}
.signup p{color:var(--ink-soft);margin:.6rem auto 2rem;max-width:46ch}
.field{display:flex;gap:.6rem;flex-wrap:wrap}
.field input[type=email]{
  flex:1;min-width:220px;font-family:"Spectral",serif;font-size:1.05rem;
  padding:.95rem 1.2rem;border:1px solid var(--ink-faint);border-radius:44px;
  background:var(--paper);color:var(--ink);transition:border-color .3s;
}
.field input[type=email]:focus{outline:none;border-color:var(--amber)}
.field button{
  font-family:"Spectral",serif;font-size:1.05rem;cursor:pointer;
  padding:.95rem 1.9rem;border:none;border-radius:44px;
  background:var(--ink);color:var(--paper);transition:all .35s var(--ease);
}
.field button:hover{background:var(--amber)}
.field button:disabled{opacity:.5;cursor:default}
.consent{
  display:flex;gap:.6rem;align-items:flex-start;text-align:left;
  margin-top:1rem;font-size:.92rem;color:var(--ink-soft);
}
.consent input{margin-top:.35rem;accent-color:var(--amber);width:17px;height:17px;flex:0 0 auto}
.ds-link{color:var(--amber);text-underline-offset:3px}
.form-msg{margin-top:1rem;min-height:1.4em;font-style:italic}
.form-msg.ok{color:var(--amber-deep)}
.form-msg.err{color:#9b2c2c}

/* ---------- Footer ---------- */
.site-foot{
  text-align:center;padding:3rem 1.5rem;border-top:1px solid var(--line);
  color:var(--ink-soft);
}
.site-foot p{font-size:.95rem;margin-top:.5rem}
.site-foot .legal{color:var(--ink-faint);font-size:.85rem}

/* ---------- Reveal-Animation ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--d,0)*110ms)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .nfc{animation:none}
  html{scroll-behavior:auto}
}

/* ---------- Rechtstexte (Impressum / Datenschutz) ---------- */
.legal-wrap{max-width:740px;margin:0 auto;padding:clamp(2.5rem,6vw,5rem) clamp(1.2rem,4vw,2rem) 6rem}
.legal-back{display:inline-block;margin-bottom:2rem;font-style:italic;color:var(--amber);text-decoration:none;text-underline-offset:3px}
.legal-back:hover{text-decoration:underline}
.legal-wrap h1{font-family:"Fraunces",serif;font-size:clamp(2rem,4vw,3rem);margin-bottom:.3em}
.legal-sub{font-style:italic;color:var(--ink-faint);margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}
.legal-wrap h2{font-family:"Fraunces",serif;font-size:1.35rem;margin:2.2rem 0 .6rem;letter-spacing:-.01em}
.legal-wrap p,.legal-wrap li{color:var(--ink-soft);font-size:1.02rem;line-height:1.75;margin-bottom:.7rem}
.legal-wrap ul{padding-left:1.3rem;margin-bottom:1rem}
.legal-wrap li{margin-bottom:.3rem}
.legal-wrap a{color:var(--amber);text-underline-offset:3px}
.legal-wrap strong{color:var(--ink)}

/* ---------- Danke-Seite ---------- */
.thanks{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 1.5rem;max-width:560px;margin:0 auto}
.thanks-check{width:72px;height:72px;border-radius:50%;background:var(--amber);display:flex;align-items:center;justify-content:center;margin-bottom:1.8rem;box-shadow:0 14px 34px -14px var(--amber-deep)}
.thanks-check svg{width:34px;height:34px;stroke:#fff;stroke-width:3;fill:none}
.thanks h1{font-family:"Fraunces",serif;font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:.6rem;max-width:20ch}
.thanks p{color:var(--ink-soft);font-size:1rem;max-width:42ch;margin-bottom:2rem}

/* ---------- Responsive ---------- */
@media(max-width:880px){
  .hero{grid-template-columns:1fr;text-align:center}
  .hero-copy{order:2}
  .hero-stone{order:1}
  .lede{margin-inline:auto}
  .hero-actions{justify-content:center}
  .cycle-track{grid-template-columns:repeat(2,1fr)}
  .how-grid{grid-template-columns:1fr}
  .trust ul{grid-template-columns:repeat(2,1fr)}
  .plan-grid{grid-template-columns:1fr;max-width:420px;margin-inline:auto}
}
@media(max-width:480px){
  .cycle-track,.trust ul{grid-template-columns:1fr}
}
