/* =============================================================
   StartUp Magazin — startupmagazin.at
   Design in der Schule des österreichischen Nachrichtenfernsehens
   (ORF.at, Zeit im Bild): weiße Fläche, schwarze Bauchbinden mit
   weißer Versalschrift, ein einziges Rot als Signalfarbe,
   Uhrzeiten vor den Schlagzeilen, durchgehend Grotesk.
   ============================================================= */

/* ---------- 1. Farben, Schriften, Maße ---------------------- */
:root{
  /* Flächen */
  --paper:    #FFFFFF;
  --paper-2:  #F2F2F0;
  --paper-3:  #E8E8E4;
  --ink:      #101010;
  --ink-2:    #3C3C3C;
  --muted:    #6E6E6E;

  /* Linien: Haarlinien in Grau, Balken in Schwarz */
  --rule:      #101010;
  --rule-soft: #D6D6D2;
  --rule-hair: #EAEAE6;

  /* Signalfarbe — genau eine, und die ist rot */
  --acc:    #D6001C;
  --acc-d:  #A30015;
  --auf:    #0B7A3B;
  --ab:     #D6001C;
  --neutral:#6E6E6E;

  /* Schriften — eine Grotesk in zwei Breiten, sonst nichts */
  --f-t:'Archivo','Helvetica Neue',Arial,system-ui,sans-serif;   /* Schlagzeilen */
  --f-s:'Source Sans 3','Helvetica Neue',Arial,system-ui,sans-serif; /* Fließtext */

  /* Maße */
  --wrap: 1240px;
  --kopf: 70px;
  --tick: 34px;
  --top:  calc(var(--kopf) + var(--tick));
  --gap:  clamp(18px,3.2vw,42px);
  --ease: cubic-bezier(.2,.7,.1,1);
}

/* Dunkelmodus — per Schalter */
html[data-theme="dunkel"]{
  --paper:   #0D0F12;
  --paper-2: #15181C;
  --paper-3: #1E2228;
  --ink:     #F4F4F2;
  --ink-2:   #C6C6C2;
  --muted:   #8C8C88;
  --rule:      #F4F4F2;
  --rule-soft: #2E3238;
  --rule-hair: #21252A;
  --acc:   #FF2337;
  --acc-d: #FF6E7C;
  --auf:   #24C776;
  --ab:    #FF2337;
}

/* ---------- 2. Grundlagen ----------------------------------- */
*,*::before,*::after{ box-sizing:border-box }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth }
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto }
  *,*::before,*::after{ animation-duration:.01ms!important; transition-duration:.01ms!important }
}

body{
  margin:0;
  padding-top:var(--top);
  background:var(--paper);
  color:var(--ink);
  font-family:var(--f-s);
  font-size:17px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{ max-width:100%; display:block }
a{ color:inherit; text-decoration:none }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer }
:focus-visible{ outline:3px solid var(--acc); outline-offset:2px }

.wrap{ width:min(100% - 2*var(--gap), var(--wrap)); margin-inline:auto }
.sr{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
     clip:rect(0 0 0 0); white-space:nowrap; border:0 }

/* Alle Überschriften stehen in der schmalen, schweren Grotesk.
   Die Breitenachse ('wdth') macht sie schlagzeilentauglich, ohne
   dass eine zweite Schriftdatei geladen werden muss. */
h1,h2,h3,h4{
  font-family:var(--f-t); font-weight:700; line-height:1.06;
  letter-spacing:-.018em; margin:0;
  font-variation-settings:'wdth' 92;
}
.zahl{ font-variant-numeric:tabular-nums lining-nums }
.kicker{
  font-family:var(--f-t); font-size:11px; font-weight:700;
  letter-spacing:.13em; text-transform:uppercase; color:var(--acc);
  font-variation-settings:'wdth' 100;
}

/* Der rote Punkt, der überall „jetzt" bedeutet */
.punkt-live{
  display:inline-block; width:8px; height:8px; border-radius:50%;
  background:var(--acc); margin-right:8px; vertical-align:middle;
  animation:pulsen 2.2s var(--ease) infinite;
}
@keyframes pulsen{
  0%,100%{ opacity:1; transform:scale(1) }
  50%    { opacity:.35; transform:scale(.82) }
}

/* ---------- 3. Ticker und Kopf ------------------------------ */
.ticker{
  position:fixed; inset:0 0 auto 0; z-index:60; height:var(--tick);
  background:var(--ink); color:var(--paper);
  display:flex; align-items:center; overflow:hidden;
}
html[data-theme="dunkel"] .ticker{ background:#000 }
.ticker__label{
  flex:0 0 auto; padding:0 14px; height:100%; display:flex; align-items:center;
  background:var(--acc); color:#fff;
  font-family:var(--f-t); font-size:11px; font-weight:800; letter-spacing:.18em;
  text-transform:uppercase;
}
.ticker__bahn{ flex:1; overflow:hidden; position:relative; height:100% }
.ticker__zug{
  display:flex; align-items:center; gap:44px; height:100%;
  white-space:nowrap; will-change:transform;
  animation:lauf 52s linear infinite;
}
.ticker__bahn:hover .ticker__zug{ animation-play-state:paused }
.ticker__zug span{ font-size:13px; color:rgba(255,255,255,.94) }
.ticker__zug span::before{
  content:''; display:inline-block; width:5px; height:5px; border-radius:50%;
  background:var(--acc); vertical-align:middle; margin-right:13px;
}
@keyframes lauf{ from{transform:translateX(0)} to{transform:translateX(-50%)} }

.kopf{
  position:fixed; inset:var(--tick) 0 auto 0; z-index:59; height:var(--kopf);
  background:var(--paper);
  border-bottom:3px solid var(--acc);
  transition:box-shadow .3s var(--ease);
}
.kopf.ist-geschoben{ box-shadow:0 10px 26px -22px rgba(0,0,0,.7) }
.kopf__innen{ height:100%; display:flex; align-items:center; gap:26px }

.marke{ display:flex; align-items:center; gap:7px; flex:0 0 auto }
.marke__block{
  font-family:var(--f-t); font-weight:800; font-size:23px; line-height:1;
  letter-spacing:-.025em; font-variation-settings:'wdth' 88;
  background:var(--acc); color:#fff; padding:6px 9px 7px;
}
.marke__wort{
  font-family:var(--f-t); font-weight:800; font-size:23px; line-height:1;
  letter-spacing:-.025em; font-variation-settings:'wdth' 88; color:var(--ink);
}
.marke__tld{ font-size:12px; font-weight:600; color:var(--muted); align-self:flex-end;
             padding-bottom:1px }

.nav{ display:flex; gap:22px; margin-left:auto; align-items:center }
.nav a{
  font-family:var(--f-t); font-size:13px; font-weight:600; letter-spacing:.05em;
  text-transform:uppercase; position:relative; padding:8px 0; color:var(--ink);
  transition:color .18s var(--ease);
}
.nav a::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:3px;
  background:var(--acc); transform:scaleX(0); transform-origin:left;
  transition:transform .26s var(--ease);
}
.nav a:hover{ color:var(--acc) }
.nav a:hover::after{ transform:scaleX(1) }

.kopf__werkzeug{ display:flex; align-items:center; gap:8px; flex:0 0 auto }
.knopf-klein{
  width:36px; height:36px; display:grid; place-items:center;
  border:1px solid var(--rule-soft);
  transition:background .18s var(--ease), border-color .18s var(--ease),
             color .18s var(--ease);
}
.knopf-klein:hover{ background:var(--ink); border-color:var(--ink); color:var(--paper) }
.knopf-klein svg{ width:17px; height:17px; stroke:currentColor; fill:none; stroke-width:1.7 }
.mobilknopf{ display:none }

/* Mobile Navigation */
@media (max-width:1000px){
  .nav{
    position:fixed; inset:var(--top) 0 auto 0;
    flex-direction:column; align-items:stretch; gap:0;
    background:var(--paper); border-bottom:3px solid var(--acc);
    padding:2px var(--gap) 18px; margin:0;
    transform:translateY(-135%); transition:transform .36s var(--ease);
    max-height:calc(100vh - var(--top)); overflow:auto;
  }
  .nav.ist-offen{ transform:translateY(0) }
  .nav a{ padding:15px 0; border-bottom:1px solid var(--rule-hair); font-size:15px }
  .nav a::after{ display:none }
  .mobilknopf{ display:grid }
}

/* ---------- 4. Kennzahlenleiste ----------------------------- */
.kennzahlen{ border-bottom:1px solid var(--rule-soft); background:var(--paper-2) }
.kennzahlen__gitter{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)) }
.kz{
  padding:14px 16px; border-left:1px solid var(--rule-hair);
  display:flex; flex-direction:column; gap:1px; min-width:0;
}
.kz:first-child{ border-left:0; padding-left:0 }
.kz__kopf{ display:flex; align-items:baseline; justify-content:space-between; gap:8px }
.kz__kuerzel{
  font-family:var(--f-t); font-size:10px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted);
}
.kz__delta{ font-size:11.5px; font-weight:700; font-variant-numeric:tabular-nums }
.kz__wert{
  font-family:var(--f-t); font-size:23px; font-weight:700; letter-spacing:-.028em;
  font-variant-numeric:tabular-nums; margin-top:2px; font-variation-settings:'wdth' 90;
}
.kz__name{ font-size:12px; color:var(--muted); white-space:nowrap;
           overflow:hidden; text-overflow:ellipsis }
.kz__linie{ height:18px; margin-top:6px }
.kz__linie path{ fill:none; stroke-width:1.6; vector-effect:non-scaling-stroke }
.auf{ color:var(--auf) } .ab{ color:var(--ab) } .seit{ color:var(--neutral) }

@media (max-width:1080px){
  .kennzahlen__gitter{ grid-template-columns:repeat(3,minmax(0,1fr)) }
  .kz:nth-child(4){ border-left:0; padding-left:0 }
  .kz:nth-child(n+4){ border-top:1px solid var(--rule-hair) }
}
@media (max-width:620px){
  .kennzahlen__gitter{ grid-template-columns:repeat(2,minmax(0,1fr)) }
  .kz:nth-child(odd){ border-left:0; padding-left:0 }
  .kz:nth-child(4){ border-left:1px solid var(--rule-hair); padding-left:16px }
  .kz:nth-child(n+3){ border-top:1px solid var(--rule-hair) }
}

/* ---------- 5. Abschnittskopf („Bauchbinde") ---------------- */
.abschnitt{ padding:clamp(46px,6vw,84px) 0 }
.abschnitt--eng{ padding:clamp(30px,4vw,54px) 0 }

.a-kopf{ margin-bottom:30px }
.a-kopf__band{ display:flex; align-items:stretch; min-height:52px }
.a-kopf__nr{
  flex:0 0 auto; width:52px; background:var(--acc); color:#fff;
  display:grid; place-items:center;
  font-family:var(--f-t); font-size:17px; font-weight:800;
  font-variant-numeric:tabular-nums; letter-spacing:.02em;
}
.a-kopf__titel{
  flex:1; min-width:0; background:var(--ink); color:var(--paper);
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:10px 20px;
}
.a-kopf__titel h2{
  font-size:clamp(19px,2.3vw,27px); text-transform:uppercase;
  letter-spacing:.005em; font-weight:800; font-variation-settings:'wdth' 86;
  line-height:1.1;
}
.a-kopf__stand{
  flex:0 0 auto; font-family:var(--f-t); font-size:10.5px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; opacity:.6; white-space:nowrap;
}
@media (max-width:700px){ .a-kopf__stand{ display:none } }
.a-kopf__text{
  font-size:14.5px; color:var(--muted); max-width:70ch; line-height:1.5;
  margin:12px 0 0;
}

/* ---------- 6. Aufmacher und Aktuell-Liste ------------------ */
.aufmacher{ padding-top:clamp(26px,4vw,44px) }
.aufmacher__gitter{
  display:grid; grid-template-columns:minmax(0,1.62fr) minmax(0,1fr);
  gap:0;
}
.aufmacher__haupt{ padding-right:36px }
.aufmacher__seite{ border-left:1px solid var(--rule-soft); padding-left:36px }
@media (max-width:980px){
  .aufmacher__gitter{ grid-template-columns:minmax(0,1fr) }
  .aufmacher__haupt{ padding:0 0 30px }
  .aufmacher__seite{ border-left:0; border-top:3px solid var(--rule); padding:22px 0 0 }
}

.a-marke{ display:flex; align-items:center; gap:12px; margin-bottom:14px; flex-wrap:wrap }
.a-marke__ressort{
  font-family:var(--f-t); font-size:11px; font-weight:800; letter-spacing:.14em;
  text-transform:uppercase; color:#fff; background:var(--acc); padding:4px 9px 5px;
}
.a-marke__zeit{
  font-family:var(--f-t); font-size:11px; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted);
}

.aufmacher__bild{
  width:100%; aspect-ratio:16/8.6; background:var(--paper-2); margin-bottom:20px;
}
.aufmacher__titel{
  font-weight:800; font-variation-settings:'wdth' 86;
  font-size:clamp(31px,4.4vw,54px); line-height:1.03; letter-spacing:-.028em;
  margin-bottom:16px;
}
.aufmacher__titel a{
  background-image:linear-gradient(var(--acc),var(--acc));
  background-size:0 3px; background-repeat:no-repeat; background-position:0 100%;
  transition:background-size .35s var(--ease);
}
.aufmacher__titel a:hover{ background-size:100% 3px }
.aufmacher__teaser{
  font-size:18.5px; line-height:1.52; color:var(--ink-2); max-width:58ch; margin:0;
}
.byline{
  display:flex; align-items:center; gap:11px; margin-top:18px; flex-wrap:wrap;
  font-family:var(--f-t); font-size:11.5px; font-weight:600; letter-spacing:.07em;
  text-transform:uppercase; color:var(--muted);
}
.byline strong{ color:var(--ink); font-weight:700 }

.gross-zahl{
  display:flex; align-items:center; gap:16px; margin-top:24px;
  border-left:5px solid var(--acc); padding:12px 0 12px 18px;
  background:var(--paper-2);
}
.gross-zahl__wert{
  font-family:var(--f-t); font-size:42px; font-weight:800; letter-spacing:-.035em;
  color:var(--acc); line-height:1; font-variation-settings:'wdth' 86;
  font-variant-numeric:tabular-nums;
}
.gross-zahl__text{
  font-family:var(--f-t); font-size:12px; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; color:var(--muted); line-height:1.4;
}

/* Die Aktuell-Liste: Uhrzeit, dann Schlagzeile — das Erkennungszeichen
   der österreichischen Nachrichtenseiten. */
.aktuell__kopf{
  display:flex; align-items:center; justify-content:space-between;
  border-bottom:3px solid var(--rule); padding-bottom:9px; margin-bottom:4px;
}
.aktuell__kopf h2{
  font-size:16px; text-transform:uppercase; letter-spacing:.06em; font-weight:800;
  font-variation-settings:'wdth' 88;
}
.aktuell__kopf span{
  font-family:var(--f-t); font-size:10.5px; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted);
}
.zeile{
  display:grid; grid-template-columns:52px minmax(0,1fr); gap:12px;
  padding:13px 0; border-bottom:1px solid var(--rule-hair);
  align-items:baseline;
}
.zeile__zeit{
  font-family:var(--f-t); font-size:13px; font-weight:700; color:var(--acc);
  font-variant-numeric:tabular-nums;
}
.zeile__titel{
  font-family:var(--f-t); font-size:16.5px; font-weight:600; line-height:1.28;
  letter-spacing:-.012em; font-variation-settings:'wdth' 94;
}
.zeile__titel a{ transition:color .16s var(--ease) }
.zeile__titel a:hover{ color:var(--acc) }
.zeile__ressort{
  display:block; margin-top:5px;
  font-family:var(--f-t); font-size:10px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted);
}
.mehr-dazu{
  display:inline-flex; align-items:center; gap:7px; margin-top:16px;
  font-family:var(--f-t); font-size:12.5px; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:var(--acc);
}
.mehr-dazu::after{ content:'›'; font-size:17px; line-height:1; transform:translateY(-1px) }
.mehr-dazu:hover{ text-decoration:underline; text-underline-offset:3px }

/* ---------- 7. Finanzierungsmonitor ------------------------- */
.monitor{ background:var(--paper-2); border-block:1px solid var(--rule-soft) }
.monitor__reiter{ display:flex; flex-wrap:wrap; border-bottom:1px solid var(--rule-soft) }
.reiter{
  font-family:var(--f-t);
  padding:13px 20px 12px; font-size:12px; font-weight:700; letter-spacing:.09em;
  text-transform:uppercase; color:var(--muted);
  border-bottom:3px solid transparent; margin-bottom:-1px;
  transition:color .2s var(--ease), border-color .2s var(--ease);
  white-space:nowrap;
}
.reiter:first-child{ padding-left:0 }
.reiter:hover{ color:var(--ink) }
.reiter[aria-selected="true"]{ color:var(--ink); border-bottom-color:var(--acc) }

.monitor__gitter{ display:grid; grid-template-columns:minmax(0,1fr) 340px }
.monitor__bild{ padding:26px 34px 20px 0; min-width:0 }
.chartbox{ position:relative }
.monitor__text{
  border-left:1px solid var(--rule-soft); padding:26px 0 26px 34px;
  display:flex; flex-direction:column;
}
@media (max-width:980px){
  .monitor__gitter{ grid-template-columns:minmax(0,1fr) }
  .monitor__bild{ padding:22px 0 4px }
  .monitor__text{ border-left:0; border-top:1px solid var(--rule-soft); padding:22px 0 4px }
}
.monitor__text h3{ font-size:25px; margin-bottom:12px; letter-spacing:-.022em;
  line-height:1.12; font-variation-settings:'wdth' 90 }
.monitor__text p{ font-size:15px; color:var(--ink-2); margin:0 0 16px; line-height:1.58 }
.monitor__quelle{
  margin-top:auto; padding-top:14px; border-top:1px solid var(--rule-soft);
  font-family:var(--f-t); font-size:10.5px; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted);
}
.monitor__einheit{
  font-family:var(--f-t); font-size:10.5px; font-weight:700; letter-spacing:.13em;
  text-transform:uppercase; color:var(--muted); margin-bottom:8px;
}

/* Diagramm */
.chart{ width:100%; height:clamp(240px,31vw,340px); display:block; overflow:visible }
.chart .gitter{ stroke:var(--rule-soft); stroke-width:1 }
.chart .nulllinie{ stroke:var(--ink); stroke-width:1.2; opacity:.5 }
.chart .band{ fill:var(--ink); opacity:.06 }
.chart .linie{
  fill:none; stroke-width:2.8; stroke-linejoin:round; stroke-linecap:round;
  stroke-dasharray:var(--len); stroke-dashoffset:var(--len);
  animation:zeichnen 1.1s var(--ease) forwards;
}
@keyframes zeichnen{ to{ stroke-dashoffset:0 } }
.chart .punkt{ fill:var(--paper); stroke-width:2.4; r:4;
  opacity:0; animation:auftauchen .3s var(--ease) forwards }
@keyframes auftauchen{ to{ opacity:1 } }
.chart .beschriftung{
  font-family:var(--f-t); font-size:10.5px; font-weight:600;
  letter-spacing:.05em; fill:var(--muted);
}
.chart .treffer{ fill:transparent; cursor:crosshair }
.chart .fadenkreuz{ stroke:var(--ink); stroke-width:1; stroke-dasharray:3 3; opacity:0 }
.chart .bandtext{ font-family:var(--f-t); font-size:10px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; fill:var(--muted) }

.tipp{
  position:absolute; z-index:20; pointer-events:none; opacity:0;
  background:var(--ink); color:var(--paper); padding:8px 12px;
  transform:translate(-50%,-125%);
  transition:opacity .14s var(--ease); white-space:nowrap;
}
.tipp.sichtbar{ opacity:1 }
.tipp__x{ font-family:var(--f-t); font-size:9.5px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; opacity:.7; display:block }
.tipp__y{ font-family:var(--f-t); font-size:16px; font-weight:700;
  font-variant-numeric:tabular-nums }

/* ---------- 8. Meldungen ------------------------------------ */
.filter{ display:flex; flex-wrap:wrap; margin-bottom:26px;
  border-bottom:1px solid var(--rule-soft) }
.chip{
  font-family:var(--f-t);
  padding:10px 16px 9px; font-size:11.5px; font-weight:700;
  letter-spacing:.11em; text-transform:uppercase; color:var(--muted);
  border-bottom:3px solid transparent; margin-bottom:-1px;
  transition:color .18s var(--ease), border-color .18s var(--ease);
}
.chip:first-child{ padding-left:0 }
.chip:hover{ color:var(--ink) }
.chip[aria-pressed="true"]{ color:var(--ink); border-bottom-color:var(--acc) }

.meldungen{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) }
.karte{
  padding:24px 26px 28px 0; border-bottom:1px solid var(--rule-soft);
  border-right:1px solid var(--rule-hair);
  display:flex; flex-direction:column; min-width:0;
}
.karte:nth-child(3n){ border-right:0; padding-right:0 }
.karte:nth-child(3n+1){ padding-left:0 }
.karte:not(:nth-child(3n+1)):not(:nth-child(3n)){ padding-left:26px }
.karte.ist-versteckt{ display:none }
.karte--gross{ grid-column:span 2 }
.karte__bild{ width:100%; aspect-ratio:16/9; margin-bottom:16px; background:var(--paper-2) }
.karte__ressort{
  font-family:var(--f-t); font-size:10px; font-weight:800; letter-spacing:.16em;
  text-transform:uppercase; color:var(--acc); margin-bottom:9px;
}
.karte h3{ font-size:19.5px; line-height:1.24; margin-bottom:10px; letter-spacing:-.018em;
  font-weight:700; font-variation-settings:'wdth' 94 }
.karte--gross h3{ font-size:30px; line-height:1.1; letter-spacing:-.026em; font-weight:800;
  font-variation-settings:'wdth' 88 }
.karte h3 a{
  background-image:linear-gradient(var(--acc),var(--acc));
  background-size:0 2px; background-repeat:no-repeat; background-position:0 100%;
  transition:background-size .3s var(--ease);
}
.karte h3 a:hover{ background-size:100% 2px }
.karte p{ margin:0; font-size:14.5px; color:var(--ink-2); line-height:1.5 }
.karte__meta{
  margin-top:auto; padding-top:15px;
  font-family:var(--f-t); font-size:10.5px; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; color:var(--muted); display:flex; gap:11px; flex-wrap:wrap;
}
@media (max-width:980px){
  .meldungen{ grid-template-columns:minmax(0,1fr) minmax(0,1fr) }
  .karte--gross{ grid-column:span 2 }
  .karte,.karte:nth-child(3n),.karte:nth-child(3n+1),
  .karte:not(:nth-child(3n+1)):not(:nth-child(3n)){ padding-left:0; padding-right:22px }
  .karte:nth-child(even){ padding-left:22px; padding-right:0; border-right:0 }
  .karte:nth-child(odd){ border-right:1px solid var(--rule-hair) }
}
@media (max-width:640px){
  .meldungen{ grid-template-columns:minmax(0,1fr) }
  .karte--gross{ grid-column:span 1 }
  .karte,.karte:nth-child(even),.karte:nth-child(odd){
    padding:22px 0 24px; border-right:0 }
  .karte--gross h3{ font-size:23px }
}

.mehr{
  display:inline-flex; align-items:center; gap:10px; margin-top:30px;
  padding:14px 24px; background:var(--ink); color:var(--paper);
  font-family:var(--f-t); font-size:12px; font-weight:700; letter-spacing:.13em;
  text-transform:uppercase; transition:background .2s var(--ease);
}
.mehr:hover{ background:var(--acc) }
.mehr svg{ width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:2 }

/* ---------- 9. Finanzierungsrunden -------------------------- */
.runden{ border-top:3px solid var(--rule) }
.runde{
  display:grid;
  grid-template-columns:112px minmax(0,1.15fr) 96px minmax(0,1fr) clamp(90px,14vw,200px);
  gap:0 20px; align-items:center;
  padding:14px 0; border-bottom:1px solid var(--rule-hair);
  transition:background .18s var(--ease);
}
.runde:hover{ background:var(--paper-2) }
.runde.ist-versteckt{ display:none }
.runde__betrag{
  font-family:var(--f-t); font-size:23px; font-weight:800; letter-spacing:-.03em;
  font-variant-numeric:tabular-nums; font-variation-settings:'wdth' 88;
  color:var(--acc); white-space:nowrap;
}
.runde__betrag small{ font-size:12px; font-weight:600; letter-spacing:0; color:var(--muted);
  margin-left:4px }
.runde__firma{ min-width:0 }
.runde__name{
  font-family:var(--f-t); font-size:17px; font-weight:700; letter-spacing:-.015em;
  line-height:1.2; font-variation-settings:'wdth' 94;
}
.runde__ort{
  font-family:var(--f-t); font-size:10.5px; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted); margin-top:3px;
}
.runde__phase{
  font-family:var(--f-t); font-size:9.5px; font-weight:800; letter-spacing:.1em;
  text-transform:uppercase; text-align:center; padding:5px 4px;
  border:1.5px solid currentColor; white-space:nowrap;
}
.phase-Pre-Seed{ color:var(--muted) }
.phase-Seed{ color:var(--ink) }
.phase-Serie-A{ color:var(--acc) }
.phase-Serie-B{ color:var(--acc) }
.phase-Wachstum{ color:var(--acc) }
.runde__lead{ font-size:13.5px; color:var(--ink-2); line-height:1.4; min-width:0 }
.runde__lead b{ font-weight:600; color:var(--ink) }
.runde__balken{ height:10px; background:var(--rule-hair); position:relative; overflow:hidden }
.runde__fuell{
  position:absolute; inset:0 auto 0 0; background:var(--ink);
  transform:scaleX(0); transform-origin:left;
  transition:transform .8s var(--ease);
}
.runde.ist-sichtbar .runde__fuell{ transform:scaleX(1) }
.runde:first-child .runde__fuell{ background:var(--acc) }
.runde__kurz{
  grid-column:2/-1; font-size:13px; color:var(--muted); line-height:1.45;
  max-height:0; overflow:hidden;
  transition:max-height .35s var(--ease), margin-top .35s var(--ease);
}
.runde:hover .runde__kurz,.runde:focus-within .runde__kurz{ max-height:70px; margin-top:7px }
@media (max-width:900px){
  .runde{ grid-template-columns:96px minmax(0,1fr) 88px; gap:4px 14px }
  .runde__lead{ grid-column:2/-1; font-size:12.5px }
  .runde__balken{ grid-column:1/-1; margin-top:6px }
  .runde__kurz{ grid-column:1/-1; max-height:none; margin-top:4px }
  .runde__betrag{ font-size:20px }
}

.runden__summe{
  display:flex; align-items:baseline; gap:14px; flex-wrap:wrap;
  padding:18px 0 0; margin-top:2px;
  font-family:var(--f-t); font-size:11px; font-weight:700; letter-spacing:.13em;
  text-transform:uppercase; color:var(--muted);
}
.runden__summe b{
  font-size:26px; font-weight:800; letter-spacing:-.03em; color:var(--ink);
  font-variant-numeric:tabular-nums; text-transform:none;
}

/* ---------- 10. Runway-Rechner ------------------------------ */
.rechner{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  border:3px solid var(--rule) }
.rechner__eingabe{ padding:clamp(24px,3.2vw,36px) }
.rechner__ergebnis{
  padding:clamp(24px,3.2vw,36px); background:var(--ink); color:var(--paper);
  display:flex; flex-direction:column; justify-content:center; min-width:0;
}
html[data-theme="dunkel"] .rechner__ergebnis{ background:#000 }
@media (max-width:840px){ .rechner{ grid-template-columns:minmax(0,1fr) } }

.feld{ margin-bottom:20px }
.feld:last-child{ margin-bottom:0 }
.feld label{
  display:block; font-family:var(--f-t); font-size:10.5px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:8px;
}
.feld input[type="number"]{
  width:100%; padding:12px 14px; font-family:var(--f-t); font-size:21px; font-weight:700;
  font-variant-numeric:tabular-nums; letter-spacing:-.02em;
  background:var(--paper); color:var(--ink); border:1px solid var(--rule-soft);
}
.feld input[type="number"]:focus{ border-color:var(--acc); outline:none }
.feld input[type="range"]{ width:100%; accent-color:var(--acc); margin-top:4px }
.feld__wert{ display:flex; align-items:baseline; gap:10px }
.feld__wert > span:first-child{
  font-family:var(--f-t); font-size:30px; font-weight:800; letter-spacing:-.03em;
  font-variant-numeric:tabular-nums; font-variation-settings:'wdth' 88;
}
.feld__wert small{ font-family:var(--f-t); font-size:11px; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:var(--muted) }

.erg__label{
  font-family:var(--f-t); font-size:10.5px; font-weight:700; letter-spacing:.15em;
  text-transform:uppercase; opacity:.62; margin-bottom:10px;
}
.erg__wert{
  font-family:var(--f-t); font-size:clamp(38px,5.6vw,60px); font-weight:800;
  letter-spacing:-.04em; line-height:1; color:var(--acc);
  font-variation-settings:'wdth' 86; font-variant-numeric:tabular-nums;
}
.erg__wert small{ font-size:.42em; font-weight:700; letter-spacing:.02em; margin-left:8px;
  color:var(--paper); opacity:.75 }
.erg__satz{ margin-top:16px; font-size:14.5px; line-height:1.6; opacity:.9 }
.erg__satz b{ color:#fff; font-weight:700; border-bottom:2px solid var(--acc) }
.erg__kurve{ width:100%; height:74px; margin-top:18px; display:block; overflow:visible }
.erg__kurve .flaeche{ fill:var(--acc); opacity:.22 }
.erg__kurve .bahn{ fill:none; stroke:var(--acc); stroke-width:2.4; stroke-linejoin:round }
.erg__kurve .grund{ stroke:rgba(255,255,255,.32); stroke-width:1; stroke-dasharray:3 3 }
.erg__hinweis{
  margin-top:18px; padding-top:14px; border-top:1px solid rgba(255,255,255,.2);
  font-size:11.5px; line-height:1.55; opacity:.55;
}

/* ---------- 11. Zahl der Woche ------------------------------ */
.zahl-woche{
  display:grid; grid-template-columns:auto minmax(0,1fr); gap:clamp(24px,4vw,54px);
  align-items:center; padding:clamp(28px,3.8vw,46px) 0;
  border-top:3px solid var(--rule); border-bottom:3px solid var(--rule);
}
.zahl-woche__wert{
  font-family:var(--f-t); font-size:clamp(52px,9.5vw,116px); font-weight:800;
  letter-spacing:-.05em; line-height:.86; color:var(--acc);
  font-variation-settings:'wdth' 86; font-variant-numeric:tabular-nums;
}
.zahl-woche__einheit{
  font-family:var(--f-t); font-size:11px; font-weight:700; letter-spacing:.2em;
  text-transform:uppercase; color:var(--muted); margin-top:10px;
}
.zahl-woche h3{ font-size:clamp(22px,3vw,33px); margin-bottom:12px; letter-spacing:-.026em;
  font-weight:800; font-variation-settings:'wdth' 88 }
.zahl-woche p{ margin:0; font-size:15.5px; color:var(--ink-2); max-width:62ch; line-height:1.58 }
.zahl-woche__quelle{
  font-family:var(--f-t); font-size:10.5px; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; color:var(--muted); margin-top:14px;
}
@media (max-width:720px){ .zahl-woche{ grid-template-columns:minmax(0,1fr) } }

/* ---------- 12. Startups im Blick ---------------------------- */
.firmen{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--rule-soft) }
@media (max-width:1020px){ .firmen{ grid-template-columns:minmax(0,1fr) } }
.firma{
  padding:26px 26px 28px 0; border-right:1px solid var(--rule-hair);
  border-bottom:1px solid var(--rule-soft);
  display:flex; flex-direction:column;
}
.firma:nth-child(3n){ border-right:0; padding-right:0 }
.firma:nth-child(3n+2),.firma:nth-child(3n+3){ padding-left:26px }
@media (max-width:1020px){
  .firma,.firma:nth-child(3n),.firma:nth-child(3n+2),.firma:nth-child(3n+3){
    padding:24px 0 26px; border-right:0 }
}
.firma__phase{
  display:inline-block; font-family:var(--f-t); font-size:9.5px; font-weight:800;
  letter-spacing:.15em; text-transform:uppercase; padding:5px 9px;
  background:var(--ink); color:var(--paper); margin-bottom:13px; align-self:flex-start;
}
.firma h3{ font-size:20px; margin-bottom:6px; letter-spacing:-.02em; line-height:1.2;
  font-weight:700; font-variation-settings:'wdth' 92 }
.firma__ort{
  font-family:var(--f-t); font-size:10.5px; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted); margin-bottom:14px;
}
.firma__text{ font-size:14px; color:var(--ink-2); margin:0 0 18px; line-height:1.55 }
.firma__zahlen{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1px;
  background:var(--rule-hair); border:1px solid var(--rule-hair); margin-bottom:18px;
}
.firma__zahl{ background:var(--paper); padding:10px 12px }
.firma__zahl dt{ font-family:var(--f-t); font-size:9.5px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; color:var(--muted) }
.firma__zahl dd{ margin:4px 0 0; font-family:var(--f-t); font-size:16px; font-weight:700;
  font-variant-numeric:tabular-nums; letter-spacing:-.02em }
.firma__spalten{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:16px; margin-top:auto }
.firma__spalte h4{
  font-family:var(--f-t); font-size:9.5px; font-weight:800; letter-spacing:.13em;
  text-transform:uppercase; margin-bottom:9px; padding-bottom:6px;
  border-bottom:2px solid currentColor;
}
.firma__spalte--plus h4{ color:var(--auf) }
.firma__spalte--minus h4{ color:var(--acc) }
.firma__spalte ul{ margin:0; padding:0; list-style:none }
.firma__spalte li{
  font-size:12.5px; line-height:1.45; color:var(--ink-2);
  padding-left:12px; position:relative; margin-bottom:7px;
}
.firma__spalte li::before{
  content:''; position:absolute; left:0; top:7px; width:6px; height:1.5px;
  background:currentColor; opacity:.5;
}
@media (max-width:520px){ .firma__spalten{ grid-template-columns:minmax(0,1fr) } }

.hinweisbox{
  margin-top:26px; padding:17px 19px;
  border-left:5px solid var(--acc); background:var(--paper-2);
  font-size:13.5px; color:var(--ink-2); line-height:1.55;
}
.hinweisbox strong{ color:var(--ink) }

/* ---------- 13. Ökosystem: Bundesländer --------------------- */
.laender{ border-top:1px solid var(--rule-soft) }
.land{
  display:grid; grid-template-columns:46px minmax(0,190px) minmax(0,1fr) 78px 96px;
  gap:0 18px; align-items:center;
  padding:12px 0; border-bottom:1px solid var(--rule-hair);
  transition:background .18s var(--ease);
}
.land:hover{ background:var(--paper-2) }
.land__rang{
  font-family:var(--f-t); font-size:22px; font-weight:800; line-height:1;
  color:var(--rule-soft); font-variant-numeric:tabular-nums;
  transition:color .18s var(--ease);
}
.land:hover .land__rang{ color:var(--acc) }
.land__name{ font-family:var(--f-t); font-size:16.5px; font-weight:700;
  letter-spacing:-.015em; font-variation-settings:'wdth' 94 }
.land__balken{ height:14px; background:var(--rule-hair); position:relative; overflow:hidden }
.land__fuell{
  position:absolute; inset:0 auto 0 0; background:var(--ink);
  transform:scaleX(0); transform-origin:left;
  transition:transform .85s var(--ease);
}
.land.ist-sichtbar .land__fuell{ transform:scaleX(1) }
.land:first-child .land__fuell{ background:var(--acc) }
.land__deals,.land__volumen{
  font-family:var(--f-t); font-size:15px; font-weight:700; text-align:right;
  font-variant-numeric:tabular-nums; letter-spacing:-.02em;
}
.land__deals{ color:var(--muted) }
@media (max-width:760px){
  .land{ grid-template-columns:38px minmax(0,1fr) 84px; gap:4px 12px }
  .land__balken{ grid-column:2/-1; order:3 }
  .land__deals{ display:none }
}
.laender__legende{
  display:flex; gap:22px; flex-wrap:wrap; padding-top:14px;
  font-family:var(--f-t); font-size:10.5px; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; color:var(--muted);
}

/* ---------- 14. Termine ------------------------------------- */
.termine{ border-top:1px solid var(--rule-soft) }
.termin{
  display:grid; grid-template-columns:52px 62px minmax(0,1fr) auto 104px 12px;
  gap:16px; align-items:center; padding:13px 0;
  border-bottom:1px solid var(--rule-hair);
  transition:background .18s var(--ease);
}
.termin:hover{ background:var(--paper-2) }
.termin__tag{
  font-family:var(--f-t); font-size:10.5px; font-weight:800; letter-spacing:.12em;
  text-transform:uppercase; color:var(--paper); background:var(--ink);
  text-align:center; padding:5px 0;
}
.termin__zeit{ font-family:var(--f-t); font-size:14.5px; font-weight:600; color:var(--ink-2);
  font-variant-numeric:tabular-nums }
.termin__was{ font-family:var(--f-t); font-size:15.5px; font-weight:600;
  letter-spacing:-.01em; font-variation-settings:'wdth' 96 }
.termin__wer{ font-family:var(--f-t); font-size:11px; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; color:var(--muted) }
.termin__art{
  font-family:var(--f-t); font-size:9.5px; font-weight:800; letter-spacing:.11em;
  text-transform:uppercase; padding:4px 0; border:1.5px solid currentColor;
  white-space:nowrap; text-align:center;
}
.art-Frist{ color:var(--acc) } .art-Pitch{ color:var(--ink) }
.art-Konferenz{ color:var(--muted) } .art-Zahlen{ color:var(--muted) }
.termin__punkt{ width:10px; height:10px; border-radius:50%; background:var(--rule-soft) }
.gew-hoch{ background:var(--acc) } .gew-mittel{ background:var(--ink) }
@media (max-width:800px){
  .termin{ grid-template-columns:46px 1fr 10px; gap:12px; row-gap:3px }
  .termin__zeit{ grid-column:2; font-size:12px }
  .termin__was{ grid-column:2; font-size:16px }
  .termin__wer{ grid-column:2 }
  .termin__art{ grid-column:2; justify-self:start; padding:4px 8px; margin-top:4px }
  .termin__tag{ grid-row:span 4; align-self:start }
  .termin__punkt{ grid-column:3; grid-row:1 }
}

/* ---------- 15. Standpunkte --------------------------------- */
.standpunkte{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:3px solid var(--rule) }
@media (max-width:960px){ .standpunkte{ grid-template-columns:minmax(0,1fr) } }
.standpunkt{
  padding:28px 28px 28px 0; border-right:1px solid var(--rule-hair);
  display:flex; flex-direction:column;
}
.standpunkt:last-child{ border-right:0; padding-right:0 }
.standpunkt:first-child{ padding-left:0 }
.standpunkt:nth-child(2){ padding-left:28px }
@media (max-width:960px){
  .standpunkt{ padding:24px 0; border-right:0; border-bottom:1px solid var(--rule-hair) }
  .standpunkt:nth-child(2){ padding-left:0 }
}
.standpunkt__label{
  font-family:var(--f-t); font-size:9.5px; font-weight:800; letter-spacing:.18em;
  text-transform:uppercase; color:#fff; background:var(--acc);
  padding:4px 8px 5px; align-self:flex-start; margin-bottom:14px;
}
.standpunkt h3{ font-size:23px; line-height:1.14; margin-bottom:12px; letter-spacing:-.022em;
  font-weight:800; font-variation-settings:'wdth' 90 }
.standpunkt p{ font-size:15px; line-height:1.58; color:var(--ink-2); margin:0 0 18px }
.standpunkt__autor{ margin-top:auto; display:flex; align-items:center; gap:11px;
  padding-top:14px; border-top:1px solid var(--rule-hair) }
.standpunkt__kreis{
  width:38px; height:38px; flex:0 0 auto;
  display:grid; place-items:center; background:var(--ink); color:var(--paper);
  font-family:var(--f-t); font-size:12px; font-weight:800; letter-spacing:.03em;
}
.standpunkt__wer strong{ display:block; font-size:13px; font-weight:700 }
.standpunkt__wer span{ font-family:var(--f-t); font-size:10.5px; font-weight:600;
  letter-spacing:.08em; text-transform:uppercase; color:var(--muted) }

/* ---------- 16. Newsletter ---------------------------------- */
.brief{
  background:var(--ink); color:var(--paper);
  padding:clamp(32px,4.6vw,60px) clamp(24px,3.8vw,54px);
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(24px,3.8vw,48px); align-items:center;
}
.brief > *{ min-width:0 }
html[data-theme="dunkel"] .brief{ background:#000; border:1px solid var(--rule-soft) }
@media (max-width:840px){ .brief{ grid-template-columns:minmax(0,1fr) } }
.brief h2{ font-size:clamp(26px,3.6vw,40px); margin-bottom:12px; letter-spacing:-.028em;
  font-weight:800; font-variation-settings:'wdth' 86; text-transform:uppercase }
.brief p{ margin:0; font-size:15px; opacity:.78; max-width:46ch; line-height:1.58 }
.brief__form{ display:flex; border:1px solid rgba(255,255,255,.3) }
.brief__form input{
  flex:1; min-width:0; padding:15px 16px; font-family:var(--f-s); font-size:15px;
  background:transparent; border:0; color:var(--paper);
}
.brief__form input::placeholder{ color:rgba(255,255,255,.42) }
.brief__form input:focus{ outline:none; background:rgba(255,255,255,.06) }
.brief__form button{
  padding:15px 26px; background:var(--acc); color:#fff;
  font-family:var(--f-t); font-size:12px; font-weight:800; letter-spacing:.13em;
  text-transform:uppercase; white-space:nowrap; transition:background .2s var(--ease);
}
.brief__form button:hover{ background:#fff; color:var(--acc) }
.brief__hinweis{ margin-top:13px; font-family:var(--f-t); font-size:10.5px; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; opacity:.5 }
.brief__meldung{ margin-top:11px; font-size:13.5px; min-height:20px; line-height:1.5 }
.brief__meldung.ok{ color:#79E3AC }
.brief__meldung.fehler{ color:#FF8C8C }

/* ---------- 17. Fuß und Demo-Banner ------------------------- */
.fuss{ border-top:3px solid var(--acc); padding:44px 0 30px;
  margin-top:clamp(46px,6vw,84px); background:var(--paper-2) }
.fuss__gitter{
  display:grid; grid-template-columns:minmax(0,1.7fr) repeat(3,minmax(0,1fr));
  gap:34px; margin-bottom:36px;
}
@media (max-width:860px){ .fuss__gitter{ grid-template-columns:minmax(0,1fr) minmax(0,1fr) } }
@media (max-width:540px){ .fuss__gitter{ grid-template-columns:minmax(0,1fr) } }
.fuss__marke{ display:flex; align-items:center; gap:7px; margin-bottom:12px }
.fuss__satz{ font-size:14px; color:var(--muted); max-width:40ch; margin:0; line-height:1.58 }
.fuss h4{
  font-family:var(--f-t); font-size:10px; font-weight:800; letter-spacing:.17em;
  text-transform:uppercase; color:var(--ink); margin-bottom:14px;
  padding-bottom:7px; border-bottom:2px solid var(--rule);
}
.fuss ul{ list-style:none; margin:0; padding:0 }
.fuss li{ margin-bottom:9px }
.fuss li a{ font-size:13.5px; color:var(--ink-2); transition:color .18s var(--ease) }
.fuss li a:hover{ color:var(--acc) }
.fuss__unten{
  border-top:1px solid var(--rule-soft); padding-top:20px;
  display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap;
  font-family:var(--f-t); font-size:10.5px; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted);
}

/* Demo-Banner — vor dem Livegang entfernen (siehe README) */
.demo{
  background:var(--acc); color:#fff;
  padding:10px 0; font-size:12.5px; text-align:center; line-height:1.45;
}
.demo strong{ font-family:var(--f-t); font-weight:800; letter-spacing:.1em;
  text-transform:uppercase }

/* ---------- 18. Artikelseite -------------------------------- */
.fortschritt{
  position:fixed; top:var(--top); left:0; height:3px; width:0;
  background:var(--acc); z-index:58; transition:width .1s linear;
}
.artikel-kopf{ padding:clamp(30px,4.4vw,58px) 0 0 }
.artikel-kopf__innen{ width:min(100% - 2*var(--gap), 840px); margin-inline:auto }
.artikel-titel{
  font-weight:800; font-variation-settings:'wdth' 86;
  font-size:clamp(32px,4.8vw,56px); line-height:1.04; letter-spacing:-.03em;
  margin:14px 0 18px;
}
.artikel-vorspann{ font-size:20px; line-height:1.5; color:var(--ink-2); margin:0 0 26px }
.artikel-meta{
  display:flex; gap:18px; flex-wrap:wrap; align-items:center;
  padding:15px 0; border-top:3px solid var(--rule); border-bottom:1px solid var(--rule-soft);
  font-family:var(--f-t); font-size:10.5px; font-weight:600; letter-spacing:.11em;
  text-transform:uppercase; color:var(--muted);
}
.artikel-meta strong{ color:var(--ink); font-weight:700 }
.artikel-bild{ width:100%; aspect-ratio:16/7.6; margin:30px 0 8px; background:var(--paper-2) }
.bildtext{
  font-family:var(--f-t); font-size:10.5px; font-weight:600; letter-spacing:.09em;
  text-transform:uppercase; color:var(--muted); margin-bottom:36px;
}

.text{ width:min(100% - 2*var(--gap), 720px); margin-inline:auto }
.text p{ font-size:18.5px; line-height:1.68; color:var(--ink); margin:0 0 22px }
/* Nur der erste Absatz des Beitrags bekommt die Initiale — mit „>", sonst
   erwischt die Regel auch den ersten Absatz in Zitat und Faktenbox. */
.text > p:first-of-type::first-letter{
  float:left; font-family:var(--f-t); font-size:76px; line-height:.8;
  padding:6px 11px 0 0; font-weight:800; color:var(--acc);
  font-variation-settings:'wdth' 88;
}
.text h2{ font-size:27px; margin:44px 0 16px; letter-spacing:-.026em; font-weight:800;
  font-variation-settings:'wdth' 88 }
.text h3{ font-size:21px; margin:32px 0 12px }
.text ul{ padding-left:20px; margin:0 0 22px }
.text li{ font-size:17.5px; line-height:1.62; margin-bottom:10px }
.text a{ color:var(--acc); border-bottom:1px solid currentColor }

.zitat{ margin:40px 0; padding:0 0 0 22px; border-left:5px solid var(--acc) }
.zitat p{
  font-family:var(--f-t); font-size:26px; line-height:1.24; font-weight:700;
  color:var(--ink); margin:0 0 12px; letter-spacing:-.024em;
  font-variation-settings:'wdth' 90;
}
.zitat cite{
  font-family:var(--f-t); font-style:normal; font-size:10.5px; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
}

.einschub{
  margin:40px 0; padding:22px 24px; background:var(--paper-2);
  border-top:4px solid var(--acc);
}
.einschub h4{ font-size:17px; letter-spacing:-.015em; margin-bottom:11px;
  font-weight:700; font-variation-settings:'wdth' 94 }
.einschub p{ font-size:15px; line-height:1.6; margin:0; color:var(--ink-2) }
.einschub dl{ margin:14px 0 0; display:grid; grid-template-columns:auto 1fr; gap:8px 20px }
.einschub dt{ font-family:var(--f-t); font-size:10.5px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--muted); align-self:center }
.einschub dd{ margin:0; font-family:var(--f-t); font-size:16px; font-weight:700;
  font-variant-numeric:tabular-nums }

.offenlegung{
  width:min(100% - 2*var(--gap), 720px); margin:48px auto 0;
  padding:22px 24px; border:1px solid var(--rule-soft);
}
.offenlegung h4{
  font-family:var(--f-t); font-size:10px; font-weight:800; letter-spacing:.17em;
  text-transform:uppercase; color:var(--ink); margin-bottom:14px;
  padding-bottom:7px; border-bottom:2px solid var(--rule);
}
.offenlegung p{ font-size:13.5px; line-height:1.62; color:var(--ink-2); margin:0 0 11px }
.offenlegung p:last-child{ margin-bottom:0 }

/* ---------- 19. Rechtsseite --------------------------------- */
.recht{ width:min(100% - 2*var(--gap), 840px); margin-inline:auto;
  padding:clamp(32px,4.6vw,60px) 0 }
.recht h1{ font-size:clamp(31px,4.2vw,46px); margin-bottom:12px; letter-spacing:-.03em;
  font-weight:800; font-variation-settings:'wdth' 86; text-transform:uppercase }
.recht__vorspann{ font-size:17px; color:var(--muted); margin:0 0 40px; max-width:62ch;
  line-height:1.58 }
.recht section{ margin-bottom:44px; padding-top:22px; border-top:3px solid var(--rule) }
.recht h2{ font-size:25px; margin-bottom:14px; letter-spacing:-.026em; font-weight:800;
  font-variation-settings:'wdth' 88; text-transform:uppercase }
.recht h3{ font-family:var(--f-t); font-size:12px; font-weight:800; letter-spacing:.13em;
  text-transform:uppercase; margin:24px 0 9px; color:var(--acc) }
.recht p{ font-size:15px; line-height:1.68; color:var(--ink-2); margin:0 0 13px }
.recht ul{ padding-left:20px; margin:0 0 15px }
.recht li{ font-size:15px; line-height:1.62; color:var(--ink-2); margin-bottom:8px }
.luecke{
  background:#FFF3A8; color:#000; border-bottom:2px solid var(--acc);
  padding:1px 5px; font-size:.94em; font-weight:600;
}
html[data-theme="dunkel"] .luecke{ background:#4A3F00; color:#FFE86B }

/* ---------- 20. Einblenden und Nach-oben-Knopf -------------- */
.auf-blende{ opacity:0; transform:translateY(14px);
  transition:opacity .6s var(--ease), transform .6s var(--ease) }
.auf-blende.ist-sichtbar{ opacity:1; transform:none }
@media (prefers-reduced-motion:reduce){ .auf-blende{ opacity:1; transform:none } }

.hoch{
  position:fixed; right:20px; bottom:20px; z-index:40;
  width:46px; height:46px; display:grid; place-items:center;
  background:var(--acc); color:#fff;
  opacity:0; pointer-events:none; transform:translateY(10px);
  transition:opacity .3s var(--ease), transform .3s var(--ease);
}
.hoch.ist-sichtbar{ opacity:1; pointer-events:auto; transform:none }
.hoch svg{ width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:2.2 }

/* ---------- 21. Bausteine im Beitrag ------------------------ */
/* Diese Klassen werden vom Seitenbau (werkzeuge/bauen.js) erzeugt.
   Sie ergänzen die Artikeltypografie aus Abschnitt 18. */

.brotkrumen{
  display:flex; align-items:center; gap:9px; margin-bottom:18px;
  font-family:var(--f-t); font-size:11px; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; color:var(--muted);
}
.brotkrumen a:hover{ color:var(--acc) }
.artikel-meta a{ border-bottom:1px solid var(--rule-soft) }
.artikel-meta a:hover{ color:var(--acc); border-color:var(--acc) }

.text ol{ padding-left:22px; margin:0 0 22px }
.text ol li{ font-size:17.5px; line-height:1.62; margin-bottom:10px }
.trenner{ border:0; border-top:3px solid var(--rule); margin:40px 0 }

/* Bild im Fließtext */
.bild-block{ margin:36px 0; }
.bild-block img{ width:100%; height:auto }
.bild-block__ersatz{ width:100%; aspect-ratio:16/9; background:var(--paper-2) }
.bild-block figcaption{
  margin-top:9px; font-size:13px; line-height:1.5; color:var(--muted);
}
.bild-block__quelle{
  font-family:var(--f-t); font-size:10.5px; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase;
}

/* Tabelle */
.tabelle-block{ margin:36px 0; overflow-x:auto }
.tabelle-block table{ width:100%; border-collapse:collapse; font-size:15px }
.tabelle-block th{
  font-family:var(--f-t); font-size:10.5px; font-weight:800; letter-spacing:.12em;
  text-transform:uppercase; text-align:left; padding:10px 12px 9px;
  background:var(--ink); color:var(--paper); white-space:nowrap;
}
.tabelle-block td{
  padding:11px 12px; border-bottom:1px solid var(--rule-hair);
  font-variant-numeric:tabular-nums;
}
.tabelle-block tr:hover td{ background:var(--paper-2) }
.tabelle-block__quelle{
  margin-top:9px; font-family:var(--f-t); font-size:10.5px; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:var(--muted);
}

/* Diagramm */
.diagramm-block{ margin:38px 0; padding:20px 0 0; border-top:3px solid var(--rule) }
.diagramm-block__titel{
  font-family:var(--f-t); font-size:17px; font-weight:700; letter-spacing:-.015em;
  margin-bottom:4px; color:var(--ink);
}
.diagramm-block__einheit,.diagramm-block__quelle{
  font-family:var(--f-t); font-size:10.5px; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; color:var(--muted);
}
.diagramm-block__einheit{ margin-bottom:12px }
.diagramm-block__quelle{ margin-top:10px; padding-top:10px;
  border-top:1px solid var(--rule-hair) }
.diagramm-block .chart{ height:auto }

/* Gegenüberstellung */
.gegenueber{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px;
  margin:38px 0; padding:22px 24px; background:var(--paper-2);
}
@media (max-width:560px){ .gegenueber{ grid-template-columns:minmax(0,1fr) } }
.gegenueber__spalte h4{
  font-family:var(--f-t); font-size:10px; font-weight:800; letter-spacing:.14em;
  text-transform:uppercase; margin-bottom:11px; padding-bottom:7px;
  border-bottom:2px solid currentColor;
}
.gegenueber__spalte--plus h4{ color:var(--auf) }
.gegenueber__spalte--minus h4{ color:var(--acc) }
.gegenueber ul{ margin:0; padding:0; list-style:none }
.gegenueber li{
  font-size:14.5px; line-height:1.5; color:var(--ink-2);
  padding-left:13px; position:relative; margin-bottom:9px;
}
.gegenueber li::before{
  content:''; position:absolute; left:0; top:9px; width:6px; height:1.5px;
  background:currentColor; opacity:.5;
}

/* Zeitleiste */
.zeitleiste{ list-style:none; margin:38px 0; padding:0 0 0 22px;
  border-left:2px solid var(--rule-soft) }
.zeitleiste li{ position:relative; padding:0 0 20px 18px; font-size:16px;
  line-height:1.5 }
.zeitleiste li::before{
  content:''; position:absolute; left:-29px; top:7px; width:11px; height:11px;
  background:var(--acc); border:2px solid var(--paper);
}
.zeitleiste__marke{
  display:block; font-family:var(--f-t); font-size:11px; font-weight:800;
  letter-spacing:.14em; text-transform:uppercase; color:var(--acc); margin-bottom:3px;
}
.zeitleiste__text{ color:var(--ink-2) }

/* Finanzierungsrunde als Kasten im Text */
.deal-block{
  display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:6px 20px;
  align-items:center; margin:38px 0; padding:20px 22px;
  border:3px solid var(--rule);
}
.deal-block__betrag{
  font-family:var(--f-t); font-size:32px; font-weight:800; letter-spacing:-.035em;
  color:var(--acc); font-variation-settings:'wdth' 88; white-space:nowrap;
}
.deal-block__betrag small{ font-size:12px; font-weight:600; color:var(--muted);
  margin-left:5px; letter-spacing:0 }
.deal-block__firma strong{ display:block; font-family:var(--f-t); font-size:19px;
  font-weight:700; letter-spacing:-.015em }
.deal-block__firma span{
  font-family:var(--f-t); font-size:10.5px; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted);
}
.deal-block__phase{
  font-family:var(--f-t); font-size:9.5px; font-weight:800; letter-spacing:.11em;
  text-transform:uppercase; padding:5px 10px; border:1.5px solid var(--acc);
  color:var(--acc); white-space:nowrap;
}
.deal-block__lead{ grid-column:2/-1; font-size:13.5px; color:var(--ink-2) }
.deal-block__kurz{ grid-column:1/-1; font-size:13.5px; color:var(--muted);
  line-height:1.5; padding-top:10px; margin-top:4px;
  border-top:1px solid var(--rule-hair) }
@media (max-width:560px){
  .deal-block{ grid-template-columns:minmax(0,1fr) }
  .deal-block__phase{ justify-self:start }
  .deal-block__lead{ grid-column:1 }
}

/* Anzeige — nach § 26 MedienG immer erkennbar */
.anzeige-block{
  margin:38px 0; padding:16px 18px; border:1px dashed var(--rule-soft);
  background:var(--paper-2);
}
.anzeige-block__label{
  display:inline-block; font-family:var(--f-t); font-size:9.5px; font-weight:800;
  letter-spacing:.2em; text-transform:uppercase; color:var(--paper);
  background:var(--muted); padding:3px 8px; margin-bottom:10px;
}
.anzeige-block__inhalt{ font-size:14.5px; line-height:1.55; color:var(--ink-2) }
.anzeige-block__inhalt a{ color:var(--acc); border-bottom:1px solid currentColor }

/* Schlagworte, Korrekturen, Teilen */
.schlagworte{ display:flex; flex-wrap:wrap; gap:8px; margin-top:34px }
.schlagwort{
  font-family:var(--f-t); font-size:10.5px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; padding:5px 10px; border:1px solid var(--rule-soft);
  color:var(--muted);
}
.korrektur{
  width:min(100% - 2*var(--gap), 720px); margin:40px auto 0;
  padding:18px 20px; border-left:5px solid var(--acc); background:var(--paper-2);
}
.korrektur h4{
  font-family:var(--f-t); font-size:10px; font-weight:800; letter-spacing:.17em;
  text-transform:uppercase; margin-bottom:10px;
}
.korrektur p{ font-size:13.5px; line-height:1.6; color:var(--ink-2); margin:0 0 8px }
.korrektur time{ font-weight:700; color:var(--ink) }

.teilen{
  width:min(100% - 2*var(--gap), 720px); margin:34px auto 0;
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  padding-top:18px; border-top:1px solid var(--rule-soft);
  font-family:var(--f-t); font-size:11px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--muted);
}
.teilen a,.teilen__kopie{
  font:inherit; color:var(--ink); padding:7px 13px; border:1px solid var(--rule-soft);
  transition:background .18s var(--ease), color .18s var(--ease),
             border-color .18s var(--ease);
}
.teilen a:hover,.teilen__kopie:hover{
  background:var(--ink); color:var(--paper); border-color:var(--ink);
}

/* ---------- 22. Archiv und Fehlerseite ---------------------- */
.archiv{ border-top:3px solid var(--rule) }
.archiv__monat{ padding:26px 0 6px; border-bottom:1px solid var(--rule-soft) }
.archiv__monat h3{
  font-size:15px; text-transform:uppercase; letter-spacing:.08em; font-weight:800;
  color:var(--acc); margin-bottom:10px;
}
.archiv .zeile{ grid-template-columns:64px minmax(0,1fr) }
.archiv .zeile__titel{ font-size:17px }
.leer{ padding:40px 0; color:var(--muted); font-size:16px }

.fehler{ padding:clamp(30px,5vw,60px) 0; max-width:60ch }
.fehler__zahl{
  font-family:var(--f-t); font-size:clamp(64px,11vw,132px); font-weight:800;
  letter-spacing:-.05em; line-height:.86; color:var(--acc);
  font-variation-settings:'wdth' 86;
}
.fehler h1{ font-size:clamp(24px,3.4vw,38px); margin:14px 0 12px; letter-spacing:-.028em;
  font-weight:800; font-variation-settings:'wdth' 88 }
.fehler p{ font-size:16px; color:var(--ink-2); line-height:1.6; margin:0 0 24px }

/* ---------- 23. Suche --------------------------------------- */
/* Der Knopf sitzt im Kopf neben dem Schalter für die Darstellung,
   die Schicht darüber wird beim ersten Aufruf von app.js gebaut. */

.suchknopf__kuerzel{
  display:none; font-family:var(--f-t); font-size:9.5px; font-weight:700;
  letter-spacing:.06em; color:var(--muted); padding-left:7px;
}
@media (min-width:1180px){
  /* Der Knopf ist sonst ein Raster mit einer Spalte — dann läge das
     Kürzel unter der Lupe statt daneben. */
  #suche-auf{ width:auto; padding:0 11px; grid-auto-flow:column; align-items:center }
  .suchknopf__kuerzel{ display:inline }
}

.suchschicht{
  position:fixed; inset:0; z-index:80;
  background:rgba(16,16,16,.55); backdrop-filter:blur(3px);
  opacity:0; transition:opacity .18s var(--ease);
  padding:calc(var(--tick) + 12px) var(--gap) var(--gap);
  overflow-y:auto; overscroll-behavior:contain;
}
.suchschicht.ist-da{ opacity:1 }
html[data-theme="dunkel"] .suchschicht{ background:rgba(0,0,0,.72) }

.suchschicht__kasten{
  width:min(100%, 760px); margin-inline:auto;
  background:var(--paper); border-top:4px solid var(--acc);
  box-shadow:0 30px 70px -40px rgba(0,0,0,.8);
  transform:translateY(-10px); transition:transform .22s var(--ease);
}
.suchschicht.ist-da .suchschicht__kasten{ transform:none }

.suchschicht__kopf{
  display:flex; align-items:center; gap:12px;
  padding:14px 18px; border-bottom:1px solid var(--rule-soft);
}
.suchschicht__lupe{
  width:19px; height:19px; flex:0 0 auto;
  stroke:var(--acc); fill:none; stroke-width:2; stroke-linecap:round;
}
.suchschicht__kopf input{
  flex:1; min-width:0; border:0; background:transparent; color:var(--ink);
  font-family:var(--f-t); font-size:21px; font-weight:600; letter-spacing:-.018em;
  padding:6px 0;
}
.suchschicht__kopf input::placeholder{ color:var(--muted); font-weight:400 }
.suchschicht__kopf input:focus{ outline:none }
.suchschicht__kopf input::-webkit-search-cancel-button{ display:none }
.suchschicht__zu{
  flex:0 0 auto; font-family:var(--f-t); font-size:10px; font-weight:700;
  letter-spacing:.13em; text-transform:uppercase; color:var(--muted);
  border:1px solid var(--rule-soft); padding:5px 9px;
}
.suchschicht__zu:hover{ background:var(--ink); color:var(--paper); border-color:var(--ink) }

.suchschicht__zahl,.suchseite__zahl{
  font-family:var(--f-t); font-size:10.5px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted);
}
.suchschicht__zahl{ padding:0 18px }
.suchschicht__zahl:not(:empty){ padding:12px 18px 0 }
.suchschicht__treffer{ max-height:min(62vh, 620px); overflow-y:auto; padding:6px 0 4px }

.treffer{
  display:block; padding:15px 18px; border-bottom:1px solid var(--rule-hair);
  transition:background .16s var(--ease);
}
.treffer:last-child{ border-bottom:0 }
.treffer:hover,.treffer:focus-visible{ background:var(--paper-2) }
.treffer__ressort{
  font-family:var(--f-t); font-size:9.5px; font-weight:800; letter-spacing:.16em;
  text-transform:uppercase; color:var(--acc);
}
.treffer__titel{
  font-size:19px; font-weight:700; line-height:1.24; letter-spacing:-.018em;
  margin:6px 0 6px; font-variation-settings:'wdth' 94;
}
.treffer:hover .treffer__titel{ color:var(--acc) }
.treffer__text{ margin:0; font-size:14px; line-height:1.5; color:var(--ink-2) }
.treffer__meta{
  display:block; margin-top:8px;
  font-family:var(--f-t); font-size:10.5px; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; color:var(--muted);
}
.treffer mark{
  background:var(--acc); color:#fff; padding:0 2px; border-radius:1px;
}
html[data-theme="dunkel"] .treffer mark{ color:#0D0F12 }

.suche__leer{
  padding:26px 18px; margin:0; font-size:15px; line-height:1.6; color:var(--muted);
}
.suche__leer strong{ color:var(--ink) }
.suche__leer code{
  font-family:ui-monospace,Menlo,Consolas,monospace; font-size:.9em;
  background:var(--paper-3); padding:1px 5px;
}

/* Eigene Suchseite — linksbündig unter der Bauchbinde, nicht zentriert */
.suchseite{ width:min(100%, 820px) }
.suchseite__form{
  display:flex; align-items:center; gap:12px;
  border-bottom:3px solid var(--rule); padding-bottom:12px; margin-bottom:14px;
}
.suchseite__form svg{
  width:22px; height:22px; flex:0 0 auto;
  stroke:var(--acc); fill:none; stroke-width:2; stroke-linecap:round;
}
.suchseite__form input{
  flex:1; min-width:0; border:0; background:transparent; color:var(--ink);
  font-family:var(--f-t); font-size:clamp(22px,3.4vw,32px); font-weight:700;
  letter-spacing:-.025em; font-variation-settings:'wdth' 90; padding:4px 0;
}
.suchseite__form input::placeholder{ color:var(--rule-soft) }
.suchseite__form input:focus{ outline:none }
.suchseite__form input::-webkit-search-cancel-button{ display:none }
.suchseite__treffer{ border-top:1px solid var(--rule-hair); margin-top:14px }
.suchseite__treffer .treffer{ padding-inline:0 }
.suchseite .suche__leer{ padding-inline:0 }

/* ---------- 24. Meldungsseiten (Newsletter) ----------------- */
.meldungsseite{ max-width:62ch; padding:clamp(20px,4vw,44px) 0 }
.meldungsseite h1{
  font-size:clamp(28px,4vw,42px); letter-spacing:-.03em; margin-bottom:16px;
  font-weight:800; font-variation-settings:'wdth' 88;
}
.meldungsseite > p{ font-size:17.5px; line-height:1.62; color:var(--ink-2); margin:0 0 22px }
.meldungsseite .hinweisbox{ margin-bottom:26px }
.meldungsseite .mehr{ margin-top:0 }
.brief__hinweis a{ color:inherit; border-bottom:1px solid rgba(255,255,255,.35) }
.brief__hinweis a:hover{ color:#fff; border-color:#fff }

/* ---------- 25. Datenbank: Profile, Listen, Runden ---------- */

/* Profilkopf für Firmen und Investoren */
.profil{
  display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);
  gap:clamp(24px,4vw,54px); align-items:start;
  border-top:4px solid var(--rule); padding-top:26px; margin-bottom:34px;
}
@media (max-width:860px){ .profil{ grid-template-columns:minmax(0,1fr) } }
.profil__marke{
  display:inline-block; font-family:var(--f-t); font-size:9.5px; font-weight:800;
  letter-spacing:.16em; text-transform:uppercase; padding:5px 9px;
  background:var(--ink); color:var(--paper); margin-bottom:14px;
}
.status-aktiv{ background:var(--ink) }
.status-uebernommen{ background:var(--acc) }
.status-geschlossen{ background:var(--muted) }
.profil__kopf h1{
  font-size:clamp(30px,4.4vw,50px); letter-spacing:-.032em; line-height:1.02;
  font-weight:800; font-variation-settings:'wdth' 86; margin-bottom:10px;
}
.profil__ort{
  font-family:var(--f-t); font-size:11.5px; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; color:var(--muted); margin:0 0 18px;
}
.profil__text{ font-size:17.5px; line-height:1.6; color:var(--ink-2); margin:0;
  max-width:56ch }
.profil__zahlen{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1px;
  background:var(--rule-hair); border:1px solid var(--rule-hair); margin:0;
}
.profil__zahlen > div{ background:var(--paper); padding:13px 15px }
.profil__zahlen dt{
  font-family:var(--f-t); font-size:9.5px; font-weight:700; letter-spacing:.13em;
  text-transform:uppercase; color:var(--muted);
}
.profil__zahlen dd{
  margin:5px 0 0; font-family:var(--f-t); font-size:18px; font-weight:700;
  letter-spacing:-.022em; font-variant-numeric:tabular-nums;
}
.profil__zahlen dd a{ font-size:14px; border-bottom:1px solid var(--rule-soft) }
.profil__zahlen dd a:hover{ color:var(--acc); border-color:var(--acc) }

/* Verteilungen auf dem Investorenprofil */
.verteilung{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(20px,3vw,40px); margin-top:30px;
}
@media (max-width:700px){ .verteilung{ grid-template-columns:minmax(0,1fr) } }
.verteilung h4{
  font-family:var(--f-t); font-size:10px; font-weight:800; letter-spacing:.15em;
  text-transform:uppercase; color:var(--ink); margin-bottom:14px;
  padding-bottom:7px; border-bottom:2px solid var(--rule);
}
.balken__zeile{
  display:grid; grid-template-columns:minmax(0,140px) minmax(0,1fr) 34px;
  gap:12px; align-items:center; padding:6px 0;
}
.balken__name{ font-size:14px; color:var(--ink-2); overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap }
.balken__bahn{ height:9px; background:var(--rule-hair); display:block }
.balken__fuell{ display:block; height:100%; background:var(--ink) }
.balken__wert{ font-family:var(--f-t); font-size:14px; font-weight:700;
  text-align:right; color:var(--muted) }

/* Investorenkacheln auf dem Firmenprofil */
.marken{ display:flex; flex-wrap:wrap; gap:8px }
.marken__eintrag{
  border:1px solid var(--rule-soft); padding:11px 14px;
  font-family:var(--f-t); font-size:14.5px; font-weight:700; letter-spacing:-.012em;
  transition:background .18s var(--ease), color .18s var(--ease),
             border-color .18s var(--ease);
}
.marken__eintrag span{
  display:block; font-size:10px; font-weight:600; letter-spacing:.13em;
  text-transform:uppercase; color:var(--muted); margin-top:3px;
}
.marken__eintrag:hover{ background:var(--ink); border-color:var(--ink); color:var(--paper) }
.marken__eintrag:hover span{ color:rgba(255,255,255,.6) }

/* Firmen- und Investorenliste */
.sektorleiste{
  display:flex; flex-wrap:wrap; gap:6px 18px; padding:0 0 18px; margin-bottom:4px;
  font-family:var(--f-t); font-size:11px; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted);
}
.sektorleiste b{ color:var(--ink); font-weight:800 }
.firmenliste{ border-top:3px solid var(--rule) }
.fz{
  display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1.2fr) 64px 54px 116px;
  gap:16px; align-items:center; padding:13px 0;
  border-bottom:1px solid var(--rule-hair);
  transition:background .16s var(--ease);
}
.fz:hover{ background:var(--paper-2) }
.fz__name{
  font-family:var(--f-t); font-size:17px; font-weight:700; letter-spacing:-.018em;
  min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.fz:hover .fz__name{ color:var(--acc) }
.fz__name em{
  font-style:normal; font-size:9px; font-weight:800; letter-spacing:.14em;
  text-transform:uppercase; padding:3px 6px; color:var(--paper); margin-left:8px;
  vertical-align:middle;
}
.fz__ort{
  font-family:var(--f-t); font-size:11px; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted); min-width:0;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.fz__jahr,.fz__runden{ font-family:var(--f-t); font-size:14.5px; font-weight:700;
  text-align:right; color:var(--muted); font-variant-numeric:tabular-nums }
.fz__kapital{ font-family:var(--f-t); font-size:16px; font-weight:800;
  text-align:right; letter-spacing:-.025em; font-variant-numeric:tabular-nums }
@media (max-width:820px){
  .fz{ grid-template-columns:minmax(0,1fr) 100px; gap:3px 12px }
  .fz__ort{ grid-column:1 }
  .fz__jahr,.fz__runden{ display:none }
  .fz__kapital{ grid-row:1/3; grid-column:2; align-self:center }
}

/* Rundenliste — auf Profilen und in der Datenbank */
.dealliste{ border-top:1px solid var(--rule-soft) }
.dealliste--kopf{ border-top:3px solid var(--rule); border-bottom:0 }
.dz{
  display:grid;
  grid-template-columns:74px 96px minmax(0,1.1fr) 92px minmax(0,1.3fr) 96px;
  gap:4px 16px; align-items:center; padding:12px 0;
  border-bottom:1px solid var(--rule-hair);
  transition:background .16s var(--ease);
}
.dz:hover{ background:var(--paper-2) }
.dz.ist-versteckt{ display:none }
.dz--kopf{
  font-family:var(--f-t); font-size:9.5px; font-weight:800; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted); padding:9px 0; border-bottom:0;
}
.dz--kopf:hover{ background:none }
.dz__datum{ font-family:var(--f-t); font-size:12.5px; font-weight:600;
  color:var(--muted); font-variant-numeric:tabular-nums }
.dz__betrag{
  font-family:var(--f-t); font-size:19px; font-weight:800; letter-spacing:-.03em;
  color:var(--acc); font-variant-numeric:tabular-nums; white-space:nowrap;
}
.dz__betrag small{ font-size:10.5px; font-weight:600; color:var(--muted);
  margin-left:4px; letter-spacing:0 }
.dz--kopf .dz__betrag{ font-size:9.5px; color:var(--muted); letter-spacing:.14em }
.dz__firma{ min-width:0 }
.dz__firma a{ font-family:var(--f-t); font-size:16px; font-weight:700;
  letter-spacing:-.015em; display:block; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap }
.dz__firma a:hover{ color:var(--acc) }
.dz__firma span{
  display:block; font-family:var(--f-t); font-size:10.5px; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-top:2px;
}
.dz__phase{
  font-family:var(--f-t); font-size:9.5px; font-weight:800; letter-spacing:.1em;
  text-transform:uppercase; text-align:center; padding:5px 4px;
  border:1.5px solid currentColor; white-space:nowrap;
}
.dz--kopf .dz__phase{ border:0; text-align:left; padding:0 }
.dz__lead{ font-size:13.5px; line-height:1.4; color:var(--ink-2); min-width:0 }
.dz__lead a{ border-bottom:1px solid var(--rule-soft) }
.dz__lead a:hover{ color:var(--acc); border-color:var(--acc) }
.dz__lead span{ display:block; font-size:12px; color:var(--muted); margin-top:2px }
.dz__marke{ text-align:right }
.bestaetigt,.unbestaetigt{
  font-family:var(--f-t); font-size:9.5px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase;
}
.bestaetigt{ color:var(--auf) }
.unbestaetigt{ color:var(--acc) }
.dz__kurz{
  grid-column:2/-1; font-size:13px; color:var(--muted); line-height:1.45;
  max-height:0; overflow:hidden;
  transition:max-height .3s var(--ease), margin-top .3s var(--ease);
}
.dz:hover .dz__kurz{ max-height:60px; margin-top:6px }
@media (max-width:980px){
  .dz{ grid-template-columns:88px minmax(0,1fr) 88px; gap:3px 12px }
  .dz__datum{ grid-column:1; grid-row:1 }
  .dz__betrag{ grid-column:1; grid-row:2; font-size:17px }
  .dz__firma{ grid-column:2; grid-row:1/3 }
  .dz__phase{ grid-column:3; grid-row:1 }
  .dz__marke{ grid-column:3; grid-row:2 }
  .dz__lead{ grid-column:1/-1; font-size:12.5px; margin-top:4px }
  .dz__kurz{ grid-column:1/-1; max-height:none; margin-top:4px }
  .dealliste--kopf{ display:none }
}

/* Filterleiste der Datenbank */
.dfilter__leiste{
  display:flex; flex-wrap:wrap; gap:12px 16px; align-items:flex-end;
  padding:18px; background:var(--paper-2); border:1px solid var(--rule-soft);
  margin-bottom:18px;
}
.dfilter{ display:flex; flex-direction:column; gap:6px; min-width:0 }
.dfilter--weit{ flex:1 1 240px }
.dfilter > span{
  font-family:var(--f-t); font-size:9.5px; font-weight:800; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted);
}
.dfilter select,.dfilter input{
  font-family:var(--f-s); font-size:14.5px; padding:8px 10px;
  border:1px solid var(--rule-soft); background:var(--paper); color:var(--ink);
  min-width:0;
}
.dfilter select:focus,.dfilter input:focus{ border-color:var(--acc); outline:none }
.knopf-flach{
  font-family:var(--f-t); font-size:11px; font-weight:700; letter-spacing:.11em;
  text-transform:uppercase; padding:9px 14px; border:1px solid var(--rule-soft);
  color:var(--ink); background:var(--paper); white-space:nowrap;
  transition:background .18s var(--ease), color .18s var(--ease),
             border-color .18s var(--ease);
}
.knopf-flach:hover{ background:var(--ink); color:var(--paper); border-color:var(--ink) }

.dbank__summe{
  display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; margin-bottom:6px;
  font-family:var(--f-t); font-size:11px; font-weight:700; letter-spacing:.13em;
  text-transform:uppercase; color:var(--muted);
}
.dbank__summe b{
  font-size:24px; font-weight:800; letter-spacing:-.03em; color:var(--ink);
  font-variant-numeric:tabular-nums; text-transform:none;
}
.dbank__fuss{
  display:flex; align-items:center; gap:16px; flex-wrap:wrap; padding-top:20px;
  margin-top:6px; border-top:1px solid var(--rule-soft);
  font-size:13px; color:var(--muted);
}
.dbank__fuss a[href$=".json"]{ color:var(--acc); border-bottom:1px solid currentColor }

/* Firmen, die in einem Beitrag vorkommen */
.beitragsfirmen{
  width:min(100% - 2*var(--gap), 720px); margin:34px auto 0;
  padding-top:18px; border-top:1px solid var(--rule-soft);
}
.beitragsfirmen h4{
  font-family:var(--f-t); font-size:10px; font-weight:800; letter-spacing:.16em;
  text-transform:uppercase; color:var(--muted); margin-bottom:12px;
}
.beitragsfirmen .marken__eintrag{ font-size:13.5px; padding:9px 12px }

/* Suchtreffer: Art des Eintrags */
.treffer__art{
  font-family:var(--f-t); font-size:9.5px; font-weight:800; letter-spacing:.14em;
  text-transform:uppercase; color:var(--paper); background:var(--ink);
  padding:2px 6px; margin-right:8px;
}
.runde__name a:hover,.firma h3 a:hover{ color:var(--acc) }
.a-kopf__text a{ color:var(--acc); border-bottom:1px solid currentColor }
