/* ═══════════════════════════════════════════════════════════════════════════
   mm-site.css — die Gestaltung der neuen Website (Startseite und Unterseiten)
   Angelegt 2026-09-16 aus matchmoment-website/vorlagen/.

   🔑 WARUM EINE DATEI: Die drei Vorlagen trugen denselben Style-Block je
      EINMAL — Zeichen fuer Zeichen identisch, 28.368 Zeichen, dreimal. Eine
      Aenderung haette an drei Stellen gemacht werden muessen.
      📌 Dieselbe Regel an drei Orten ist keine Kopie, sondern eine
         Verabredung zum Auseinanderlaufen.

   Zwei Abschnitte:
     A  GRUNDLAGE     — gilt auf allen drei Seiten (aus der Startseiten-Vorlage)
     B  UNTERSEITEN   — nur fuer /so-funktioniert-das-matching/ und /sicher-daten/

   ⚠️ Abschnitt B ist NICHT gekapselt und braucht es auch nicht: Von seinen
      51 Selektoren kommt kein einziger auf der Startseite vor. Geprueft wurde
      das, nicht angenommen — `.gold` ueberschneidet sich dem Namen nach, die
      Regel lautet aber `.panel.gold` und verlangt `.panel` mit.

   🔴 DIESE DATEI LAEDT NUR DIE NEUE WEBSITE. Kundenkonto, Fragebogen,
      Login, Pakete, AGB, Datenschutz und Impressum binden sie NICHT ein und
      bleiben unberuehrt — so verlangt es der Auftrag (Punkt 8).

   Die Schrift steht nicht hier, sondern in assets/mm-schrift.css. Grund dort.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ══ A · GRUNDLAGE ════════════════════════════════════════════════════════ */
:root{
  /* Markenfarbe als Zahlen — fuer rgba(). Der Hexwert steht im Admin als --purple. */
  --purple-rgb: 74, 49, 138;
  --night:#1a1238; --surface:#221850; --surface-2:#2a1f5c; --line:#3a2f78;
  --lavender:#9b7ff0; --lavender-soft:#c6b6ff; --gold:#d4af37;
  --text:#f4f1ff; --muted:#bdb3e6; --faint:#8f84c4;
  --serif:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --sans:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--night:#1a1238;--surface:#221850;--text:#f4f1ff;--muted:#bdb3e6}}
:root[data-theme="dark"]{--night:#1a1238;--surface:#221850;--text:#f4f1ff;--muted:#bdb3e6}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--night);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}

/* Navigation */
.nav{position:sticky;top:0;z-index:10;background:rgba(26,18,56,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(58,47,120,.6)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:24px}
.logo{display:inline-flex;align-items:center;white-space:nowrap;font-family:var(--sans);font-weight:700;font-size:21px;text-decoration:none;letter-spacing:-.01em}
.logo span{color:var(--lavender)}
.logo small{display:inline-flex;align-items:center;gap:10px;font-weight:500;font-size:14px;color:var(--muted);margin-left:10px;letter-spacing:0}
.logo small::before{content:"";width:1px;height:18px;background:var(--gold)}
.nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0;font-size:15px}
.nav ul a{text-decoration:none;color:var(--muted)}
.nav ul a:hover{color:var(--text)}
.nav-right{display:flex;align-items:center;gap:18px;font-size:15px}
.btn-outline{display:inline-block;border:1px solid var(--gold);color:var(--gold);text-decoration:none;border-radius:999px;padding:8px 20px;font-size:14px;font-weight:600;white-space:nowrap;transition:background .2s,color .2s}
.btn-outline:hover{background:var(--gold);color:#160f33}
.btn{display:inline-block;background:var(--lavender);color:#160f33;font-weight:600;text-decoration:none;border-radius:999px;padding:14px 26px;font-size:16px;transition:background .2s}
.btn:hover{background:var(--lavender-soft)}
.btn.sm{padding:9px 18px;font-size:14px}
.menu-btn{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:none;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}
.menu-btn span{display:block;width:18px;height:1.5px;background:var(--text);border-radius:2px;transition:transform .25s,opacity .25s}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mobile-menu{position:absolute;left:0;right:0;top:100%;background:#1a1238;border-bottom:1px solid var(--line);max-height:calc(100vh - 60px);max-height:calc(100dvh - 60px);overflow-y:auto;padding:8px 0 24px;box-shadow:0 0 0 100vmax rgba(8,5,22,.65);clip-path:inset(0 0 -100vmax 0)}
.mobile-menu[hidden]{display:none}
.nav .mobile-menu .wrap{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;height:auto;gap:0;padding:0 20px}
.mm-link{display:flex;align-items:center;min-height:52px;border-bottom:1px solid rgba(58,47,120,.7);color:var(--text);text-decoration:none;font-size:17px;font-weight:500}
.mm-label{margin:22px 0 2px;font-size:13px;font-weight:600;color:var(--gold)}
.mm-cta{margin-top:24px;text-align:center}
body.menu-open{overflow:hidden}
@media (max-width:860px){.nav ul{display:none}.menu-btn{display:inline-flex}.nav-right{gap:10px}}
@media (min-width:861px){.mobile-menu{display:none!important}}

/* Hero */
.hero{padding:72px 0 96px;background:radial-gradient(620px 420px at 88% 35%,rgba(212,175,55,.13),transparent 70%),radial-gradient(520px 420px at 5% 0%,rgba(155,127,240,.14),transparent 70%)}
.hero .wrap{display:grid;min-width:0;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.kicker{color:var(--gold);font-size:15px;margin:0 0 22px}
h1{font-family:var(--serif);font-weight:600;font-size:clamp(38px,5.4vw,64px);line-height:1.08;letter-spacing:-.03em;margin:0 0 28px}
.lead{font-size:19px;color:var(--muted);max-width:34em;margin:0 0 36px}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.textlink{color:var(--text);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px;font-size:16px}
.textlink:hover{border-color:var(--lavender)}
.fine{font-size:14px;color:var(--faint);margin:20px 0 0}

/* Platzhalter Matching-Card */
.card-slot{min-height:560px;border:1.5px dashed rgba(212,175,55,.55);border-radius:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;background:radial-gradient(circle at 50% 40%,rgba(212,175,55,.08),transparent 65%),var(--surface)}
.card-slot p{margin:0;font-weight:600;font-size:18px;color:var(--gold)}
.card-slot span{margin-top:6px;font-size:14px;color:var(--faint)}

/* Hero-Bild */
.hero-media{position:relative}
.hero-media::before{content:"";position:absolute;inset:22px -22px -22px 22px;border:1px solid rgba(212,175,55,.45);border-radius:28px;pointer-events:none}
.media{
  /* 🖼️ 29.09.2026: Café-Szene eingesetzt (1060 × 1484, 340 kB, von Martin
     geliefert). Hostingers CDN liefert sie nochmals nachkomprimiert mit
     190 kB aus — deshalb weicht die Größe auf dem Server von der hier ab.
     ⚠️ Groß-/Kleinschreibung zählt: Der Server ist Linux, die Datei heißt
        wirklich `Hero_Cafe.jpg`. `hero-cafe.jpg` ergibt einen 404. */
  --hero-bild:url("/images/Hero_Cafe.jpg");
  position:relative;aspect-ratio:4/5;max-height:620px;width:100%;border-radius:28px;overflow:hidden;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;
  background:linear-gradient(180deg,rgba(26,18,56,0) 55%,rgba(26,18,56,.55)),var(--hero-bild) center/cover no-repeat,
  radial-gradient(200px 200px at 72% 28%,rgba(212,175,55,.38),transparent 70%),
  radial-gradient(160px 160px at 30% 70%,rgba(155,127,240,.45),transparent 70%),
  radial-gradient(110px 110px at 80% 82%,rgba(212,175,55,.25),transparent 70%),
  radial-gradient(80px 80px at 22% 22%,rgba(244,241,255,.14),transparent 70%),
  linear-gradient(145deg,#2f2366,#1d1442 55%,#3a2a5e)}
/* ⏹️ 29.09.2026: Hier standen `.media-label p` und `.media-label span` — die
   Beschriftung des Bild-Platzhalters („Platz für dein Bild"). Mit dem echten
   Bild ist das Markup weg, und die Regeln hatten keinen Träger mehr. */

/* Matching mit Card */
.match-grid{display:grid;grid-template-columns:minmax(0,1fr) 440px;grid-template-rows:1fr auto auto 1fr;grid-template-areas:". card" "head card" "more card" ". card";column-gap:72px;align-items:start}
.m-head{grid-area:head}
.m-more{grid-area:more}
.m-head .intro{margin-bottom:28px}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border:1px solid var(--gold);border-radius:999px;color:var(--gold);font-weight:600;font-size:15px;text-decoration:none;transition:background .2s,color .2s}
.btn-ghost:hover{background:var(--gold);color:#160f33}
.m-card{grid-area:card;position:sticky;top:100px}
/* Lichtpunkte wie auf der Match-Karte der App */
.hero{position:relative;overflow:hidden}
.glow{position:absolute;border-radius:50%;pointer-events:none;filter:blur(2px);animation:float 14s ease-in-out infinite}
.glow.g1{width:320px;height:320px;right:4%;top:6%;background:radial-gradient(circle,rgba(212,175,55,.22),rgba(212,175,55,0) 70%)}
.glow.g2{width:220px;height:220px;right:30%;bottom:4%;background:radial-gradient(circle,rgba(155,127,240,.28),rgba(155,127,240,0) 70%);animation-delay:-5s}
.glow.g3{width:140px;height:140px;right:2%;bottom:18%;border:1px solid rgba(212,175,55,.25);filter:none;animation-delay:-9s}
@keyframes float{0%,100%{transform:translate(0,0)}50%{transform:translate(-14px,18px)}}
.hero .wrap{position:relative;z-index:1}

/* Bildband */
.moment{position:relative;min-height:440px;display:flex;align-items:center;overflow:hidden;
  background:linear-gradient(90deg,rgba(26,18,56,.92) 0%,rgba(26,18,56,.55) 60%,rgba(26,18,56,.25) 100%),
  radial-gradient(260px 260px at 78% 30%,rgba(212,175,55,.35),transparent 70%),
  radial-gradient(180px 180px at 62% 75%,rgba(155,127,240,.45),transparent 70%),
  radial-gradient(120px 120px at 90% 80%,rgba(212,175,55,.28),transparent 70%),
  radial-gradient(90px 90px at 52% 22%,rgba(244,241,255,.14),transparent 70%),
  linear-gradient(135deg,#2a1f5c,#1a1238 60%,#3a2a5e)}
.moment::after{content:"";position:absolute;right:8%;top:50%;width:280px;height:280px;margin-top:-140px;border-radius:50%;border:1px solid rgba(212,175,55,.35);pointer-events:none}
.moment .wrap{position:relative;z-index:1;width:100%}
.moment blockquote{margin:0;max-width:17em;font-weight:600;font-size:clamp(28px,3.6vw,44px);line-height:1.2;letter-spacing:-.02em}
.moment blockquote span{color:var(--gold)}
.moment p:not(.eyebrow){margin:18px 0 0;color:var(--muted);max-width:30em}

/* Sanftes Einblenden beim Scrollen */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.glow{animation:none}.js .reveal{opacity:1;transform:none;transition:none}}

/* Ablauf mit App-Vorschau */
.flow{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"head phone" "steps phone";column-gap:80px;align-items:start}
.flow-head{grid-area:head}
.flow .steps{grid-area:steps}
.phone-wrap{grid-area:phone;position:sticky;top:96px;display:flex;justify-content:center}
.steps{list-style:none;margin:0;padding:0;display:grid;counter-reset:s}
.steps li{counter-increment:s;position:relative;padding:0 0 12px 64px}
.steps li:not(:last-child)::after{content:"";position:absolute;top:48px;bottom:0;left:21px;width:1px;background:linear-gradient(180deg,rgba(212,175,55,.6),var(--line))}
.steps li::before{content:counter(s);position:absolute;top:4px;left:0;width:44px;height:44px;border-radius:50%;border:1px solid rgba(212,175,55,.6);color:var(--gold);background:var(--night);display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:600;transition:background .3s,color .3s}
.steps li.on::before{background:var(--gold);color:#160f33;border-color:var(--gold)}
.step-btn{display:block;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:18px;padding:12px 16px;color:inherit;font:inherit;cursor:pointer;transition:background .3s,border-color .3s}
.step-btn:hover{background:rgba(255,255,255,.03)}
.steps li.on .step-btn{background:var(--surface);border-color:var(--line)}
.steps h3{font-size:18px;font-weight:600;margin:0 0 6px}
.steps p{margin:0;color:var(--muted);font-size:15px}
.steps li:not(.on) h3{color:var(--muted)}
.steps li:not(.on) p{color:var(--faint)}

/* Handy */
.phone{position:relative;width:300px;height:620px;border-radius:46px;background:#0c0720;padding:10px;box-shadow:0 0 0 1px #3a2f78,0 0 0 5px #160f33,0 0 0 6px rgba(212,175,55,.35),0 50px 90px -30px rgba(0,0,0,.75),0 0 120px -30px rgba(212,175,55,.3)}
.phone::before{content:"";position:absolute;top:20px;left:50%;width:92px;height:26px;margin-left:-46px;border-radius:14px;background:#000;z-index:3}
.screen{position:relative;height:100%;border-radius:37px;overflow:hidden;background:linear-gradient(180deg,#1e1446 0%,#241859 60%,#2c1f6e 100%);font-size:12px;line-height:1.4}
.sbar{position:absolute;top:0;left:0;right:0;height:44px;display:flex;justify-content:space-between;align-items:center;padding:0 26px;font-size:12px;font-weight:600;z-index:2}
.sbar i{display:inline-block;width:22px;height:10px;border:1px solid rgba(255,255,255,.7);border-radius:3px;position:relative}
.sbar i::after{content:"";position:absolute;inset:1px 5px 1px 1px;background:#fff;border-radius:1px}
.scr{position:absolute;inset:0;padding:54px 16px 70px;opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease;pointer-events:none}
.scr.on{opacity:1;transform:none}
.app-logo{font-weight:700;font-size:15px;margin:0 0 14px}
.app-logo span{color:var(--lavender)}
.a-card{background:rgba(58,47,120,.45);border:1px solid rgba(155,127,240,.28);border-radius:16px;padding:12px;margin-bottom:10px}
.a-card.gold{border-color:rgba(212,175,55,.55)}
.a-label{font-size:9.5px;font-weight:600;letter-spacing:.12em;color:var(--muted);margin:0 0 8px}
.a-label.g{color:var(--gold)}
.a-hello{font-size:21px;font-weight:500;margin:4px 0 10px;letter-spacing:-.01em}
.a-chip{display:inline-block;border:1px solid rgba(155,127,240,.5);background:rgba(155,127,240,.15);border-radius:999px;padding:3px 10px;font-size:10.5px;font-weight:600;color:#c6b6ff;margin:0 4px 12px 0}
.a-row{display:flex;align-items:center;gap:12px}
.a-ring{position:relative;width:72px;height:72px;flex-shrink:0}
.a-ring svg{transform:rotate(-90deg)}
.a-ring b{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:17px;font-weight:700;line-height:1}
.a-ring b small{font-size:8.5px;font-weight:400;color:var(--muted);margin-top:2px}
.a-name{font-size:18px;font-weight:700;margin:0}
.a-sub{color:var(--muted);margin:2px 0 0;font-size:11px}
.a-av{width:30px;height:30px;border-radius:50%;background:#3d3280;border:1px solid rgba(155,127,240,.6);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;color:#c6b6ff;flex-shrink:0}
.a-progress{height:4px;border-radius:4px;background:rgba(255,255,255,.1);margin:6px 0 16px;overflow:hidden}
.a-progress i{display:block;height:100%;width:35%;background:var(--gold);border-radius:4px}
.a-q{font-size:17px;font-weight:500;margin:0 0 14px;line-height:1.3}
.a-opt{border:1px solid rgba(155,127,240,.45);background:rgba(155,127,240,.16);border-radius:999px;padding:10px;text-align:center;font-weight:600;font-size:12.5px;color:#c6b6ff;margin-bottom:8px}
.a-opt.sel{background:var(--lavender);color:#160f33;border-color:var(--lavender)}
.a-hint{font-size:10.5px;color:var(--faint);text-align:center;margin:10px 0 0}
.a-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px}
.a-grid div{border:1px solid rgba(155,127,240,.35);border-radius:12px;padding:8px 4px;text-align:center;font-size:10.5px;font-weight:600;color:var(--muted)}
.a-grid div.sel{border-color:var(--lavender);background:rgba(155,127,240,.25);color:#fff}
.a-head{background:linear-gradient(135deg,#3a2a5e,#2a1f5c);border-radius:12px;padding:10px 12px;display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:10px}
.a-head span{font-size:8.5px;letter-spacing:.1em;color:var(--gold);font-weight:600;line-height:1.3}
.a-head b{font-size:26px;font-weight:700;line-height:1}
.a-reason{display:flex;gap:8px;align-items:center;font-size:11px;margin:5px 0;color:#e4dcff}
.a-reason::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold);flex-shrink:0}
.a-btn{background:linear-gradient(90deg,#9b7ff0,#c6b6ff);border-radius:999px;padding:10px;text-align:center;font-weight:700;font-size:12.5px;margin-top:12px}
.a-note{font-size:9.5px;color:var(--faint);text-align:center;margin:8px 0 0;line-height:1.35}
.a-check{width:64px;height:64px;border-radius:50%;margin:30px auto 16px;border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;box-shadow:0 0 40px -6px rgba(212,175,55,.5)}
.a-check svg{width:28px;height:28px;stroke:var(--gold);fill:none;stroke-width:2.2}
.a-center{text-align:center}
.a-big{font-size:20px;font-weight:700;margin:0 0 4px}
.a-line{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid rgba(155,127,240,.2);font-size:11.5px}
.a-line:last-child{border-bottom:0}
.a-line span{color:var(--muted)}
.tabbar{position:absolute;left:0;right:0;bottom:0;height:62px;background:#160f33;display:flex;justify-content:space-around;align-items:center;padding-bottom:8px;z-index:2}
.tabbar svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tabbar span{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.tabbar span.on{background:rgba(155,127,240,.25)}
.tabbar span.on svg{stroke:var(--lavender)}
.tabbar span.heart svg{stroke:#f59e7b}
.phone-dots{display:none;justify-content:center;gap:10px;margin-top:18px}
.phone-dots button{width:40px;height:40px;border-radius:50%;border:1px solid rgba(212,175,55,.55);background:none;color:var(--gold);font:inherit;font-weight:600;font-size:14px;cursor:pointer;transition:background .3s,color .3s}
.phone-dots button.on{background:var(--gold);color:#160f33}
.phone-cap{text-align:center;font-size:13px;color:var(--faint);margin:18px 0 0}
@media (prefers-reduced-motion:reduce){.scr{transition:none}}

/* Sections */
section.block{padding:104px 0;border-top:1px solid rgba(58,47,120,.55)}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
h2{font-family:var(--serif);font-weight:600;font-size:clamp(28px,3.6vw,44px);line-height:1.15;letter-spacing:-.025em;margin:0 0 20px;max-width:16em}
.intro{color:var(--muted);font-size:18px;max-width:36em;margin:0 0 56px}

.eyebrow{display:flex;align-items:center;gap:12px;color:var(--gold);font-size:14px;font-weight:600;margin:0 0 16px}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--gold)}
.closing .eyebrow{justify-content:center;color:var(--gold)!important}
.closing .eyebrow::after{content:"";width:28px;height:1px;background:var(--gold)}

/* Comparison */
.compare{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:24px;overflow:hidden}
.compare div{padding:28px 32px}
.compare .them{color:var(--faint)}
.compare .us{background:linear-gradient(180deg,rgba(212,175,55,.08),transparent 55%),var(--surface);box-shadow:inset 0 2px 0 var(--gold)}
.compare h3{font-family:var(--sans);font-size:14px;font-weight:600;margin:0 0 18px;color:var(--muted)}
.compare .us h3{color:var(--gold)}
.compare ul{list-style:none;margin:0;padding:0;display:grid;gap:18px;font-size:17px}
.compare .us li{display:flex;gap:12px}
.compare .us li::before{content:"";flex-shrink:0;width:14px;height:8px;margin-top:6px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.compare .them li{display:flex;gap:12px}
.compare .them li::before{content:"";flex-shrink:0;width:12px;height:1.5px;margin-top:12px;background:var(--faint);opacity:.7}

/* Steps */

/* Photos */
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}
.points{display:grid;gap:36px}
.points h3{font-family:var(--serif);font-weight:600;font-size:20px;margin:0 0 6px}
.points p{margin:0;color:var(--muted)}
.points>div{border-left:2px solid var(--gold);padding-left:22px}


/* Date-Formate */
.tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-top:12px}
.tier{position:relative;display:flex;flex-direction:column;padding:30px 24px 26px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 40%),var(--surface);transition:border-color .25s,transform .25s}
.tier:hover{border-color:rgba(212,175,55,.45);transform:translateY(-2px)}
.tier.featured{border-color:rgba(212,175,55,.75);background:linear-gradient(180deg,rgba(212,175,55,.11),transparent 55%),var(--surface);box-shadow:0 30px 60px -40px rgba(212,175,55,.5)}
.tier .flag{position:absolute;top:-12px;left:22px;background:var(--gold);color:#160f33;font-size:12px;font-weight:700;border-radius:999px;padding:3px 12px;line-height:18px}
.tier .who{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--gold)}
.tier h3{margin:0 0 8px;font-size:21px;font-weight:600;letter-spacing:-.01em}
.tier .desc{margin:0 0 24px;color:var(--muted);font-size:15px;line-height:1.5}
.tier .desc strong{display:block;color:var(--text);font-weight:600;margin-bottom:2px}
.tier .price{margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}
.tier .price b{display:block;font-size:30px;font-weight:600;letter-spacing:-.03em;line-height:1.1;color:var(--text);white-space:nowrap}
.tier .price b small{font-size:15px;font-weight:500;color:var(--muted);letter-spacing:0;margin-right:4px}
.tier.featured .price b{color:var(--gold)}
.tier .price span{display:block;margin-top:6px;font-size:13px;color:var(--faint);line-height:1.4}
.menu-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:28px;color:var(--muted);font-size:15px}

/* Trust */
.trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 56px}
.trust svg{width:28px;height:28px;stroke:var(--gold);fill:none;stroke-width:1.5;margin-bottom:16px}
.trust>div{padding-top:20px;border-top:1px solid rgba(212,175,55,.45)}
.trust h3{font-size:17px;font-weight:600;margin:0 0 6px}
.trust p{margin:0;color:var(--muted);font-size:15px}
.trust a{color:var(--lavender-soft)}

/* FAQ */
.faq{max-width:760px}
details{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;padding:24px 40px 24px 0;font-family:var(--serif);font-size:18px;font-weight:600;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:4px;top:20px;font-family:var(--sans);font-weight:300;font-size:28px;color:var(--gold);transition:transform .25s}
details[open] summary::after{transform:rotate(45deg)}
details p{margin:0 0 24px;color:var(--muted);max-width:40em}

/* Closing */
.closing{text-align:center;padding:120px 0;background:radial-gradient(560px 320px at 50% 60%,rgba(212,175,55,.12),transparent 70%)}
.closing h2{margin:0 auto 20px}
.closing p{color:var(--muted);margin:0 0 36px}

/* Platzhalter und Prüf-Hinweise */
.ph{color:var(--gold);border-bottom:1px dashed var(--gold)}
.check{display:inline-block;vertical-align:middle;margin-left:8px;border:1px dashed var(--gold);color:var(--gold);border-radius:999px;padding:0 8px;font-size:11px;font-weight:600;line-height:18px}
.more{display:inline-block;margin-top:32px}

/* Ratgeber */
.guides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.guide{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;text-decoration:none;transition:border-color .25s,transform .25s}
.guide:hover{border-color:rgba(212,175,55,.55);transform:translateY(-2px)}
.guide-img{height:140px;background:radial-gradient(120px 120px at 75% 35%,rgba(212,175,55,.35),transparent 70%),radial-gradient(100px 100px at 25% 70%,rgba(155,127,240,.4),transparent 70%),linear-gradient(145deg,#2f2366,#1d1442)}
.guide:nth-child(2) .guide-img{background:radial-gradient(120px 120px at 30% 35%,rgba(155,127,240,.45),transparent 70%),radial-gradient(90px 90px at 80% 70%,rgba(212,175,55,.3),transparent 70%),linear-gradient(145deg,#1a1238,#2a1f5c)}
.guide:nth-child(3) .guide-img{background:radial-gradient(140px 140px at 55% 50%,rgba(212,175,55,.28),transparent 70%),linear-gradient(145deg,#2f2366,#1d1442)}
.guide div{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.guide small{color:var(--gold);font-size:13px;font-weight:600;margin-bottom:8px}
.guide h3{font-size:18px;font-weight:600;margin:0 0 8px;line-height:1.35}
.guide p{margin:0 0 18px;color:var(--muted);font-size:15px}
.guide span{margin-top:auto;font-size:14px;font-weight:600;color:var(--lavender-soft)}

/* Footer */
footer{border-top:1px solid var(--line);padding:64px 0 32px;font-size:14px;color:var(--faint)}
.foot{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px}
.foot h4{color:var(--text);font-size:14px;font-weight:600;margin:0 0 14px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.foot p{margin:10px 0 0;max-width:22em;color:var(--muted)}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}
footer a{text-decoration:none}
footer a:hover{color:var(--text)}

@media (max-width:960px){
  .tiers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero .wrap,.split{grid-template-columns:1fr;gap:48px}
  .flow{grid-template-columns:1fr;grid-template-areas:"head" "phone" "steps";row-gap:36px}
  .phone-wrap{position:static;flex-direction:column;align-items:center}
  .phone-dots{display:flex}
  .match-grid{grid-template-columns:1fr;grid-template-rows:none;grid-template-areas:"head" "card" "more";row-gap:32px}
  .m-card{position:static;max-width:460px;width:100%;justify-self:center}
  .media{aspect-ratio:4/3}
  .guides{grid-template-columns:1fr}
  .guide{flex-direction:row}
  .guide-img{height:auto;width:34%;flex-shrink:0}
  .foot{grid-template-columns:1fr 1fr}
  .foot>div:first-child{grid-column:1/-1}
}
@media (max-width:620px){
  body{font-size:16px}
  .wrap{padding:0 20px}
  .nav .wrap{height:60px}
  .logo{font-size:18px}
  .logo small{font-size:12px;gap:8px;margin-left:8px}
  .logo small::before{height:14px}
  .btn{white-space:nowrap}
  .btn-outline{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;font-size:14px}
  .textlink{display:inline-block;padding:12px 0 4px}
  .actions .textlink{padding:12px 4px 4px}
  .foot ul{gap:0}
  .foot a{display:inline-block;padding:11px 0;font-size:15px}
  .foot-bottom{font-size:13px}
  .hero{padding:36px 0 56px}
  .kicker{font-size:14px;margin-bottom:16px}
  h1{margin-bottom:20px}
  .lead{font-size:17px;margin-bottom:28px}
  .actions{flex-direction:column;align-items:stretch;gap:16px}
  .actions .btn{text-align:center}
  .actions .textlink{align-self:center}
  .fine{text-align:center;font-size:13px}
  section.block{padding:60px 0}
  .intro{font-size:16px;margin-bottom:32px}
  .compare{grid-template-columns:1fr}
  .compare div{padding:22px}
  .points h3{font-size:18px}
  .compare ul{gap:14px;font-size:16px}
      .points{gap:26px}
  /* Ablauf als kompakte Zeitleiste */
  /* Preise: Name und Preis in einer Zeile */
  .steps li{padding:0 0 8px 54px}
  .steps li::before{width:38px;height:38px;font-size:15px;top:8px}
  .steps li:not(:last-child)::after{left:18px;top:48px}
  .step-btn{padding:10px 12px}
  .steps h3{font-size:16px}
  .steps p{font-size:14px}
  .phone{transform:scale(.92);transform-origin:top center;margin-bottom:-50px}
  .tiers{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .tier{padding:24px 16px 18px;border-radius:18px}
  .tier .flag{left:14px;font-size:11px;padding:2px 10px}
  .tier h3{font-size:17px;margin-bottom:6px}
  .tier .desc{font-size:14px;margin-bottom:16px}
  .tier .price{padding-top:14px}
  .tier .price b{font-size:23px}
  .tier .price b small{font-size:13px}
  .menu-foot{flex-direction:column;align-items:flex-start}
  /* Vertrauen: Icon links, Text rechts */
  .trust{grid-template-columns:1fr;gap:22px}
  .trust>div{display:grid;grid-template-columns:28px 1fr;column-gap:14px;padding-top:18px}
  .trust svg{grid-row:1/span 2;margin:0}
  .trust h3{font-size:16px;margin-bottom:2px}
  summary{font-size:16px;padding:20px 36px 20px 0}
  .guides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 20px;gap:14px;margin:0 -20px;padding:0 20px 10px;scrollbar-width:none}
  .guides::-webkit-scrollbar{display:none}
  .guide{flex:0 0 80%;flex-direction:column;scroll-snap-align:start}
  .guide-img{width:auto;height:96px}
  .foot{gap:32px}
  summary::after{top:15px}
  .closing{padding:72px 0 64px}
  .closing .btn{display:block}
  .card-slot{min-height:440px;border-radius:24px}
  .hero-media::before{inset:12px -10px -10px 12px;border-radius:24px}
  .media{border-radius:24px;aspect-ratio:5/4}
  .hero .wrap{gap:40px}
  .glow.g1{width:220px;height:220px;right:-60px;top:auto;bottom:22%}
  .glow.g2{right:auto;left:-60px;bottom:40%}
  .moment{min-height:360px;padding:56px 0}
  .moment::after{width:180px;height:180px;right:-40px;top:24%;margin-top:0}
  .moment blockquote{font-size:26px}
  .moment p:not(.eyebrow){font-size:15px}
  footer{padding:28px 0 36px}
  footer nav{gap:12px 18px}
}
@media (max-width:420px){
  .tier .price b{font-size:21px}
  .nav .wrap{gap:8px;padding:0 20px}
  .logo{font-size:15px}
  .logo small{font-size:11px;gap:5px;margin-left:5px}
  .btn-outline{min-height:40px;padding:0 12px;font-size:13px}
  .nav-right{gap:6px}
  .menu-btn{width:40px;height:40px;border:0}
}
@media (max-width:374px){
  .nav .wrap{padding:0 14px}
}

/* ══ B · UNTERSEITEN ══════════════════════════════════════════════════════
   Nur /so-funktioniert-das-matching/ und /sicher-daten/. Auf der Startseite
   greift hier nichts — siehe Vermerk oben. */
.sub-hero{padding:72px 0 64px;position:relative;overflow:hidden;background:radial-gradient(560px 380px at 85% 20%,rgba(212,175,55,.13),transparent 70%),radial-gradient(480px 380px at 5% 0%,rgba(155,127,240,.14),transparent 70%)}
.sub-hero h1{font-size:clamp(34px,5vw,58px);max-width:14em}
.crumb{font-size:14px;color:var(--faint);margin:0 0 18px}
.crumb a{color:var(--muted);text-decoration:none}
.crumb a:hover{color:var(--text)}
.topics{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.topics span{border:1px solid rgba(155,127,240,.45);background:rgba(155,127,240,.12);border-radius:999px;padding:6px 14px;font-size:14px;color:#c6b6ff}
.topics span.new{border-color:rgba(212,175,55,.6);background:rgba(212,175,55,.1);color:var(--gold)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:30px}
.panel.gold{border-color:rgba(212,175,55,.55);background:linear-gradient(180deg,rgba(212,175,55,.07),transparent 50%),var(--surface)}
.panel h3{font-size:20px;font-weight:600;margin:0 0 12px}
.panel p{color:var(--muted);margin:0 0 12px}
.panel ul{margin:0;padding:0;list-style:none;display:grid;gap:10px;color:var(--muted)}
.panel li{display:flex;gap:12px}
.panel li::before{content:"";flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-top:10px}
.panel.no li::before{background:var(--faint)}
.dim-detail{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:24px;overflow:hidden;counter-reset:d}
.dim-detail>div{background:var(--night);padding:30px;display:grid;grid-template-columns:64px 1fr;gap:4px 20px}
.dim-detail>div::before{counter-increment:d;content:"0" counter(d);grid-row:1/span 3;color:var(--gold);font-weight:700;font-size:26px;letter-spacing:-.02em}
.dim-detail h3{font-size:21px;font-weight:600;margin:0}
.dim-detail p{margin:0;color:var(--muted)}
.dim-detail .ex{font-size:14px;color:var(--faint);margin-top:6px}
.scale{margin-top:8px}
.scale-bar{height:12px;border-radius:12px;background:linear-gradient(90deg,var(--line) 0%,var(--line) 50%,#6f58c9 50%,var(--lavender) 72%,var(--gold) 100%)}
.scale-labels{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
.scale-labels div{border-top:2px solid var(--line);padding-top:12px}
.scale-labels div:nth-child(2){border-color:var(--lavender)}
.scale-labels div:nth-child(3){border-color:var(--gold)}
.scale-labels b{display:block;font-size:17px;margin-bottom:4px}
.scale-labels span{color:var(--muted);font-size:14px}
.note{border-left:2px solid var(--gold);padding:6px 0 6px 22px;margin:0;max-width:40em;font-size:clamp(19px,2vw,24px);line-height:1.5;font-weight:500}
.source{font-size:13px;color:var(--faint);margin-top:18px;max-width:46em}
.tips{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:t}
.tips li{counter-increment:t;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:26px}
.tips li::before{content:counter(t);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(212,175,55,.6);color:var(--gold);font-weight:600;margin-bottom:16px}
.tips h3{font-size:18px;font-weight:600;margin:0 0 8px}
.tips p{margin:0;color:var(--muted);font-size:15px}
.help{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.help div{border-top:1px solid rgba(212,175,55,.45);padding-top:18px}
.help b{display:block;font-size:30px;font-weight:700;color:var(--gold);letter-spacing:-.02em}
.help h3{font-size:16px;font-weight:600;margin:4px 0 4px}
.help p{margin:0;color:var(--muted);font-size:14px}
.help a{text-decoration:none}
@media (max-width:960px){.tips,.help{grid-template-columns:1fr 1fr}}
@media (max-width:620px){
  .sub-hero{padding:40px 0 44px}
  .two,.tips,.help,.scale-labels{grid-template-columns:1fr}
  .panel{padding:22px}
  .dim-detail>div{grid-template-columns:1fr;padding:22px}
  .dim-detail>div::before{grid-row:auto;font-size:15px}
  .tips li{padding:22px}
  .scale-labels{gap:12px}
}
