/* =====================================================================
   Kaffeemaschinen-Doktor · Theme "Roast v2" (09/2026) · content/DESIGN.md
   Dunkle Bühne (Espresso) + helle Lesefläche (Papier), Crema als Primär, Kupfer als Akzent.
   Fraunces (Display) + Manrope (Text), self-hosted. Signatur: Crema und Dampf (hero.js).
   ===================================================================== */
:root{
  --paper:#f8f2e9;--card:#fffdf9;--sand:#efe3d1;--line:#e6d8c6;
  --espresso:#1b110b;--roast:#2c1a10;--bean:#4a2f1f;
  --ink:#20150f;--ink-soft:#5d4c41;
  --crema:#e9c79a;--crema-2:#f2dcbb;
  --copper:#c0793a;--copper-text:#8f4f1f;--copper-btn:#a4622b;--copper-glow:#d99552;--copper-soft:#f1dcc4;
  --ok:#2f7d4f;--okbg:#e6f3ea;--warn:#b23b34;--warnbg:#fbe9e7;
  --r:26px;--r-sm:16px;--r-pill:999px;
  --sh:0 18px 50px -24px rgba(44,26,16,.35);--sh-soft:0 10px 30px -18px rgba(44,26,16,.28);--sh-sm:0 1px 2px rgba(44,26,16,.08);
  --t-fast:150ms;--t-base:250ms;--t-slow:500ms;--ease:cubic-bezier(.22,1,.36,1);--ease-std:cubic-bezier(.4,0,.2,1);
  /* Kompatibilitäts-Aliase (Flotte) */
  --primary:var(--copper-btn);--primary-2:var(--copper-text);--accent:var(--crema);--accent-soft:var(--copper-soft);--fg:var(--ink);--muted-fg:var(--ink-soft);--border:var(--line);--muted:var(--sand);--bg:var(--paper);--white:#fff;
}
*{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Manrope',system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;font-size:16.5px}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;font-weight:700;line-height:1.1;letter-spacing:-.02em;font-variation-settings:"opsz" 96;text-wrap:balance}
h1{font-size:clamp(2.4rem,5.2vw,4.4rem)}h2{font-size:clamp(1.7rem,3vw,2.5rem)}h3{font-size:1.18rem;font-weight:650;font-variation-settings:"opsz" 24;letter-spacing:-.01em}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button{font:inherit}
.wrap{width:min(1120px,92vw);margin:0 auto}
::selection{background:var(--crema);color:var(--espresso)}
:focus-visible{outline:3px solid var(--copper);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:12px;top:-60px;z-index:2000;background:var(--crema);color:var(--espresso);padding:10px 16px;border-radius:10px;font-weight:800;transition:top var(--t-fast)}
.skip:focus{top:12px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Motion ---------- */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .rv.in,.js.qa .rv{opacity:1;transform:none}
.qa .marquee-track,.qa .pulse,.qa .hero-badge{animation:none!important}
.rv-d1{transition-delay:.08s}.rv-d2{transition-delay:.16s}.rv-d3{transition-delay:.24s}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}}
.readbar{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--copper),var(--crema));z-index:1001;transition:width .12s linear}

/* ---------- Topbar & Nav ---------- */
.topbar{background:var(--espresso);color:var(--crema-2);font-size:12.5px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:8px 0}
.topbar a{color:var(--crema);font-weight:700;white-space:nowrap;border-bottom:1px solid rgba(233,199,154,.4)}
.topbar a:hover{border-color:var(--crema)}
nav{position:sticky;top:0;z-index:1000;background:rgba(248,242,233,.86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(230,216,198,.7);transition:box-shadow var(--t-base)}
nav.scrolled{box-shadow:0 10px 30px -18px rgba(44,26,16,.35)}
nav .wrap{display:flex;align-items:center;gap:14px;height:70px}
.logo{display:flex;align-items:center;gap:11px;color:var(--espresso);white-space:nowrap}
.logo svg.wm{height:34px;width:auto;display:block}
.logo .mark{width:42px;height:42px;border-radius:13px;background:var(--espresso);display:grid;place-items:center;flex:none;box-shadow:inset 0 0 0 1px rgba(233,199,154,.25);transition:transform .35s var(--ease)}
.logo .mark svg{width:22px;height:22px;stroke:var(--crema);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.logo:hover .mark{transform:rotate(-8deg) scale(1.06)}
.logo .wm-text{font-family:'Fraunces',serif;font-weight:800;font-size:1.22rem;letter-spacing:-.02em;line-height:1}
.logo .wm-text small{display:block;font-family:'Manrope',sans-serif;font-weight:700;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--copper-text);margin-top:3px}
.navlinks{display:flex;align-items:center;gap:2px;list-style:none;margin-left:auto}
.navlinks>li>a,.dropbtn{display:inline-flex;align-items:center;gap:6px;padding:9px 11px;border-radius:10px;font-weight:700;font-size:14px;white-space:nowrap;color:var(--ink);background:none;border:0;cursor:pointer;transition:background var(--t-fast),color var(--t-fast);min-height:44px}
.navlinks>li>a:hover,.dropbtn:hover,.drop.open>.dropbtn{background:var(--sand);color:var(--espresso)}
.dropbtn .arr{font-size:11px;opacity:.6;transition:transform var(--t-base)}
.drop.open>.dropbtn .arr{transform:rotate(180deg)}
.drop{position:relative}
.dropmenu{position:absolute;top:calc(100% + 8px);left:0;min-width:270px;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh);padding:8px;display:none;z-index:50}
.drop.open>.dropmenu{display:block;animation:dropin .22s var(--ease)}
@keyframes dropin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.dropmenu a{display:block;padding:9px 12px;border-radius:11px;font-size:14px;font-weight:600;color:var(--ink);transition:background var(--t-fast),transform var(--t-fast);min-height:44px}
.dropmenu a small{display:block;font-size:12px;font-weight:500;color:var(--ink-soft)}
.dropmenu a:hover{background:var(--sand);transform:translateX(3px)}
.dropmenu a.all{margin-top:4px;border-top:1px solid var(--line);border-radius:0 0 11px 11px;color:var(--copper-text)}
.nav-cta{margin-left:6px}
.nav-burger{display:none;background:var(--espresso);color:var(--crema);border:0;border-radius:11px;width:44px;height:44px;font-size:20px;cursor:pointer}
.m-only{display:none}

/* ---------- Buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;gap:9px;padding:14px 22px;min-height:48px;border-radius:var(--r-pill);font-weight:800;font-size:15px;line-height:1;border:1.5px solid transparent;cursor:pointer;transition:transform var(--t-base) var(--ease),box-shadow var(--t-base),background var(--t-base),color var(--t-base);overflow:hidden;white-space:nowrap}
.btn .ico{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.btn-primary,.btn-accent{background:var(--crema);color:var(--espresso);box-shadow:0 10px 24px -12px rgba(233,199,154,.7)}
.btn-primary::after,.btn-accent::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);transform:translateX(-120%);transition:transform .6s var(--ease)}
.btn-primary:hover::after,.btn-accent:hover::after{transform:translateX(120%)}
.btn-primary:hover,.btn-accent:hover{transform:translateY(-2px);background:var(--crema-2);box-shadow:0 16px 30px -12px rgba(233,199,154,.9)}
.btn-copper{background:var(--copper-btn);color:#fff}
.btn-copper:hover{background:var(--copper-text);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--crema-2);border-color:rgba(233,199,154,.45)}
.btn-ghost:hover{background:rgba(233,199,154,.12);border-color:var(--crema)}
.on-light .btn-ghost{color:var(--espresso);border-color:var(--line)}
.btn.busy{opacity:.85;cursor:progress}
.spin{width:16px;height:16px;border:2.5px solid rgba(27,17,11,.25);border-top-color:var(--espresso);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
a.btn-primary.pulse{animation:pulse 2.8s infinite}
@keyframes pulse{0%,100%{box-shadow:0 10px 24px -12px rgba(233,199,154,.7)}50%{box-shadow:0 10px 24px -12px rgba(233,199,154,.7),0 0 0 10px rgba(233,199,154,.14)}}

/* ---------- Hero (Bühne) ---------- */
.hero{position:relative;background:radial-gradient(900px 520px at 78% 40%,rgba(192,121,58,.22),transparent 60%),linear-gradient(180deg,var(--roast) 0%,var(--espresso) 100%);color:var(--crema-2);overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;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='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E");opacity:.7;pointer-events:none;mix-blend-mode:overlay;z-index:0}
.hero canvas.sig{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero .shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(27,17,11,.78) 0%,rgba(27,17,11,.55) 45%,rgba(27,17,11,.05) 100%);pointer-events:none}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:40px;align-items:center;padding:96px 0 110px;min-height:min(78vh,760px)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--copper-text)}
.eyebrow::before{content:"";width:26px;height:2px;background:currentColor;border-radius:2px}
.hero .eyebrow{color:var(--copper-glow)}
.hero h1{color:#fff;margin:18px 0 14px;font-weight:560;font-variation-settings:"opsz" 144;max-width:14ch}
.hero .sub{font-family:'Fraunces',serif;font-size:clamp(1.25rem,2vw,1.7rem);font-weight:500;color:var(--crema-2);margin:0 0 16px;line-height:1.3;font-variation-settings:"opsz" 72;max-width:30ch}
.hero h1 em{font-style:italic;font-weight:480;color:var(--crema)}
.tick{display:inline-block;color:var(--crema);border-bottom:3px solid var(--copper);padding:0 .1em;white-space:nowrap}
.tick .c{display:inline-block;width:2px;height:.85em;background:var(--crema);margin-left:2px;vertical-align:-.08em;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.hero .lead{font-size:clamp(1.05rem,1.4vw,1.2rem);color:rgba(242,220,187,.9);max-width:54ch;text-wrap:pretty}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0 28px}
.hero-assure{display:flex;flex-wrap:wrap;gap:8px}
.hero-assure span{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:var(--r-pill);background:rgba(233,199,154,.1);border:1px solid rgba(233,199,154,.22);font-size:13px;font-weight:700;color:var(--crema-2)}
.hero-assure .ico{width:15px;height:15px;stroke:var(--crema);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
/* Hero-Art: Silhouette + Manometer */
.hero-art{position:relative;justify-self:end;width:min(360px,80vw)}
.hero-art .sil{position:absolute;right:-30px;top:-40px;width:130%;opacity:.13;pointer-events:none}
.hero-art .gauge{position:relative;margin-left:auto}
/* Manometer */
.gauge{justify-self:end;width:min(300px,70vw);aspect-ratio:1;position:relative;filter:drop-shadow(0 30px 40px rgba(0,0,0,.5))}
.gauge svg{width:100%;height:100%;display:block}
.gauge .needle{transform-origin:100px 100px;transform:rotate(-128deg);transition:none}
.gauge .needle.idle{animation:jitter 3.2s ease-in-out infinite}
@keyframes jitter{0%,100%{rotate:0deg}50%{rotate:.6deg}}
.gauge .val{position:absolute;left:50%;top:64%;transform:translateX(-50%);font-family:'Fraunces',serif;font-size:1.7rem;font-weight:700;color:var(--crema);text-align:center;line-height:1}
.gauge .val small{display:block;font-family:'Manrope',sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(242,220,187,.7);margin-top:4px}
.gauge .lbl{position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);white-space:nowrap;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(242,220,187,.65);font-weight:700}

/* ---------- Geräte-Auswahl (Instrument-Karten) ---------- */
.devices{margin-top:-64px;position:relative;z-index:3}
.devices .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.device{position:relative;display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px 26px 28px;box-shadow:var(--sh);overflow:hidden;transition:transform var(--t-slow) var(--ease),box-shadow var(--t-slow)}
.device::before{content:"";position:absolute;inset:0;background:radial-gradient(420px 220px at var(--mx,50%) var(--my,0%),rgba(233,199,154,.35),transparent 60%);opacity:0;transition:opacity var(--t-base)}
.device:hover{transform:translateY(-8px);box-shadow:0 30px 60px -26px rgba(44,26,16,.5)}
.device:hover::before{opacity:1}
.device .dico{width:58px;height:58px;border-radius:16px;background:var(--espresso);display:grid;place-items:center;margin-bottom:18px;transition:transform var(--t-slow) var(--ease)}
.device .dico svg{width:30px;height:30px;stroke:var(--crema);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.device:hover .dico{transform:rotate(-6deg) scale(1.06)}
.device h3{font-size:1.35rem;margin-bottom:8px;color:var(--espresso)}
.device p{font-size:14.5px;color:var(--ink-soft);position:relative}
.device .go{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-weight:800;color:var(--copper-text);font-size:14px}
.device .go svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.4;transition:transform var(--t-base) var(--ease)}
.device:hover .go svg{transform:translateX(4px)}

/* ---------- Fakten-Zeile (Zähler, belegte Zahlen) ---------- */
.facts{padding:56px 0 0}
.facts .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.fact{padding:22px 0 0;border-top:2px solid var(--copper)}
.fact .n{font-family:'Fraunces',serif;font-size:2.2rem;font-weight:700;color:var(--espresso);line-height:1;font-variation-settings:"opsz" 96}
.fact .n .cnt{color:var(--copper-text)}
.fact .l{font-size:14px;color:var(--ink-soft);margin-top:8px}

/* ---------- Sections ---------- */
.block{padding:84px 0}
.block.bg-white{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.block.bg-dark{background:linear-gradient(180deg,var(--roast),var(--espresso));color:var(--crema-2)}
.block.bg-dark h2,.block.bg-dark h3{color:#fff}
.block.bg-dark .eyebrow{color:var(--copper-glow)}
.sec-head{max-width:720px;margin:0 0 40px}
.sec-head h2{margin:14px 0 12px;color:var(--espresso)}
.sec-head p{color:var(--ink-soft);font-size:1.03rem}
.use-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.use{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:26px 24px;box-shadow:var(--sh-sm);transition:transform .35s var(--ease),box-shadow .35s,border-color .35s;overflow:hidden;display:block}
.use::before{content:"";position:absolute;inset:0;background:radial-gradient(400px 200px at var(--mx,50%) var(--my,0%),rgba(192,121,58,.12),transparent 60%);opacity:0;transition:opacity .35s}
.use:hover{transform:translateY(-6px);box-shadow:var(--sh);border-color:var(--copper-soft)}
.use:hover::before{opacity:1}
.use svg.ui{width:46px;height:46px;padding:11px;border-radius:13px;background:var(--copper-soft);stroke:var(--copper-text);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;margin-bottom:16px;transition:transform .35s var(--ease),background .35s}
.use:hover svg.ui{transform:rotate(-6deg) scale(1.08);background:var(--crema)}
.use h3{margin:0 0 8px;color:var(--espresso)}
.use p{font-size:14.5px;color:var(--ink-soft)}
a.use::after{content:"→";position:absolute;right:20px;bottom:18px;color:var(--copper-text);font-weight:800;opacity:0;transform:translateX(-6px);transition:all .3s var(--ease)}
a.use:hover::after{opacity:1;transform:none}

/* Kosten */
.stages{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.stage{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:30px 26px;transition:transform .35s var(--ease),box-shadow .35s}
.stage:hover{transform:translateY(-5px);box-shadow:var(--sh)}
.stage.mid{background:linear-gradient(180deg,var(--roast) 0%,var(--espresso) 100%);color:var(--crema-2);border-color:transparent;transform:scale(1.03)}
.stage.mid:hover{transform:scale(1.03) translateY(-5px)}
.stage .badge{position:absolute;top:-13px;left:26px;background:var(--copper-btn);color:#fff;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:6px 12px;border-radius:var(--r-pill)}
.stage .price{font-family:'Fraunces',serif;font-size:1.9rem;font-weight:700;line-height:1.05;margin-bottom:12px;color:var(--espresso)}
.stage.mid .price,.stage.mid h3{color:#fff}
.stage .price small{font-family:'Manrope',sans-serif;font-size:13px;font-weight:600;color:var(--ink-soft)}
.stage.mid .price small{color:var(--crema)}
.stage h3{margin:0 0 10px}
.stage p{font-size:14.5px;color:var(--ink-soft)}
.stage.mid p{color:rgba(242,220,187,.85)}
.stage a{color:var(--copper-text);font-weight:700;border-bottom:1px solid var(--copper-soft)}
.stage.mid a{color:var(--crema)!important;border-bottom-color:rgba(233,199,154,.5)!important}

/* Marken */
.ins-grid{display:flex;flex-wrap:wrap;gap:10px}
.ins{display:inline-flex;align-items:center;min-height:44px;padding:9px 16px;border-radius:var(--r-pill);background:var(--card);border:1px solid var(--line);font-size:14px;font-weight:700;color:var(--ink);transition:all var(--t-base) var(--ease)}
a.ins:hover{background:var(--espresso);color:var(--crema);border-color:var(--espresso);transform:translateY(-2px)}
.marquee{overflow:hidden;margin:34px 0 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marquee 46s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track span{font-family:'Fraunces',serif;font-size:1.5rem;font-weight:600;color:var(--bean);padding:0 26px;white-space:nowrap;position:relative;font-variation-settings:"opsz" 72}
.marquee-track span::after{content:"";position:absolute;right:-5px;top:50%;width:8px;height:8px;border-radius:50%;background:var(--copper);transform:translateY(-50%)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Ablauf: Schritt-Linie */
.steps-wrap{position:relative}
.stepline{position:absolute;left:19px;right:19px;top:19px;height:3px;background:var(--sand);border-radius:3px;overflow:hidden}
.stepline::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--copper),var(--crema));transform:scaleX(0);transform-origin:left;transition:transform 1.6s var(--ease)}
.stepline.in::after{transform:scaleX(1)}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;position:relative}
.step{background:transparent;padding:0 12px 0 0;position:relative}
.step .num{width:38px;height:38px;border-radius:50%;background:var(--sand);border:3px solid var(--paper);color:var(--ink-soft);font-family:'Fraunces',serif;font-weight:700;display:grid;place-items:center;margin-bottom:18px;font-size:1.05rem;transition:background var(--t-base),color var(--t-base),transform var(--t-base) var(--ease);position:relative;z-index:1}
.step.on .num{background:var(--espresso);color:var(--crema);transform:scale(1.08)}
.step h3{font-size:1.05rem;margin-bottom:8px}
.step p{font-size:14px;color:var(--ink-soft)}

/* FAQ */
.faq{max-width:820px;margin:0 auto}
details.qa{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);margin-bottom:10px;overflow:hidden;transition:box-shadow var(--t-base),border-color var(--t-base)}
details.qa[open]{border-color:var(--copper-soft);box-shadow:var(--sh-soft)}
details.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 22px;font-weight:700;font-size:15.5px;color:var(--espresso);min-height:44px}
details.qa summary::-webkit-details-marker{display:none}
details.qa summary .pm{width:28px;height:28px;border-radius:50%;background:var(--sand);display:grid;place-items:center;font-weight:800;color:var(--copper-text);flex:none;transition:transform var(--t-base) var(--ease),background var(--t-base)}
details.qa[open] summary .pm{transform:rotate(45deg);background:var(--copper-btn);color:#fff}
details.qa .ans{padding:0 22px 20px;color:var(--ink-soft);font-size:15px;animation:fadeup .35s var(--ease)}
@keyframes fadeup{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* Band (Werkstatt) */
.band{padding:90px 0;background:linear-gradient(180deg,var(--sand),var(--paper));overflow:hidden}
.band .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.band picture{display:block;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh)}
.band img{transform:translateY(var(--py,0)) scale(1.08);transition:transform .1s linear;will-change:transform}
.band>.wrap>div:first-child{position:relative}
.band>.wrap>div:first-child::before{content:"";position:absolute;inset:18px -18px -18px 18px;border-radius:var(--r);background:var(--copper-soft);z-index:-1}
.band h2{margin:14px 0 14px;color:var(--espresso)}
.band p{color:var(--ink-soft)}
.band ul{list-style:none;margin-top:18px;display:grid;gap:10px}
.band li{display:flex;gap:10px;align-items:flex-start;font-weight:600}
.band li svg{width:20px;height:20px;flex:none;stroke:var(--ok);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}

/* Formular */
.form-sec{padding:90px 0;background:var(--espresso);color:var(--crema-2);position:relative;overflow:hidden}
.form-sec::before{content:"";position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(192,121,58,.28),transparent 65%);left:-260px;top:-200px;pointer-events:none}
.form-sec .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start;position:relative}
.form-sec h2{color:#fff;margin:14px 0 14px}
.form-sec .eyebrow{color:var(--copper-glow)}
.form-sec .intro{color:rgba(242,220,187,.88)}
.form-sec ul{list-style:none;margin-top:22px;display:grid;gap:12px}
.form-sec li{display:flex;gap:10px;align-items:flex-start;font-weight:600}
.form-sec li .ico{width:20px;height:20px;flex:none;stroke:var(--crema);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;fill:none;margin-top:2px}
form.card{background:var(--card);color:var(--ink);border-radius:var(--r);padding:30px;box-shadow:0 40px 80px -30px rgba(0,0,0,.6);display:grid;gap:14px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fg{display:grid;gap:6px}
.fg label{font-size:12.5px;font-weight:800;letter-spacing:.02em;color:var(--bean)}
.fg input,.fg select,.fg textarea{width:100%;min-height:46px;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;font:inherit;font-size:15px;background:#fff;color:var(--ink);transition:border-color var(--t-fast),box-shadow var(--t-fast)}
.fg textarea{min-height:96px;resize:vertical}
.fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--copper);box-shadow:0 0 0 4px rgba(192,121,58,.18)}
.fg .bad,form.card .bad{border-color:var(--warn)!important;box-shadow:0 0 0 4px rgba(178,59,52,.14)!important}
.ferr{font-size:12.5px;color:var(--warn);font-weight:700}
label.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;cursor:pointer;margin:4px 0 2px}
label.consent input{width:22px;height:22px;flex:none;margin-top:1px;accent-color:var(--copper-btn)}
label.consent a{text-decoration:underline;color:var(--copper-text)}
.form-ok{display:none;background:var(--okbg);color:var(--ok);border-radius:14px;padding:18px 18px 18px 52px;font-weight:700;position:relative;line-height:1.5}
.form-ok::before{content:"";position:absolute;left:18px;top:20px;width:22px;height:22px;border-radius:50%;background:var(--ok)}
.form-ok::after{content:"";position:absolute;left:25px;top:25px;width:7px;height:12px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg)}
.form-err{background:var(--warnbg);color:var(--warn);border:1px solid #f3c2c2;border-radius:12px;padding:12px 14px;font-size:14px}
.form-err a{color:inherit;text-decoration:underline}
.form-note{font-size:12.5px;color:var(--ink-soft);text-align:center}
.hp{display:none}
form.card .btn{width:100%;justify-content:center;font-size:16px;padding:16px}

/* Hilfsklassen (statt Inline-Styles) */
.center-note{max-width:760px;margin:22px auto 0;text-align:center;color:var(--ink-soft)}
.sec-head.centered{margin:0 auto 40px;text-align:center}
.sec-head.centered .eyebrow{justify-content:center}
.mt{margin-top:26px}
a.more{display:inline-block;font-weight:800;color:var(--copper-text)}
.m-only .btn{width:100%;justify-content:center}
.steps{list-style:none}
.lauf-tophub{max-width:1080px;margin:30px auto;padding:20px 22px}
.lauf-tophub ul{columns:2;column-gap:34px;margin:0;padding-left:20px;line-height:1.9}
.stage a{color:var(--copper-text);font-weight:700;border-bottom:1px solid var(--copper-soft)}
.err404 .legal-date{max-width:none}
/* Beliebte Ratgeber */
.lauf-tophub{background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.lauf-tophub h2{font-size:1.4rem}
.lauf-tophub a{color:var(--copper-text);font-weight:600;border-bottom:1px solid var(--copper-soft)}

/* ---------- Footer ---------- */
footer{background:var(--espresso);color:rgba(242,220,187,.82);padding:64px 0 28px;border-top:1px solid rgba(233,199,154,.14)}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px}
.foot-brand p{font-size:13.5px;margin-top:14px;max-width:44ch}
.foot-brand .logo,.foot-brand .wm-text{color:#fff}
.foot-brand .mark{background:transparent;border:1px solid rgba(233,199,154,.4)}
.foot-brand .wm-text small{color:var(--copper-glow)}
.foot-h{font-family:'Fraunces',serif;font-size:1.05rem;color:#fff;margin-bottom:12px}
footer .foot-grid a{display:block;font-size:13.5px;padding:5px 0;transition:color var(--t-fast),transform var(--t-fast)}
footer .foot-grid a:hover{color:var(--crema);transform:translateX(3px)}
.foot-bottom{margin-top:40px;padding-top:20px;border-top:1px solid rgba(233,199,154,.14);display:flex;flex-wrap:wrap;gap:12px 28px;font-size:12.5px}
.foot-bottom .credit a{color:var(--crema)}

/* ---------- Breadcrumbs & Artikel ---------- */
.breadcrumbs{background:var(--sand);border-bottom:1px solid var(--line)}
.breadcrumb-list{list-style:none;display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:10px 0;font-size:13px;color:var(--ink-soft)}
.breadcrumb-list li{display:inline-flex;align-items:center}
.breadcrumb-list li+li::before{content:"›";margin:0 8px;color:var(--copper)}
.breadcrumb-list a{font-weight:700}
.article-page{padding:56px 0 30px}
.article-content{width:min(760px,92vw);margin:0 auto}
.article-content h1{color:var(--espresso);margin-bottom:14px;font-size:clamp(2rem,4vw,3rem)}
.article-content h2{margin:44px 0 14px;color:var(--espresso);font-size:clamp(1.45rem,2.4vw,1.9rem);padding-top:8px;scroll-margin-top:90px}
.article-content h3{margin:24px 0 8px;color:var(--bean)}
.article-content p,.article-content li{font-size:17px;line-height:1.72;max-width:68ch}
.article-content p{margin:0 0 16px}
.article-content ul,.article-content ol{margin:0 0 18px 22px}
.article-content li{margin-bottom:6px}
.article-content a{color:var(--copper-text);font-weight:700;background-image:linear-gradient(var(--copper-soft),var(--copper-soft));background-size:100% 2px;background-repeat:no-repeat;background-position:0 100%;transition:background-size var(--t-base)}
.article-content a:hover{background-size:100% 100%;border-radius:3px}
.article-meta{font-size:13px;color:var(--ink-soft);margin:0 0 18px}
.lauf-eeat{font-size:13px;color:var(--ink-soft);margin:6px 0 10px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.lauf-earlycta{margin:18px 0;padding:14px 18px;background:var(--copper-soft);border-left:4px solid var(--copper);border-radius:12px;font-size:15.5px}
.lauf-earlycta a{background:none}
.toc{margin:22px 0 26px;padding:18px 22px;background:var(--sand);border-radius:16px}
.toc[hidden]{display:none}
.toc h2{font-size:1rem;margin:0 0 8px;padding:0;letter-spacing:.06em;text-transform:uppercase;font-family:'Manrope',sans-serif;font-weight:800;color:var(--copper-text)}
.toc ol{margin:0 0 0 20px;columns:2;column-gap:28px}
.toc li{font-size:14.5px;margin-bottom:4px;break-inside:avoid}
.toc a{background:none;font-weight:600}
.kva-cta{margin:26px 0;padding:22px 24px;border-radius:18px;background:linear-gradient(135deg,var(--roast),var(--espresso));color:var(--crema-2);box-shadow:var(--sh);display:grid;gap:10px}
.kva-cta strong{font-family:'Fraunces',serif;font-size:1.25rem;color:#fff}
.kva-cta p{margin:0;color:rgba(242,220,187,.85);font-size:15px}
.kva-cta a.btn{justify-self:start;background-image:none;color:var(--espresso)!important}
.lauf-lead{background:var(--sand);border-left:4px solid var(--copper);padding:14px 18px;margin:24px 0;border-radius:12px;font-size:15px}
.faq-block{margin-top:30px}
h2.lauf-faq{border-top:1px solid var(--line);padding-top:24px}
.article-related{margin:30px 0 10px;padding:22px 24px;background:var(--card);border:1px solid var(--line);border-radius:18px}
.article-related h3{margin:0 0 10px}
.article-related ul{list-style:none;margin:0}
.article-related li{margin:0 0 8px;padding-left:18px;position:relative}
.article-related li::before{content:"→";position:absolute;left:0;color:var(--copper)}
.table-scroll{overflow-x:auto;margin:20px 0 26px;border-radius:14px;border:1px solid var(--line)}
.article-content table{width:100%;border-collapse:separate;border-spacing:0;font-size:14.5px;background:var(--card)}
.article-content th{background:var(--espresso);color:var(--crema);text-align:left;padding:11px 12px;font-weight:800;font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.article-content td{padding:11px 12px;border-top:1px solid var(--line);vertical-align:top}
.article-content tbody tr:nth-child(even) td{background:rgba(239,227,209,.45)}
.article-content tbody tr:hover td{background:var(--sand)}
.article-content td:first-child{font-weight:800;color:var(--copper-text);white-space:nowrap}
.article-cta{background:linear-gradient(135deg,var(--roast),var(--espresso));color:#fff;border-radius:var(--r);padding:40px;margin:40px 0;text-align:center;box-shadow:var(--sh)}
.article-cta h3{color:#fff;font-size:1.6rem;margin-bottom:10px}
.article-cta p{color:rgba(242,220,187,.85);margin-bottom:22px;max-width:none}
.article-cta .btn-primary{display:inline-flex;align-items:center;padding:14px 26px;border-radius:var(--r-pill);background:var(--crema);color:var(--espresso)!important;font-weight:800;border:0}

/* ---------- Hub ---------- */
.ratgeber-hub{width:min(1120px,92vw);margin:0 auto;padding:56px 0 20px}
.ratgeber-hub-header{max-width:760px;margin-bottom:34px}
.ratgeber-hub-header h1{color:var(--espresso);margin-bottom:12px}
.ratgeber-hub-header p{color:var(--ink-soft);font-size:1.05rem}
.ratgeber-category{display:inline-flex;align-items:center;gap:10px;font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--copper-text);margin:30px 0 14px}
.ratgeber-category::before{content:"";width:26px;height:2px;background:currentColor}
.ratgeber-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ratgeber-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:22px 22px 24px;box-shadow:var(--sh-sm);transition:transform .35s var(--ease),box-shadow .35s,border-color .35s;overflow:hidden;display:block}
.ratgeber-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--copper),var(--crema));transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease)}
.ratgeber-card:hover{transform:translateY(-5px);box-shadow:var(--sh);border-color:var(--copper-soft)}
.ratgeber-card:hover::before{transform:scaleY(1)}
.ratgeber-card h3{font-size:1.05rem;margin-bottom:8px;color:var(--espresso)}
.ratgeber-card p{font-size:14px;color:var(--ink-soft)}

/* ---------- Legal / 404 ---------- */
.legal-page{padding:56px 0 40px}
.legal-content{width:min(760px,92vw);margin:0 auto}
.legal-content h1{color:var(--espresso);margin-bottom:8px}
.legal-date{color:var(--ink-soft);font-size:14px;margin-bottom:26px}
.legal-content h2{font-size:1.3rem;margin:30px 0 10px;color:var(--bean)}
.legal-content p,.legal-content li{margin-bottom:10px;font-size:15.5px}
.legal-content ul{margin-left:22px}
.legal-content a{color:var(--copper-text);font-weight:700}
.err404{padding:90px 0;text-align:center}
.err404 .code{font-family:'Fraunces',serif;font-size:clamp(5rem,14vw,10rem);font-weight:300;line-height:1;color:var(--copper);font-variation-settings:"opsz" 144}
.err404 ul{list-style:none;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:26px}

/* ---------- Sticky Mobile CTA ---------- */
.lauf-sticky{position:fixed;left:0;right:0;bottom:0;z-index:999;display:flex;box-shadow:0 -6px 20px rgba(27,17,11,.25)}
.lauf-sticky a{flex:1;text-align:center;padding:14px 8px;min-height:48px;background:var(--crema);color:var(--espresso);font-weight:800;font-size:15px}
@media(min-width:768px){.lauf-sticky{display:none}}

/* ---------- Responsive ---------- */
@media(max-width:1024px){
  .navlinks>li>a,.dropbtn{padding:8px 9px;font-size:13.5px}
  .hero .wrap{grid-template-columns:1fr;gap:30px;padding:70px 0 90px;min-height:0}
  .hero-art{justify-self:start;width:min(280px,70vw)}
  .gauge{width:min(220px,60vw)}
  .steps{grid-template-columns:repeat(3,1fr)}
  .stepline{display:none}
  .foot-grid{grid-template-columns:1fr 1fr}
  .facts .wrap{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  nav .wrap{height:64px}
  .navlinks{display:none;position:absolute;left:0;right:0;top:64px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:12px 4vw 18px;gap:4px;box-shadow:var(--sh);max-height:calc(100vh - 64px);overflow:auto}
  nav.open .navlinks{display:flex}
  .navlinks>li>a,.dropbtn{width:100%;justify-content:space-between;padding:12px 12px;font-size:15px}
  .dropmenu{position:static;box-shadow:none;border:0;background:var(--sand);margin:4px 0 6px;min-width:0}
  .nav-cta{display:none}.nav-burger{display:grid;place-items:center;margin-left:auto}.m-only{display:block;margin-top:8px}
  .devices{margin-top:-40px}
  .devices .wrap,.use-grid,.stages,.ratgeber-grid{grid-template-columns:1fr 1fr}
  .stage.mid{transform:none}
  .band .wrap,.form-sec .wrap{grid-template-columns:1fr;gap:34px}
  .block{padding:60px 0}
  .topbar span{font-size:11.5px}
  .hero .shade{background:linear-gradient(180deg,rgba(27,17,11,.7),rgba(27,17,11,.45))}
}
@media(max-width:600px){
  .devices .wrap,.use-grid,.stages,.steps,.ratgeber-grid,.foot-grid,.facts .wrap{grid-template-columns:1fr}
  .f2{grid-template-columns:1fr!important}
  form.card{padding:22px 18px}
  .hero-actions .btn{width:100%;justify-content:center}
  .hero h1{max-width:none}
  .topbar .wrap{flex-direction:column;align-items:flex-start;gap:4px}
  body{padding-bottom:56px}
  .marquee-track span{font-size:1.2rem;padding:0 18px}
  .toc ol{columns:1}
  .hero-art{width:220px}
  .gauge{width:150px;margin-bottom:-10px}
  .hero-art .sil{right:-20px;top:-30px}
  .gauge .val{font-size:1.1rem}
  .gauge .lbl{display:none}
}
