/* ============================================================
   HuntingThreats — Redesign Design System  (v2.0)
   Dark SOC / Threat-Intelligence Platform · Accent #89BD28
   Lädt NACH style.css und überschreibt die Tokens (Rebrand).
   Wiederverwendbare Komponenten: Button, Card, KPI, Badge,
   Table, FilterBar, PageHero, Panel, Newsletter, Footer.
   ============================================================ */

/* ── Design Tokens ─────────────────────────────────────── */
:root {
  /* Flächen */
  --bg-primary:    #050B12;
  --bg-secondary:  #08131D;
  --bg-card:       #0B1722;
  --bg-card-hover: #102235;
  --bg-elevated:   #0E1B28;

  /* Akzent (Brand) */
  --accent:        #89BD28;
  --accent-soft:   #A8D44A;
  --accent-deep:   #6E9C1F;
  --accent-glow:   rgba(137,189,40,0.35);

  /* Legacy-Aliasse, damit bestehende Templates auf Grün kippen */
  --accent-cyan:   #89BD28;
  --accent-green:  #A8D44A;

  /* Ränder */
  --border:        rgba(137,189,40,0.18);
  --border-strong: rgba(137,189,40,0.45);
  --border-neutral: rgba(255,255,255,0.07);

  /* Text */
  --text-primary:   #F4F7FB;
  --text-secondary: #A8B3C2;
  --text-muted:     #6F7B8A;

  /* Severity / semantisch */
  --critical: #FF3B3B;
  --high:     #FF8A00;
  --medium:   #FFD43B;
  --low:      #89BD28;
  --info:     #2EA8FF;
  --purple:   #8B5CF6;

  /* Legacy severity-Aliasse */
  --accent-red:    #FF3B3B;
  --accent-orange: #FF8A00;

  /* Radius */
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 22px;
  --r-pill: 100px;

  /* Schatten */
  --shadow-card: 0 8px 30px rgba(0,0,0,0.35);
  --shadow-glow: 0 0 28px rgba(137,189,40,0.14);

  /* Layout */
  --container: 1360px;
  --header-h: 70px;

  /* Spacing-Rhythmus */
  --sp-section: clamp(3.5rem, 2.5rem + 4vw, 6rem);
}

/* ── Base ──────────────────────────────────────────────── */
body { background: var(--bg-primary); color: var(--text-primary); font-family: 'Inter', system-ui, -apple-system, sans-serif; }
::selection { background: rgba(137,189,40,0.32); color: #fff; }
::-webkit-scrollbar-thumb { background: var(--accent); box-shadow: 0 0 8px var(--accent-glow); }
a { color: inherit; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; }

.ht-container { max-width: var(--container); margin: 0 auto; padding-left: 1.5rem; padding-right: 1.5rem; }
.ht-section   { padding-top: var(--sp-section); padding-bottom: var(--sp-section); }

/* Dezenter Grid-/Glow-Hintergrund (optional pro Section) */
.ht-bg-grid { position: relative; }
.ht-bg-grid::before {
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:linear-gradient(rgba(137,189,40,0.025) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(137,189,40,0.025) 1px,transparent 1px);
  background-size:54px 54px;
  -webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000,transparent 70%);
          mask-image:radial-gradient(ellipse at 50% 0%,#000,transparent 70%);
}
.ht-bg-grid > * { position: relative; z-index: 1; }

/* ── Eyebrow / Section-Head ────────────────────────────── */
.ht-eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:var(--accent); font-family:'JetBrains Mono',monospace; margin-bottom:1rem;
}
.ht-eyebrow .dot { width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 8px var(--accent-glow); }
.ht-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:1.75rem; }
.ht-h2 { font-size:clamp(1.4rem,2.4vw,1.9rem); font-weight:800; letter-spacing:-.5px; color:var(--text-primary); }
.ht-sub { font-size:.92rem; color:var(--text-secondary); margin-top:.4rem; max-width:560px; line-height:1.6; }
.ht-link-all { color:var(--accent); font-size:.85rem; font-weight:600; display:inline-flex; align-items:center; gap:6px; transition:gap .2s; white-space:nowrap; }
.ht-link-all:hover { gap:10px; }

/* ── Buttons ───────────────────────────────────────────── */
.ht-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:inherit; font-size:.9rem; font-weight:700; line-height:1;
  padding:.8rem 1.4rem; border-radius:var(--r-md); cursor:pointer;
  border:1px solid transparent; transition:all .2s; text-decoration:none; white-space:nowrap;
}
.ht-btn--primary { background:var(--accent); color:#04130A; box-shadow:0 0 18px var(--accent-glow); }
.ht-btn--primary:hover { background:var(--accent-soft); box-shadow:0 0 28px var(--accent-glow); transform:translateY(-1px); }
.ht-btn--ghost { background:transparent; color:var(--text-primary); border-color:var(--border-strong); }
.ht-btn--ghost:hover { border-color:var(--accent); color:var(--accent); background:rgba(137,189,40,0.06); }
.ht-btn--soft { background:rgba(137,189,40,0.1); color:var(--accent); border-color:var(--border); }
.ht-btn--soft:hover { background:rgba(137,189,40,0.16); }
.ht-btn--sm { padding:.55rem 1rem; font-size:.82rem; }
.ht-btn--block { width:100%; }

/* ── Badges ────────────────────────────────────────────── */
.ht-badge {
  display:inline-flex; align-items:center; gap:5px; font-size:.66rem; font-weight:800;
  padding:.22rem .7rem; border-radius:var(--r-pill); text-transform:uppercase; letter-spacing:.06em;
  border:1px solid var(--border); background:rgba(137,189,40,0.08); color:var(--accent);
}
.ht-badge--crit   { background:#FF3B3B; color:#fff; border-color:#FF3B3B; }
.ht-badge--high   { background:rgba(255,138,0,0.22);  color:#ffb85a; border-color:rgba(255,138,0,0.55); }
.ht-badge--medium { background:rgba(255,212,59,0.16); color:#ffd84a; border-color:rgba(255,212,59,0.45); }
.ht-badge--low    { background:rgba(137,189,40,0.12); color:var(--accent-soft); border-color:rgba(137,189,40,0.3); }
.ht-badge--info   { background:rgba(46,168,255,0.12); color:#7cc6ff; border-color:rgba(46,168,255,0.3); }
.ht-badge--purple { background:rgba(139,92,246,0.14); color:#b69bf7; border-color:rgba(139,92,246,0.3); }
.ht-badge--neutral{ background:rgba(255,255,255,0.05); color:var(--text-secondary); border-color:var(--border-neutral); }
.ht-badge--mono   { font-family:'JetBrains Mono',monospace; text-transform:none; letter-spacing:0; }

/* ── Card ──────────────────────────────────────────────── */
.ht-card {
  background:var(--bg-card); border:1px solid var(--border); border-radius:var(--r-lg);
  padding:1.25rem; transition:border-color .25s, background .25s, transform .25s, box-shadow .25s;
  position:relative; overflow:hidden;
}
.ht-card--hover:hover, a.ht-card:hover {
  border-color:var(--border-strong); background:var(--bg-card-hover);
  transform:translateY(-3px); box-shadow:var(--shadow-card), var(--shadow-glow);
}
.ht-card__icon {
  width:36px; height:36px; border-radius:var(--r-sm); display:grid; place-items:center;
  font-size:1.05rem; background:rgba(137,189,40,0.07); border:1px solid var(--border);
  color:var(--accent); margin-bottom:.75rem;
}
.ht-card__title { font-size:.97rem; font-weight:700; color:var(--text-primary); margin-bottom:.4rem; }
.ht-card__text  { font-size:.84rem; color:var(--text-secondary); line-height:1.6; }

/* Feature-Grid */
.ht-grid { display:grid; gap:1.25rem; }
.ht-grid--2 { grid-template-columns:repeat(2,1fr); }
.ht-grid--3 { grid-template-columns:repeat(3,1fr); }
.ht-grid--4 { grid-template-columns:repeat(4,1fr); }
.ht-grid--auto { grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); }

/* ── KPI Cards ─────────────────────────────────────────── */
.kpi-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:1rem; }
.kpi-card {
  background:linear-gradient(165deg,var(--bg-card),var(--bg-secondary));
  border:1px solid var(--border); border-radius:var(--r-md); padding:1.1rem 1.25rem;
  position:relative; overflow:hidden; transition:border-color .25s, box-shadow .25s;
}
.kpi-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,var(--accent),var(--accent-soft)); opacity:.7; }
.kpi-card:has(.is-critical)::after { background:var(--critical); opacity:.9; }
.kpi-card:has(.is-high)::after     { background:var(--high); opacity:.9; }
.kpi-card:has(.is-info)::after     { background:var(--info); opacity:.9; }
.kpi-card:hover { border-color:var(--border-strong); box-shadow:var(--shadow-glow); }
.kpi-card__label { font-size:.68rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--text-muted); display:flex; align-items:center; gap:6px; }
.kpi-card__value { font-size:1.6rem; font-weight:800; font-family:'JetBrains Mono',monospace; line-height:1; margin-top:.45rem; color:var(--text-primary); }
.kpi-card__value.is-accent   { color:var(--accent); }
.kpi-card__value.is-critical { color:var(--critical); }
.kpi-card__value.is-high     { color:var(--high); }
.kpi-card__value.is-info     { color:var(--info); }
.kpi-card__delta { font-size:.72rem; margin-top:.4rem; color:var(--text-muted); }
.kpi-card__delta.up { color:var(--accent); } .kpi-card__delta.down { color:var(--critical); }

/* ── Page Hero ─────────────────────────────────────────── */
.page-hero { position:relative; padding:3.5rem 0 2.5rem; border-bottom:1px solid var(--border); overflow:hidden; }
.page-hero__glow { position:absolute; top:-120px; left:50%; transform:translateX(-50%); width:760px; height:360px;
  background:radial-gradient(ellipse,var(--accent-glow) 0%,transparent 65%); opacity:.5; pointer-events:none; }
.page-hero h1 { font-size:clamp(1.9rem,3.6vw,2.8rem); font-weight:800; letter-spacing:-1px; line-height:1.1; color:var(--text-primary); }
.page-hero .grad { background:linear-gradient(120deg,var(--accent),var(--accent-soft)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.page-hero p { font-size:1.05rem; color:var(--text-secondary); max-width:620px; margin-top:1rem; line-height:1.7; }

/* ── Filter Bar ────────────────────────────────────────── */
.filter-bar { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--r-lg); padding:1.25rem; }
.filter-bar__row { display:flex; gap:.75rem; flex-wrap:wrap; align-items:flex-end; }
.filter-field { display:flex; flex-direction:column; gap:.35rem; min-width:160px; flex:1; }
.filter-field label { font-size:.7rem; font-weight:600; text-transform:uppercase; letter-spacing:.05em; color:var(--text-muted); }
.ht-input, .ht-select {
  width:100%; padding:.6rem .85rem; background:var(--bg-secondary); border:1px solid var(--border);
  border-radius:var(--r-sm); color:var(--text-primary); font-family:inherit; font-size:.88rem; outline:none; transition:border-color .2s, box-shadow .2s;
}
.ht-input:focus, .ht-select:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(137,189,40,0.12); }
.ht-input::placeholder { color:var(--text-muted); }
.quick-filters { display:flex; gap:.5rem; flex-wrap:wrap; margin-top:1rem; }
.quick-filter {
  font-size:.78rem; font-weight:600; padding:.4rem .9rem; border-radius:var(--r-pill);
  background:rgba(255,255,255,0.04); border:1px solid var(--border-neutral); color:var(--text-secondary);
  cursor:pointer; transition:all .2s; text-decoration:none;
}
.quick-filter:hover, .quick-filter.is-active { border-color:var(--accent); color:var(--accent); background:rgba(137,189,40,0.08); }

/* ── Table ─────────────────────────────────────────────── */
.ht-table-wrap { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden; }
.ht-table-scroll { overflow-x:auto; }
.ht-table { width:100%; border-collapse:collapse; font-size:.86rem; min-width:760px; }
.ht-table th {
  background:rgba(137,189,40,0.06); color:var(--accent); font-size:.68rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.06em; padding:.85rem 1rem; text-align:left; border-bottom:1px solid var(--border); white-space:nowrap;
}
.ht-table td { padding:.8rem 1rem; border-bottom:1px solid var(--border-neutral); color:var(--text-secondary); vertical-align:middle; }
.ht-table tr:last-child td { border-bottom:none; }
.ht-table tbody tr { transition:background .15s; }
.ht-table tbody tr:hover td { background:rgba(137,189,40,0.04); }
.ht-table .mono { font-family:'JetBrains Mono',monospace; color:var(--accent); }
.ht-table .num  { font-family:'JetBrains Mono',monospace; }

/* ── Dashboard Panel ───────────────────────────────────── */
.panel { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden; }
.panel__head { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:1rem 1.25rem; border-bottom:1px solid var(--border); }
.panel__title { font-size:.95rem; font-weight:700; color:var(--text-primary); display:flex; align-items:center; gap:9px; }
.panel__title::before { content:''; width:3px; height:15px; border-radius:2px; background:linear-gradient(180deg,var(--accent),var(--accent-soft)); box-shadow:0 0 8px var(--accent-glow); }
.panel__body { padding:1.25rem; }

/* Ranked-Liste (Top-Quellen etc.) */
.rank-row { display:flex; align-items:center; gap:.6rem; margin-bottom:.55rem; font-size:.82rem; }
.rank-row .rk { color:var(--text-muted); font-size:.7rem; width:1.3rem; text-align:right; font-family:'JetBrains Mono',monospace; flex-shrink:0; }
.rank-row .nm { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text-secondary); }
.rank-bar { flex:1.4; height:5px; border-radius:3px; background:rgba(255,255,255,0.06); overflow:hidden; }
.rank-bar i { display:block; height:100%; border-radius:3px; box-shadow:0 0 8px; }
.rank-row .ct { font-family:'JetBrains Mono',monospace; font-size:.72rem; color:var(--text-muted); flex-shrink:0; }

/* ── Threat-Level Gauge ────────────────────────────────── */
.gauge-wrap { display:flex; flex-direction:column; align-items:center; gap:.6rem; }
.gauge { position:relative; width:170px; height:170px; }
.gauge__val { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.gauge__num { font-size:2.3rem; font-weight:800; font-family:'JetBrains Mono',monospace; line-height:1; }
.gauge__cap { font-size:.7rem; color:var(--text-muted); margin-top:.2rem; text-transform:uppercase; letter-spacing:.08em; }

/* ── Newsletter CTA ────────────────────────────────────── */
.newsletter-cta {
  position:relative; background:linear-gradient(135deg,var(--bg-card),var(--bg-secondary));
  border:1px solid var(--border-strong); border-radius:var(--r-xl); padding:2.5rem;
  display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; overflow:hidden;
}
.newsletter-cta::before { content:''; position:absolute; top:-80px; right:-40px; width:360px; height:300px;
  background:radial-gradient(ellipse,var(--accent-glow) 0%,transparent 65%); opacity:.5; pointer-events:none; }
.newsletter-cta h3 { font-size:1.4rem; font-weight:800; color:var(--text-primary); position:relative; }
.newsletter-cta p { font-size:.92rem; color:var(--text-secondary); margin-top:.4rem; position:relative; max-width:420px; }
.newsletter-cta form { display:flex; gap:.6rem; flex-wrap:wrap; position:relative; }

/* ============================================================
   HEADER  (Sticky, 9-Punkt-Nav + Aktionen)
   ============================================================ */
.ht-header { position:sticky; top:0; z-index:1000; background:rgba(5,11,18,0.85); backdrop-filter:blur(16px); border-bottom:1px solid var(--border); }
.ht-header__inner { max-width:var(--container); margin:0 auto; height:var(--header-h); padding:0 1.25rem; display:flex; align-items:center; gap:0.6rem; }
.ht-logo { display:flex; align-items:center; gap:0; flex-shrink:0; font-weight:800; font-size:1.06rem; letter-spacing:-.5px; color:var(--text-primary); white-space:nowrap; }
.ht-logo__mark { width:32px; height:32px; margin-right:9px; border-radius:9px; display:grid; place-items:center;
  background:linear-gradient(135deg,var(--accent),var(--accent-deep)); color:#04130A; box-shadow:0 0 16px var(--accent-glow); }
.ht-logo em { font-style:normal; color:var(--accent); }
.ht-nav { flex:1; display:flex; justify-content:center; min-width:0; overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none; }
.ht-nav::-webkit-scrollbar { display:none; }
.ht-nav ul { list-style:none; display:flex; align-items:center; gap:.1rem; margin:0; padding:0; flex-wrap:nowrap; }
.ht-nav a { display:block; padding:.5rem .7rem; border-radius:var(--r-sm); font-size:.83rem; font-weight:500; color:var(--text-secondary); white-space:nowrap; position:relative; transition:color .2s, background .2s; }
.ht-nav a:hover { color:var(--text-primary); background:rgba(137,189,40,0.06); }
.ht-nav a.is-active { color:var(--accent); }
.ht-nav a.is-active::after { content:''; position:absolute; left:.7rem; right:.7rem; bottom:-2px; height:2px; background:var(--accent); border-radius:2px; box-shadow:0 0 8px var(--accent-glow); }
.ht-header__actions { display:flex; align-items:center; gap:.45rem; flex-shrink:0; }
.ht-header__actions .ht-btn { padding:.5rem .85rem; font-size:.8rem; }
.ht-iconbtn { width:38px; height:38px; border-radius:var(--r-sm); display:grid; place-items:center; background:transparent; border:1px solid var(--border); color:var(--text-secondary); cursor:pointer; transition:all .2s; }
.ht-iconbtn:hover { border-color:var(--accent); color:var(--accent); }
.ht-burger { display:none; }
.ht-mobile-nav { border-top:1px solid var(--border); background:var(--bg-secondary); }
.ht-mobile-nav ul { list-style:none; margin:0; padding:.5rem 1rem 1rem; display:flex; flex-direction:column; gap:.15rem; }
.ht-mobile-nav a { display:block; padding:.7rem .8rem; border-radius:var(--r-sm); font-size:.95rem; color:var(--text-secondary); }
.ht-mobile-nav a:hover, .ht-mobile-nav a.is-active { color:var(--accent); background:rgba(137,189,40,0.07); }

/* ============================================================
   FOOTER  (mehrspaltig)
   ============================================================ */
.ht-footer { background:var(--bg-secondary); border-top:1px solid var(--border); margin-top:var(--sp-section); }
.ht-footer__inner { max-width:var(--container); margin:0 auto; padding:3.5rem 1.5rem 2rem; }
.ht-footer__grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr 1fr; gap:2.5rem; }
.ht-footer__about p { font-size:.86rem; color:var(--text-muted); line-height:1.8; margin-top:1rem; max-width:280px; }
.ht-footer__col h4 { font-size:.74rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--text-secondary); margin-bottom:1.1rem; }
.ht-footer__col ul { list-style:none; margin:0; padding:0; }
.ht-footer__col li { margin-bottom:.6rem; }
.ht-footer__col a { font-size:.85rem; color:var(--text-muted); transition:color .2s; }
.ht-footer__col a:hover { color:var(--accent); }
.ht-footer__bottom { border-top:1px solid var(--border); margin-top:2.5rem; padding-top:1.5rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; font-size:.78rem; color:var(--text-muted); }
.ht-footer__bottom .live { display:flex; align-items:center; gap:8px; }
.ht-footer__bottom .live i { width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 8px var(--accent-glow); display:inline-block; }
.ht-social-icon { width:34px; height:34px; background:rgba(255,255,255,.07); border-radius:7px; display:inline-flex; align-items:center; justify-content:center; color:var(--text-muted); text-decoration:none; font-size:1rem; transition:background .2s, color .2s; }
.ht-social-icon:hover { background:rgba(255,255,255,.13); color:var(--text-primary); }

/* ── News Card (global, wiederverwendbar) ──────────────── */
.news-card { display:block; background:var(--bg-card); border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden; text-decoration:none; transition:transform .25s, border-color .25s, box-shadow .25s; }
.news-card:hover { transform:translateY(-4px); border-color:var(--border-strong); box-shadow:var(--shadow-card),var(--shadow-glow); }
.news-card__img { position:relative; height:170px; overflow:hidden; background:linear-gradient(135deg,#0a1119,#0e1b28); }
.news-card__img img { width:100%; height:100%; object-fit:cover; filter:brightness(.8); transition:transform .4s; }
.news-card:hover .news-card__img img { transform:scale(1.05); }
.news-card__cat { position:absolute; top:.8rem; left:.8rem; }
.news-card__body { padding:1.1rem 1.2rem 1.3rem; }
.news-card__title { font-size:.98rem; font-weight:700; color:var(--text-primary); line-height:1.4; margin-bottom:.5rem; }
.news-card__meta { font-size:.74rem; color:var(--text-muted); }

/* ── Demo-Daten-Hinweis ────────────────────────────────── */
.demo-note { display:inline-flex; align-items:center; gap:6px; font-size:.68rem; font-family:'JetBrains Mono',monospace;
  color:var(--medium); background:rgba(255,212,59,0.07); border:1px solid rgba(255,212,59,0.22); padding:.2rem .6rem; border-radius:var(--r-sm); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1200px) {
  .kpi-grid { grid-template-columns:repeat(3,1fr); }
  .ht-footer__grid { grid-template-columns:1.4fr 1fr 1fr; }
}
@media (max-width:980px) {
  .ht-grid--4 { grid-template-columns:repeat(2,1fr); }
  .ht-grid--3 { grid-template-columns:repeat(2,1fr); }
  .ht-nav { display:none; }
  .ht-burger { display:grid; }
}
@media (max-width:640px) {
  .kpi-grid { grid-template-columns:repeat(2,1fr); }
  .ht-grid--2, .ht-grid--3, .ht-grid--4 { grid-template-columns:1fr; }
  .ht-footer__grid { grid-template-columns:1fr 1fr; gap:1.75rem; }
  .ht-header__actions .ht-btn--ghost { display:none; }
  .newsletter-cta { padding:1.75rem; }
}
@media (max-width:420px) {
  .ht-footer__grid { grid-template-columns:1fr; }
}

/* ── Keyframes / Pulse Animations ──────────────────────── */
@keyframes htLogoBeat {
  0%,100% { box-shadow:0 0 16px var(--accent-glow); }
  50%      { box-shadow:0 0 32px rgba(137,189,40,.65); }
}
@keyframes htDotBlink {
  0%,100% { opacity:1;  box-shadow:0 0 8px var(--accent-glow); }
  50%      { opacity:.35; box-shadow:none; }
}
@keyframes htLinePulse {
  0%,100% { opacity:.7; }
  50%      { opacity:1; }
}
@keyframes htGlowFloat {
  0%,100% { opacity:.18; transform:translateX(-50%) scale(1); }
  50%      { opacity:.32; transform:translateX(-50%) scale(1.08); }
}
@keyframes htLiveDot {
  0%,100% { opacity:1; transform:scale(1); }
  50%      { opacity:.4; transform:scale(.75); }
}

.ht-logo__mark    { animation:htLogoBeat 3s ease-in-out infinite; }
.ht-eyebrow .dot  { animation:htDotBlink 2.2s ease-in-out infinite; }
.kpi-card::after  { animation:htLinePulse 2.8s ease-in-out infinite; }
.page-hero__glow  { animation:htGlowFloat 5s ease-in-out infinite; }

/* Nav — 9 Items kompakter */
.ht-nav a { font-size:.75rem; padding:.4rem .38rem; }

@media (prefers-reduced-motion: reduce) {
  .kpi-card::after, .page-hero__glow, .ht-logo__mark, .ht-eyebrow .dot { animation:none; }
}
