/* ==========================================================================
   Hecht Invest — hecht-invest.de
   Designsystem nach dem Schwarz-Gold-CI (Visitenkarten + Ankaufsprofil):
   Playfair Display (Überschriften) · Plus Jakarta Sans (Text)
   Gold #B08A4E / #C1A375 · warmes Tiefschwarz · warmes Dunkelgrau als Tinte
   ========================================================================== */

@font-face{ font-family:"Plus Jakarta Sans"; src:url("../fonts/_sans400.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:"Plus Jakarta Sans"; src:url("../fonts/_sans500.woff2") format("woff2"); font-weight:500; font-style:normal; font-display:swap; }
@font-face{ font-family:"Plus Jakarta Sans"; src:url("../fonts/_sans600.woff2") format("woff2"); font-weight:600; font-style:normal; font-display:swap; }
@font-face{ font-family:"Playfair Display"; src:url("../fonts/_serif450.woff2") format("woff2"); font-weight:450; font-style:normal; font-display:swap; }
@font-face{ font-family:"Playfair Display"; src:url("../fonts/_serif500.woff2") format("woff2"); font-weight:500; font-style:normal; font-display:swap; }

:root{
  --tinte:#2B2926;
  --tinte-weich:#3B3833;
  --grau:#6E6961;
  --grau-hell:#8C867C;
  --gold:#B08A4E;
  --gold-hell:#C1A375;
  --gold-tief:#96733C;
  /* Textrolle. #B08A4E traegt als TEXT auf hell nur 2,98–3,19:1 (WCAG-Fail),
     auch #96733C reicht mit 4,08–4,36:1 nicht. Gold als Flaeche/Linie bleibt. */
  --gold-text:#7A5C2E;   /* 6,18:1 auf Weiss · 5,78:1 auf Creme */
  --creme:#FAF7F1;
  --linie:#EAE3D6;
  --nacht:#161412;
  --nacht-hell:#221F1B;
  --nacht-linie:#3A352E;
  --papier:#FFFFFF;
  --serif:"Playfair Display", "Times New Roman", serif;
  --sans:"Plus Jakarta Sans", -apple-system, "Segoe UI", sans-serif;
  --breite:1120px;
  --breite-text:46rem;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } *{ transition:none !important; animation:none !important; } }

body{
  font-family:var(--sans); font-weight:400;
  color:var(--tinte); background:var(--papier);
  font-size:1.0625rem; line-height:1.65;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}

::selection{ background:var(--gold-hell); color:var(--nacht); }

img,svg{ max-width:100%; height:auto; display:block; }
a{ color:inherit; }
b,strong{ font-weight:600; }

.wrap{ max-width:var(--breite); margin:0 auto; padding:0 clamp(1.25rem, 4vw, 2.5rem); }
.schmal{ max-width:var(--breite-text); }

.skip{
  position:absolute; left:-999px; top:0; background:var(--nacht); color:#fff;
  padding:.7rem 1.2rem; z-index:200; font-size:.9rem;
}
.skip:focus{ left:0; }

/* ------------------------------------------------------------ Typografie */

h1,h2,h3{ font-family:var(--serif); font-weight:500; color:var(--tinte); letter-spacing:-.005em; }
h1{ font-size:clamp(2.1rem, 5vw, 3.4rem); line-height:1.08; }
h2{ font-size:clamp(1.55rem, 3vw, 2.15rem); line-height:1.18; }
h3{ font-size:1.22rem; line-height:1.3; }

.kicker{
  font-family:var(--sans); font-weight:600; font-size:.78rem;
  letter-spacing:.16em; text-transform:uppercase; color:var(--gold-text);
  display:block; margin-bottom:1rem;
}
.dunkel .kicker{ color:var(--gold-hell); }

.lead{ font-size:clamp(1.1rem, 2vw, 1.22rem); line-height:1.6; color:var(--tinte-weich); }
.dezent{ color:var(--grau); font-size:.95rem; }

/* ------------------------------------------------------------ Header */

.kopf{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,.96); backdrop-filter:saturate(1.2) blur(8px);
  border-bottom:1px solid var(--linie);
}
.kopf-innen{
  display:flex; align-items:center; justify-content:space-between;
  gap:1.5rem; min-height:4.4rem;
}
.marke{ display:flex; align-items:center; gap:.85rem; text-decoration:none; }
.marke svg{ width:3.4rem; flex:none; }
.marke-wort{
  font-family:var(--serif); font-weight:500; font-size:1.06rem;
  letter-spacing:.24em; color:var(--tinte); line-height:1; white-space:nowrap;
}
.marke-wort small{
  display:block; font-family:var(--sans); font-weight:500; font-size:.56rem;
  letter-spacing:.17em; text-transform:uppercase; color:var(--gold); margin-top:.32rem;
}

.nav{ display:flex; align-items:center; gap:1.6rem; }
.nav a{
  text-decoration:none; font-size:.94rem; font-weight:500; color:var(--tinte-weich);
  padding:.35rem 0; border-bottom:1.5px solid transparent;
}
.nav a:hover{ color:var(--tinte); border-bottom-color:var(--gold-hell); }
.nav a[aria-current="page"]{ color:var(--tinte); border-bottom-color:var(--gold); }
.nav .tel{
  font-weight:600; color:var(--tinte); border:1px solid var(--linie);
  padding:.5rem .95rem; border-radius:2px; white-space:nowrap;
}
.nav .tel:hover{ border-color:var(--gold); }

.nav-knopf{ display:none; }

@media (max-width: 520px){
  .marke{ gap:.6rem; }
  .marke svg{ width:2.5rem; }
  .marke-wort{ font-size:.9rem; letter-spacing:.18em; }
  .marke-wort small{ font-size:.5rem; letter-spacing:.13em; margin-top:.26rem; }
}

@media (max-width: 900px){
  .nav{
    display:none; position:absolute; top:100%; left:0; right:0;
    background:#fff; border-bottom:1px solid var(--linie);
    flex-direction:column; align-items:flex-start; gap:0;
    padding:.5rem clamp(1.25rem,4vw,2.5rem) 1.25rem;
  }
  .nav.offen{ display:flex; }
  .nav a{ padding:.7rem 0; width:100%; border-bottom:1px solid var(--linie); font-size:1rem; }
  .nav .tel{ margin-top:.9rem; border:1px solid var(--gold); text-align:center; }
  .nav-knopf{
    display:flex; flex-direction:column; gap:5px; background:none; border:0;
    padding:.6rem .2rem; cursor:pointer;
  }
  .nav-knopf span{ width:24px; height:2px; background:var(--tinte); transition:transform .2s, opacity .2s; }
  .nav-knopf[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .nav-knopf[aria-expanded="true"] span:nth-child(2){ opacity:0; }
  .nav-knopf[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
}

/* ------------------------------------------------------------ Sektionen */

.abschnitt{ padding:clamp(3.5rem, 8vw, 6.5rem) 0; }
.abschnitt.eng{ padding:clamp(2.5rem, 5vw, 4rem) 0; }
.creme{ background:var(--creme); }
.dunkel{ background:var(--nacht); color:#EFEBE4; }
.dunkel h1,.dunkel h2,.dunkel h3{ color:#F6F2EA; }
.dunkel .lead{ color:#CFC8BC; }
.dunkel .dezent{ color:#9A9388; }

.trenner{ height:1px; background:var(--gold-hell); border:0; opacity:.65; }
.dunkel .trenner{ background:var(--nacht-linie); opacity:1; }

/* Hero */
.held{ position:relative; overflow:hidden; }
.held .wrap{ position:relative; }
.held-innen{ padding:clamp(4rem, 9vw, 7.5rem) 0 clamp(3.5rem, 8vw, 6.5rem); max-width:54rem; }
.held-wasserzeichen{
  position:absolute; right:-6%; top:50%; transform:translateY(-50%);
  width:min(46vw, 620px); opacity:.05; pointer-events:none;
}
.held .lead{ margin-top:1.4rem; max-width:44rem; }

/* Trust-Zeile */
.fakten{
  display:flex; flex-wrap:wrap; gap:.4rem 2.2rem;
  margin-top:2.2rem; padding-top:1.4rem; border-top:1px solid var(--nacht-linie);
  font-size:.86rem; color:#B5AEA2; letter-spacing:.02em;
}
.hell .fakten{ border-top-color:var(--linie); color:var(--grau); }
.fakten b{ color:#EFEBE4; font-weight:500; }
.hell .fakten b{ color:var(--tinte); }

/* ------------------------------------------------------------ Buttons */

.knopf{
  display:inline-block; text-decoration:none; cursor:pointer;
  font-family:var(--sans); font-weight:600; font-size:.98rem; letter-spacing:.01em;
  padding:.95rem 1.9rem; border-radius:2px; border:1px solid transparent;
  transition:background .15s, color .15s, border-color .15s;
}
.knopf-gold{ background:var(--gold); color:var(--nacht); }
.knopf-gold:hover{ background:var(--gold-hell); }
.knopf-kontur{ background:transparent; color:var(--tinte); border-color:var(--tinte); }
.knopf-kontur:hover{ border-color:var(--gold); color:var(--gold-tief); }
.dunkel .knopf-kontur{ color:#F6F2EA; border-color:#6E675D; }
.dunkel .knopf-kontur:hover{ border-color:var(--gold-hell); color:var(--gold-hell); }
.knopf-zeile{ display:flex; flex-wrap:wrap; gap:.9rem; margin-top:2.2rem; align-items:center; }
.knopf-zeile .tel-neben{ font-size:.95rem; color:var(--grau); }
.dunkel .knopf-zeile .tel-neben{ color:#B5AEA2; }
.knopf-zeile .tel-neben a{ color:inherit; font-weight:600; text-decoration:none; }
.knopf-zeile .tel-neben a:hover{ color:var(--gold-hell); }

/* ------------------------------------------------------------ Zeilen-Liste (Ankaufsprofil-Muster) */

.zeilen{ margin-top:2.5rem; border-top:1px solid var(--linie); }
.zeile{
  display:grid; grid-template-columns:11rem 1fr; gap:1rem 2.5rem;
  padding:1.35rem 0; border-bottom:1px solid var(--linie);
}
.zeile dt{
  font-weight:600; font-size:.8rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--gold-text); padding-top:.25rem;
}
.zeile dd p + p{ margin-top:.5rem; }
.zeile .zusatz{ display:block; margin-top:.45rem; color:var(--grau); font-size:.93rem; }
@media (max-width: 640px){ .zeile{ grid-template-columns:1fr; gap:.35rem; padding:1.1rem 0; } }

/* Nummerierte Blöcke */
.nummer-block{ display:grid; grid-template-columns:4.5rem 1fr; gap:1.2rem 2rem; padding:2rem 0; border-top:1px solid var(--linie); }
.nummer-block:last-child{ border-bottom:1px solid var(--linie); }
.nummer-block .nr{
  font-family:var(--serif); font-weight:450; font-size:1.7rem; color:var(--gold-hell); line-height:1.1;
}
.nummer-block h3{ margin-bottom:.5rem; }
@media (max-width: 640px){ .nummer-block{ grid-template-columns:2.6rem 1fr; } }

/* Karten-Raster (dezent, ohne Schatten) */
.raster{ display:grid; gap:1px; background:var(--linie); border:1px solid var(--linie); margin-top:2.5rem; }
.raster-2{ grid-template-columns:repeat(2, 1fr); }
.raster-3{ grid-template-columns:repeat(3, 1fr); }
.raster > div{ background:var(--papier); padding:1.8rem 1.6rem; }
.creme .raster > div{ background:var(--creme); }
.raster h3{ font-size:1.08rem; margin-bottom:.55rem; }
.raster p{ font-size:.96rem; color:var(--tinte-weich); }
@media (max-width: 860px){ .raster-3{ grid-template-columns:1fr; } .raster-2{ grid-template-columns:1fr; } }

/* Ablauf-Schritte */
.schritte{ counter-reset:schritt; display:grid; grid-template-columns:repeat(4,1fr); gap:2.2rem; margin-top:2.6rem; }
.schritt{ counter-increment:schritt; position:relative; padding-top:1.1rem; border-top:2px solid var(--linie); }
.schritt::before{
  content:"0" counter(schritt);
  font-family:var(--serif); font-size:1.05rem; color:var(--gold-text);
  position:absolute; top:-.78rem; background:inherit; padding-right:.7rem;
  background:var(--papier);
}
.creme .schritt::before{ background:var(--creme); }
.dunkel .schritt{ border-top-color:var(--nacht-linie); }
.dunkel .schritt::before{ background:var(--nacht); color:var(--gold-hell); }
.schritt h3{ font-size:1.05rem; margin-bottom:.45rem; font-family:var(--sans); font-weight:600; }
.schritt p{ font-size:.94rem; color:var(--tinte-weich); }
.dunkel .schritt p{ color:#CFC8BC; }
@media (max-width: 860px){ .schritte{ grid-template-columns:1fr 1fr; } }
@media (max-width: 560px){ .schritte{ grid-template-columns:1fr; gap:1.8rem; } }

/* ------------------------------------------------------------ Vergleichstabelle */

.vergleich{ width:100%; border-collapse:collapse; margin-top:2.4rem; font-size:.97rem; }
.vergleich caption{ text-align:left; font-size:.85rem; color:var(--grau); margin-bottom:.8rem; }
.vergleich th,.vergleich td{ padding:.95rem 1.1rem; text-align:left; vertical-align:top; border-bottom:1px solid var(--linie); }
.vergleich thead th{
  font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; font-weight:600;
  color:var(--grau); border-bottom:2px solid var(--gold-hell);
}
.vergleich thead th:last-child{ color:var(--gold-text); }
.vergleich tbody th{ font-weight:600; font-size:.9rem; color:var(--tinte); width:22%; }
.vergleich td:last-child{ background:var(--creme); font-weight:500; }
.tabellen-rahmen{ overflow-x:auto; }
@media (max-width: 640px){ .vergleich th,.vergleich td{ padding:.75rem .7rem; } .vergleich{ min-width:560px; } }

/* ------------------------------------------------------------ FAQ */

.faq{ margin-top:2.4rem; border-top:1px solid var(--linie); }
.faq details{ border-bottom:1px solid var(--linie); }
.faq summary{
  cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:1.5rem;
  align-items:baseline; padding:1.25rem 0; font-weight:600; font-size:1.04rem;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; font-family:var(--serif); font-size:1.4rem; color:var(--gold); flex:none; line-height:1; }
.faq details[open] summary::after{ content:"–"; }
.faq .antwort{ padding:0 0 1.4rem; max-width:var(--breite-text); color:var(--tinte-weich); }
.faq .antwort p + p{ margin-top:.6rem; }

/* ------------------------------------------------------------ Ehrlichkeits-/Merk-Kasten */

.kasten{
  margin-top:2.4rem; padding:1.8rem 2rem; background:var(--creme);
  border-left:2px solid var(--gold);
}
.creme .kasten{ background:var(--papier); }
.kasten h3{ margin-bottom:.6rem; }
.kasten p + p{ margin-top:.6rem; }
.kasten.dunkel-kasten{ background:var(--nacht-hell); border-left-color:var(--gold-hell); color:#EFEBE4; }

/* ------------------------------------------------------------ Personen / E-E-A-T */

.personen{ display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin-top:2.6rem; }
@media (max-width: 720px){ .personen{ grid-template-columns:1fr; } }
.person{ display:flex; gap:1.4rem; align-items:flex-start; }
.person-bild{
  width:6.2rem; height:7.4rem; flex:none; position:relative;
  background:var(--creme); border:1px solid var(--gold-hell);
  display:flex; align-items:center; justify-content:center;
}
.person-bild::after{
  content:""; position:absolute; inset:.45rem; border:1px solid var(--linie); pointer-events:none;
}
.person-bild .monogramm{
  font-family:var(--serif); font-weight:500; font-size:1.9rem; color:var(--gold-hell); letter-spacing:.05em;
}
.person-bild img{ width:100%; height:100%; object-fit:cover; }
.person h3{ font-size:1.12rem; }
.person .rolle{ font-size:.8rem; letter-spacing:.13em; text-transform:uppercase; color:var(--gold-text); font-weight:600; margin:.25rem 0 .6rem; }
.person p{ font-size:.95rem; color:var(--tinte-weich); }

/* Kompakter Absender-Block auf Money-Pages */
.absender{
  margin-top:3rem; padding-top:1.8rem; border-top:1px solid var(--linie);
  display:flex; flex-wrap:wrap; gap:1.2rem 2.5rem; align-items:baseline;
  font-size:.92rem; color:var(--grau);
}
.absender .wer{ font-family:var(--serif); font-size:1.05rem; color:var(--tinte); font-weight:500; }

/* ------------------------------------------------------------ CTA-Band */

.cta-band{ text-align:left; }
.cta-band .wrap{ display:grid; grid-template-columns:1.4fr 1fr; gap:2.5rem; align-items:center; }
@media (max-width: 860px){ .cta-band .wrap{ grid-template-columns:1fr; } }
.cta-kontakt{ font-size:1rem; line-height:2; }
.cta-kontakt a{ color:#F6F2EA; text-decoration:none; font-weight:500; }
.cta-kontakt a:hover{ color:var(--gold-hell); }
.cta-kontakt .gross{ font-size:1.35rem; font-family:var(--serif); }

/* ------------------------------------------------------------ Formulare */

.formular{ margin-top:2.4rem; max-width:44rem; }
.feld{ margin-bottom:1.3rem; }
.feld label{ display:block; font-weight:600; font-size:.92rem; margin-bottom:.45rem; }
.feld .hinweis{ font-weight:400; color:var(--grau); font-size:.85rem; }
.feld input[type="text"],.feld input[type="email"],.feld input[type="tel"],
.feld select,.feld textarea{
  width:100%; font:inherit; font-size:1rem; color:var(--tinte);
  padding:.8rem .95rem; border:1px solid #D8D2C6; border-radius:2px; background:#fff;
}
.feld textarea{ min-height:8.5rem; resize:vertical; }
.feld input:focus,.feld select:focus,.feld textarea:focus{
  outline:2px solid var(--gold-hell); outline-offset:1px; border-color:var(--gold);
}
.feld-reihe{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
@media (max-width: 560px){ .feld-reihe{ grid-template-columns:1fr; } }

.wahl-raster{ display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem; }
@media (max-width: 640px){ .wahl-raster{ grid-template-columns:1fr 1fr; } }
.wahl-raster label{
  display:block; border:1px solid #D8D2C6; border-radius:2px; padding:.9rem .8rem;
  text-align:center; cursor:pointer; font-weight:500; font-size:.95rem; background:#fff;
}
.wahl-raster input{ position:absolute; opacity:0; }
.wahl-raster input:checked + span{ color:var(--gold-tief); }
.wahl-raster label:has(input:checked){ border-color:var(--gold); background:var(--creme); box-shadow:inset 0 0 0 1px var(--gold); }
.wahl-raster label:hover{ border-color:var(--gold-hell); }

.schritt-anzeige{ display:flex; gap:.5rem; margin-bottom:2rem; }
.schritt-anzeige span{ height:2px; flex:1; background:var(--linie); }
.schritt-anzeige span.aktiv{ background:var(--gold); }

.formular .vertraulich{ font-size:.85rem; color:var(--grau); margin-top:1rem; max-width:38rem; }
.formular-nav{ display:flex; gap:.9rem; margin-top:1.8rem; }

/* ------------------------------------------------------------ Breadcrumb */

.brotkrumen{ font-size:.85rem; color:var(--grau); padding:1.1rem 0 0; }
.brotkrumen ol{ list-style:none; display:flex; flex-wrap:wrap; gap:.5rem; }
.brotkrumen li + li::before{ content:"·"; margin-right:.5rem; color:var(--gold-hell); }
.brotkrumen a{ color:var(--grau); text-decoration:none; }
.brotkrumen a:hover{ color:var(--gold-tief); }

/* ------------------------------------------------------------ Footer */

.fuss{ background:var(--nacht); color:#B5AEA2; font-size:.92rem; }
.fuss a{ color:#D8D2C6; text-decoration:none; }
.fuss a:hover{ color:var(--gold-hell); }
.fuss-oben{
  display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr 1fr; gap:2.2rem;
  padding:clamp(3rem,6vw,4.5rem) 0 2.5rem;
}
@media (max-width: 1060px){ .fuss-oben{ grid-template-columns:1fr 1fr 1fr; } .fuss-marke{ grid-column:1 / -1; } }
@media (max-width: 700px){ .fuss-oben{ grid-template-columns:1fr 1fr; } }
@media (max-width: 460px){ .fuss-oben{ grid-template-columns:1fr; } }
.fuss h2{ font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-hell); font-family:var(--sans); font-weight:600; margin-bottom:1rem; }
.fuss ul{ list-style:none; }
.fuss li{ margin-bottom:.55rem; }
.fuss .marke-wort{ color:#F6F2EA; }
.fuss .fuss-marke svg{ width:4.4rem; margin-bottom:1rem; }
.fuss .fuss-marke p{ margin-top:1rem; max-width:22rem; line-height:1.6; }
.fuss-unten{
  border-top:1px solid var(--nacht-linie); padding:1.6rem 0 2.2rem;
  display:flex; flex-wrap:wrap; gap:.8rem 2rem; justify-content:space-between;
  font-size:.83rem; color:#8C867C;
}
.fuss-unten a{ color:#8C867C; }

/* ------------------------------------------------------------ Bewegung & Veredelung (v2) */

/* Sanftes Aufblenden beim Scrollen — JS vergibt .reveal/.sichtbar */
.reveal{ opacity:0; transform:translateY(16px); transition:opacity .65s cubic-bezier(.22,.6,.24,1), transform .65s cubic-bezier(.22,.6,.24,1); transition-delay:var(--verzug, 0s); }
.reveal.sichtbar{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .reveal{ opacity:1 !important; transform:none !important; } }
@media print{ .reveal{ opacity:1 !important; transform:none !important; } }

/* Header schrumpft beim Scrollen */
.kopf-innen{ transition:min-height .25s ease; }
.kopf.geschrumpft .kopf-innen{ min-height:3.5rem; }
.marke svg{ transition:width .25s ease; }
.kopf.geschrumpft .marke svg{ width:2.7rem; }
.kopf.geschrumpft .marke-wort small{ display:none; }

/* Dunkle Bühnen bekommen Tiefe statt Fläche */
.held.dunkel{ background:radial-gradient(130% 100% at 85% 0%, #272219 0%, var(--nacht) 58%); }
.cta-band.dunkel{ background:radial-gradient(120% 130% at 12% 100%, #262119 0%, var(--nacht) 60%); }

/* Karten: goldene Oberlinie wächst bei Hover */
.raster > div{ position:relative; transition:background .25s ease; }
.raster > div::before{
  content:""; position:absolute; top:-1px; left:0; height:2px; width:0;
  background:var(--gold); transition:width .4s cubic-bezier(.22,.6,.24,1);
}
.raster > div:hover::before{ width:100%; }

/* Pfeil-Links gleiten */
.raster a, .antwort a{ text-decoration-color:var(--gold-hell); text-underline-offset:3px; }
.raster p a{ display:inline-block; transition:transform .25s ease; }
.raster p a:hover{ transform:translateX(3px); color:var(--gold-tief); }

/* Vergleichstabelle: Zeilen-Fokus */
.vergleich tbody tr{ transition:background .2s ease; }
.vergleich tbody tr:hover{ background:rgba(176,138,78,.05); }

/* Zahlen-Band (große Serifen-Ziffern) */
.zahlen-band{
  display:grid; grid-template-columns:repeat(3,1fr); gap:2rem;
  border-top:1px solid var(--nacht-linie); padding-top:2.4rem; margin-top:3rem;
}
.dunkel .zahlen-band{ border-top-color:var(--nacht-linie); }
.zahl .wert{
  font-family:var(--serif); font-weight:500; font-size:clamp(2rem, 4vw, 3rem);
  color:var(--gold-hell); line-height:1.05; letter-spacing:-.01em;
}
.zahl .was{
  display:block; margin-top:.55rem; font-size:.78rem; font-weight:600;
  letter-spacing:.13em; text-transform:uppercase; color:#8C867C;
}
@media (max-width: 760px){ .zahlen-band{ grid-template-columns:1fr 1fr; gap:1.6rem; } }

/* Mobile CTA-Leiste */
.mobil-cta{
  position:fixed; left:0; right:0; bottom:0; z-index:95;
  display:none; gap:.7rem; align-items:center;
  background:rgba(22,20,18,.97); backdrop-filter:blur(6px);
  padding:.65rem .9rem calc(.65rem + env(safe-area-inset-bottom));
  transform:translateY(110%); transition:transform .3s ease;
}
.mobil-cta.sichtbar{ transform:none; }
.mobil-cta a{ flex:1; text-align:center; padding:.8rem .5rem; font-size:.95rem; }
.mobil-cta .knopf-kontur{ color:#F6F2EA; border-color:#6E675D; }
@media (max-width: 720px){ .mobil-cta{ display:flex; } }

/* ------------------------------------------------------------ Sonstiges */

.nur-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.oben-abstand{ margin-top:2.2rem; }
.text-fluss p + p{ margin-top:1rem; }
.text-fluss ul{ margin:1rem 0 1rem 1.2rem; }
.text-fluss li + li{ margin-top:.45rem; }
.text-fluss h2{ margin-top:2.6rem; margin-bottom:.9rem; }
.text-fluss h3{ margin-top:1.8rem; margin-bottom:.6rem; }
