  :root{
    --paper:#FAFAF8; --card:#FFFFFF;
    --ink:#131316; --ink-2:#4C514E; --ink-3:#7E847F;
    --line:#E4E5E1; --tint:#E9F1EC;
    --accent:#0E6B57; --accent-strong:#0A5646;
    --seg-ff:#A83226; --seg-rk:#E07A55;
    --shadow:0 1px 2px rgba(16,18,17,.05),0 8px 28px rgba(16,18,17,.07);
  }
  @media (prefers-color-scheme: dark){
    :root{
      --paper:#101312; --card:#171B19;
      --ink:#F1F3F0; --ink-2:#B6BCB7; --ink-3:#848A85;
      --line:#262B28; --tint:#16241E;
      --accent:#43A88C; --accent-strong:#5FBEA3;
      --seg-ff:#A03328; --seg-rk:#D6674A;
      --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 28px rgba(0,0,0,.35);
    }
  }
  :root[data-theme="dark"]{
    --paper:#101312; --card:#171B19;
    --ink:#F1F3F0; --ink-2:#B6BCB7; --ink-3:#848A85;
    --line:#262B28; --tint:#16241E;
    --accent:#43A88C; --accent-strong:#5FBEA3;
    --seg-ff:#A03328; --seg-rk:#D6674A;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 28px rgba(0,0,0,.35);
  }
  :root[data-theme="light"]{
    --paper:#FAFAF8; --card:#FFFFFF;
    --ink:#131316; --ink-2:#4C514E; --ink-3:#7E847F;
    --line:#E4E5E1; --tint:#E9F1EC;
    --accent:#0E6B57; --accent-strong:#0A5646;
    --seg-ff:#A83226; --seg-rk:#E07A55;
    --shadow:0 1px 2px rgba(16,18,17,.05),0 8px 28px rgba(16,18,17,.07);
  }

  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} }
  body{
    margin:0; background:var(--paper); color:var(--ink);
    font-family:'Avenir Next',Avenir,'Helvetica Neue',Helvetica,Arial,sans-serif;
    font-size:17px; line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  .display{ font-family:Futura,'Century Gothic','Avenir Next','Trebuchet MS',sans-serif; }
  .mono{ font-family:'SF Mono',ui-monospace,Menlo,Consolas,monospace; font-variant-numeric:tabular-nums; }

  .wrap{ max-width:1080px; margin:0 auto; padding:0 24px; }
  a{ color:var(--accent-strong); }
  :focus-visible{ outline:2px solid var(--accent); outline-offset:3px; border-radius:2px; }

  /* ---------- header ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:color-mix(in srgb, var(--paper) 88%, transparent);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .head-in{ display:flex; align-items:center; gap:28px; padding:14px 0; }
  .logo-img{ height:26px; width:auto; display:block; }
  .logo-dark-invert{ display:flex; align-items:center; gap:10px; text-decoration:none; }
  @media (prefers-color-scheme: dark){ .logo-img{ filter:invert(1); } }
  :root[data-theme="dark"] .logo-img{ filter:invert(1); }
  :root[data-theme="light"] .logo-img{ filter:none; }
  nav{ display:flex; gap:22px; margin-left:auto; }
  nav a{
    text-decoration:none; color:var(--ink-2); font-size:.92rem; font-weight:500;
  }
  nav a:hover{ color:var(--ink); }
  .draft-chip{
    font-size:.7rem; letter-spacing:.12em; text-transform:uppercase;
    color:var(--ink-3); border:1px dashed var(--ink-3); border-radius:99px;
    padding:3px 10px; white-space:nowrap;
  }
  @media (max-width:820px){
    .head-in{ flex-wrap:wrap; gap:10px 16px; padding:10px 0; }
    .draft-chip{ margin-left:auto; }
    nav{
      order:3; width:100%; margin-left:0; gap:18px;
      overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none;
      padding-bottom:2px;
    }
    nav::-webkit-scrollbar{ display:none; }
    nav a{ white-space:nowrap; font-size:.88rem; padding:4px 0; }
  }

  /* ---------- faser line (signature) ---------- */
  .faser{
    position:fixed; top:0; bottom:0; left:max(24px, calc((100vw - 1080px)/2 - 56px));
    width:2px; background:var(--line); z-index:1; overflow:hidden; pointer-events:none;
  }
  .faser::after{
    content:""; position:absolute; left:0; width:2px; height:140px;
    background:linear-gradient(to bottom, transparent, var(--accent), transparent);
    animation:pulse 9s linear infinite;
  }
  @keyframes pulse{ from{ top:-140px; } to{ top:100%; } }
  @media (max-width:1240px){ .faser{ display:none; } }
  @media (prefers-reduced-motion: reduce){ .faser::after{ animation:none; display:none; } }

  /* ---------- sections ---------- */
  section{ padding:96px 0; }
  section + section{ border-top:1px solid var(--line); }
  .eyebrow{
    font-size:.74rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
    color:var(--accent-strong); margin:0 0 14px;
  }
  h1,h2{ text-wrap:balance; }
  h2{
    font-family:Futura,'Century Gothic','Avenir Next','Trebuchet MS',sans-serif;
    font-weight:700; text-transform:lowercase;
    font-size:clamp(1.9rem, 3.6vw, 2.6rem); line-height:1.12;
    letter-spacing:-.01em; margin:0 0 18px;
  }
  .lede{ color:var(--ink-2); max-width:62ch; margin:0 0 40px; }

  /* ---------- hero ---------- */
  .hero{ padding:120px 0 110px; }
  .hero h1{
    font-family:Futura,'Century Gothic','Avenir Next','Trebuchet MS',sans-serif;
    font-weight:700; text-transform:lowercase;
    font-size:clamp(2.5rem, 6.4vw, 4.6rem); line-height:1.04; letter-spacing:-.015em;
    margin:0 0 26px; max-width:15ch;
  }
  .hero h1 .accent{ color:var(--accent); }
  .hero .lede{ font-size:1.12rem; max-width:56ch; margin-bottom:36px; }
  .cta-row{ display:flex; gap:14px; flex-wrap:wrap; }
  .btn{
    display:inline-block; text-decoration:none; border-radius:6px;
    padding:12px 22px; font-weight:600; font-size:.98rem;
  }
  .btn-primary{ background:var(--ink); color:var(--paper); }
  .btn-primary:hover{ background:var(--accent-strong); color:#fff; }
  :root[data-theme="dark"] .btn-primary:hover, .btn-primary:hover{ transition:background .15s ease; }
  .btn-ghost{ border:1px solid var(--line); color:var(--ink); }
  .btn-ghost:hover{ border-color:var(--ink-3); }

  /* ---------- kennzahlen ---------- */
  .kpi-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
  @media (max-width:900px){ .kpi-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:520px){ .kpi-grid{ grid-template-columns:1fr; } }
  .kpi{
    background:var(--card); border:1px solid var(--line); border-radius:10px;
    padding:22px 22px 18px; box-shadow:var(--shadow);
    display:flex; flex-direction:column; gap:6px;
  }
  .kpi .label{
    font-size:.74rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
    color:var(--ink-3);
  }
  .kpi .value{
    font-family:'SF Mono',ui-monospace,Menlo,Consolas,monospace;
    font-variant-numeric:tabular-nums;
    font-size:clamp(1.6rem, 2.6vw, 2.1rem); font-weight:600; line-height:1.15;
    color:var(--ink);
    align-self:flex-start; padding-bottom:2px;
  }
  .kpi .value.ph{ border-bottom:2px dashed var(--ink-3); }
  .kpi .sub{ font-size:.86rem; color:var(--ink-2); margin-top:4px; }
  .ph-note{
    margin-top:26px; font-size:.86rem; color:var(--ink-3);
    display:flex; align-items:baseline; gap:8px; max-width:70ch;
  }
  .ph-note::before{
    content:""; align-self:center; flex:0 0 22px; border-bottom:2px dashed var(--ink-3);
  }

  /* ---------- investoren ---------- */
  .profiles{ display:flex; flex-direction:column; gap:18px; }
  .profile{
    background:var(--card); border:1px solid var(--line); border-radius:12px;
    padding:36px; box-shadow:var(--shadow);
    display:grid; grid-template-columns:150px 1fr; gap:34px; align-items:start;
  }
  @media (max-width:700px){ .profile{ grid-template-columns:1fr; gap:20px; padding:26px; } }
  .p-side{ display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
  .avatar{
    width:128px; height:128px; border-radius:50%;
    background:var(--tint); border:1px solid var(--line);
    object-fit:cover; filter:grayscale(1) contrast(1.05);
  }
  .profile h3{ margin:0 0 2px; font-size:1.35rem; }
  .profile .role{ font-size:.9rem; color:var(--accent-strong); font-weight:600; margin:0 0 14px; }
  .profile p{ margin:0 0 12px; font-size:.96rem; color:var(--ink-2); max-width:68ch; }
  .profile p:last-of-type{ margin-bottom:0; }
  .todo{
    display:inline-block; font-size:.74rem; color:var(--ink-3);
    border:1px dashed var(--ink-3); border-radius:99px; padding:2px 10px; text-align:center;
  }
  .stationen{
    list-style:none; margin:20px 0 0; padding:16px 0 0;
    border-top:1px solid var(--line);
    display:flex; flex-direction:column; gap:9px;
    font-size:.9rem; color:var(--ink-2);
  }
  .stationen li{ display:flex; gap:14px; align-items:baseline; }
  .stationen .jahr{
    font-family:'SF Mono',ui-monospace,Menlo,monospace; font-variant-numeric:tabular-nums;
    font-size:.76rem; color:var(--accent-strong); flex:0 0 92px;
  }

  /* ---------- 50erl ---------- */
  .split{ display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:start; }
  @media (max-width:900px){ .split{ grid-template-columns:1fr; gap:36px; } }
  .coin-card{
    background:var(--card); border:1px solid var(--line); border-radius:12px;
    padding:30px; box-shadow:var(--shadow);
  }
  .coin-figure{
    font-family:Futura,'Century Gothic','Avenir Next',sans-serif;
    font-weight:700; font-size:clamp(2.4rem,4vw,3.2rem); line-height:1;
    margin:0 0 4px;
  }
  .coin-cap{ font-size:.9rem; color:var(--ink-2); margin:0 0 26px; }
  .coin-bar{ display:flex; gap:2px; height:52px; border-radius:6px; overflow:hidden; }
  .coin-bar .seg-ff{ flex:0 0 80%; background:var(--seg-ff); }
  .coin-bar .seg-rk{ flex:1; background:var(--seg-rk); }
  .coin-legend{ margin:18px 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:8px; }
  .coin-legend li{ display:flex; align-items:baseline; gap:10px; font-size:.94rem; }
  .dot{ width:10px; height:10px; border-radius:3px; flex:none; transform:translateY(1px); }
  .dot-ff{ background:var(--seg-ff); } .dot-rk{ background:var(--seg-rk); }
  .coin-legend .amt{
    font-family:'SF Mono',ui-monospace,Menlo,monospace; font-variant-numeric:tabular-nums;
    font-weight:600; margin-left:auto; white-space:nowrap;
  }
  .coin-foot{ margin-top:16px; font-size:.8rem; color:var(--ink-3); }

  /* ---------- open access ---------- */
  .triple{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
  @media (max-width:820px){ .triple{ grid-template-columns:1fr; } }
  .tile{
    background:var(--card); border:1px solid var(--line); border-radius:10px;
    padding:26px; box-shadow:var(--shadow);
  }
  .tile h3{
    margin:0 0 10px; font-size:1.05rem;
  }
  .tile p{ margin:0; font-size:.93rem; color:var(--ink-2); }
  .tile .glyph{
    width:38px; height:38px; border-radius:9px; background:var(--tint);
    display:flex; align-items:center; justify-content:center; margin-bottom:16px;
    color:var(--accent-strong);
  }
  .tile .glyph svg{ display:block; }

  /* ---------- kontakt ---------- */
  .kontakt{
    background:var(--ink); color:var(--paper); border-radius:14px;
    padding:56px 48px; display:flex; flex-wrap:wrap; gap:28px;
    align-items:center; justify-content:space-between;
  }
  :root[data-theme="dark"] .kontakt{ background:var(--card); color:var(--ink); border:1px solid var(--line); }
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .kontakt{ background:var(--card); color:var(--ink); border:1px solid var(--line); } }
  .kontakt h2{ margin:0 0 6px; }
  .kontakt p{ margin:0; opacity:.75; max-width:48ch; }
  .kontakt .btn-invert{ background:var(--paper); color:var(--ink); }
  :root[data-theme="dark"] .kontakt .btn-invert{ background:var(--accent); color:#0B1512; }
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .kontakt .btn-invert{ background:var(--accent); color:#0B1512; } }

  footer{
    border-top:1px solid var(--line); padding:34px 0 44px;
    font-size:.85rem; color:var(--ink-3);
    display:flex; flex-wrap:wrap; gap:10px 28px; align-items:center;
  }
  footer .foot-wrap{ display:flex; flex-wrap:wrap; gap:10px 28px; align-items:center; width:100%; }
  footer a{ color:var(--ink-3); }
  footer .spacer{ margin-left:auto; }

  /* ---------- impressum ---------- */
  .imp-grid{
    display:grid; grid-template-columns:230px 1fr; gap:12px 30px;
    font-size:.95rem; max-width:760px; margin:0;
  }
  .imp-grid dt{ color:var(--ink-3); }
  .imp-grid dd{ margin:0; color:var(--ink-2); }
  .imp-grid .mono{ font-size:.88rem; }
  .imp-ph{ border-bottom:2px dashed var(--ink-3); }
  @media (max-width:640px){
    .imp-grid{ grid-template-columns:1fr; gap:2px; }
    .imp-grid dt{ margin-top:12px; font-size:.8rem; }
  }

  /* ---------- mobile ---------- */
  @media (max-width:640px){
    body{ font-size:16px; }
    .wrap{ padding:0 18px; }
    section{ padding:60px 0; }
    .hero{ padding:68px 0 60px; }
    .hero .lede{ margin-bottom:26px; }
    .cta-row .btn{ flex:1 1 auto; text-align:center; }
    .kontakt{ padding:32px 22px; }
    .kontakt h2{ font-size:1.7rem; }
    .coin-card{ padding:22px; }
    .coin-bar{ height:44px; }
    .coin-legend li{ flex-wrap:wrap; }
    .stationen .jahr{ flex:0 0 74px; font-size:.72rem; }
    footer{ padding:26px 0 34px; }
    footer .spacer{ margin-left:0; }
  }

  /* ---------- reveal ---------- */
  .reveal{ opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease; }
  .reveal.in{ opacity:1; transform:none; }
  @media (prefers-reduced-motion: reduce){ .reveal{ opacity:1; transform:none; transition:none; } }

/* ---------- rechtstexte ---------- */
.legal{ max-width:760px; }
.legal h3{ margin:30px 0 10px; font-size:1.08rem; }
.legal p{ margin:0 0 12px; color:var(--ink-2); }
.legal ul{ margin:0 0 12px; padding-left:20px; color:var(--ink-2); }
.legal li{ margin-bottom:4px; }

/* ---------- sprachumschalter ---------- */
.lang{ display:flex; gap:7px; align-items:center; font-size:.85rem; }
.lang a{ text-decoration:none; color:var(--ink-3); font-weight:600; }
.lang a[aria-current="page"]{ color:var(--ink); }
.lang .sep{ color:var(--line); }

/* ---------- kunden-hinweis ---------- */
.kunden-sec{ padding:44px 0; }
.kunden-band{
  background:var(--tint); border:1px solid var(--line); border-radius:12px;
  padding:22px 26px; display:flex; flex-wrap:wrap; gap:14px 24px;
  align-items:center; justify-content:space-between;
}
.kunden-band p{ margin:0; color:var(--ink-2); max-width:52ch; }
.kunden-band strong{ color:var(--ink); }
.kunden-links{ display:flex; gap:10px; flex-wrap:wrap; }
.kunden-links .btn{ background:var(--card); padding:10px 18px; font-size:.92rem; }

/* ---------- presse ---------- */
.press-list{ list-style:none; margin:0; padding:0; max-width:820px; }
.press-list li{
  display:flex; gap:18px; align-items:baseline; flex-wrap:wrap;
  padding:16px 0; border-bottom:1px solid var(--line);
}
.press-list li:first-child{ border-top:1px solid var(--line); }
.press-date{
  font-family:'SF Mono',ui-monospace,Menlo,monospace; font-variant-numeric:tabular-nums;
  font-size:.78rem; color:var(--ink-3); flex:0 0 88px;
}
.press-list a{ font-weight:600; color:var(--ink); text-decoration:none; }
.press-list a:hover{ color:var(--accent-strong); }
.press-src{ font-size:.82rem; color:var(--ink-3); margin-left:auto; }
@media (max-width:640px){ .press-src{ margin-left:0; flex-basis:100%; } }
