/* Design der hellen Labor-Seite — extern ausgelagert, weil die CSP (style-src 'self') Inline-<style> blockiert. */
    :root{
      --bg:#FFFFFF; --bg-2:#F4F5F7; --bg-3:#ECEEF1;
      --ink:#0B0D11; --ink-soft:#2A2F38;
      --mid:#5A616B; --mid-2:#7A828D;
      --line:rgba(11,13,17,0.09); --line-strong:rgba(11,13,17,0.16);
      --teal:#0B7E85;            /* Print-Teal — Akzent auf hellem Grund (WCAG-fest) */
      --teal-deep:#096169;
      --font-display:'Space Grotesk',system-ui,-apple-system,sans-serif;
      --font-body:'Inter',system-ui,-apple-system,sans-serif;
      --font-mono:'JetBrains Mono',ui-monospace,monospace;
      --wrap:840px;
    }
    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-weight:400;
      font-size:clamp(1.05rem,1.1rem + 0.3vw,1.2rem);line-height:1.7;-webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility}
    ::selection{background:var(--teal);color:#fff}
    .wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(1.5rem,5vw,2.5rem)}
    a{color:var(--teal)}

    /* ===== Top-Bar ===== */
    .topbar{position:sticky;top:0;z-index:40;background:rgba(255,255,255,0.85);backdrop-filter:blur(12px);
      border-bottom:1px solid var(--line)}
    .topbar__inner{max-width:1100px;margin:0 auto;padding:0.9rem clamp(1.5rem,5vw,2.5rem);
      display:flex;align-items:center;justify-content:space-between;gap:1rem}
    .brand{display:inline-flex;align-items:center;gap:0.5rem;color:var(--ink);text-decoration:none}
    .brand svg{display:block;width:34px;height:auto;overflow:visible}
    .brand__word{font-family:var(--font-display);font-weight:600;font-size:1.3rem;letter-spacing:-0.025em}
    .brand__dot{color:var(--teal)}

    /* Nerd-Switch (heller Kontext) */
    .nerd{display:inline-flex;align-items:center;gap:0.6rem;text-decoration:none;color:var(--mid);
      font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.04em;text-transform:uppercase;
      padding:0.4rem 0.5rem;border-radius:999px;transition:color .2s}
    .nerd:hover{color:var(--ink)}
    .nerd__label b{color:var(--teal);font-weight:600}
    .nerd__track{display:inline-block;vertical-align:middle;width:52px;height:28px;border-radius:999px;background:var(--bg-3);border:1px solid var(--line-strong);
      position:relative;flex:none;transition:background .25s}
    .nerd__knob{position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:var(--ink);
      transition:transform .28s cubic-bezier(0.16,1,0.3,1),background .25s}
    .nerd[data-state="off"] .nerd__knob{transform:translateX(0)}
    .nerd:hover .nerd__track{background:#E4E7EC}

    /* ===== Hero ===== */
    .hero{padding:clamp(3.5rem,9vw,7rem) 0 clamp(2.5rem,6vw,4rem)}
    .eyebrow{font-family:var(--font-mono);font-size:0.78rem;letter-spacing:0.18em;text-transform:uppercase;
      color:var(--teal);margin-bottom:1.4rem;display:flex;align-items:center;gap:0.6rem}
    .eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--teal);display:inline-block}
    h1{font-family:var(--font-display);font-weight:500;font-size:clamp(2.1rem,6vw,3.6rem);letter-spacing:-0.025em;
      line-height:1.08;color:var(--ink)}
    h1 em{font-style:normal;color:var(--teal)}
    .hero__sub{color:var(--ink-soft);max-width:44ch;margin-top:1.5rem;font-size:clamp(1.15rem,1.2rem + 0.4vw,1.4rem);
      font-weight:400;line-height:1.6}

    /* ===== Sektionen ===== */
    section.block{padding:clamp(2.5rem,6vw,4.5rem) 0;border-top:1px solid var(--line)}
    .block h2{font-family:var(--font-display);font-weight:500;font-size:clamp(1.6rem,4vw,2.4rem);letter-spacing:-0.02em;
      line-height:1.1;margin-bottom:1.3rem;color:var(--ink)}
    .block p{color:var(--ink-soft)}
    .block p + p{margin-top:1.1rem}
    .lead{color:var(--ink);font-size:clamp(1.15rem,1.2rem+0.3vw,1.35rem);font-weight:500}
    .muted{color:var(--mid)}
    strong{font-weight:600;color:var(--ink)}

    /* Karten */
    .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:2rem}
    .card{background:var(--bg-2);border:1px solid var(--line);border-radius:16px;padding:1.6rem 1.5rem}
    .card__k{font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;
      color:var(--teal);margin-bottom:0.8rem}
    .card h3{font-family:var(--font-display);font-weight:500;font-size:1.2rem;margin-bottom:0.5rem;letter-spacing:-0.01em;color:var(--ink)}
    .card p{font-size:0.98rem;color:var(--ink-soft);line-height:1.6}

    /* Omar-Portrait */
    .omar{display:grid;grid-template-columns:0.9fr 1.1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
    .omar__photo{width:100%;border-radius:18px;display:block;border:1px solid var(--line)}
    .omar__name{font-family:var(--font-display);font-weight:500;font-size:1.35rem;margin-bottom:0.2rem;color:var(--ink)}
    .omar__role{font-family:var(--font-mono);font-size:0.8rem;color:var(--teal);letter-spacing:0.04em;margin-bottom:1.2rem}

    /* CTA / Kontakt */
    .cta-row{display:flex;flex-wrap:wrap;gap:0.9rem;margin-top:2rem}
    .btn{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-mono);font-size:0.82rem;
      letter-spacing:0.03em;padding:0.95rem 1.5rem;border-radius:12px;text-decoration:none;transition:all .2s}
    .btn--primary{background:var(--teal);color:#fff;font-weight:600}
    .btn--primary:hover{background:var(--teal-deep)}
    .btn--ghost{border:1px solid var(--line-strong);color:var(--ink)}
    .btn--ghost:hover{border-color:var(--teal);color:var(--teal)}
    .contact-meta{font-family:var(--font-mono);font-size:0.82rem;color:var(--mid);line-height:1.9;margin-top:1.6rem}

    /* Nerd-Einladung */
    .nerd-invite{background:var(--ink);border-radius:18px;padding:clamp(1.6rem,4vw,2.4rem);
      margin-top:1rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.4rem}
    .nerd-invite p{max-width:46ch;color:#C2C7CF}
    .nerd-invite b{color:#fff;font-weight:500}
    .nerd-invite .btn--primary{background:#6FE4E9;color:#0B0D11}
    .nerd-invite .btn--primary:hover{background:#8dedf1}

    /* Footer */
    .site-footer{border-top:1px solid var(--line);padding:3rem 0;margin-top:1rem}
    .site-footer__inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.5rem;align-items:flex-end}
    .site-footer__nav{display:flex;gap:1.3rem;flex-wrap:wrap}
    .site-footer__nav a{color:var(--mid);text-decoration:none;font-size:0.9rem}
    .site-footer__nav a:hover{color:var(--ink)}
    .site-footer__legal{font-family:var(--font-mono);font-size:0.75rem;color:var(--mid)}
    .site-footer__credit a{color:var(--teal);text-decoration:none;font-family:var(--font-mono);font-size:0.75rem}

    @media (max-width:640px){
      .omar{grid-template-columns:1fr}
      .nerd__label{display:none}
    }

    /* ===== Nerd-Switch: Fade-out beim Verlassen zur Zielfarbe (GSAP-unabhängig, keine Ankunfts-Logik) ===== */
    #pfade{position:fixed;inset:0;z-index:2147483647;pointer-events:none;opacity:0;background:#0B0D11;transition:opacity .3s ease;will-change:opacity}
    #pfade.show{opacity:1}
    @media (prefers-reduced-motion:reduce){#pfade{transition:none}}

    /* Utilities — ersetzen ehemalige inline style=-Attribute (von der CSP blockiert) */
    .brand__word--footer{font-size:1.4rem}
    .muted--footer{font-size:0.9rem;margin-top:0.3rem}
    .site-footer__credit{margin-top:1.5rem;text-align:right}
