:root {
  /* Match identiqa.com/de palette */
  --navy: #0A2540;
  --navy-deep: #061A2E;
  --teal: #00B3A6;
  --teal-bright: #1FD3C5;
  --teal-soft: #E6F7F5;
  /* Identiqa Intelligence accent — investigative, authority */
  --gold: #B8924A;
  --gold-bright: #D4AB5C;
  --gold-soft: #F5EFE0;
  --burgundy: #6B2D3A;
  --paper: #FFFFFF;
  --cream: #F7F5F0;
  --cream-2: #EFEBE2;
  --warm-gray: #F4F1EC;
  --ink: #0A2540;
  --ink-soft: #4A5A6E;
  --ink-mute: #8896A6;
  --line: rgba(10, 37, 64, 0.08);
  --line-strong: rgba(10, 37, 64, 0.14);
  --display: 'Manrope', -apple-system, sans-serif;
  --body: 'Manrope', -apple-system, sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--body);
  background: var(--paper);
  color: var(--ink);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  font-weight: 400;
}
a { color: inherit; }

/* ─── AUDIENCE TOPBAR ───────────────── */
.audience-bar {
  background: var(--navy-deep);
  color: rgba(255,255,255,0.7);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.audience-inner {
  max-width: 1280px; margin: 0 auto;
  padding: 0 40px;
  display: flex; justify-content: space-between;
  align-items: stretch;
  height: 42px;
}
.audience-claim {
  display: flex; align-items: center;
  font-size: 11px; font-weight: 600;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: rgba(255,255,255,0.6);
}
.audience-tabs { display: flex; align-items: stretch; }
.audience-tab {
  display: flex; align-items: center;
  padding: 0 16px;
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.04em;
  color: rgba(255,255,255,0.55);
  text-decoration: none;
  border-left: 1px solid rgba(255,255,255,0.06);
  transition: all 0.2s;
  position: relative;
}
.audience-tab:hover { color: white; background: rgba(255,255,255,0.04); }
.audience-tab.active { color: white; background: rgba(255,255,255,0.04); }
.audience-tab.active::after {
  content: ''; position: absolute;
  bottom: 0; left: 0; right: 0; height: 2px;
  background: var(--teal-bright);
}
.audience-tab.investigative.active::after { background: var(--gold-bright); }
.audience-tab .for { color: rgba(255,255,255,0.35); margin-right: 6px; font-weight: 500; }
.audience-tab .product {
  margin-left: 8px; padding-left: 8px;
  font-size: 10px; font-weight: 500;
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.4);
  border-left: 1px solid rgba(255,255,255,0.12);
}
.audience-tab.investigative .product { color: var(--gold-bright); }
.audience-tab.defensive .product { color: var(--teal-bright); }

/* ─── NAV ─────────────────────────────── */
nav.main {
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--line);
  position: sticky; top: 0; z-index: 100;
}
.nav-inner {
  max-width: 1280px; margin: 0 auto;
  padding: 22px 40px;
  display: flex; justify-content: space-between; align-items: center;
}
.logo-wrap { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; }
.logo-mark { width: 30px; height: 30px; flex-shrink: 0; }
.logo-text {
  font-family: var(--display);
  font-weight: 700; font-size: 24px;
  letter-spacing: -0.04em; color: var(--navy);
  line-height: 1; text-transform: lowercase;
}
.nav-links {
  display: flex; gap: 36px; align-items: center; list-style: none;
}
.nav-item { position: relative; }
.nav-item > a {
  color: var(--ink-soft); text-decoration: none;
  font-size: 14px; font-weight: 500;
  display: inline-flex; align-items: center; gap: 5px;
  padding: 8px 0;
}
.nav-item:hover > a { color: var(--navy); }
.nav-item.has-menu > a::after {
  content: '↓'; font-size: 9px; color: var(--ink-mute);
  margin-left: 3px;
}
.nav-dropdown {
  position: absolute; top: 100%; left: -16px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;
  min-width: 280px;
  box-shadow: 0 20px 50px -10px rgba(10, 37, 64, 0.15);
  opacity: 0; pointer-events: none;
  transform: translateY(8px);
  transition: all 0.2s ease;
}
.nav-item:hover .nav-dropdown {
  opacity: 1; pointer-events: auto;
  transform: translateY(0);
}
.nav-dropdown a {
  display: block;
  padding: 10px 14px;
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.15s;
}
.nav-dropdown a:hover { background: var(--cream); }
.nav-dropdown .item-title {
  font-size: 14px; font-weight: 600;
  color: var(--navy); margin-bottom: 2px;
  display: flex; justify-content: space-between; align-items: center;
}
.nav-dropdown .item-sub {
  font-size: 12px; color: var(--ink-mute);
}
.nav-dropdown .item-status {
  font-size: 9px; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--teal);
  background: var(--teal-soft);
  padding: 2px 7px;
  border-radius: 999px;
}
.nav-dropdown .item-status.next {
  color: var(--ink-mute); background: var(--cream-2);
}
.nav-cta {
  background: var(--navy); color: white;
  padding: 12px 22px; border-radius: 999px;
  text-decoration: none; font-size: 14px; font-weight: 600;
  transition: all .25s;
}
.nav-cta:hover { background: var(--teal); color: var(--navy); }

/* ─── HERO (matches /de — soft, centered, friendly) ── */
.hero {
  background: var(--paper);
  padding: 100px 40px 80px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.hero::before {
  content: ''; position: absolute;
  top: -300px; left: 50%; transform: translateX(-50%);
  width: 1100px; height: 1100px;
  background: radial-gradient(circle,
  rgba(0, 179, 166, 0.08) 0%,
  transparent 60%);
  pointer-events: none;
}
.hero-inner {
  max-width: 920px; margin: 0 auto;
  position: relative;
}
.hero-eyebrow {
  display: inline-block;
  font-size: 13px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--teal);
  background: var(--teal-soft);
  padding: 8px 18px; border-radius: 999px;
  margin-bottom: 32px;
}
h1.hero-title {
  font-family: var(--display);
  font-size: clamp(44px, 6.5vw, 80px);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -0.035em;
  color: var(--navy);
  margin-bottom: 28px;
}
/* The /de uses double-space line breaks — emulate with .break */
h1.hero-title .break { display: inline-block; width: 0; }
h1.hero-title em {
  font-style: normal;
  color: var(--teal);
  font-weight: 600;
}
.hero-sub {
  font-size: 19px;
  line-height: 1.55;
  color: var(--ink-soft);
  max-width: 680px;
  margin: 0 auto 40px;
  font-weight: 400;
}
.hero-cta {
  display: inline-block;
  background: var(--navy); color: white;
  padding: 16px 34px; border-radius: 999px;
  text-decoration: none; font-size: 15px; font-weight: 600;
  transition: all 0.25s;
}
.hero-cta:hover {
  background: var(--teal); color: var(--navy);
  transform: translateY(-2px);
}

/* ─── THREAT NUMBERS (like the /de "Cyberangriffe sind längst Alltag") ─── */
.threat {
  background: var(--cream);
  padding: 100px 40px;
}
.threat-inner { max-width: 1280px; margin: 0 auto; }
.threat-header { text-align: center; margin-bottom: 70px; max-width: 720px; margin-left: auto; margin-right: auto; }
.threat-eyebrow {
  display: inline-block;
  font-size: 13px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--teal);
  margin-bottom: 18px;
}
.threat-title {
  font-family: var(--display);
  font-size: clamp(34px, 4.5vw, 52px);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--navy);
  margin-bottom: 16px;
}
.threat-lead {
  font-size: 17px; line-height: 1.55;
  color: var(--ink-soft);
}
.threat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.threat-card {
  background: white;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 36px 32px;
  text-align: center;
  transition: all 0.25s;
}
.threat-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px -10px rgba(10, 37, 64, 0.10);
  border-color: var(--teal);
}
.threat-icon {
  width: 56px; height: 56px;
  margin: 0 auto 24px;
  background: var(--teal-soft);
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  color: var(--teal);
}
.threat-icon svg { width: 28px; height: 28px; }
.threat-num {
  font-family: var(--display);
  font-size: 44px; font-weight: 700;
  color: var(--navy); line-height: 1;
  letter-spacing: -0.025em;
  margin-bottom: 14px;
}
.threat-label {
  font-size: 15px; font-weight: 600;
  color: var(--navy); margin-bottom: 10px;
}
.threat-detail {
  font-size: 14px; line-height: 1.55;
  color: var(--ink-soft);
}

/* ─── CYBERSECURITY ON THREE LEVELS (matches /de cards) ─── */
.levels {
  background: var(--paper);
  padding: 110px 40px;
}
.levels-inner { max-width: 1280px; margin: 0 auto; }
.levels-header { text-align: center; margin-bottom: 70px; max-width: 720px; margin-left: auto; margin-right: auto; }
.levels-title {
  font-family: var(--display);
  font-size: clamp(34px, 4.5vw, 52px);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--navy);
  margin-bottom: 16px;
}
.levels-lead {
  font-size: 17px; line-height: 1.55;
  color: var(--ink-soft);
}
.levels-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.level-card {
  background: var(--cream);
  border-radius: 20px;
  padding: 40px 36px;
  text-align: center;
  transition: all 0.3s;
  position: relative;
}
.level-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -15px rgba(10, 37, 64, 0.12);
  background: white;
  border: 1px solid var(--teal);
}
.level-num {
  display: inline-flex;
  align-items: center; justify-content: center;
  width: 36px; height: 36px;
  background: var(--navy);
  color: var(--teal);
  border-radius: 50%;
  font-family: var(--display);
  font-size: 14px; font-weight: 700;
  margin-bottom: 24px;
}
.level-icon {
  width: 64px; height: 64px;
  margin: 0 auto 20px;
  background: white;
  border-radius: 16px;
  display: flex; align-items: center; justify-content: center;
  color: var(--teal);
}
.level-icon svg { width: 32px; height: 32px; }
.level-name {
  font-family: var(--display);
  font-size: 26px; font-weight: 700;
  color: var(--navy); margin-bottom: 14px;
  letter-spacing: -0.02em;
}
.level-desc {
  font-size: 15px; line-height: 1.6;
  color: var(--ink-soft);
}

/* ─── DACH BANNER (Identiqa Deutschland has started.) ─── */
.dach-banner {
  background: var(--paper);
  padding: 60px 40px 100px;
}
.dach-banner-inner { max-width: 1180px; margin: 0 auto; }
.dach-card {
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%);
  border-radius: 24px;
  padding: 48px 56px;
  color: white;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 40px;
  align-items: center;
  text-decoration: none;
  transition: transform 0.3s;
  position: relative;
  overflow: hidden;
}
.dach-card::after {
  content: ''; position: absolute;
  top: -150px; right: -100px;
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(0, 179, 166, 0.18) 0%, transparent 60%);
  pointer-events: none;
}
.dach-card:hover { transform: translateY(-3px); }
.dach-flag {
  display: inline-flex; flex-direction: column; gap: 5px;
  position: relative; z-index: 1;
}
.dach-flag span {
  width: 38px; height: 26px;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 4px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 700;
  color: rgba(255,255,255,0.9);
  letter-spacing: 0.04em;
}
.dach-content { position: relative; z-index: 1; }
.dach-pill {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--teal-bright);
  margin-bottom: 12px;
}
.dach-pill::before {
  content: ''; width: 7px; height: 7px;
  border-radius: 50%; background: var(--teal-bright);
  box-shadow: 0 0 10px var(--teal-bright);
}
.dach-headline {
  font-family: var(--display);
  font-size: 32px; font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.15;
  color: white;
}
.dach-headline em { font-style: normal; color: var(--teal-bright); }
.dach-sub {
  font-size: 15px; color: rgba(255,255,255,0.7);
  margin-top: 8px;
}
.dach-arrow {
  background: var(--teal); color: var(--navy);
  padding: 16px 28px; border-radius: 999px;
  font-size: 14px; font-weight: 700;
  display: inline-flex; align-items: center; gap: 8px;
  position: relative; z-index: 1;
  transition: all 0.25s;
  white-space: nowrap;
}
.dach-card:hover .dach-arrow {
  background: var(--teal-bright); transform: translateX(4px);
}

/* ─── PROTECTIONGRID QUESTIONS (matches /de provocative questions) ── */
.grid-questions {
  background: var(--cream);
  padding: 110px 40px;
}
.grid-q-inner { max-width: 1280px; margin: 0 auto; }
.grid-q-header { text-align: center; margin-bottom: 70px; max-width: 720px; margin-left: auto; margin-right: auto; }
.grid-q-headline {
  font-family: var(--display);
  font-size: clamp(34px, 4.5vw, 52px);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--navy);
  margin-bottom: 16px;
}
.grid-q-lead {
  font-size: 17px; line-height: 1.55;
  color: var(--ink-soft);
}
.grid-q-lead strong { color: var(--navy); font-weight: 700; }
.grid-q-lead em { font-style: italic; color: var(--ink-soft); }

.grid-q-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.grid-q {
  background: white;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 32px 28px;
  text-decoration: none;
  color: var(--navy);
  display: flex; justify-content: space-between; align-items: center;
  gap: 20px;
  transition: all 0.25s;
  min-height: 110px;
}
.grid-q:hover {
  border-color: var(--teal);
  transform: translateY(-3px);
  box-shadow: 0 16px 40px -15px rgba(10, 37, 64, 0.10);
}
.grid-q-text {
  font-family: var(--display);
  font-size: 18px; font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.015em;
}
.grid-q-arrow {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--cream);
  display: flex; align-items: center; justify-content: center;
  color: var(--navy);
  flex-shrink: 0;
  transition: all 0.25s;
}
.grid-q:hover .grid-q-arrow {
  background: var(--teal); color: white; transform: translateX(4px);
}

/* ─── BOLD CYBERSECURITY · GLOBAL CHALLENGE ──── */
.expansion {
  background: var(--paper);
  padding: 110px 40px;
}
.expansion-inner { max-width: 1280px; margin: 0 auto; }
.expansion-header { text-align: center; margin-bottom: 70px; max-width: 720px; margin-left: auto; margin-right: auto; }
.expansion-eyebrow {
  display: inline-block;
  font-size: 13px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--teal);
  margin-bottom: 18px;
}
.expansion-headline {
  font-family: var(--display);
  font-size: clamp(34px, 4.5vw, 52px);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--navy);
  margin-bottom: 18px;
}
.expansion-headline em { font-style: normal; color: var(--teal); }
.expansion-lead {
  font-size: 17px;
  line-height: 1.55;
  color: var(--ink-soft);
}
.expansion-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.region-card {
  background: var(--cream);
  border-radius: 20px;
  padding: 36px 32px;
  transition: all 0.25s;
  position: relative;
  overflow: hidden;
}
.region-card.live {
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%);
  color: white;
}
.region-card.live::after {
  content: ''; position: absolute;
  top: 0; right: 0; width: 200px; height: 200px;
  background: radial-gradient(circle at top right, rgba(0, 179, 166, 0.18), transparent 70%);
  pointer-events: none;
}
.region-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 40px -15px rgba(10, 37, 64, 0.12);
}
.region-stage {
  font-size: 12px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ink-mute);
  margin-bottom: 10px;
  display: flex; align-items: center; gap: 8px;
}
.region-stage::before {
  content: ''; width: 7px; height: 7px;
  border-radius: 50%; background: var(--ink-mute);
}
.region-card.live .region-stage { color: var(--teal-bright); }
.region-card.live .region-stage::before {
  background: var(--teal-bright);
  box-shadow: 0 0 8px var(--teal-bright);
}
.region-title {
  font-family: var(--display);
  font-size: 26px; font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--navy);
  margin-bottom: 10px;
  line-height: 1.1;
}
.region-card.live .region-title { color: white; }
.region-meta {
  font-size: 13px;
  color: var(--ink-mute);
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}
.region-card.live .region-meta {
  color: rgba(255,255,255,0.6);
  border-bottom-color: rgba(255,255,255,0.10);
}
.region-list { list-style: none; display: flex; flex-direction: column; gap: 10px; position: relative; z-index: 1; }
.region-list li {
  font-size: 14px; line-height: 1.5;
  color: var(--ink-soft);
  display: flex; align-items: flex-start; gap: 10px;
}
.region-card.live .region-list li { color: rgba(255,255,255,0.85); }
.region-list li::before {
  content: ''; width: 12px; height: 1.5px;
  background: var(--teal); margin-top: 9px;
  flex-shrink: 0; border-radius: 1px;
}
.region-card.live .region-list li::before { background: var(--teal-bright); }
.region-list li.coming { color: var(--ink-mute); }
.region-list li.coming::before {
  background: transparent;
  border-top: 1.5px dashed var(--ink-mute);
  height: 0;
}

/* ─── TWO PRODUCTS / TWO MISSIONS ──────────────── */
.engines {
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%);
  color: white;
  padding: 110px 40px;
  position: relative;
  overflow: hidden;
}
.engines::before {
  content: ''; position: absolute;
  top: -200px; left: -100px;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(0, 179, 166, 0.18) 0%, transparent 60%);
  pointer-events: none;
}
.engines::after {
  content: ''; position: absolute;
  bottom: -200px; right: -100px;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(184, 146, 74, 0.18) 0%, transparent 60%);
  pointer-events: none;
}
.engines-inner { max-width: 1280px; margin: 0 auto; position: relative; }
.engines-header { text-align: center; margin-bottom: 70px; max-width: 760px; margin-left: auto; margin-right: auto; }
.engines-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 12px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  padding: 8px 16px; border-radius: 999px;
  margin-bottom: 24px;
}
.engines-eyebrow .dot-teal {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--teal-bright);
  box-shadow: 0 0 10px var(--teal-bright);
}
.engines-eyebrow .dot-gold {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--gold-bright);
  box-shadow: 0 0 10px var(--gold-bright);
}
.engines h2 {
  font-family: var(--display);
  font-size: clamp(36px, 4.8vw, 56px);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: white;
  margin-bottom: 18px;
}
.engines h2 em.defend { font-style: normal; color: var(--teal-bright); }
.engines h2 em.investigate { font-style: normal; color: var(--gold-bright); }
.engines-lead {
  font-size: 17px; line-height: 1.55;
  color: rgba(255,255,255,0.75);
  max-width: 640px; margin: 0 auto;
}

.engine-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.engine {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 20px;
  padding: 40px 36px;
  transition: all 0.3s;
  position: relative;
}
.engine.defensive:hover {
  border-color: var(--teal-bright);
  background: rgba(0, 179, 166, 0.06);
}
.engine.investigative:hover {
  border-color: var(--gold-bright);
  background: rgba(184, 146, 74, 0.06);
}
.engine-audience-tag {
  display: inline-block;
  font-size: 10px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  background: rgba(255,255,255,0.05);
  padding: 6px 12px;
  border-radius: 999px;
  margin-bottom: 24px;
  border: 1px solid rgba(255,255,255,0.10);
}
.engine.defensive .engine-audience-tag {
  color: var(--teal-bright);
  background: rgba(0, 179, 166, 0.10);
  border-color: rgba(0, 179, 166, 0.30);
}
.engine.investigative .engine-audience-tag {
  color: var(--gold-bright);
  background: rgba(184, 146, 74, 0.10);
  border-color: rgba(184, 146, 74, 0.30);
}
.engine h3 {
  font-family: var(--display);
  font-size: 32px; font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: white;
  margin-bottom: 12px;
}
.engine.defensive h3 em { font-style: normal; color: var(--teal-bright); }
.engine.investigative h3 em { font-style: normal; color: var(--gold-bright); }
.engine-mission {
  font-size: 13px; font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}
.engine.defensive .engine-mission { color: var(--teal-bright); }
.engine.investigative .engine-mission { color: var(--gold-bright); }
.engine-claim {
  font-size: 15px; line-height: 1.6;
  color: rgba(255,255,255,0.78);
  margin-bottom: 24px;
}
.engine-ai {
  display: flex; align-items: center; gap: 10px;
  font-size: 12px; font-weight: 600;
  color: rgba(255,255,255,0.85);
  margin-bottom: 24px;
  padding: 12px 14px;
  background: rgba(255,255,255,0.04);
  border-radius: 8px;
}
.engine.defensive .engine-ai { color: var(--teal-bright); background: rgba(0, 179, 166, 0.08); }
.engine.investigative .engine-ai { color: var(--gold-bright); background: rgba(184, 146, 74, 0.08); }
.engine-ai::before {
  content: ''; width: 7px; height: 7px;
  border-radius: 50%; background: currentColor;
  box-shadow: 0 0 8px currentColor;
}
.engine-products-label {
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(255,255,255,0.4);
  margin-bottom: 14px;
}
.engine-products {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.engine-product {
  font-size: 13px; font-weight: 500;
  color: rgba(255,255,255,0.85);
  padding: 8px 0;
  display: flex; align-items: center; gap: 8px;
}
.engine-product::before {
  content: ''; width: 6px; height: 6px;
  border-radius: 1px;
  flex-shrink: 0;
}
.engine.defensive .engine-product::before { background: var(--teal-bright); }
.engine.investigative .engine-product::before { background: var(--gold-bright); }

/* ─── COMPLIANCE STRIP ────────── */
.compliance {
  background: var(--paper);
  padding: 70px 40px;
  text-align: center;
  border-bottom: 1px solid var(--line);
}
.compliance-inner { max-width: 1180px; margin: 0 auto; }
.compliance-label {
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--ink-mute);
  margin-bottom: 28px;
}
.compliance-row {
  display: flex; justify-content: center; align-items: center;
  gap: 56px; flex-wrap: wrap;
}
.compliance-badge {
  font-family: var(--display);
  font-size: 20px; font-weight: 700;
  color: var(--navy);
  letter-spacing: -0.015em;
  opacity: 0.5;
  transition: opacity 0.2s;
  text-align: center;
}
.compliance-badge:hover { opacity: 1; }
.compliance-badge small {
  display: block; font-family: var(--body);
  font-size: 10px; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--ink-mute);
  margin-top: 4px;
}

/* ─── CONSULTATION (matches /de consultation block style) ─── */
.consult {
  background: var(--cream);
  padding: 110px 40px;
}
.consult-inner {
  max-width: 1180px; margin: 0 auto;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 60px;
  align-items: center;
}
.consult-text h2 {
  font-family: var(--display);
  font-size: clamp(36px, 4.8vw, 52px);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--navy);
  margin-bottom: 18px;
}
.consult-text h2 em { font-style: normal; color: var(--teal); }
.consult-text p {
  font-size: 17px; line-height: 1.55;
  color: var(--ink-soft);
  margin-bottom: 32px;
}
.consult-actions {
  display: flex; gap: 14px; flex-wrap: wrap;
}
.btn-primary {
  background: var(--navy); color: white;
  padding: 16px 32px; border-radius: 999px;
  text-decoration: none; font-size: 15px; font-weight: 600;
  transition: all 0.25s;
}
.btn-primary:hover { background: var(--teal); color: var(--navy); }
.btn-secondary {
  color: var(--navy);
  padding: 16px 24px;
  text-decoration: none; font-size: 15px; font-weight: 600;
  border-bottom: 1.5px solid var(--teal);
  padding-bottom: 6px;
}
.consult-visual {
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%);
  border-radius: 24px;
  aspect-ratio: 4/3;
  position: relative;
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.consult-visual::before {
  content: ''; position: absolute;
  top: -150px; right: -100px;
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(0, 179, 166, 0.20) 0%, transparent 60%);
}
.consult-visual-content {
  text-align: center; color: white; position: relative; z-index: 1;
  padding: 40px;
}
.consult-visual-content .num {
  font-family: var(--display);
  font-size: 64px; font-weight: 700;
  color: var(--teal-bright); line-height: 1;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}
.consult-visual-content .label {
  font-size: 16px; font-weight: 600;
  color: white;
  margin-bottom: 6px;
}
.consult-visual-content .sub {
  font-size: 13px;
  color: rgba(255,255,255,0.6);
}

/* ─── FOOTER ────────────────── */
footer {
  background: var(--navy-deep);
  color: rgba(255, 255, 255, 0.7);
  padding: 90px 40px 40px;
  position: relative;
  overflow: hidden;
}
footer::before {
  content: ''; position: absolute;
  top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg,
  transparent,
  rgba(0, 179, 166, 0.4) 30%,
  rgba(184, 146, 74, 0.4) 70%,
  transparent);
}
.footer-inner { max-width: 1280px; margin: 0 auto; position: relative; }

/* Top section: brand + headline */
.footer-top {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 80px;
  padding-bottom: 60px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  margin-bottom: 60px;
}
.footer-brand .logo-wrap { display: inline-flex; }
.footer-brand .logo-text { color: white; }
.footer-brand p {
  font-size: 15px; line-height: 1.6;
  color: rgba(255, 255, 255, 0.6);
  max-width: 420px; margin-top: 24px;
  font-weight: 400;
}
.footer-newsletter h5 {
  font-size: 13px; font-weight: 700;
  letter-spacing: 0.04em;
  color: white;
  margin-bottom: 8px;
}
.footer-newsletter p {
  font-size: 14px; color: rgba(255,255,255,0.55);
  margin-bottom: 18px; line-height: 1.55;
}
.footer-newsletter form {
  display: flex; gap: 8px;
}
.footer-newsletter input {
  flex: 1;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  color: white;
  padding: 12px 16px;
  border-radius: 8px;
  font-family: var(--body);
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s;
}
.footer-newsletter input:focus { border-color: var(--teal-bright); }
.footer-newsletter input::placeholder { color: rgba(255,255,255,0.35); }
.footer-newsletter button {
  background: var(--teal); color: var(--navy-deep);
  padding: 12px 20px;
  border-radius: 8px;
  border: none;
  font-family: var(--body);
  font-size: 14px; font-weight: 700;
  cursor: pointer;
  transition: background 0.2s;
}
.footer-newsletter button:hover { background: var(--teal-bright); }

/* Middle: solutions section header */
.footer-section-divider {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 24px;
  align-items: center;
  margin-bottom: 32px;
}
.footer-section-divider .label {
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: rgba(255,255,255,0.5);
}
.footer-section-divider .label.teal { color: var(--teal-bright); }
.footer-section-divider .label.gold { color: var(--gold-bright); }
.footer-section-divider .line {
  height: 1px;
  background: rgba(255,255,255,0.10);
}

/* Solutions block: ProtectionGrid + Identiqa Intelligence side by side */
.footer-solutions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  padding-bottom: 50px;
  margin-bottom: 50px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}
.footer-solution {
  border-left: 2px solid rgba(255,255,255,0.10);
  padding-left: 28px;
}
.footer-solution.defensive { border-left-color: var(--teal); }
.footer-solution.investigative { border-left-color: var(--gold); }
.footer-solution h5 {
  font-family: var(--display);
  font-size: 18px; font-weight: 700;
  color: white;
  margin-bottom: 4px;
  letter-spacing: -0.02em;
}
.footer-solution h5 em {
  font-style: normal;
}
.footer-solution.defensive h5 em { color: var(--teal-bright); }
.footer-solution.investigative h5 em { color: var(--gold-bright); }
.footer-solution .audience-line {
  font-size: 11px; font-weight: 600;
  letter-spacing: 0.06em;
  color: rgba(255,255,255,0.45);
  margin-bottom: 18px;
}
.footer-solution-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 20px;
  list-style: none;
}
.footer-solution-grid li a,
.footer-solution-grid li span {
  color: rgba(255,255,255,0.85);
  font-size: 14px;
  text-decoration: none;
  transition: color 0.2s;
  display: block;
  padding: 4px 0;
}
.footer-solution.defensive .footer-solution-grid a:hover { color: var(--teal-bright); }
.footer-solution.investigative .footer-solution-grid a:hover { color: var(--gold-bright); }

/* Lower columns: Technology / Regions / Company */
.footer-cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 60px;
  padding-bottom: 50px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}
.footer-col h4 {
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 22px;
}
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.footer-col a {
  color: white; text-decoration: none;
  font-size: 14px; transition: color 0.2s;
  font-weight: 400;
}
.footer-col a:hover { color: var(--teal-bright); }
.footer-col li.future,
.footer-col li.prep,
.footer-col li.future-2027 {
  color: rgba(255, 255, 255, 0.55); font-size: 14px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 8px;
}
.footer-col li.future::after,
.footer-col li.prep::after,
.footer-col li.future-2027::after {
  font-size: 9px; font-weight: 700;
  letter-spacing: 0.10em; text-transform: uppercase;
  background: rgba(0, 179, 166, 0.12);
  color: var(--teal-bright);
  padding: 3px 7px; border-radius: 4px;
  border: 1px solid rgba(0, 179, 166, 0.20);
  flex-shrink: 0;
}
.footer-col li.future::after { content: 'next'; }
.footer-col li.prep::after { content: 'in prep'; }
.footer-col li.future-2027::after {
  content: '2027';
  background: rgba(184, 146, 74, 0.12);
  color: var(--gold-bright);
  border-color: rgba(184, 146, 74, 0.20);
}

/* Footer bottom */
.footer-bottom {
  padding-top: 40px;
  display: flex; justify-content: space-between;
  align-items: center;
  flex-wrap: wrap; gap: 20px;
}
.footer-bottom-left {
  display: flex; align-items: center; gap: 16px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.45);
}
.footer-bottom-left .sep {
  width: 4px; height: 4px; border-radius: 50%;
  background: rgba(255,255,255,0.2);
}
.footer-bottom-right {
  display: flex; align-items: center; gap: 28px;
  font-size: 12px;
}
.footer-bottom-right a {
  color: rgba(255, 255, 255, 0.55);
  text-decoration: none;
  transition: color 0.2s;
}
.footer-bottom-right a:hover { color: white; }
.footer-social {
  display: flex; gap: 10px;
  margin-left: 20px;
  padding-left: 20px;
  border-left: 1px solid rgba(255,255,255,0.10);
}
.footer-social a {
  width: 32px; height: 32px;
  border-radius: 8px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.10);
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,0.6);
  transition: all 0.2s;
}
.footer-social a:hover {
  background: var(--teal);
  color: var(--navy-deep);
  border-color: var(--teal);
}
.footer-social svg { width: 14px; height: 14px; }

@media (max-width: 900px) {
  .audience-tabs { display: none; }
  .audience-claim { font-size: 10px; letter-spacing: 0.14em; }
  .nav-links { display: none; }
  .threat-grid, .levels-grid, .grid-q-grid, .expansion-grid, .engine-grid {
    grid-template-columns: 1fr;
  }
  .dach-card { grid-template-columns: 1fr; gap: 24px; padding: 40px 32px; }
  .dach-flag { flex-direction: row; }
  .consult-inner { grid-template-columns: 1fr; gap: 32px; }
  .compliance-row { gap: 32px; }
  .footer-top { grid-template-columns: 1fr; gap: 40px; }
  .footer-solutions { grid-template-columns: 1fr; gap: 36px; }
  .footer-solution-grid { grid-template-columns: 1fr; }
  .footer-cols { grid-template-columns: 1fr; gap: 36px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 20px; }
  .footer-bottom-right { flex-direction: column; align-items: flex-start; gap: 16px; }
  .footer-social { margin-left: 0; padding-left: 0; border-left: none; }
  .hero { padding: 70px 24px 50px; }
  .threat, .levels, .dach-banner, .grid-questions, .expansion, .engines, .consult {
    padding: 80px 24px;
  }
}