/* Zone-Check: UI-Master tokens. The surrounding page uses Blue Glow for
     data/utility, Peach Glow for conversion and Deep Navy for the live tool. */
  :root {
    --tz-color-navy: #020A18;
    --tz-color-orange: #FC4C01;
    --tz-color-action-orange: #D64000;
    --tz-color-orange-ink: #C23A01;
    --tz-color-paper: #FFFFFF;
    --tz-color-stone: #F5F4F1;
    --tz-color-muted: #596270;
    --tz-color-line: #DDE2E9;
    --tz-color-blue: #315F9D;
    --tz-surface-blue: #F1F6FC;
    --tz-line-blue: #C5D6E9;
    --tz-surface-peach: #FFF0E8;
    --tz-line-peach: #F0C2AF;
    --tz-gradient-blue-glow:
      radial-gradient(circle at 94% 8%, rgb(49 95 157 / 13%), transparent 42%),
      linear-gradient(145deg, #F1F6FC, #FFFFFF);
    --tz-gradient-peach-glow: linear-gradient(135deg, #FFF0E8, #FFFFFF 80%);
    --tz-radius-compact: 14px;
    --tz-radius-panel: 24px;
    --tz-radius-pill: 999px;
    --tz-shadow-compact: 0 8px 24px rgb(21 37 57 / 4%);
    --tz-shadow-blue: 0 18px 48px rgb(37 73 120 / 8%);
    --tz-shadow-peach: 0 18px 48px rgb(82 47 30 / 7%);
    --tz-container-max: 1200px;
    --tz-page-gutter: clamp(20px, 5vw, 72px);
    --zc-success: #166534;
    --zc-success-surface: #ECFDF3;
    --zc-warning: #854D0E;
    --zc-warning-surface: #FFFBEB;
    --zc-error: #B42318;
    --zc-error-surface: #FEF3F2;
    --zc-success-on-dark: #4CC38A;
    --zc-warning-on-dark: #E5B454;
    --zc-error-on-dark: #FF9B9E;
  }

  .zc-hero, .zc-report {
    font-family: 'Nunito', sans-serif;
    color: var(--tz-color-navy);
  }
  .zc-hero *, .zc-report * { box-sizing: border-box; }
  .zc-hero .container, .zc-report .container {
    width: 100%; max-width: var(--tz-container-max); margin-inline: auto;
    padding-inline: var(--tz-page-gutter);
  }

  /* ── Blue data hero + dark live terminal ─────────────────────────── */
  .zc-hero {
    background: var(--tz-gradient-blue-glow);
    border-bottom: 1px solid var(--tz-line-blue);
    padding: 144px 0 80px; position: relative; overflow: hidden;
  }
  .zc-glow { display: none; }
  .zc-hero-inner { position: relative; max-width: 760px; }
  .zc-eyebrow {
    font-family: 'Space Grotesk', sans-serif; font-weight: 500; text-transform: uppercase;
    letter-spacing: 0.14em; font-size: 12px; color: var(--tz-color-orange-ink);
  }
  .zc-h1 {
    font-family: 'Space Grotesk', sans-serif; font-weight: 700; color: var(--tz-color-navy);
    font-size: clamp(42px, 5.6vw, 68px); line-height: 1.03; margin: 16px 0 0; letter-spacing: -0.02em;
  }
  .zc-hl { color: var(--tz-color-orange); }
  .zc-lead { font-size: 19px; line-height: 1.65; color: var(--tz-color-muted); margin: 20px 0 0; max-width: 62ch; }
  .zc-lead b { color: var(--tz-color-navy); }

  .zc-form {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end;
    gap: 8px 12px; margin-top: 28px; max-width: 620px;
  }
  .zc-form-label, .zc-mail-label {
    display: block; font-family: 'Space Grotesk', sans-serif; font-weight: 500;
    font-size: 13px; line-height: 1.35; color: var(--tz-color-navy);
  }
  .zc-form-label { grid-column: 1 / -1; }
  .zc-form input {
    width: 100%; min-width: 0; min-height: 48px; padding: 12px 16px;
    border: 1px solid var(--tz-color-line); border-radius: var(--tz-radius-compact);
    background: var(--tz-color-paper); color: var(--tz-color-navy);
    font: 400 17px/1.4 'Nunito', sans-serif;
    transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
  }
  .zc-form input::placeholder { color: var(--tz-color-muted); opacity: 0.82; }
  .zc-form input:focus { outline: none; }
  .zc-form input:focus-visible,
  .zc-unlock-grid input:focus-visible,
  .zc-mail-form input:focus-visible {
    border-color: var(--tz-color-blue); background: var(--tz-color-paper);
    box-shadow: 0 0 0 3px rgb(49 95 157 / 22%);
  }
  .zc-btn {
    display: inline-flex; align-items: center; justify-content: center; white-space: nowrap;
    min-height: 48px; padding: 12px 28px; border: 1px solid var(--tz-color-orange);
    border-radius: var(--tz-radius-pill); background: var(--tz-color-orange); color: var(--tz-color-navy);
    font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 15px; line-height: 1.2;
    cursor: pointer; text-decoration: none;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
  }
  .zc-btn:hover { background: var(--tz-color-action-orange); border-color: var(--tz-color-action-orange); transform: translateY(-2px); color: var(--tz-color-paper); }
  .zc-btn:focus-visible,
  .zc-hero a:focus-visible, .zc-report a:focus-visible,
  .zc-evidence summary:focus-visible, .zc-sev:focus-visible {
    outline: 3px solid var(--tz-color-blue); outline-offset: 3px;
  }
  .zc-btn:disabled {
    background: var(--tz-color-line); border-color: var(--tz-color-line);
    color: var(--tz-color-muted); opacity: 1; cursor: progress; transform: none;
  }
  .zc-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
  .zc-trust { list-style: none; display: flex; gap: 8px 22px; flex-wrap: wrap; margin: 22px 0 0; padding: 0; }
  .zc-trust li { font-size: 14px; color: var(--tz-color-muted); padding-left: 20px; position: relative; }
  .zc-trust li::before { content: "✓"; position: absolute; left: 0; color: var(--zc-success); font-weight: 700; }
  .zc-engines { display: flex; align-items: center; gap: 12px 20px; flex-wrap: wrap; margin-top: 26px; }
  .zc-engines-label {
    display: block; width: 100%; font-family: 'Space Grotesk', sans-serif; font-weight: 500; font-size: 11px;
    letter-spacing: 0.12em; text-transform: uppercase; color: var(--tz-color-muted); margin-bottom: 2px;
  }
  .zc-engine {
    display: inline-flex; align-items: center; gap: 6px;
    font-family: 'Space Grotesk', sans-serif; font-weight: 500; font-size: 13px; color: var(--tz-color-muted);
    white-space: nowrap;
  }
  .zc-engine img { width: 16px; height: 16px; display: block; }
  .zc-hint { font-size: 13px; color: var(--tz-color-muted); margin-top: 18px; max-width: 68ch; line-height: 1.6; }
  .zc-hint a, .zc-noscript a { color: var(--tz-color-navy); text-decoration: underline; text-underline-offset: 3px; }
  .zc-error {
    margin-top: 16px; padding: 14px 16px; border-radius: var(--tz-radius-compact); max-width: 620px;
    background: var(--zc-error-surface); border: 1px solid rgb(180 35 24 / 28%);
    color: var(--zc-error); font-size: 16px; line-height: 1.5;
  }
  .zc-noscript {
    margin-top: 18px; padding: 16px 18px; max-width: 620px;
    background: linear-gradient(145deg, var(--tz-surface-blue), var(--tz-color-paper));
    border: 1px solid var(--tz-line-blue); border-radius: var(--tz-radius-compact);
    color: var(--tz-color-navy); font-size: 16px; line-height: 1.55;
  }

  .zc-terminal {
    margin-top: 48px; background: var(--tz-color-navy); border: 1px solid var(--tz-line-blue);
    border-radius: var(--tz-radius-panel); overflow: hidden; box-shadow: var(--tz-shadow-blue);
  }
  .zc-term-bar {
    display: flex; align-items: center; gap: 8px; padding: 12px 18px;
    background: rgb(49 95 157 / 14%); border-bottom: 1px solid rgb(197 214 233 / 24%);
  }
  .zc-dot { width: 11px; height: 11px; border-radius: 50%; background: rgb(197 214 233 / 28%); }
  .zc-dot-a { background: var(--tz-color-orange); }
  .zc-term-title {
    min-width: 0; margin-left: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    font-family: ui-monospace, Menlo, monospace; font-size: 12px; color: var(--tz-line-blue); letter-spacing: 0.04em;
  }
  .zc-term-status {
    margin-left: auto; font-family: 'Space Grotesk', sans-serif; font-weight: 500; font-size: 11px;
    letter-spacing: 0.12em; text-transform: uppercase; color: var(--tz-color-orange); white-space: nowrap;
  }
  .zc-progress { height: 4px; background: rgb(197 214 233 / 16%); }
  .zc-progress i { display: block; height: 100%; width: 0; background: var(--tz-color-orange); transition: width 300ms ease; }
  .zc-stages { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; padding: 16px 18px 6px; }
  .zc-stage {
    font-family: 'Space Grotesk', sans-serif; font-weight: 500; font-size: 12px; color: var(--tz-line-blue);
    background: rgb(241 246 252 / 5%); border: 1px solid rgb(197 214 233 / 18%);
    border-radius: var(--tz-radius-compact); padding: 8px 11px; display: flex; align-items: center; gap: 8px;
    transition: color 180ms ease, border-color 180ms ease, background 180ms ease;
  }
  .zc-stage .zc-stage-ind { width: 8px; height: 8px; border-radius: 50%; background: rgb(197 214 233 / 34%); flex: none; }
  .zc-stage.active { color: var(--tz-color-paper); border-color: var(--tz-color-orange); background: rgb(252 76 1 / 8%); font-weight: 700; }
  .zc-stage.active .zc-stage-ind { background: var(--tz-color-orange); animation: zcPulse 1s ease-in-out infinite; }
  .zc-stage.done { color: var(--tz-line-blue); }
  .zc-stage.done .zc-stage-ind { background: var(--zc-success-on-dark); animation: none; }
  @keyframes zcPulse { 50% { opacity: 0.3; } }
  .zc-term-body { padding: 12px 18px 16px; max-height: 340px; overflow-y: auto; }
  .zc-log { list-style: none; margin: 0; padding: 0; }
  .zc-log li.zc-step { font-family: ui-monospace, Menlo, monospace; font-size: 13px; color: var(--tz-color-paper); padding: 8px 0 3px; }
  .zc-log li.zc-step::before { content: "$ "; color: var(--tz-color-orange); }
  .zc-log li.zc-step.zc-done::after { content: " ✓"; color: var(--zc-success-on-dark); }
  .zc-log li.zc-bullet { font-family: ui-monospace, Menlo, monospace; font-size: 12px; line-height: 1.65; color: var(--tz-line-blue); padding-left: 18px; }
  .zc-log li.zc-bullet.ok { color: var(--zc-success-on-dark); }
  .zc-log li.zc-bullet.warn { color: var(--zc-warning-on-dark); }
  .zc-log li.zc-bullet.miss { color: var(--zc-error-on-dark); }

  /* ── Light report ─────────────────────────────────────────────────── */
  .zc-report {
    background: var(--tz-color-stone); color: var(--tz-color-navy);
    padding: 80px 0 96px; border-top: 1px solid var(--tz-color-line);
  }
  .zc-report-head { max-width: 780px; }
  .zc-h2 {
    font-family: 'Space Grotesk', sans-serif; font-weight: 700; color: var(--tz-color-navy);
    font-size: clamp(34px, 4vw, 48px); line-height: 1.08; margin: 12px 0 0; letter-spacing: -0.015em;
  }
  .zc-frame { font-size: 17px; color: var(--tz-color-muted); margin: 16px 0 0; max-width: 66ch; line-height: 1.65; }
  .zc-frame b { color: var(--tz-color-navy); }
  .zc-headline { font-size: 20px; line-height: 1.55; color: var(--tz-color-navy); margin: 12px 0 0; font-weight: 700; max-width: 62ch; }
  .zc-competitors { margin: 24px 0 0; max-width: 560px; }
  .zc-competitors-label {
    display: block; font-family: 'Space Grotesk', sans-serif; font-weight: 500; font-size: 11px;
    letter-spacing: 0.1em; text-transform: uppercase; color: var(--tz-color-blue); margin-bottom: 8px;
  }
  .zc-share { list-style: none; margin: 0; padding: 0; }
  .zc-share li { display: flex; align-items: center; gap: 10px; padding: 6px 0; font-size: 14px; color: var(--tz-color-muted); }
  .zc-share .zc-share-name { flex: 0 0 165px; overflow-wrap: anywhere; }
  .zc-share li.zc-share-own .zc-share-name { font-weight: 700; color: var(--tz-color-navy); }
  .zc-share-bar-wrap { flex: 1 1 auto; height: 8px; background: var(--tz-color-line); border-radius: var(--tz-radius-pill); overflow: hidden; }
  .zc-share-bar { display: block; height: 100%; border-radius: var(--tz-radius-pill); background: var(--tz-color-blue); }
  .zc-share li.zc-share-own .zc-share-bar { background: var(--tz-color-orange); }
  .zc-share-count { font-family: 'Space Grotesk', sans-serif; font-size: 12px; color: var(--tz-color-muted); width: 38px; text-align: right; flex: none; font-variant-numeric: tabular-nums; white-space: nowrap; }
  .zc-profile { font-size: 16px; color: var(--tz-color-muted); margin: 16px 0 0; max-width: 68ch; line-height: 1.65; }

  .zc-pillars {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0;
    margin: 40px 0 8px; overflow: hidden;
    background: var(--tz-gradient-blue-glow); border: 1px solid var(--tz-line-blue);
    border-radius: var(--tz-radius-panel); box-shadow: var(--tz-shadow-blue);
  }
  .zc-pillar {
    min-width: 0; padding: 30px 28px 26px; display: flex; flex-direction: column;
    background: transparent; border: 0; border-radius: 0; box-shadow: none;
  }
  .zc-pillar + .zc-pillar { border-left: 1px solid var(--tz-line-blue); }
  .zc-pillar-eyebrow {
    font-family: 'Space Grotesk', sans-serif; font-weight: 500; font-size: 12px;
    letter-spacing: 0.14em; text-transform: uppercase; color: var(--tz-color-orange-ink);
  }
  .zc-pillar-scorerow { display: flex; align-items: baseline; gap: 12px; margin-top: 10px; flex-wrap: wrap; }
  .zc-pillar-score { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 52px; line-height: 1; color: var(--tz-color-navy); font-variant-numeric: tabular-nums; white-space: nowrap; }
  .zc-pillar-score small { font-size: 17px; color: var(--tz-color-muted); font-weight: 500; }
  .zc-pill {
    font-family: 'Space Grotesk', sans-serif; font-weight: 500; font-size: 10.5px; letter-spacing: 0.12em;
    text-transform: uppercase; border-radius: var(--tz-radius-pill); padding: 4px 12px; border: 1px solid; white-space: nowrap;
  }
  .zc-pill.stark { color: var(--zc-success); border-color: rgb(22 101 52 / 30%); background: var(--zc-success-surface); }
  .zc-pill.solide { color: var(--tz-color-blue); border-color: var(--tz-line-blue); background: var(--tz-surface-blue); }
  .zc-pill.ausbaufähig, .zc-pill.ausbaufaehig { color: var(--zc-warning); border-color: rgb(133 77 14 / 28%); background: var(--zc-warning-surface); }
  .zc-pill.kritisch { color: var(--zc-error); border-color: rgb(180 35 24 / 28%); background: var(--zc-error-surface); }
  .zc-pillar-bar { height: 5px; background: var(--tz-color-line); border-radius: var(--tz-radius-pill); margin: 16px 0 6px; overflow: hidden; }
  .zc-pillar-bar i { display: block; height: 100%; background: var(--tz-color-orange); border-radius: var(--tz-radius-pill); }
  .zc-results { list-style: none; margin: 12px 0 0; padding: 0; }
  .zc-results li { display: flex; align-items: baseline; gap: 10px; padding: 10px 0; border-top: 1px solid var(--tz-line-blue); font-size: 14px; }
  .zc-results li:first-child { border-top: 0; }
  .zc-results .zc-r-dot { width: 8px; height: 8px; border-radius: 50%; flex: none; align-self: center; }
  .zc-r-dot.ok { background: var(--zc-success); }
  .zc-r-dot.warn { background: var(--zc-warning); }
  .zc-r-dot.miss { background: var(--zc-error); }
  .zc-r-dot.neutral { background: var(--tz-color-muted); }
  .zc-results .zc-r-name { color: var(--tz-color-muted); }
  .zc-results .zc-r-value { margin-left: auto; text-align: right; font-family: 'Space Grotesk', sans-serif; font-size: 13px; color: var(--tz-color-navy); font-variant-numeric: tabular-nums; white-space: nowrap; }
  .zc-results li.neutral .zc-r-value { color: var(--tz-color-muted); }
  .zc-pillar-link {
    margin-top: auto; padding-top: 16px; font-family: 'Space Grotesk', sans-serif; font-weight: 700;
    font-size: 13px;
  }
  .zc-pillar-link a { color: var(--tz-color-navy); text-decoration: underline; text-decoration-color: var(--tz-color-orange); text-underline-offset: 4px; }
  .zc-pillar-link a:hover { color: var(--tz-color-action-orange); }
  .zc-evidence { margin: 10px 0 0; }
  .zc-evidence summary { min-height: 44px; display: flex; align-items: center; font-size: 14px; color: var(--tz-color-muted); cursor: pointer; }
  .zc-evidence ul { list-style: none; margin: 8px 0 0; padding: 0; }
  .zc-evidence li { font-size: 14px; color: var(--tz-color-muted); padding: 6px 0; border-top: 1px solid var(--tz-line-blue); line-height: 1.55; }

  .zc-benchmark { font-size: 16px; color: var(--tz-color-muted); max-width: 74ch; margin: 24px 0 0; line-height: 1.65; }

  /* ── Messsteckbrief + portable report ───────────────────────────── */
  .zc-measure {
    margin: 32px 0 0; padding: 28px;
    background: var(--tz-gradient-blue-glow); border: 1px solid var(--tz-line-blue);
    border-radius: var(--tz-radius-panel); box-shadow: var(--tz-shadow-blue);
  }
  .zc-measure-head {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 20px;
  }
  .zc-measure-title {
    font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 24px;
    line-height: 1.2; color: var(--tz-color-navy); margin: 8px 0 0;
  }
  .zc-measure-version {
    flex: none; padding: 6px 12px; border: 1px solid var(--tz-line-blue);
    border-radius: var(--tz-radius-pill); color: var(--tz-color-blue);
    font: 500 11px/1.2 'Space Grotesk', sans-serif; letter-spacing: 0.1em; text-transform: uppercase;
  }
  .zc-measure-grid {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 22px 0 0; border: 1px solid var(--tz-line-blue);
    border-radius: var(--tz-radius-compact); overflow: hidden; background: rgb(255 255 255 / 72%);
  }
  .zc-measure-grid > div { min-width: 0; padding: 18px; }
  .zc-measure-grid > div + div { border-left: 1px solid var(--tz-line-blue); }
  .zc-measure-grid dt {
    font: 500 10.5px/1.3 'Space Grotesk', sans-serif; letter-spacing: 0.11em;
    text-transform: uppercase; color: var(--tz-color-blue);
  }
  .zc-measure-grid dd {
    margin: 7px 0 0; color: var(--tz-color-navy); font-size: 15px; line-height: 1.45;
    overflow-wrap: anywhere;
  }
  .zc-measure-note { margin: 18px 0 0; color: var(--tz-color-muted); font-size: 14px; line-height: 1.6; max-width: 86ch; }
  .zc-report-actions { display: flex; gap: 10px; flex-wrap: wrap; margin: 20px 0 0; }
  .zc-report-action {
    min-height: 44px; padding: 10px 18px; border: 1px solid var(--tz-color-navy);
    border-radius: var(--tz-radius-pill); background: var(--tz-color-navy); color: var(--tz-color-paper);
    font: 700 14px/1.2 'Space Grotesk', sans-serif; cursor: pointer;
    transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
  }
  .zc-report-action:hover { transform: translateY(-2px); background: var(--tz-color-blue); border-color: var(--tz-color-blue); }
  .zc-report-action.is-secondary { background: var(--tz-color-paper); color: var(--tz-color-navy); border-color: var(--tz-line-blue); }
  .zc-report-action.is-secondary:hover { background: var(--tz-surface-blue); border-color: var(--tz-color-blue); }
  .zc-report-action:focus-visible { outline: 3px solid var(--tz-color-blue); outline-offset: 3px; }
  .zc-report-action:disabled { opacity: 0.58; cursor: progress; transform: none; }
  .zc-report-action-status { min-height: 1.4em; margin: 10px 0 0; color: var(--tz-color-blue); font-size: 14px; line-height: 1.5; }
  .zc-report-action-status.is-fail { color: var(--zc-error); }

  /* ── Gate: Peach conversion panel + neutral person panel ─────────── */
  .zc-gate { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 18px; margin: 40px 0 0; align-items: stretch; }
  @media (max-width: 860px) { .zc-gate { grid-template-columns: 1fr; } }
  .zc-unlock {
    background: var(--tz-gradient-peach-glow); border: 1px solid var(--tz-line-peach);
    border-radius: var(--tz-radius-panel); box-shadow: var(--tz-shadow-peach); padding: 32px;
    display: flex; flex-direction: column; align-items: flex-start; min-width: 0;
  }
  .zc-unlock > *, .zc-unlock-grid, .zc-unlock-grid > div { min-width: 0; max-width: 100%; }
  .zc-eyebrow-light { color: var(--tz-color-orange-ink); }
  .zc-unlock-title { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 28px; line-height: 1.2; color: var(--tz-color-navy); margin: 10px 0 0; }
  .zc-unlock-lead { font-size: 16px; color: var(--tz-color-muted); margin: 12px 0 0; line-height: 1.65; }
  .zc-unlock-list { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 8px; }
  .zc-unlock-list li { font-size: 16px; color: var(--tz-color-navy); padding-left: 22px; position: relative; line-height: 1.5; }
  .zc-unlock-list li::before { content: "✓"; position: absolute; left: 0; color: var(--zc-success); font-weight: 700; }
  .zc-unlock-form { margin-top: 24px; width: 100%; }
  .zc-unlock-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 12px; }
  @media (max-width: 520px) { .zc-unlock-grid { grid-template-columns: 1fr; } }
  .zc-unlock-grid label { display: block; font-family: 'Space Grotesk', sans-serif; font-weight: 500; font-size: 12px; color: var(--tz-color-navy); margin-bottom: 7px; }
  .zc-opt { font-family: 'Nunito', sans-serif; font-size: 12px; color: var(--tz-color-muted); margin-left: 4px; }
  .zc-unlock-grid input {
    width: 100%; min-height: 48px; padding: 12px 14px; border-radius: var(--tz-radius-compact);
    border: 1px solid var(--tz-color-line); background: var(--tz-color-paper);
    font-size: 16px; font-family: 'Nunito', sans-serif; color: var(--tz-color-navy);
  }
  .zc-unlock-grid input:focus { outline: none; }
  .zc-unlock-btn { width: 100%; margin-top: 16px; }
  .zc-unlock-status { font-size: 14px; color: var(--zc-error); margin: 12px 0 0; min-height: 1em; line-height: 1.5; }
  .zc-unlock-status:not(:empty) { padding: 12px 14px; background: var(--zc-error-surface); border: 1px solid rgb(180 35 24 / 28%); border-radius: var(--tz-radius-compact); }
  .zc-unlock .zc-unlock-hint { font-size: 13px; color: var(--tz-color-muted); margin: 12px 0 0; line-height: 1.55; }
  .zc-unlock .zc-unlock-hint a { color: var(--tz-color-navy); text-decoration: underline; text-underline-offset: 3px; }
  .zc-unlocked-note p { font-size: 16px; color: var(--tz-color-navy); line-height: 1.6; margin: 16px 0 0; }
  .zc-unlocked-note b { color: var(--zc-success); }

  .zc-person {
    background: var(--tz-color-paper); border: 1px solid var(--tz-color-line); border-radius: var(--tz-radius-panel);
    box-shadow: none;
    overflow: hidden; display: flex; flex-direction: column;
    container-type: inline-size; container-name: zc-person;
  }
  /* Rundes Portrait neben Name und Rolle, wie die Menschen-Sektion der Startseite.
     Quadratisches Bild in quadratischem Rahmen: nichts wird abgeschnitten, nur die Ecken. */
  .zc-person-head { display: flex; align-items: center; gap: 20px; padding: 24px 24px 0; }
  .zc-person-photo {
    flex: none; width: 160px; height: auto; aspect-ratio: 1; object-fit: cover; object-position: 50% 30%;
    border-radius: 50%; border: 4px solid var(--tz-color-navy); outline: 1px solid var(--tz-line-peach); display: block;
  }
  .zc-person-id { min-width: 0; }
  .zc-person-body { padding: 16px 24px 24px; display: flex; flex-direction: column; flex: 1; }
  @container zc-person (max-width: 440px) {
    .zc-person-photo { width: 120px; }
    .zc-person-name { font-size: 22px; }
  }
  @container zc-person (max-width: 330px) {
    .zc-person-head { gap: 16px; padding: 20px 20px 0; }
    .zc-person-photo { width: 96px; border-width: 3px; }
    .zc-person-name { font-size: 20px; }
    .zc-person-body { padding: 14px 20px 22px; }
  }
  @container zc-person (max-width: 290px) {
    .zc-person-head { flex-direction: column; align-items: flex-start; gap: 14px; }
  }
  .zc-person-eyebrow { font-family: 'Space Grotesk', sans-serif; font-weight: 500; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--tz-color-orange-ink); }
  .zc-person-name { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 24px; color: var(--tz-color-navy); margin-top: 6px; }
  .zc-person-role { font-size: 14px; color: var(--tz-color-muted); margin-top: 2px; }
  .zc-person-text { font-size: 16px; color: var(--tz-color-muted); line-height: 1.65; margin: 12px 0 0; }
  .zc-person-badges { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 16px 0 0; padding: 0; }
  .zc-person-badges li {
    font-family: 'Space Grotesk', sans-serif; font-weight: 500; font-size: 12px;
    color: var(--tz-color-muted);
  }
  .zc-person-cta {
    margin-top: auto; padding-top: 20px; font-family: 'Space Grotesk', sans-serif; font-weight: 700;
    font-size: 14px; color: var(--tz-color-navy); text-decoration: underline; text-decoration-color: var(--tz-color-orange); text-underline-offset: 4px;
  }
  .zc-person-cta:hover { color: var(--tz-color-action-orange); }

  /* ── Unlocked content ─────────────────────────────────────────────── */
  .zc-panel { margin: 56px 0 0; }
  .zc-panel-title { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 28px; line-height: 1.2; color: var(--tz-color-navy); margin: 0 0 8px; }
  .zc-panel-note { font-size: 16px; color: var(--tz-color-muted); margin: 0 0 18px; line-height: 1.65; max-width: 78ch; }

  .zc-sections { display: grid; gap: 16px; }
  .zc-section {
    background: var(--tz-color-paper); border: 1px solid var(--tz-color-line); border-radius: var(--tz-radius-panel);
    padding: 28px 32px; box-shadow: none;
    display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px;
  }
  .zc-section-top { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
  .zc-section-metricrow { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin-top: 12px; }
  .zc-section-metric {
    font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: clamp(34px, 4vw, 46px);
    line-height: 1; color: var(--tz-color-orange); font-variant-numeric: tabular-nums; letter-spacing: -0.01em; white-space: nowrap;
  }
  .zc-section-metriclabel { font-size: 16px; color: var(--tz-color-muted); line-height: 1.5; max-width: 46ch; }
  .zc-deepdive {
    margin-top: 16px; padding: 16px 18px; border-radius: var(--tz-radius-compact);
    background: linear-gradient(145deg, var(--tz-surface-blue), var(--tz-color-paper)); border: 1px solid var(--tz-line-blue);
    box-shadow: none; font-size: 15px; color: var(--tz-color-muted); line-height: 1.65;
  }
  .zc-deepdive b {
    font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 12px;
    letter-spacing: 0.08em; text-transform: uppercase; color: var(--tz-color-blue); margin-right: 6px;
  }
  .zc-sev {
    display: inline-flex; align-items: center; min-height: 44px;
    font-family: 'Space Grotesk', sans-serif; font-weight: 500; font-size: 10.5px; letter-spacing: 0.12em;
    text-transform: uppercase; border-radius: var(--tz-radius-pill); padding: 5px 14px; border: 1px solid; white-space: nowrap;
  }
  .zc-sev.hoch { color: var(--zc-error); border-color: rgb(180 35 24 / 28%); background: var(--zc-error-surface); }
  .zc-sev.mittel { color: var(--zc-warning); border-color: rgb(133 77 14 / 28%); background: var(--zc-warning-surface); }
  .zc-sev.tief { color: var(--tz-color-muted); border-color: var(--tz-color-line); background: var(--tz-color-stone); }
  .zc-section h4 { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 24px; color: var(--tz-color-navy); margin: 10px 0 0; line-height: 1.3; }
  .zc-section .zc-section-finding { font-size: 17px; color: var(--tz-color-navy); line-height: 1.65; margin: 10px 0 0; }
  .zc-section .zc-section-why { font-size: 16px; color: var(--tz-color-muted); line-height: 1.65; margin: 8px 0 0; }
  .zc-pillar-reco { font-size: 16px; line-height: 1.65; color: var(--tz-color-navy); }
  .zc-pillar-reco b { color: var(--tz-color-orange-ink); font-weight: 700; }
  .zc-section .zc-pillar-reco { border-top: 1px solid var(--tz-color-line); padding-top: 14px; margin-top: 16px; }
  .zc-section .zc-section-link { display: inline-block; width: fit-content; margin-top: 12px; font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 14px; color: var(--tz-color-navy); text-decoration: underline; text-decoration-color: var(--tz-color-orange); text-underline-offset: 4px; }
  .zc-section .zc-section-link:hover { color: var(--tz-color-action-orange); }

  /* ── Mail card ────────────────────────────────────────────────────── */
  .zc-mail {
    background: var(--tz-gradient-peach-glow); border: 1px solid var(--tz-line-peach);
    border-radius: var(--tz-radius-panel); box-shadow: var(--tz-shadow-peach);
    padding: 32px; margin: 56px 0 0;
    display: flex; align-items: center; gap: 24px; flex-wrap: wrap;
  }
  .zc-mail-text { flex: 1 1 300px; }
  .zc-mail-title { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 26px; color: var(--tz-color-navy); margin: 0 0 6px; }
  .zc-mail-text p { font-size: 16px; color: var(--tz-color-muted); margin: 0; line-height: 1.65; }
  .zc-mail-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px 10px; flex: 1 1 380px; min-width: 0; }
  .zc-mail-label { grid-column: 1 / -1; }
  .zc-mail-form input {
    width: 100%; min-width: 0; min-height: 48px; padding: 12px 15px; border-radius: var(--tz-radius-compact);
    border: 1px solid var(--tz-color-line); background: var(--tz-color-paper); font-size: 16px; font-family: 'Nunito', sans-serif; color: var(--tz-color-navy);
  }
  .zc-mail-form input:focus { outline: none; }
  .zc-mail-status { flex-basis: 100%; width: 100%; font-size: 14px; margin: 4px 0 0; min-height: 1em; color: var(--tz-color-blue); line-height: 1.5; }
  .zc-mail-status:not(:empty) { padding: 12px 14px; border: 1px solid var(--tz-line-blue); border-radius: var(--tz-radius-compact); background: var(--tz-surface-blue); }
  .zc-mail-status.zc-ok { color: var(--zc-success); border-color: rgb(22 101 52 / 28%); background: var(--zc-success-surface); }
  .zc-mail-status.zc-fail { color: var(--zc-error); border-color: rgb(180 35 24 / 28%); background: var(--zc-error-surface); }

  /* ── Action plan ──────────────────────────────────────────────────── */
  .zc-plan { margin: 64px 0 0; padding-top: 56px; border-top: 1px solid var(--tz-color-line); }
  .zc-plan-title { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: clamp(32px, 3vw, 42px); color: var(--tz-color-navy); margin: 12px 0 0; line-height: 1.12; }
  .zc-plan-lead { font-size: 17px; color: var(--tz-color-muted); margin: 12px 0 0; max-width: 62ch; line-height: 1.65; }
  .zc-plan-steps {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin-top: 28px; overflow: hidden;
    background: var(--tz-gradient-blue-glow); border: 1px solid var(--tz-line-blue);
    border-radius: var(--tz-radius-panel); box-shadow: var(--tz-shadow-blue);
  }
  .zc-plan-step {
    background: transparent; border: 0; border-radius: 0; padding: 30px 32px; box-shadow: none;
  }
  .zc-plan-step + .zc-plan-step { border-left: 1px solid var(--tz-line-blue); }
  .zc-plan-num { font-family: 'Space Grotesk', sans-serif; font-weight: 500; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--tz-color-orange-ink); }
  .zc-plan-step h4 { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 24px; color: var(--tz-color-navy); margin: 8px 0 0; }
  .zc-plan-step p { font-size: 16px; color: var(--tz-color-muted); line-height: 1.65; margin: 10px 0 0; }
  .zc-unlock-proof { font-size: 14px; color: var(--tz-color-muted); margin: 16px 0 0; line-height: 1.6; border-top: 1px solid var(--tz-line-peach); padding-top: 14px; }
  .zc-booking {
    margin-top: 28px; background: var(--tz-color-paper); border: 1px solid var(--tz-color-line); border-radius: var(--tz-radius-panel);
    padding: 28px 32px; box-shadow: none;
  }
  .zc-booking-title { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 24px; color: var(--tz-color-navy); margin: 0 0 6px; }
  .zc-booking-note { font-size: 14px; color: var(--tz-color-muted); margin: 0 0 14px; line-height: 1.6; }
  .zc-booking-note a { color: var(--tz-color-navy); text-decoration: underline; text-underline-offset: 3px; }
  .zc-booking-frame { margin-top: 16px; }
  .zc-booking-frame iframe { width: 100%; height: 720px; border: 1px solid var(--tz-color-line); border-radius: var(--tz-radius-compact); }
  .zc-plan-cta { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: 26px; }
  .zc-plan-alt { font-size: 16px; color: var(--tz-color-muted); }
  .zc-plan-alt a { color: var(--tz-color-navy); text-decoration: underline; text-underline-offset: 3px; }

  .zc-table-wrap { overflow-x: auto; border: 1px solid var(--tz-line-blue); border-radius: var(--tz-radius-compact); background: var(--tz-color-paper); box-shadow: none; }
  .zc-table { border-collapse: collapse; width: 100%; font-size: 14px; }
  .zc-table th {
    text-align: left; font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 11px;
    text-transform: uppercase; letter-spacing: 0.09em; color: var(--tz-color-blue); padding: 12px 16px;
    border-bottom: 1px solid var(--tz-line-blue); white-space: nowrap; background: var(--tz-surface-blue);
  }
  .zc-table td { padding: 12px 16px; border-bottom: 1px solid var(--tz-color-line); color: var(--tz-color-muted); vertical-align: top; line-height: 1.55; }
  .zc-table tr:last-child td { border-bottom: 0; }
  .zc-table .zc-hit { color: var(--zc-success); font-weight: 700; white-space: nowrap; }
  .zc-table .zc-nohit { color: var(--tz-color-muted); white-space: nowrap; }
  .zc-brand-tag {
    font-family: 'Space Grotesk', sans-serif; font-size: 9.5px; letter-spacing: 0.08em;
    text-transform: uppercase; color: var(--tz-color-blue); border: 1px solid var(--tz-line-blue);
    background: var(--tz-surface-blue); border-radius: var(--tz-radius-pill); padding: 2px 8px; margin-left: 6px; white-space: nowrap;
  }

  .zc-sources { list-style: none; margin: 0; padding: 0; max-width: 620px; }
  .zc-sources li { display: flex; align-items: center; gap: 12px; padding: 10px 0; font-size: 16px; color: var(--tz-color-muted); }
  .zc-source-bar-wrap { flex: 1 1 auto; height: 7px; background: var(--tz-color-line); border-radius: var(--tz-radius-pill); overflow: hidden; max-width: 220px; }
  .zc-source-bar { display: block; height: 100%; background: var(--tz-color-blue); border-radius: var(--tz-radius-pill); }
  .zc-sources li.zc-own { color: var(--tz-color-navy); font-weight: 700; }
  .zc-sources li.zc-own .zc-source-bar { background: var(--tz-color-orange); }
  .zc-source-count { font-family: 'Space Grotesk', sans-serif; font-size: 13px; color: var(--tz-color-muted); width: 32px; text-align: right; flex: none; font-variant-numeric: tabular-nums; white-space: nowrap; }
  .zc-own-tag {
    font-family: 'Space Grotesk', sans-serif; font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--tz-color-orange-ink); border: 1px solid var(--tz-line-peach); background: var(--tz-surface-peach);
    border-radius: var(--tz-radius-pill); padding: 2px 8px; font-weight: 500; flex: none;
  }
  .zc-source-name { flex: 0 1 auto; min-width: 130px; overflow-wrap: anywhere; }

  .zc-panel .zc-deepdive { margin-top: 14px; max-width: 860px; }
  .zc-profiles { list-style: none; margin: 0; padding: 0; max-width: 720px; background: var(--tz-color-paper); border: 1px solid var(--tz-color-line); border-radius: var(--tz-radius-compact); box-shadow: none; }
  .zc-profiles li { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--tz-color-line); font-size: 16px; color: var(--tz-color-muted); }
  .zc-profiles li:last-child { border-bottom: 0; }
  .zc-profiles .zc-profile-name { flex: 0 0 190px; font-weight: 700; color: var(--tz-color-navy); }
  .zc-profiles .zc-profile-detail { color: var(--tz-color-muted); font-size: 14px; }
  .zc-profile-pill {
    font-family: 'Space Grotesk', sans-serif; font-weight: 500; font-size: 10px; letter-spacing: 0.1em;
    text-transform: uppercase; border-radius: var(--tz-radius-pill); padding: 4px 10px; border: 1px solid; white-space: nowrap; flex: none;
  }
  .zc-profile-pill.ok { color: var(--zc-success); border-color: rgb(22 101 52 / 28%); background: var(--zc-success-surface); }
  .zc-profile-pill.miss { color: var(--zc-error); border-color: rgb(180 35 24 / 28%); background: var(--zc-error-surface); }
  .zc-profile-pill.neutral { color: var(--tz-color-muted); border-color: var(--tz-color-line); background: var(--tz-color-stone); }
  .zc-sev { position: relative; cursor: help; }
  .zc-sev[data-tip]:hover::after, .zc-sev[data-tip]:focus-visible::after {
    content: attr(data-tip); position: absolute; left: 0; bottom: calc(100% + 8px);
    background: var(--tz-color-navy); color: var(--tz-color-paper); font-family: 'Nunito', sans-serif;
    font-size: 12.5px; font-weight: 400; letter-spacing: 0; text-transform: none;
    line-height: 1.5; padding: 10px 13px; border-radius: var(--tz-radius-compact); width: max-content;
    max-width: 260px; box-shadow: var(--tz-shadow-compact); z-index: 20;
  }
  .zc-person-badges .zc-badge-link a {
    display: inline-flex; align-items: center; gap: 6px; color: inherit; text-decoration: none;
  }
  .zc-person-badges .zc-badge-link a img { width: 12px; height: 12px; display: block; }
  .zc-person-badges .zc-badge-link a { text-decoration: underline; text-decoration-color: var(--tz-color-orange); text-underline-offset: 3px; }
  .zc-person-badges .zc-badge-link a:hover { color: var(--tz-color-action-orange); }
  .zc-disclaimer { font-size: 13px; color: var(--tz-color-muted); max-width: 74ch; margin: 40px 0 0; line-height: 1.6; }

  /* Own display rules (flex/grid/inline-flex) would beat the UA [hidden]
     rule, restore hidden semantics for every zc component explicitly. */
  [id^="zc-"][hidden], .zc-unlock-form[hidden], .zc-unlock-list[hidden],
  .zc-unlock-hint[hidden] { display: none !important; }

  @media (max-width: 991px) {
    .zc-pillars { grid-template-columns: 1fr; }
    .zc-pillar + .zc-pillar { border-left: 0; border-top: 1px solid var(--tz-line-blue); }
  }

  @media (max-width: 767px) {
    .zc-plan-steps { grid-template-columns: 1fr; }
    .zc-plan-step + .zc-plan-step { border-left: 0; border-top: 1px solid var(--tz-line-blue); }
  }

  @media (max-width: 600px) {
    .zc-hero { padding: 112px 0 56px; }
    .zc-report { padding: 56px 0 60px; }
    .zc-form, .zc-mail-form { grid-template-columns: minmax(0, 1fr); }
    .zc-form-label, .zc-mail-label { grid-column: 1; }
    .zc-form input, .zc-form .zc-btn, .zc-mail-form input, .zc-mail-form .zc-btn { width: 100%; }
    .zc-pillar { padding: 24px 20px; }
    .zc-unlock { padding: 24px 22px; }
    .zc-unlock-btn { white-space: normal; }
    .zc-section, .zc-plan-step { padding: 22px 20px; }
    .zc-mail { padding: 22px 20px; }
    .zc-booking { padding: 22px 20px; }
    .zc-plan-cta { align-items: stretch; flex-direction: column; }
    .zc-plan-cta .zc-btn { width: 100%; }
    .zc-table-wrap { scrollbar-gutter: stable; -webkit-overflow-scrolling: touch; }
    .zc-table { min-width: 620px; }
    .zc-sources li { align-items: flex-start; flex-wrap: wrap; }
    .zc-source-name { min-width: 0; flex: 1 1 calc(100% - 54px); }
    .zc-source-bar-wrap { order: 4; flex: 1 1 100%; max-width: none; }
    .zc-profiles li { align-items: flex-start; flex-wrap: wrap; }
    .zc-profiles .zc-profile-name { flex: 1 1 100%; }
    .zc-profiles .zc-profile-detail { flex: 1 1 100%; }
    .zc-profile-pill { white-space: normal; }
    .zc-measure { padding: 24px 20px; }
    .zc-measure-head { display: block; }
    .zc-measure-version { display: inline-flex; margin-top: 14px; }
    .zc-measure-grid { grid-template-columns: 1fr 1fr; }
    .zc-measure-grid > div:nth-child(3) { border-left: 0; }
    .zc-measure-grid > div:nth-child(n + 3) { border-top: 1px solid var(--tz-line-blue); }
    .zc-sev[data-tip]:hover::after, .zc-sev[data-tip]:focus-visible::after {
      right: 0; left: auto; width: min(260px, calc(100vw - 40px)); overflow-wrap: anywhere;
    }
  }

  @media (max-width: 479px) {
    .zc-term-bar { flex-wrap: wrap; }
    .zc-term-title { order: 3; flex: 1 1 100%; margin-left: 0; }
    .zc-stages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .zc-share li { align-items: flex-start; flex-wrap: wrap; }
    .zc-share .zc-share-name { flex: 1 1 calc(100% - 52px); }
    .zc-share-count { order: 2; }
    .zc-share-bar-wrap { order: 3; flex: 1 1 100%; }
    .zc-results li { display: grid; grid-template-columns: 8px minmax(0, 1fr); align-items: start; gap: 4px 10px; }
    .zc-results .zc-r-dot { grid-column: 1; grid-row: 1; align-self: start; margin-top: 6px; }
    .zc-results .zc-r-name { grid-column: 2; grid-row: 1; min-width: 0; }
    .zc-results .zc-r-value {
      grid-column: 2; grid-row: 2; min-width: 0; margin-left: 0; text-align: left;
      white-space: normal; overflow-wrap: anywhere;
    }
    .zc-measure-grid { grid-template-columns: 1fr; }
    .zc-measure-grid > div + div { border-left: 0; border-top: 1px solid var(--tz-line-blue); }
    .zc-report-actions { display: grid; grid-template-columns: 1fr; }
    .zc-report-action { width: 100%; }
  }

  @media (prefers-reduced-motion: reduce) {
    .zc-hero *, .zc-report * {
      animation-duration: 0.01ms !important; animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important; scroll-behavior: auto !important;
    }
    .zc-btn:hover { transform: none; }
  }
