:root {
  /* Layer 1: global semantic tokens */
  --semantic-bg-canvas: #f7f9fc;
  --semantic-bg-surface: #ffffff;
  --semantic-bg-elevated: #eef3fa;
  --semantic-text-primary: #0f172a;
  --semantic-text-secondary: #334155;
  --semantic-text-muted: #64748b;
  --semantic-border-default: #d6deea;

  /* Layer 2: master-brand tokens (Aymentis) */
  --brand-aymentis-accent: #1f6feb;
  --brand-aymentis-accent-hover: #1557c9;

  /* Layer 3: product accent tokens */
  --product-controlgate: #fa582d;
  --product-contractlens: #2f6bff;
  --product-agentready: #00a3a3;
  --product-auditledger: #7a5af8;
  --product-aymentis-shield: #c43d8f;
  --accent-controlgate: var(--product-controlgate);
  --accent-contractlens: var(--product-contractlens);
  --accent-agentready: var(--product-agentready);
  --accent-auditledger: var(--product-auditledger);
  --accent-aymentis-shield: var(--product-aymentis-shield);

  /* Layer 4: component alias tokens consumed by UI */
  --alias-bg-page: var(--semantic-bg-canvas);
  --alias-bg-surface: var(--semantic-bg-surface);
  --alias-bg-elevated: var(--semantic-bg-elevated);
  --alias-text-primary: var(--semantic-text-primary);
  --alias-text-secondary: var(--semantic-text-secondary);
  --alias-text-muted: var(--semantic-text-muted);
  --alias-border-default: var(--semantic-border-default);
  --alias-brand-accent: var(--brand-aymentis-accent);
  --alias-brand-accent-hover: var(--brand-aymentis-accent-hover);

  /* Backwards-compatible aliases */
  --bg-primary: var(--alias-bg-page);
  --bg-surface: var(--alias-bg-surface);
  --bg-elevated: var(--alias-bg-elevated);
  --text-primary: var(--alias-text-primary);
  --text-secondary: var(--alias-text-secondary);
  --text-muted: var(--alias-text-muted);
  --border-default: var(--alias-border-default);
  --brand-accent: var(--alias-brand-accent);
  --brand-accent-hover: var(--alias-brand-accent-hover);
  --success: #158a55;
  --warning: #b7791f;
  --danger: #c9364a;
  --info: #2f7ef7;
  --radius-card: 14px;
  --radius-btn: 10px;
  --shadow-low: 0 4px 16px rgba(15, 23, 42, 0.08);
  --shadow-med: 0 10px 28px rgba(15, 23, 42, 0.14);
  --container-content: 1200px;
}


*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  font-family: Inter, "Segoe UI", system-ui, sans-serif;
  background: linear-gradient(180deg, var(--bg-primary), var(--bg-elevated));
  color: var(--text-primary);
  line-height: 1.6;
}


/* Casual copy deterrence without visual layout changes */
html.anti-copy-enabled,
html.anti-copy-enabled body {
  -webkit-touch-callout: none;
}

html.anti-copy-enabled body :where(
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  span,
  small,
  strong,
  em,
  li,
  dt,
  dd,
  blockquote,
  figcaption,
  th,
  td,
  a,
  label,
  summary,
  code,
  pre
) {
  -webkit-user-select: none;
  user-select: none;
}

html.anti-copy-enabled body :is(
  input,
  textarea,
  select,
  option,
  [contenteditable],
  [data-allow-copy]
) {
  -webkit-user-select: text;
  user-select: text;
}

body.theme-home-premium {
  --brand-accent: #4a8dff;
  --brand-accent-hover: #2f6bff;
  --text-primary: #e8edf8;
  --text-secondary: #b0bdd6;
  --text-muted: #7e90b4;
  --border-default: rgba(100, 140, 220, 0.18);
  --bg-surface: rgba(12, 22, 48, 0.85);
  --shadow-low: 0 4px 16px rgba(2, 6, 18, 0.3);
  --shadow-med: 0 12px 32px rgba(2, 6, 18, 0.4);
  position: relative;
  overflow-x: clip;
  background:
    radial-gradient(ellipse at 20% 20%, rgba(74, 141, 255, 0.1), transparent 50%),
    radial-gradient(ellipse at 80% 60%, rgba(122, 90, 248, 0.06), transparent 45%),
    radial-gradient(ellipse at 50% 90%, rgba(74, 141, 255, 0.04), transparent 40%),
    linear-gradient(180deg, #080e1e 0%, #0c1630 40%, #0e1a38 70%, #0a1228 100%);
  color: #e8edf8;
}

body.theme-home-premium::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(transparent 0, transparent calc(100% - 1px), rgba(100, 150, 230, 0.04) 100%),
    linear-gradient(90deg, transparent 0, transparent calc(100% - 1px), rgba(100, 150, 230, 0.04) 100%);
  background-size: 60px 60px;
  pointer-events: none;
  opacity: 0.3;
  z-index: 0;
}

body.theme-controlgate {
  --bg-primary: #0a0b10;
  --bg-surface: #111114;
  --bg-elevated: #1a1a1e;
  --text-primary: #ffffff;
  --text-secondary: #e0e0e0;
  --text-muted: #fa582d;
  --border-default: #5c2e1a;
  --brand-accent: var(--accent-controlgate);
  --brand-accent-hover: #e64a22;
  --success: #1ec28b;
  --warning: #f3b33d;
  --danger: #ef5a72;
  --info: var(--accent-controlgate);
  --shadow-low: 0 4px 16px rgba(0, 0, 0, 0.28);
  --shadow-med: 0 10px 28px rgba(0, 0, 0, 0.38);
  position: relative;
  overflow-x: clip;
  background: radial-gradient(circle at 20% -10%, rgba(250, 88, 45, 0.22) 0, var(--bg-primary) 45%);
}

body.theme-controlgate::before {
  display: none;
}

a {
  color: inherit;
  text-decoration: none;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible {
  outline: 3px solid rgba(31, 111, 235, 0.35);
  outline-offset: 2px;
}

.container {
  width: min(var(--container-content), 100% - 32px);
  margin: 0 auto;
}

#site-header {
  position: sticky;
  top: 0;
  z-index: 20;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(247, 249, 252, 0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--border-default);
}

.theme-home-premium .site-header {
  background: rgba(8, 14, 30, 0.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(100, 150, 230, 0.15);
}

.theme-controlgate .site-header {
  background: rgba(7, 13, 29, 0.82);
  border-bottom: 1px solid rgba(121, 148, 196, 0.32);
}

.header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
}

.header-row-no-logo {
  padding: 12px 0;
}

.header-row-no-logo .site-nav {
  margin-right: auto;
}

.header-row-no-logo .cta-row {
  margin-left: 12px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-weight: 700;
  letter-spacing: 0.2px;
}

.brand-logo-wrap {
  display: inline-flex;
  align-items: center;
}

.brand-logo {
  display: block;
  width: 154px;
  height: auto;
  border-radius: 4px;
}

.brand-dot {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: var(--brand-accent);
  box-shadow: 0 0 14px rgba(31, 111, 235, 0.5);
}

.theme-controlgate .brand-dot {
  box-shadow: 0 0 20px rgba(250, 88, 45, 0.75);
}

.theme-home-premium .brand {
  color: #e8edf8;
}

.theme-controlgate .brand {
  color: #eaf0ff;
}

.theme-home-premium .brand-logo,
.theme-controlgate .brand-logo,
.theme-aymentis-shield .brand-logo,
.theme-auditledger .brand-logo,
.theme-agentready .brand-logo,
.theme-products .brand-logo {
  filter: none;
}

.theme-home-premium .site-nav a {
  color: #9eaec8;
}

.theme-controlgate .site-nav a {
  color: #c6d6fb;
}

.theme-home-premium .site-nav a:hover,
.theme-home-premium .site-nav a[aria-current="page"] {
  color: #ffffff;
}

.theme-controlgate .site-nav a:hover,
.theme-controlgate .site-nav a[aria-current="page"] {
  color: #f4f7ff;
}

.site-nav {
  display: flex;
  gap: 18px;
  align-items: center;
  flex-wrap: wrap;
}

.site-nav a {
  color: var(--text-secondary);
  font-size: 14px;
}

.site-nav a:hover,
.site-nav a[aria-current="page"] {
  color: var(--text-primary);
}

.site-nav a[aria-current="page"] {
  font-weight: 600;
}

.cta-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: var(--radius-btn);
  padding: 10px 14px;
  font-weight: 600;
  font-size: 14px;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.btn-primary {
  background: var(--brand-accent);
  color: #fff;
}

.btn-primary:hover {
  background: var(--brand-accent-hover);
}

.btn-secondary {
  border-color: var(--border-default);
  color: var(--text-secondary);
  background: transparent;
}

.btn-secondary:hover {
  color: var(--text-primary);
  border-color: #aebbd0;
}

.hero {
  padding: clamp(72px, 9vw, 128px) 0 clamp(40px, 5vw, 64px);
}

.hero-shell {
  border: 1px solid rgba(214, 222, 234, 0.75);
  border-radius: 22px;
  padding: clamp(24px, 4vw, 40px);
  background: linear-gradient(140deg, #0f1a34 0%, #122147 42%, #16295a 100%);
  box-shadow:
    0 20px 50px rgba(15, 23, 42, 0.24),
    inset 0 0 0 1px rgba(255, 255, 255, 0.05);
  position: relative;
  overflow: hidden;
}

.hero-shell::before {
  content: "";
  position: absolute;
  inset: -10% -5% auto auto;
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, rgba(250, 88, 45, 0.18), transparent 70%);
  pointer-events: none;
  animation: hero-glow-drift 10s ease-in-out infinite;
}

.hero-home .hero-layout {
  align-items: center;
}

.hero-controlgate .hero-layout {
  align-items: center;
}

.hero-visual-card {
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 16px;
  overflow: hidden;
  background: rgba(8, 17, 38, 0.72);
  box-shadow: 0 14px 32px rgba(5, 11, 26, 0.35);
}

.hero-data-panel {
  border: 1px solid rgba(130, 162, 224, 0.34);
  border-radius: 16px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(10, 20, 43, 0.95), rgba(12, 23, 50, 0.95));
  box-shadow: 0 16px 34px rgba(3, 9, 22, 0.42);
}

.hero-visual-image {
  width: 100%;
  display: block;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.hero-visual-copy {
  padding: 14px 16px 18px;
}

.hero-stat-grid {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.hero-data-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.hero-data-grid div {
  border: 1px solid rgba(130, 162, 224, 0.3);
  border-radius: 12px;
  background: rgba(16, 29, 59, 0.72);
  padding: 10px 12px;
}

.hero-data-grid dt {
  margin: 0;
  font-size: 11px;
  color: #95abd8;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}

.hero-data-grid dd {
  margin: 4px 0 0;
  font-size: 14px;
  color: #ecf2ff;
  font-weight: 600;
}

.hero-wave-graphic {
  width: 100%;
  margin-top: 12px;
  border-radius: 10px;
  border: 1px solid rgba(130, 162, 224, 0.3);
  background: rgba(12, 23, 50, 0.68);
}

.controlgate-hero-shell {
  padding: clamp(24px, 4vw, 38px);
}

.controlgate-wave-banner {
  width: 100%;
  margin-top: 14px;
  border-radius: 12px;
  border: 1px solid var(--border-default);
  background: rgba(12, 11, 14, 0.92);
}

.theme-home-premium .hero h1,
.theme-home-premium .hero p,
.theme-home-premium .hero .hero-panel h3,
.theme-home-premium .hero .hero-proof-list li,
.theme-home-premium .hero .trust-pill,
.theme-home-premium .hero .kicker,
.theme-home-premium .hero .hero-visual-copy h3,
.theme-controlgate .hero h1,
.theme-controlgate .hero p,
.theme-controlgate .hero .hero-panel h3,
.theme-controlgate .hero .hero-proof-list li,
.theme-controlgate .hero .trust-pill,
.theme-controlgate .hero .kicker,
.theme-controlgate .hero .hero-visual-copy h3 {
  color: #eaf0ff;
}

.theme-home-premium .hero .eyebrow,
.theme-controlgate .hero .eyebrow {
  color: #dbe7ff;
  border-color: rgba(219, 231, 255, 0.36);
  background: rgba(219, 231, 255, 0.08);
}

.theme-home-premium .hero .trust-pill,
.theme-controlgate .hero .trust-pill {
  border-color: rgba(219, 231, 255, 0.24);
  background: rgba(219, 231, 255, 0.08);
}

.theme-home-premium .hero .btn-secondary,
.theme-controlgate .hero .btn-secondary {
  border-color: rgba(219, 231, 255, 0.28);
  color: #dbe7ff;
}

.theme-home-premium .hero .btn-secondary:hover,
.theme-controlgate .hero .btn-secondary:hover {
  border-color: rgba(219, 231, 255, 0.44);
  color: #ffffff;
}

.theme-home-premium .hero .chip,
.theme-controlgate .hero .chip {
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.08);
}

.theme-home-premium .hero .chip-brand,
.theme-controlgate .hero .chip-brand {
  color: #c6dcff;
}

.theme-home-premium .hero .chip-controlgate,
.theme-controlgate .hero .chip-controlgate {
  color: #ffd6ca;
}

.theme-home-premium .hero .chip-auditledger,
.theme-controlgate .hero .chip-auditledger {
  color: #daccff;
}

.theme-home-premium .section-soft {
  position: relative;
  overflow: hidden;
}

.theme-home-premium .section-soft::before {
  content: "";
  position: absolute;
  width: 560px;
  height: 560px;
  top: -200px;
  right: -180px;
  background: radial-gradient(circle, rgba(74, 141, 255, 0.12), transparent 70%);
  pointer-events: none;
}

.theme-controlgate .section-soft::before {
  content: "";
  position: absolute;
  width: 460px;
  height: 460px;
  top: -180px;
  right: -140px;
  background: radial-gradient(circle, rgba(31, 111, 235, 0.12), transparent 72%);
  pointer-events: none;
}

.theme-controlgate .hero {
  background: transparent;
  border-bottom: 1px solid rgba(250, 88, 45, 0.22);
}

.hero-layout {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 24px;
  align-items: start;
}

.hero-panel {
  border: 1px solid var(--border-default);
  border-top: 3px solid var(--brand-accent);
  border-radius: var(--radius-card);
  background: linear-gradient(180deg, #ffffff, #f7f9fc);
  box-shadow: var(--shadow-med);
  padding: 22px;
  position: relative;
  overflow: hidden;
}

.hero-panel::after {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  right: -70px;
  top: -90px;
  background: radial-gradient(circle, rgba(31, 111, 235, 0.15), transparent 70%);
  pointer-events: none;
}

.hero-panel > * {
  position: relative;
  z-index: 1;
}

.hero-panel h3 {
  margin: 0 0 10px;
  font-size: 22px;
}

.hero-proof-list {
  margin: 0;
  padding-left: 18px;
}

.hero-proof-list li {
  margin: 8px 0;
  color: var(--text-secondary);
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid var(--border-default);
  background: rgba(255, 255, 255, 0.8);
  color: var(--text-secondary);
  font-size: 12px;
  letter-spacing: 0.7px;
  text-transform: uppercase;
}

.hero h1 {
  margin: 0 0 16px;
  font-size: clamp(36px, 5vw, 56px);
  line-height: 1.08;
  letter-spacing: -0.03em;
  font-weight: 800;
  max-width: 18ch;
}

.hero p {
  margin: 0;
  color: var(--text-secondary);
  max-width: 65ch;
  font-size: 18px;
}

.trust-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-top: 26px;
}

.section-soft {
  background: linear-gradient(180deg, rgba(238, 243, 250, 0.95), rgba(247, 249, 252, 0.95));
  border-top: 1px solid rgba(214, 222, 234, 0.85);
  border-bottom: 1px solid rgba(214, 222, 234, 0.85);
}

.section-surface {
  background: rgba(255, 255, 255, 0.92);
  border-top: 1px solid rgba(214, 222, 234, 0.85);
  border-bottom: 1px solid rgba(214, 222, 234, 0.85);
}

.theme-home-premium .section-soft,
.theme-home-premium .section-surface {
  background: rgba(10, 18, 36, 0.5);
  border-top: none;
  border-bottom: none;
}

.theme-controlgate .section-soft,
.theme-controlgate .section-surface {
  background: transparent;
  border-top: 1px solid rgba(121, 148, 196, 0.22);
  border-bottom: 1px solid rgba(121, 148, 196, 0.22);
}

.theme-home-premium .section-title {
  color: #ffffff;
}

.theme-controlgate .section-title {
  color: #eef4ff;
}

.theme-home-premium .section-subtitle,
.theme-home-premium .muted {
  color: #8e9fc0;
}

.theme-controlgate .section-subtitle,
.theme-controlgate .muted {
  color: #b8c9ee;
}

.theme-home-premium .card,
.theme-home-premium .metric-card,
.theme-home-premium .step,
.theme-home-premium .faq details {
  background: rgba(14, 26, 56, 0.7);
  border: 1px solid rgba(100, 160, 255, 0.18);
  box-shadow: 0 4px 20px rgba(2, 6, 18, 0.35), 0 0 1px rgba(74, 141, 255, 0.25);
  color: #e0e8f8;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: transform 0.3s, border-color 0.3s, box-shadow 0.3s;
}
.theme-home-premium .card:hover,
.theme-home-premium .metric-card:hover,
.theme-home-premium .step:hover {
  border-color: rgba(74, 141, 255, 0.45);
  box-shadow: 0 8px 36px rgba(2, 6, 18, 0.45), 0 0 20px rgba(74, 141, 255, 0.12);
  transform: translateY(-3px);
}
.theme-home-premium .cta-band {
  background: linear-gradient(135deg, rgba(74, 141, 255, 0.16), rgba(122, 90, 248, 0.1));
  border: 1px solid rgba(74, 141, 255, 0.28);
  box-shadow: 0 6px 30px rgba(2, 6, 18, 0.35);
  color: #e0e8f8;
}

.theme-controlgate .card,
.theme-controlgate .metric-card,
.theme-controlgate .step,
.theme-controlgate .faq details,
.theme-controlgate .cta-band {
  background: linear-gradient(180deg, rgba(16, 28, 56, 0.94), rgba(11, 20, 42, 0.94));
  border: 1px solid rgba(121, 148, 196, 0.32);
  box-shadow: 0 16px 38px rgba(2, 8, 20, 0.38);
}

.theme-home-premium .card h3,
.theme-home-premium .metric-card h3,
.theme-home-premium .step strong,
.theme-home-premium .faq summary {
  color: #eaf0ff;
}

.theme-controlgate .card h3,
.theme-controlgate .metric-card h3,
.theme-controlgate .step strong,
.theme-controlgate .faq summary {
  color: #eaf0ff;
}

.theme-home-premium .card p,
.theme-home-premium .metric-card p,
.theme-home-premium .list li,
.theme-home-premium .step small,
.theme-home-premium .faq p {
  color: #b0c0e0;
}

.theme-controlgate .card p,
.theme-controlgate .metric-card p,
.theme-controlgate .list li,
.theme-controlgate .step small,
.theme-controlgate .faq p {
  color: #c8d7f5;
}

.theme-home-premium .kicker {
  color: #6da8ff;
}

.theme-controlgate .kicker {
  color: #8bb6ff;
}

.theme-home-premium .chip-brand {
  color: #2563eb;
}

.theme-controlgate .chip-brand {
  color: #c8dcff;
}

.theme-home-premium .chip-controlgate {
  color: #fa582d;
}

.theme-controlgate .chip-controlgate {
  color: #ffd8cd;
}

.theme-home-premium .chip-contractlens {
  color: #2f6bff;
}

.theme-controlgate .chip-contractlens {
  color: #bfd3ff;
}

.theme-home-premium .chip-agentready {
  color: #00a3a3;
}

.theme-controlgate .chip-agentready {
  color: #a2f1ec;
}

.theme-home-premium .chip-auditledger {
  color: #7a5af8;
}

.theme-controlgate .chip-auditledger {
  color: #dbcfff;
}

.theme-home-premium .chip-aymentis-shield {
  color: #c43d8f;
}

.theme-controlgate .chip-aymentis-shield {
  color: #ffc6ea;
}

.theme-home-premium .chip {
  border-color: rgba(100, 160, 255, 0.22);
  background: rgba(14, 26, 56, 0.6);
  color: #b0c0e0;
}

.theme-controlgate .chip {
  border-color: rgba(121, 148, 196, 0.34);
  background: rgba(14, 24, 48, 0.52);
}

.trust-pill {
  border: 1px solid var(--border-default);
  border-radius: 999px;
  padding: 8px 12px;
  text-align: center;
  color: var(--text-secondary);
  font-size: 13px;
  background: var(--bg-surface);
}

.trust-pill-muted {
  opacity: 0.85;
  font-size: 12px;
  padding: 6px 10px;
}

.section {
  padding: clamp(56px, 7vw, 96px) 0;
}

.section-title {
  margin: 0 0 10px;
  font-size: clamp(26px, 3.5vw, 40px);
  line-height: 1.15;
  letter-spacing: -0.02em;
  font-weight: 700;
}

.section-subtitle {
  margin: 0 0 28px;
  color: var(--text-secondary);
  max-width: 70ch;
}

.grid {
  display: grid;
  gap: 16px;
}

.grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.suite-stack {
  display: grid;
  gap: 16px;
}

.section-orbit-graphic {
  width: min(320px, 52vw);
  margin: -10px 0 16px auto;
  display: block;
  opacity: 0.92;
}

.section-signal-graphic {
  width: min(720px, 100%);
  display: block;
  margin: -6px 0 18px;
  opacity: 0.95;
}

.product-tile-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.product-tile {
  min-height: 250px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.product-tile h3 {
  font-size: 23px;
}

.product-featured {
  border-top-width: 4px;
  padding: 24px;
}

.product-featured h3 {
  font-size: 26px;
}

.product-secondary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.card {
  border: 1px solid var(--border-default);
  border-radius: var(--radius-card);
  background: var(--bg-surface);
  box-shadow: var(--shadow-low);
  padding: 20px;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-med);
}

.card h3 {
  margin: 0 0 8px;
  font-size: 20px;
}

.card p {
  margin: 0;
  color: var(--text-secondary);
}

.kicker {
  color: var(--brand-accent);
  font-weight: 600;
  margin-bottom: 8px;
  font-size: 13px;
}

.product-card {
  border-top: 3px solid var(--brand-accent);
}

.product-controlgate {
  border-top-color: var(--product-controlgate);
}

.product-contractlens {
  border-top-color: var(--product-contractlens);
}

.product-agentready {
  border-top-color: var(--product-agentready);
}

.product-auditledger {
  border-top-color: var(--product-auditledger);
}

.product-aymentis-shield {
  border-top-color: var(--product-aymentis-shield);
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  border: 1px solid var(--border-default);
  color: var(--text-secondary);
  background: var(--bg-surface);
}

.badge.success {
  border-color: rgba(21, 138, 85, 0.4);
  color: #0f6a40;
}

.badge.info {
  border-color: rgba(47, 126, 247, 0.4);
  color: #1d5cb8;
}

.chip {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 600;
  border: 1px solid var(--border-default);
  color: var(--text-secondary);
  background: var(--bg-surface);
}

.chip-brand {
  border-color: rgba(31, 111, 235, 0.35);
  color: #1f4f98;
}

.chip-controlgate {
  border-color: rgba(250, 88, 45, 0.35);
  color: #a3391e;
}

.chip-contractlens {
  border-color: rgba(47, 107, 255, 0.35);
  color: #1c4fc6;
}

.chip-agentready {
  border-color: rgba(0, 163, 163, 0.35);
  color: #067070;
}

.chip-auditledger {
  border-color: rgba(122, 90, 248, 0.35);
  color: #5a38c7;
}

.chip-aymentis-shield {
  border-color: rgba(196, 61, 143, 0.35);
  color: #9a2f70;
}

.metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.metric-card {
  border: 1px solid var(--border-default);
  border-top: 3px solid var(--brand-accent);
  border-radius: var(--radius-card);
  background: #ffffff;
  box-shadow: var(--shadow-low);
  padding: 18px;
}

.metric-card:nth-child(2) {
  border-top-color: var(--product-controlgate);
}

.metric-card:nth-child(3) {
  border-top-color: var(--product-contractlens);
}

.metric-card:nth-child(4) {
  border-top-color: var(--product-auditledger);
}

.metric-card h3 {
  margin: 0 0 8px;
  font-size: 18px;
}

.metric-card p {
  margin: 0;
  color: var(--text-secondary);
}

.list {
  margin: 0;
  padding-left: 20px;
}

.list li {
  margin: 8px 0;
  color: var(--text-secondary);
}

.steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.step {
  border: 1px solid var(--border-default);
  border-radius: var(--radius-card);
  background: var(--bg-surface);
  box-shadow: var(--shadow-low);
  padding: 16px;
}

.step strong {
  display: block;
  margin-bottom: 4px;
}

.step small {
  color: var(--text-muted);
}

.two-col {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 18px;
}

.trust-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.compare-table-wrap {
  border: 1px solid var(--border-default);
  border-radius: var(--radius-card);
  overflow: auto;
  background: var(--bg-surface);
  box-shadow: var(--shadow-low);
}

.compare-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
}

.compare-table th,
.compare-table td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--border-default);
  text-align: left;
  vertical-align: top;
  color: var(--text-secondary);
  font-size: 14px;
}

.compare-table th {
  color: var(--text-primary);
  background: var(--bg-elevated);
  font-weight: 600;
}

.compare-table tr:last-child td {
  border-bottom: none;
}

.cta-band {
  border: 1px solid var(--border-default);
  border-radius: var(--radius-card);
  background: linear-gradient(90deg, #ffffff, #f7f9fc);
  box-shadow: var(--shadow-med);
  padding: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.cta-band h3 {
  margin: 0;
}

.muted {
  color: var(--text-muted);
}

.faq details {
  border: 1px solid var(--border-default);
  border-radius: var(--radius-card);
  margin-bottom: 10px;
  background: var(--bg-surface);
  box-shadow: var(--shadow-low);
  padding: 12px 14px;
}

.faq summary {
  cursor: pointer;
  font-weight: 600;
}

.faq p {
  margin: 10px 0 0;
  color: var(--text-secondary);
}

.site-footer {
  margin-top: 56px;
  border-top: 1px solid var(--border-default);
  background: var(--bg-surface);
  padding: 22px 0 40px;
  color: var(--text-muted);
  font-size: 13px;
}

.theme-home-premium .site-footer {
  background: rgba(6, 10, 22, 0.9);
  border-top: 1px solid rgba(100, 150, 230, 0.12);
  color: #7e90b4;
}

.theme-controlgate .site-footer {
  background: rgba(8, 15, 32, 0.85);
  border-top: 1px solid rgba(121, 148, 196, 0.28);
  color: #9eb0d3;
}

.theme-home-premium .footer-links a {
  color: #475569;
}

.theme-controlgate .footer-links a {
  color: #b8c9ee;
}

.footer-links {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.footer-brand-stack {
  display: grid;
  gap: 8px;
}

.footer-tagline {
  font-size: 12px;
  letter-spacing: 0.2px;
  color: var(--text-secondary);
  opacity: 0.9;
}

.theme-home-premium .footer-tagline,
.theme-controlgate .footer-tagline,
.theme-products .footer-tagline,
.theme-agentready .footer-tagline,
.theme-auditledger .footer-tagline,
.theme-aymentis-shield .footer-tagline {
  color: #b8c9ee;
}

.brand-footer .brand-logo {
  width: 168px;
}

.footer-copy {
  max-width: 360px;
  line-height: 1.5;
}

.footer-links a:hover {
  color: var(--text-primary);
}

.footer-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* Final theme overrides to keep homepage and ControlGate distinct */
.theme-home-premium .kicker {
  color: #6da8ff;
}

.theme-controlgate .badge.success {
  border-color: rgba(30, 194, 139, 0.44);
  color: #1ec28b;
  background: rgba(30, 194, 139, 0.08);
}

.theme-controlgate .badge.info {
  border-color: rgba(250, 88, 45, 0.44);
  color: #ff7a42;
  background: rgba(250, 88, 45, 0.08);
}

.theme-controlgate .site-header {
  background: rgba(10, 11, 16, 0.94);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(250, 88, 45, 0.22);
}

.theme-controlgate .brand {
  color: var(--text-primary);
}

.theme-controlgate .site-nav a {
  color: var(--text-secondary);
}

.theme-controlgate .site-nav a:hover,
.theme-controlgate .site-nav a[aria-current="page"] {
  color: var(--text-primary);
}

.theme-controlgate .hero-shell {
  border: 1px solid rgba(250, 88, 45, 0.28);
  background: linear-gradient(180deg, rgba(16, 14, 18, 0.95), rgba(10, 10, 14, 0.96));
  box-shadow: var(--shadow-low);
}

.theme-controlgate .hero-shell::before {
  background: radial-gradient(circle, rgba(250, 88, 45, 0.26), transparent 70%);
}

.theme-controlgate .hero-visual-card {
  border: 1px solid rgba(250, 88, 45, 0.24);
  background: rgba(14, 13, 17, 0.94);
}

.theme-controlgate .hero h1,
.theme-controlgate .hero p,
.theme-controlgate .hero .hero-visual-copy h3 {
  color: var(--text-primary);
}

.theme-controlgate .hero .eyebrow {
  border-color: rgba(250, 88, 45, 0.36);
  background: rgba(250, 88, 45, 0.07);
  color: var(--text-secondary);
}

.theme-controlgate .hero .btn-secondary {
  border-color: rgba(250, 88, 45, 0.36);
  color: var(--text-secondary);
}

.theme-controlgate .hero .btn-secondary:hover {
  border-color: rgba(250, 88, 45, 0.56);
  color: var(--text-primary);
}

.theme-controlgate .hero .trust-pill {
  border-color: rgba(250, 88, 45, 0.32);
  background: rgba(250, 88, 45, 0.06);
  color: var(--text-secondary);
}

.theme-controlgate .section-soft,
.theme-controlgate .section-surface {
  background: transparent;
  border-top: 1px solid rgba(250, 88, 45, 0.18);
  border-bottom: 1px solid rgba(250, 88, 45, 0.18);
}

.theme-controlgate .section-title {
  color: var(--text-primary);
}

.theme-controlgate .section-subtitle,
.theme-controlgate .muted {
  color: var(--text-secondary);
}

.theme-controlgate .card,
.theme-controlgate .metric-card,
.theme-controlgate .step,
.theme-controlgate .faq details,
.theme-controlgate .cta-band {
  background: linear-gradient(180deg, rgba(16, 14, 18, 0.95), rgba(10, 10, 14, 0.96));
  border: 1px solid rgba(250, 88, 45, 0.24);
  box-shadow: 0 4px 16px rgba(250, 88, 45, 0.06);
}

.theme-controlgate .kicker {
  color: var(--brand-accent);
}

.theme-controlgate .chip {
  border-color: rgba(250, 88, 45, 0.32);
  background: rgba(250, 88, 45, 0.06);
  color: var(--text-secondary);
}

.theme-controlgate .chip-brand {
  border-color: rgba(250, 123, 45, 0.44);
  color: #ff7a42;
}

.theme-controlgate .chip-controlgate {
  border-color: rgba(250, 88, 45, 0.5);
  color: #ff7a42;
}

.theme-controlgate .chip-contractlens {
  border-color: rgba(250, 88, 45, 0.36);
  color: #ffffff;
}

.theme-controlgate .chip-agentready {
  border-color: rgba(250, 88, 45, 0.36);
  color: #ffffff;
}

.theme-controlgate .chip-auditledger {
  border-color: rgba(250, 88, 45, 0.36);
  color: #ffffff;
}

.theme-controlgate .hero .chip-controlgate {
  color: #ff7a42;
}

.theme-controlgate .hero .chip-auditledger {
  color: #ffffff;
}

.theme-controlgate .site-footer {
  background: #0c0b10;
  border-top: 1px solid rgba(250, 88, 45, 0.18);
  color: var(--text-muted);
}

.theme-controlgate .footer-links a {
  color: var(--text-secondary);
}

/* Homepage v3: full-width hero and stronger section cohesion */
.hero-home-full {
  padding: 0;
}

.hero-full-bleed {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: clamp(84px, 10vw, 138px) 0 clamp(66px, 7vw, 98px);
  overflow: hidden;
}

.theme-home-premium .hero-full-bleed {
  border-top: none;
  border-bottom: none;
  background:
    radial-gradient(ellipse at 18% -8%, rgba(0, 212, 255, 0.18), transparent 42%),
    radial-gradient(ellipse at 80% 6%, rgba(122, 90, 248, 0.15), transparent 40%),
    radial-gradient(ellipse at 50% 100%, rgba(74, 141, 255, 0.12), transparent 50%),
    radial-gradient(circle at 65% 40%, rgba(0, 212, 255, 0.06), transparent 35%),
    linear-gradient(180deg, #060e1f 0%, #0a1628 40%, #0c1a30 100%);
  border-radius: 0;
}

.theme-home-premium .hero-full-bleed::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(transparent 0, transparent calc(100% - 1px), rgba(185, 211, 255, 0.06) 100%),
    linear-gradient(90deg, transparent 0, transparent calc(100% - 1px), rgba(185, 211, 255, 0.06) 100%);
  background-size: 52px 52px;
  opacity: 0.2;
  pointer-events: none;
  border-radius: 0;
}

.theme-home-premium .hero-full-bleed::after {
  display: none;
}

.hero-motion-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.hero-motion-mesh {
  background:
    repeating-linear-gradient(28deg, rgba(124, 154, 216, 0.2) 0 1px, transparent 1px 64px),
    repeating-linear-gradient(-28deg, rgba(124, 154, 216, 0.16) 0 1px, transparent 1px 70px);
  opacity: 0.34;
  mix-blend-mode: screen;
  transform-origin: center;
  animation: hero-mesh-float 24s linear infinite;
}

.hero-motion-wave {
  inset: auto -8% -8px -8%;
  height: 200px;
  background: url("/assets/home-hero-wave.svg") center bottom / 1500px 200px repeat-x;
  opacity: 0.5;
  animation: hero-wave-pan 28s linear infinite;
}

.hero-motion-wave::after {
  content: "";
  position: absolute;
  inset: 12px -4% 0 -4%;
  background: url("/assets/home-hero-wave.svg") center bottom / 1650px 190px repeat-x;
  opacity: 0.28;
  transform: scaleY(0.92);
  animation: hero-wave-pan-reverse 36s linear infinite;
}

.hero-controlgate-full {
  padding: 0;
}

.hero-controlgate-bleed {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: clamp(82px, 10vw, 132px) 0 clamp(60px, 7vw, 88px);
  overflow: hidden;
}

.theme-controlgate .hero-controlgate-bleed {
  border-top: 1px solid rgba(250, 88, 45, 0.24);
  border-bottom: 1px solid rgba(250, 88, 45, 0.22);
  background:
    radial-gradient(circle at 18% -10%, rgba(250, 88, 45, 0.28), transparent 34%),
    radial-gradient(circle at 84% 12%, rgba(74, 141, 255, 0.22), transparent 34%),
    linear-gradient(180deg, #0c1327 0%, #111b36 56%, #0b1226 100%);
}

.controlgate-motion-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.controlgate-motion-grid {
  background:
    repeating-linear-gradient(30deg, rgba(250, 88, 45, 0.2) 0 1px, transparent 1px 64px),
    repeating-linear-gradient(-30deg, rgba(74, 141, 255, 0.16) 0 1px, transparent 1px 72px);
  opacity: 0.28;
  mix-blend-mode: screen;
  animation: controlgate-grid-float 28s linear infinite;
}

.controlgate-motion-wave {
  inset: auto -8% -10px -8%;
  height: 210px;
  background: url("/assets/controlgate-ops-grid.svg") center bottom / 1500px 210px repeat-x;
  opacity: 0.38;
  filter: saturate(0.9) brightness(0.9);
  animation: controlgate-wave-pan 34s linear infinite;
}

.controlgate-motion-wave::after {
  content: "";
  position: absolute;
  inset: 16px -5% 0 -5%;
  background: url("/assets/controlgate-ops-grid.svg") center bottom / 1680px 190px repeat-x;
  opacity: 0.22;
  transform: scaleY(0.9);
  animation: controlgate-wave-pan-reverse 44s linear infinite;
}

.controlgate-hero-content {
  position: relative;
  z-index: 3;
}

.controlgate-hero-content h1 {
  max-width: 16ch;
}

.controlgate-hero-content p {
  max-width: 72ch;
}

.theme-controlgate .controlgate-wave-banner {
  border-color: rgba(250, 88, 45, 0.36);
  background: rgba(12, 11, 14, 0.9);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.36);
}

.hero-home-layout {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 1.12fr 0.88fr;
  gap: 26px;
  align-items: start;
}

.hero-home-copy h1 {
  max-width: 16ch;
}

.hero-home-copy p {
  max-width: 72ch;
}

.hero-brand-tagline {
  margin: 8px 0 14px;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: #c7d6f7;
}

.section-heading-stack {
  margin-bottom: 18px;
}

.section-heading-stack .kicker {
  margin-bottom: 10px;
}

.section-proof {
  position: relative;
  overflow: hidden;
}

.section-proof .container {
  position: relative;
  z-index: 1;
}

.section-proof::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 8%, rgba(74, 141, 255, 0.06), transparent 46%);
  pointer-events: none;
}

.theme-home-premium .section-proof::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100'%3E%3Cpath fill='rgba(74,141,255,0.06)' d='M0,60 C360,20 720,90 1080,40 1440,0 1440,100 1440,100 L0,100 Z'/%3E%3C/svg%3E") no-repeat bottom/cover;
  pointer-events: none;
}

.theme-controlgate .section-proof::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 120px;
  background: url("/assets/proof-signal-wave.svg") center/cover no-repeat;
  opacity: 0.16;
  pointer-events: none;
}

.section-proof-graphic {
  display: none;
}

/* Homepage product tile colour accents */
.theme-home-premium .product-tile {
  position: relative;
  background: rgba(14, 26, 56, 0.7);
  border: 1px solid rgba(100, 160, 255, 0.16);
  box-shadow: 0 4px 20px rgba(2, 6, 18, 0.3);
  transition: transform 0.32s ease, box-shadow 0.32s ease, border-color 0.32s ease;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.theme-home-premium .product-tile:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 40px rgba(2, 6, 18, 0.45), 0 0 24px rgba(74, 141, 255, 0.1);
  border-color: rgba(74, 141, 255, 0.35);
}

.theme-home-premium .product-controlgate {
  border-top: 3px solid #fa582d;
}
.theme-home-premium .product-controlgate:hover {
  border-color: rgba(250, 88, 45, 0.5);
  box-shadow: 0 14px 40px rgba(2, 6, 18, 0.4), 0 0 30px rgba(250, 88, 45, 0.18), inset 0 1px 0 rgba(250, 88, 45, 0.15);
}

.theme-home-premium .product-contractlens {
  border-top: 3px solid #2f6bff;
}
.theme-home-premium .product-contractlens:hover {
  border-color: rgba(47, 107, 255, 0.5);
  box-shadow: 0 14px 40px rgba(2, 6, 18, 0.4), 0 0 30px rgba(47, 107, 255, 0.18), inset 0 1px 0 rgba(47, 107, 255, 0.15);
}

.theme-home-premium .product-agentready:hover {
  border-color: rgba(0, 163, 163, 0.5);
  box-shadow: 0 14px 40px rgba(2, 6, 18, 0.4), 0 0 30px rgba(0, 163, 163, 0.18), inset 0 1px 0 rgba(0, 163, 163, 0.15);
}

.theme-home-premium .product-auditledger:hover {
  border-color: rgba(122, 90, 248, 0.5);
  box-shadow: 0 14px 40px rgba(2, 6, 18, 0.4), 0 0 30px rgba(122, 90, 248, 0.18), inset 0 1px 0 rgba(122, 90, 248, 0.15);
}

.theme-home-premium .product-aymentis-shield:hover {
  border-color: rgba(196, 61, 143, 0.5);
  box-shadow: 0 14px 40px rgba(2, 6, 18, 0.4), 0 0 30px rgba(196, 61, 143, 0.18), inset 0 1px 0 rgba(196, 61, 143, 0.15);
}
.theme-home-premium .product-contractlens:hover {
  box-shadow: 0 14px 40px rgba(2, 6, 18, 0.4), 0 0 30px rgba(47, 107, 255, 0.15);
}

.theme-home-premium .product-agentready {
  border-top: 3px solid #00a3a3;
}
.theme-home-premium .product-agentready:hover {
  box-shadow: 0 14px 40px rgba(2, 6, 18, 0.4), 0 0 30px rgba(0, 163, 163, 0.15);
}

.theme-home-premium .product-auditledger {
  border-top: 3px solid #7a5af8;
}
.theme-home-premium .product-auditledger:hover {
  box-shadow: 0 14px 40px rgba(2, 6, 18, 0.4), 0 0 30px rgba(122, 90, 248, 0.15);
}

.theme-home-premium .product-aymentis-shield {
  border-top: 3px solid #c43d8f;
}
.theme-home-premium .product-aymentis-shield:hover {
  box-shadow: 0 14px 40px rgba(2, 6, 18, 0.4), 0 0 30px rgba(196, 61, 143, 0.15);
}

/* Section dividers */
.section-divider-wave,
.section-divider-glow,
.section-divider-hex,
.section-divider-pulse {
  position: relative;
  z-index: 1;
}
.section-divider-glow {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(74, 141, 255, 0.35), rgba(122, 90, 248, 0.2), transparent);
  margin: 0 auto;
  max-width: 80%;
}

/* Card icon rings */
.card-icon-ring {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  border: 1px solid;
}
.card-icon-blue {
  background: rgba(74, 141, 255, 0.1);
  border-color: rgba(74, 141, 255, 0.25);
  color: #4a8dff;
}
.card-icon-orange {
  background: rgba(250, 88, 45, 0.1);
  border-color: rgba(250, 88, 45, 0.25);
  color: #fa582d;
}
.card-icon-purple {
  background: rgba(122, 90, 248, 0.1);
  border-color: rgba(122, 90, 248, 0.25);
  color: #7a5af8;
}
.card-icon-teal {
  background: rgba(0, 163, 163, 0.1);
  border-color: rgba(0, 163, 163, 0.25);
  color: #00a3a3;
}

/* Product icon header */
.product-icon-header {
  margin-bottom: 12px;
}

/* Step numbers */
.step-number {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.02em;
  background: linear-gradient(135deg, #4a8dff, #7a5af8);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 8px;
  line-height: 1;
}

/* Compliance badges grid */
.compliance-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 16px;
  padding: 24px 0;
}
.compliance-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 20px 12px;
  background: rgba(14, 26, 56, 0.55);
  border: 1px solid rgba(100, 160, 255, 0.14);
  border-radius: 12px;
  transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}
.compliance-badge:hover {
  border-color: rgba(74, 141, 255, 0.35);
  box-shadow: 0 4px 20px rgba(2, 6, 18, 0.3), 0 0 16px rgba(74, 141, 255, 0.08);
  transform: translateY(-2px);
}
.compliance-badge span {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.3px;
  color: #b0c0e0;
}

/* Section background graphics */
.section-bg-graphic {
  pointer-events: none;
  z-index: 0;
}

/* Homepage social proof logos strip */
.logo-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
  padding: 24px 0;
  opacity: 0.55;
  filter: grayscale(1);
  transition: opacity 0.3s ease;
}

.logo-strip:hover {
  opacity: 0.75;
}

.logo-strip span {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--text-muted);
}

/* Homepage market stats bar */
.stats-bar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 24px;
  padding: 32px 0;
}

.stat-block {
  text-align: center;
}

.stat-block .stat-value {
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 800;
  background: linear-gradient(135deg, #4a8dff, #7a5af8);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.1;
}

.stat-block .stat-label {
  font-size: 14px;
  color: var(--text-secondary);
  margin-top: 6px;
}

/* Homepage full-width CTA band */
.cta-band-full-home {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  border: none;
  background:
    radial-gradient(circle at 14% 22%, rgba(74, 141, 255, 0.2), transparent 48%),
    radial-gradient(circle at 80% 50%, rgba(122, 90, 248, 0.12), transparent 42%),
    linear-gradient(90deg, #080e1e 0%, #0e1a38 52%, #080e1e 100%);
}

.cta-band-full-home h3 {
  color: #ffffff;
}

.cta-band-full-home .muted {
  color: #b8c9ee;
}

.cta-band-full-home .btn-secondary {
  border-color: rgba(255, 255, 255, 0.28);
  color: #dbe7ff;
}

.cta-band-full-home .btn-secondary:hover {
  border-color: rgba(255, 255, 255, 0.5);
  color: #ffffff;
}

.metric-grid-proof {
  position: relative;
  z-index: 1;
}

.theme-controlgate .metric-grid-proof .metric-card {
  background: linear-gradient(180deg, rgba(17, 31, 62, 0.94), rgba(10, 19, 40, 0.95));
}

.theme-home-premium .metric-grid-proof .metric-card:nth-child(1) {
  border-top: 3px solid #4a8dff;
}

.theme-home-premium .metric-grid-proof .metric-card:nth-child(2) {
  border-top: 3px solid #fa582d;
}

.theme-home-premium .metric-grid-proof .metric-card:nth-child(3) {
  border-top: 3px solid #7a5af8;
}

.theme-home-premium .metric-grid-proof .metric-card:nth-child(4) {
  border-top: 3px solid #00a3a3;
}

.theme-controlgate .metric-grid-proof .metric-card:nth-child(1) {
  border-top-color: #7ea9ee;
}

.theme-controlgate .metric-grid-proof .metric-card:nth-child(2) {
  border-top-color: #d08973;
}

.theme-controlgate .metric-grid-proof .metric-card:nth-child(3) {
  border-top-color: #9588d4;
}

.theme-controlgate .metric-grid-proof .metric-card:nth-child(4) {
  border-top-color: #5cab9f;
}

.section-products {
  position: relative;
  overflow: hidden;
}

.section-products::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 80% 10%, rgba(196, 61, 143, 0.12), transparent 36%),
    radial-gradient(circle at 22% 92%, rgba(74, 141, 255, 0.1), transparent 34%);
  pointer-events: none;
}

.section-product-graphic {
  position: relative;
  z-index: 1;
  width: min(920px, 100%);
  display: block;
  margin: -2px 0 18px;
  opacity: 0.95;
}

.section-products .product-tile-row {
  position: relative;
  z-index: 1;
}

.product-role {
  margin: 0 0 8px;
  font-size: 13px;
  color: #9bb0db;
}

.section-products .product-card {
  border-top-width: 4px;
  min-height: 290px;
  border-radius: 16px;
}

.section-products .product-card p {
  color: #c7d5f0;
}

.theme-controlgate .section-products .product-card h3 {
  color: #eef3ff;
}

.theme-home-premium .section-products .product-card h3 {
  color: #eaf0ff;
}

.theme-controlgate .section-products .product-controlgate {
  background: linear-gradient(180deg, rgba(46, 28, 28, 0.92), rgba(21, 17, 26, 0.95));
  box-shadow: 0 16px 34px rgba(44, 18, 14, 0.32);
}

.theme-controlgate .section-products .product-contractlens {
  background: linear-gradient(180deg, rgba(18, 35, 75, 0.94), rgba(12, 22, 47, 0.95));
  box-shadow: 0 16px 34px rgba(11, 26, 62, 0.34);
}

.theme-controlgate .section-products .product-agentready {
  background: linear-gradient(180deg, rgba(13, 53, 59, 0.94), rgba(10, 32, 37, 0.95));
  box-shadow: 0 16px 34px rgba(7, 36, 38, 0.34);
}

.theme-controlgate .section-products .product-auditledger {
  background: linear-gradient(180deg, rgba(38, 24, 73, 0.94), rgba(20, 14, 43, 0.95));
  box-shadow: 0 16px 34px rgba(25, 14, 48, 0.35);
}

.theme-controlgate .section-products .product-aymentis-shield {
  background: linear-gradient(180deg, rgba(60, 24, 50, 0.94), rgba(30, 14, 29, 0.95));
  box-shadow: 0 16px 34px rgba(42, 14, 36, 0.34);
}

.section-trust {
  position: relative;
  overflow: hidden;
}

.section-trust::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 84% 16%, rgba(74, 141, 255, 0.04), transparent 36%);
  pointer-events: none;
}

.section-trust-graphic {
  position: relative;
  z-index: 1;
  width: min(860px, 100%);
  display: block;
  margin: 0 0 18px;
  opacity: 0.94;
}

.section-trust .trust-grid {
  position: relative;
  z-index: 1;
}

.theme-controlgate .section-trust .trust-grid .card {
  background: linear-gradient(180deg, rgba(16, 30, 59, 0.95), rgba(10, 19, 40, 0.96));
}

.theme-home-premium .section-trust .trust-grid .card {
  background: rgba(14, 26, 56, 0.65);
  border: 1px solid rgba(100, 160, 255, 0.18);
  box-shadow: 0 4px 20px rgba(2, 6, 18, 0.35), 0 0 1px rgba(74, 141, 255, 0.2);
}

.section-positioning {
  position: relative;
  margin-top: -16px;
  padding-top: clamp(38px, 6vw, 62px);
}

.theme-controlgate .section-positioning::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(122, 150, 210, 0.45), transparent);
}

.theme-home-premium .section-positioning::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(74, 141, 255, 0.15), transparent);
}

.theme-controlgate .section-positioning .two-col .card {
  background: linear-gradient(180deg, rgba(15, 29, 58, 0.95), rgba(10, 19, 41, 0.95));
}

.theme-home-premium .section-positioning .two-col .card {
  background: rgba(14, 26, 56, 0.65);
  border: 1px solid rgba(100, 160, 255, 0.18);
  box-shadow: 0 4px 20px rgba(2, 6, 18, 0.35), 0 0 1px rgba(74, 141, 255, 0.2);
}

/* ControlGate-specific visual overrides: orange-dominant + matrix motion */
.theme-controlgate .hero-controlgate-bleed {
  padding: clamp(70px, 8vw, 108px) 0 clamp(42px, 6vw, 66px);
  border-top: 1px solid rgba(250, 88, 45, 0.5);
  border-bottom: 1px solid rgba(250, 88, 45, 0.34);
  background:
    radial-gradient(circle at 16% -8%, rgba(250, 88, 45, 0.52), transparent 38%),
    radial-gradient(circle at 78% 14%, rgba(250, 123, 45, 0.28), transparent 36%),
    radial-gradient(circle at 48% 80%, rgba(250, 88, 45, 0.14), transparent 40%),
    linear-gradient(180deg, #0c0b10 0%, #100e12 60%, #0b0a0f 100%);
}

.controlgate-motion-grid {
  background:
    repeating-linear-gradient(28deg, rgba(250, 88, 45, 0.32) 0 1px, transparent 1px 62px),
    repeating-linear-gradient(-28deg, rgba(250, 88, 45, 0.18) 0 1px, transparent 1px 70px);
  opacity: 0.26;
}

.controlgate-motion-matrix {
  position: absolute;
  top: -14%;
  right: 0;
  bottom: 0;
  left: auto;
  width: min(38vw, 520px);
  pointer-events: none;
  opacity: 0.5;
  mix-blend-mode: screen;
  mask-image: linear-gradient(to left, #000 70%, transparent 100%), linear-gradient(to bottom, transparent 0%, #000 14%, #000 90%, transparent 100%);
  -webkit-mask-image: linear-gradient(to left, #000 70%, transparent 100%), linear-gradient(to bottom, transparent 0%, #000 14%, #000 90%, transparent 100%);
  overflow: hidden;
}

.controlgate-motion-matrix .matrix-col {
  position: absolute;
  top: -180px;
  color: #79ffad;
  font-family: "JetBrains Mono", "SFMono-Regular", Menlo, monospace;
  font-size: 13px;
  line-height: 1.02;
  letter-spacing: 1px;
  writing-mode: vertical-rl;
  text-orientation: upright;
  text-shadow: 0 0 8px rgba(121, 255, 173, 0.6);
  animation: controlgate-matrix-digits 9.5s linear infinite;
  opacity: 0.72;
}

.controlgate-motion-matrix .matrix-col:nth-child(1) { right: 14px; animation-duration: 8.2s; animation-delay: -1.8s; opacity: 0.9; }
.controlgate-motion-matrix .matrix-col:nth-child(2) { right: 38px; animation-duration: 10.4s; animation-delay: -4.1s; opacity: 0.66; }
.controlgate-motion-matrix .matrix-col:nth-child(3) { right: 62px; animation-duration: 9.1s; animation-delay: -2.6s; opacity: 0.78; }
.controlgate-motion-matrix .matrix-col:nth-child(4) { right: 86px; animation-duration: 11.2s; animation-delay: -6.4s; opacity: 0.62; }
.controlgate-motion-matrix .matrix-col:nth-child(5) { right: 110px; animation-duration: 8.8s; animation-delay: -3.2s; opacity: 0.82; }
.controlgate-motion-matrix .matrix-col:nth-child(6) { right: 134px; animation-duration: 10.7s; animation-delay: -7.3s; opacity: 0.6; }
.controlgate-motion-matrix .matrix-col:nth-child(7) { right: 158px; animation-duration: 9.4s; animation-delay: -5.5s; opacity: 0.74; }
.controlgate-motion-matrix .matrix-col:nth-child(8) { right: 182px; animation-duration: 12.1s; animation-delay: -8.1s; opacity: 0.58; }
.controlgate-motion-matrix .matrix-col:nth-child(9) { right: 206px; animation-duration: 8.6s; animation-delay: -4.8s; opacity: 0.8; }
.controlgate-motion-matrix .matrix-col:nth-child(10) { right: 230px; animation-duration: 11.6s; animation-delay: -9.2s; opacity: 0.56; }

.controlgate-motion-matrix .matrix-col::after {
  content: "";
  position: absolute;
  inset: -60px -8px auto -8px;
  height: 70px;
  background: linear-gradient(to bottom, rgba(169, 255, 205, 0.95), rgba(169, 255, 205, 0));
}

.controlgate-hero-content {
  max-width: 1020px;
}

.controlgate-wave-banner {
  margin-top: 10px;
  margin-bottom: -4px;
  width: 100%;
  border: 1px solid rgba(250, 88, 45, 0.3);
  border-radius: 10px;
}

.theme-controlgate .hero .trust-pill {
  border-color: rgba(250, 88, 45, 0.44);
  background: rgba(250, 88, 45, 0.1);
  color: #ffffff;
}

.hero-pillars {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-top: 28px;
}

.hero-pillar {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 18px 12px 16px;
  border: 1px solid rgba(250, 88, 45, 0.36);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(250, 88, 45, 0.08) 0%, rgba(10, 10, 14, 0.6) 100%);
  text-align: center;
  transition: border-color 0.28s ease, box-shadow 0.28s ease, transform 0.28s ease;
}

.hero-pillar:hover {
  border-color: rgba(250, 88, 45, 0.66);
  box-shadow: 0 0 22px rgba(250, 88, 45, 0.22);
  transform: translateY(-2px);
}

.pillar-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: rgba(250, 88, 45, 0.16);
  border: 1px solid rgba(250, 88, 45, 0.4);
  color: #fa582d;
  font-size: 14px;
  line-height: 1;
  box-shadow: 0 0 12px rgba(250, 88, 45, 0.2);
}

.pillar-label {
  color: #ffffff;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.36;
  letter-spacing: 0.01em;
}

.theme-controlgate .hero .eyebrow {
  border-color: rgba(250, 88, 45, 0.48);
  background: rgba(250, 88, 45, 0.1);
  color: #ff7a42;
}

.hero-console {
  margin-top: 18px;
  border: 1px solid rgba(250, 88, 45, 0.34);
  border-radius: 12px;
  overflow: hidden;
  background: rgba(8, 8, 12, 0.92);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(250, 88, 45, 0.08);
}

.console-header {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(250, 88, 45, 0.18);
  background: rgba(250, 88, 45, 0.04);
}

.console-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.console-dot-red { background: #ef5a72; }
.console-dot-amber { background: #f3b33d; }
.console-dot-green { background: #1ec28b; }

.console-title {
  margin-left: 6px;
  font-family: "JetBrains Mono", "SFMono-Regular", Menlo, monospace;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.04em;
}

.console-body {
  padding: 14px 16px 16px;
  position: relative;
}

.console-line {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 6px 0;
  font-family: "JetBrains Mono", "SFMono-Regular", Menlo, monospace;
  font-size: 13px;
  line-height: 1.6;
  opacity: 0;
  transform: translateX(-8px);
  animation: console-line-in 0.5s ease-out forwards;
}

.console-line[data-delay="0"] { animation-delay: 0.4s; }
.console-line[data-delay="1"] { animation-delay: 1.2s; }
.console-line[data-delay="2"] { animation-delay: 2.0s; }

.console-ts {
  color: rgba(255, 255, 255, 0.3);
  font-size: 11px;
  flex-shrink: 0;
  min-width: 62px;
}

.console-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  flex-shrink: 0;
}

.console-pass {
  background: rgba(30, 194, 139, 0.16);
  border: 1px solid rgba(30, 194, 139, 0.36);
  color: #1ec28b;
}

.console-hold {
  background: rgba(250, 88, 45, 0.14);
  border: 1px solid rgba(250, 88, 45, 0.4);
  color: #fa582d;
}

.console-msg {
  color: #e0e0e0;
}

.console-cursor {
  display: inline-block;
  width: 8px;
  height: 16px;
  margin-top: 4px;
  background: #fa582d;
  border-radius: 1px;
  animation: console-blink 1s step-end infinite;
  opacity: 0;
  animation-delay: 2.6s;
}

@keyframes console-line-in {
  0% {
    opacity: 0;
    transform: translateX(-8px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes console-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

.theme-controlgate .hero .chip {
  border-color: rgba(250, 88, 45, 0.4);
  background: rgba(250, 88, 45, 0.1);
}

.theme-controlgate .hero .chip-brand {
  border-color: rgba(250, 123, 45, 0.48);
  color: #ff7a42;
}

.theme-controlgate .hero .chip-contractlens {
  border-color: rgba(250, 88, 45, 0.4);
  color: #ffffff;
}

.section-control-depth {
  position: relative;
  overflow: hidden;
}

.section-control-depth::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 10% 8%, rgba(250, 88, 45, 0.24), transparent 44%),
    radial-gradient(circle at 76% 22%, rgba(250, 123, 45, 0.16), transparent 42%);
  pointer-events: none;
}

.section-control-depth::after {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  height: 160px;
  background: url("/assets/controlgate-depth-bg.svg") center/cover no-repeat;
  opacity: 0.3;
  pointer-events: none;
}

.section-control-depth .container {
  position: relative;
  z-index: 1;
}

.section-control-depth .card {
  background: linear-gradient(180deg, rgba(16, 14, 18, 0.96), rgba(10, 10, 13, 0.97));
  border-color: rgba(250, 88, 45, 0.36);
  box-shadow: 0 6px 20px rgba(250, 88, 45, 0.08);
}

.section-control-depth .product-card {
  border-top-color: var(--product-controlgate);
}

.section-controlgate-value {
  position: relative;
  margin-top: -10px;
  padding-top: clamp(42px, 6vw, 64px);
}

.section-controlgate-value::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(250, 88, 45, 0.5), transparent);
}

.section-controlgate-value .card {
  background: linear-gradient(180deg, rgba(16, 14, 18, 0.96), rgba(10, 10, 13, 0.97));
  border-color: rgba(250, 88, 45, 0.36);
  box-shadow: 0 6px 20px rgba(250, 88, 45, 0.08);
}

.section-controlgate-proof,
.section-controlgate-buyer {
  position: relative;
  margin-top: -8px;
  padding-top: clamp(34px, 5vw, 52px);
}

.section-controlgate-proof::before,
.section-controlgate-buyer::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 86% 12%, rgba(250, 88, 45, 0.12), transparent 38%);
  pointer-events: none;
}

.section-controlgate-proof::after,
.section-controlgate-buyer::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(250, 88, 45, 0.42), transparent);
}

.section-controlgate-proof .container,
.section-controlgate-buyer .container {
  position: relative;
  z-index: 1;
}

.section-controlgate-proof .card,
.section-controlgate-buyer .card {
  background: linear-gradient(180deg, rgba(16, 14, 18, 0.96), rgba(10, 10, 13, 0.97));
  border-color: rgba(250, 88, 45, 0.32);
  box-shadow: 0 6px 20px rgba(250, 88, 45, 0.08);
}

body.theme-controlgate {
  background:
    radial-gradient(circle at 18% -10%, rgba(250, 88, 45, 0.38), transparent 38%),
    radial-gradient(circle at 82% 8%, rgba(250, 123, 45, 0.2), transparent 36%),
    radial-gradient(circle at 50% 60%, rgba(250, 88, 45, 0.06), transparent 52%),
    linear-gradient(180deg, #0a0b10 0%, #0c0b10 56%, #0a0a0e 100%);
}

.theme-controlgate .section-soft::before {
  background: radial-gradient(circle, rgba(250, 88, 45, 0.18), transparent 72%);
}

.theme-controlgate .card,
.theme-controlgate .metric-card,
.theme-controlgate .step,
.theme-controlgate .faq details,
.theme-controlgate .cta-band {
  background: linear-gradient(180deg, rgba(16, 14, 18, 0.96), rgba(10, 10, 13, 0.97));
  border-color: rgba(250, 88, 45, 0.28);
}

.theme-controlgate .section-title {
  color: #ffffff;
}

.theme-controlgate .section-subtitle,
.theme-controlgate .muted,
.theme-controlgate .card p,
.theme-controlgate .list li,
.theme-controlgate .step small,
.theme-controlgate .faq p {
  color: #e0e0e0;
}

.theme-controlgate .card h3,
.theme-controlgate .metric-card h3,
.theme-controlgate .step strong,
.theme-controlgate .faq summary {
  color: #ffffff;
}

.theme-controlgate .chip-brand {
  border-color: rgba(250, 123, 45, 0.46);
  color: #ff7a42;
}

.section-controlgate-pricing {
  position: relative;
  overflow: hidden;
}

.section-controlgate-pricing::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 12%, rgba(250, 123, 45, 0.26), transparent 42%),
    radial-gradient(circle at 82% 20%, rgba(250, 88, 45, 0.2), transparent 40%);
  pointer-events: none;
}

.section-controlgate-pricing .container {
  position: relative;
  z-index: 1;
}

.pricing-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.pricing-grid-4 .pricing-card {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 28px 22px 22px;
  border: 1px solid rgba(250, 88, 45, 0.28);
  border-top: 4px solid rgba(250, 88, 45, 0.6);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(16, 14, 18, 0.96), rgba(10, 10, 13, 0.97));
}

.pricing-grid-4 .pricing-pro {
  border-color: rgba(250, 123, 45, 0.7);
  border-top-color: #fa582d;
  box-shadow: 0 18px 40px rgba(250, 88, 45, 0.28), 0 0 0 1px rgba(250, 88, 45, 0.14);
  transform: translateY(-6px);
}

.pricing-grid-4 .pricing-enterprise-plus {
  border-top-color: #ff7a42;
}

.pricing-header h3 {
  margin: 0 0 6px;
  font-size: 20px;
  color: #ffffff;
}

.pricing-amount {
  margin: 0 0 18px;
  font-size: 32px;
  font-weight: 800;
  color: #fa582d;
  line-height: 1.2;
}

.pricing-amount span {
  font-size: 15px;
  font-weight: 500;
  color: #e0e0e0;
}

.pricing-features {
  margin: 0 0 auto;
  padding: 0 0 0 18px;
  list-style: none;
  flex: 1;
}

.pricing-features li {
  position: relative;
  margin: 0 0 10px;
  padding-left: 4px;
  font-size: 14px;
  line-height: 1.5;
  color: #e0e0e0;
}

.pricing-features li::before {
  content: "";
  position: absolute;
  left: -16px;
  top: 7px;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: rgba(250, 88, 45, 0.56);
}

.pricing-addon {
  padding-top: 8px;
  margin-top: 4px;
  border-top: 1px solid rgba(250, 88, 45, 0.22);
  font-weight: 600;
  color: #ff7a42 !important;
}

.pricing-addon::before {
  background: #ff7a42 !important;
}

.pricing-cta {
  display: block;
  width: 100%;
  margin-top: 20px;
  text-align: center;
}

.pricing-badge {
  position: absolute;
  top: -13px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  padding: 5px 14px;
  border: 1px solid rgba(250, 123, 45, 0.7);
  border-radius: 999px;
  background: #fa582d;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.section-controlgate-final-cta {
  padding-bottom: 0;
}

.cta-band-full {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  border-top: 1px solid rgba(250, 88, 45, 0.48);
  border-bottom: 1px solid rgba(250, 88, 45, 0.36);
  background:
    radial-gradient(circle at 14% 22%, rgba(250, 88, 45, 0.3), transparent 48%),
    radial-gradient(circle at 80% 50%, rgba(250, 123, 45, 0.14), transparent 42%),
    linear-gradient(90deg, #0e0d12 0%, #12100e 52%, #0e0d12 100%);
}

.cta-band-full-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-top: clamp(24px, 3.8vw, 42px);
  padding-bottom: clamp(24px, 3.8vw, 42px);
}

.cta-band-full-inner h3 {
  margin-top: 0;
}

.cta-band-full-inner .muted {
  max-width: 56ch;
}

.theme-controlgate.has-scroll-reveal .tile-rise {
  opacity: 0;
  transform: translate3d(0, 34px, 0) scale(0.985);
  filter: blur(2px);
  transition:
    transform 760ms cubic-bezier(0.2, 0.78, 0.2, 1),
    opacity 620ms ease-out,
    filter 620ms ease-out,
    box-shadow 320ms ease-out;
  transition-delay: var(--tile-delay, 0ms);
  will-change: transform, opacity, filter;
}

.theme-controlgate.has-scroll-reveal .tile-rise.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
  animation: tile-orange-glow 320ms ease-out forwards;
  animation-delay: calc(var(--tile-delay, 0ms) + 600ms);
}

@keyframes tile-orange-glow {
  0% {
    box-shadow: 0 0 0 0 rgba(250, 88, 45, 0), 0 6px 20px rgba(250, 88, 45, 0.08);
  }
  50% {
    box-shadow: 0 0 28px 4px rgba(250, 88, 45, 0.36), 0 6px 20px rgba(250, 88, 45, 0.14);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(250, 88, 45, 0), 0 6px 20px rgba(250, 88, 45, 0.08);
  }
}

@keyframes hero-glow-drift {
  0% {
    transform: translate3d(0, 0, 0);
    opacity: 0.7;
  }

  50% {
    transform: translate3d(-24px, 18px, 0);
    opacity: 1;
  }

  100% {
    transform: translate3d(0, 0, 0);
    opacity: 0.7;
  }
}

@keyframes hero-wave-pan {
  0% {
    background-position: 0 100%;
  }

  100% {
    background-position: 1500px 100%;
  }
}

@keyframes hero-wave-pan-reverse {
  0% {
    background-position: 0 100%;
  }

  100% {
    background-position: -1650px 100%;
  }
}

@keyframes hero-mesh-float {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 0.34;
  }

  50% {
    transform: translate3d(-22px, 12px, 0) scale(1.03);
    opacity: 0.42;
  }

  100% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 0.34;
  }
}

@keyframes controlgate-wave-pan {
  0% {
    background-position: 0 100%;
  }

  100% {
    background-position: 1500px 100%;
  }
}

@keyframes controlgate-wave-pan-reverse {
  0% {
    background-position: 0 100%;
  }

  100% {
    background-position: -1680px 100%;
  }
}

@keyframes controlgate-grid-float {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 0.28;
  }

  50% {
    transform: translate3d(18px, 10px, 0) scale(1.03);
    opacity: 0.36;
  }

  100% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 0.28;
  }
}

@keyframes controlgate-matrix-digits {
  0% {
    transform: translate3d(0, -260px, 0);
  }

  100% {
    transform: translate3d(0, 104vh, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-shell::before,
  .hero-motion-mesh,
  .hero-motion-wave,
  .hero-motion-wave::after,
  .controlgate-motion-matrix .matrix-col,
  .controlgate-motion-grid,
  .controlgate-motion-wave,
  .controlgate-motion-wave::after,
  .console-line,
  .console-cursor {
    animation: none;
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 1024px) {
  .grid-3,
  .trust-strip,
  .steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero-pillars {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .hero-layout,
  .hero-home-layout,
  .trust-grid,
  .metric-grid {
    grid-template-columns: 1fr;
  }

  .product-secondary-grid {
    grid-template-columns: 1fr;
  }

  .product-tile-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .two-col {
    grid-template-columns: 1fr;
  }

  .hero-controlgate-bleed {
    padding: clamp(74px, 10vw, 112px) 0 clamp(52px, 7vw, 74px);
  }

  .controlgate-motion-wave {
    height: 170px;
    background-size: 1240px 170px;
  }

  .controlgate-motion-wave::after {
    background-size: 1360px 160px;
  }

  .controlgate-motion-matrix {
    width: min(42vw, 360px);
    opacity: 0.38;
  }

  .pricing-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pricing-grid-4 .pricing-pro {
    transform: none;
  }

  .cta-band-full-inner {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 740px) {
  .header-row {
    gap: 12px;
  }

  .header-row-no-logo .site-nav,
  .header-row-no-logo .cta-row {
    margin-left: 0;
    margin-right: 0;
  }

  .site-nav {
    width: 100%;
    order: 3;
  }

  .grid-2,
  .grid-3,
  .trust-strip,
  .steps {
    grid-template-columns: 1fr;
  }

  .hero-pillars {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .hero-pillar {
    padding: 14px 10px 12px;
  }

  .console-line {
    flex-wrap: wrap;
    gap: 6px;
  }

  .console-ts {
    display: none;
  }

  .console-msg {
    font-size: 12px;
  }

  .product-tile-row,
  .hero-data-grid {
    grid-template-columns: 1fr;
  }

  .hero-controlgate-bleed {
    padding: 70px 0 48px;
  }

  .controlgate-motion-wave {
    height: 140px;
    background-size: 980px 140px;
  }

  .controlgate-motion-wave::after {
    background-size: 1100px 132px;
  }

  .controlgate-motion-matrix {
    display: none;
  }

  .pricing-grid-4 {
    grid-template-columns: 1fr;
  }

  .cta-band-full-inner .cta-row {
    width: 100%;
  }

  .hero p {
    font-size: 16px;
  }
}

/* ==========================================================================
   CONTRACTLENS THEME — Precision Blue (Light theme)
   ========================================================================== */

body.theme-contractlens {
  --bg-primary: #f4f7fc;
  --bg-surface: #ffffff;
  --bg-elevated: #e8eef8;
  --text-primary: #0c1b3a;
  --text-secondary: #2d3e5f;
  --text-muted: #5a6e8f;
  --border-default: #c8d6e8;
  --brand-accent: var(--accent-contractlens);
  --brand-accent-hover: #1a52e0;
  --success: #158a55;
  --warning: #b7791f;
  --danger: #c9364a;
  --info: var(--accent-contractlens);
  --shadow-low: 0 4px 16px rgba(15, 23, 42, 0.06);
  --shadow-med: 0 10px 28px rgba(15, 23, 42, 0.10);
  background:
    radial-gradient(ellipse at 20% -8%, rgba(47, 107, 255, 0.10), transparent 50%),
    radial-gradient(ellipse at 80% 50%, rgba(47, 107, 255, 0.06), transparent 50%),
    linear-gradient(180deg, #f4f7fc 0%, #e8eef8 100%);
}

body.theme-contractlens::before {
  display: none;
}

.theme-contractlens .site-header {
  background: rgba(244, 247, 252, 0.94);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(47, 107, 255, 0.15);
}

.theme-contractlens .brand-dot {
  box-shadow: 0 0 14px rgba(47, 107, 255, 0.5);
}

.theme-contractlens .hero .eyebrow {
  border-color: rgba(47, 107, 255, 0.3);
  background: rgba(47, 107, 255, 0.06);
  color: var(--brand-accent);
}

.theme-contractlens .hero .btn-secondary {
  border-color: rgba(47, 107, 255, 0.3);
  color: var(--brand-accent);
}

.theme-contractlens .hero .btn-secondary:hover {
  border-color: rgba(47, 107, 255, 0.5);
  background: rgba(47, 107, 255, 0.05);
}

.theme-contractlens .card,
.theme-contractlens .step,
.theme-contractlens .faq details,
.theme-contractlens .cta-band {
  background: #ffffff;
  border: 1px solid rgba(47, 107, 255, 0.14);
  box-shadow: 0 2px 12px rgba(47, 107, 255, 0.06);
}

.theme-contractlens .section-soft {
  background: rgba(47, 107, 255, 0.03);
  border-top: 1px solid rgba(47, 107, 255, 0.10);
}

.theme-contractlens .kicker {
  color: var(--brand-accent);
}

.theme-contractlens .site-footer {
  background: #edf1f8;
  border-top: 1px solid rgba(47, 107, 255, 0.12);
}

/* ContractLens Hero */
.hero-contractlens-bleed {
  position: relative;
  overflow: hidden;
  padding: clamp(72px, 9vw, 128px) 0 clamp(48px, 6vw, 72px);
  background:
    radial-gradient(ellipse at 30% -10%, rgba(47, 107, 255, 0.16), transparent 50%),
    radial-gradient(ellipse at 70% 30%, rgba(47, 107, 255, 0.08), transparent 50%),
    linear-gradient(180deg, #f4f7fc, #e8eef8);
  border-bottom: 1px solid rgba(47, 107, 255, 0.18);
}

.cl-hero-content {
  position: relative;
  z-index: 2;
}

.cl-hero-content .eyebrow { margin-bottom: 16px; }
.cl-hero-content h1 {
  max-width: 800px;
  font-size: clamp(28px, 4.5vw, 52px);
  line-height: 1.15;
  margin: 0 0 18px;
}
.cl-hero-content > p {
  max-width: 680px;
  font-size: clamp(16px, 1.8vw, 19px);
  color: var(--text-secondary);
  margin: 0 0 12px;
}

/* Clause highlighting animation */
.cl-motion-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.cl-motion-grid {
  background:
    linear-gradient(transparent 0, transparent calc(100% - 1px), rgba(47, 107, 255, 0.06) 100%),
    linear-gradient(90deg, transparent 0, transparent calc(100% - 1px), rgba(47, 107, 255, 0.06) 100%);
  background-size: 48px 48px;
  opacity: 0.6;
}

.cl-motion-clauses { z-index: 1; }

.cl-clause {
  position: absolute;
  left: var(--cl-x);
  top: var(--cl-y);
  padding: 6px 14px;
  background: rgba(47, 107, 255, 0.08);
  border: 1px solid rgba(47, 107, 255, 0.18);
  border-left: 3px solid var(--brand-accent);
  border-radius: 6px;
  color: var(--brand-accent);
  font-size: 12px;
  font-family: 'SF Mono', 'Fira Code', monospace;
  font-weight: 500;
  white-space: nowrap;
  opacity: 0;
  animation: cl-clause-float 8s ease-in-out infinite;
  animation-delay: var(--cl-d);
}

@keyframes cl-clause-float {
  0%, 100% { opacity: 0; transform: translateY(8px); }
  15%, 85% { opacity: 0.7; transform: translateY(0); }
  50% { opacity: 1; transform: translateY(-4px); }
}

/* ContractLens Hero Pillars */
.theme-contractlens .hero-pillars {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  margin-top: 28px;
  max-width: 800px;
}

.theme-contractlens .hero-pillar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid rgba(47, 107, 255, 0.18);
  border-radius: 10px;
  background: rgba(47, 107, 255, 0.05);
  transition: border-color 0.2s, background 0.2s;
}

.theme-contractlens .hero-pillar:hover {
  border-color: rgba(47, 107, 255, 0.35);
  background: rgba(47, 107, 255, 0.09);
}

.theme-contractlens .pillar-icon {
  color: var(--brand-accent);
  font-size: 10px;
}

.theme-contractlens .pillar-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary);
}

/* Integration strip */
.section-label-center {
  text-align: center;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-muted);
  margin-bottom: 18px;
}

.integration-strip {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
}

.integration-logo {
  padding: 8px 18px;
  border: 1px solid var(--border-default);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-muted);
  background: var(--bg-surface);
}

/* Stat row */
.stat-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 32px;
}

.stat-card {
  padding: 24px;
  border-radius: var(--radius-card);
  border: 1px solid var(--border-default);
  background: var(--bg-surface);
  text-align: center;
  box-shadow: var(--shadow-low);
}

.stat-number {
  display: block;
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 800;
  color: var(--brand-accent);
  line-height: 1.1;
  margin-bottom: 8px;
}

.stat-label {
  display: block;
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.4;
}

/* Card icon */
.card-icon-wrap {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: rgba(47, 107, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  border: 1px solid rgba(47, 107, 255, 0.14);
}

.card-icon {
  font-size: 20px;
}

.theme-contractlens .card-icon-wrap {
  background: rgba(47, 107, 255, 0.08);
  border-color: rgba(47, 107, 255, 0.14);
}

/* Timeline steps (shared across products) */
.cl-steps-timeline {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 32px;
  position: relative;
}

.cl-steps-timeline::before {
  content: "";
  position: absolute;
  left: 28px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--brand-accent);
  opacity: 0.2;
}

.cl-step {
  display: flex;
  gap: 20px;
  padding: 24px 0;
  position: relative;
}

.cl-step-number {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: var(--brand-accent);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 18px;
  z-index: 1;
}

.cl-step-body h3 {
  margin: 0 0 6px;
  font-size: 18px;
}

.cl-step-body p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 15px;
  line-height: 1.6;
}

/* Deep dive grid */
.cl-deepdive-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 28px;
}

.cl-deepdive-card {
  padding: 28px;
  border-radius: var(--radius-card);
  border: 1px solid var(--border-default);
  background: var(--bg-surface);
  box-shadow: var(--shadow-low);
}

.cl-deepdive-card h3 {
  margin: 0 0 14px;
  font-size: 17px;
  color: var(--brand-accent);
}

.cl-deepdive-card ul {
  margin: 0;
  padding: 0 0 0 18px;
  list-style: disc;
}

.cl-deepdive-card li {
  font-size: 14px;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 6px;
}

/* Demo shell */
.cl-demo-shell {
  border: 1px solid var(--border-default);
  border-radius: 14px;
  overflow: hidden;
  background: #0d1526;
  box-shadow: var(--shadow-med);
}

.cl-demo-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: #0a1020;
  border-bottom: 1px solid rgba(47, 107, 255, 0.2);
}

.cl-demo-title {
  font-size: 12px;
  color: #8ba4c8;
  font-family: 'SF Mono', 'Fira Code', monospace;
  margin-left: auto;
}

.cl-demo-body {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  min-height: 220px;
}

.cl-demo-doc {
  padding: 18px;
  border-right: 1px solid rgba(47, 107, 255, 0.15);
}

.cl-demo-line {
  padding: 8px 0;
  font-size: 13px;
  color: #c8d6f0;
  line-height: 1.5;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  font-family: 'SF Mono', 'Fira Code', monospace;
}

.cl-hl {
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 3px;
}

.cl-hl-risk { background: rgba(201, 54, 74, 0.2); color: #ff7088; }
.cl-hl-ok { background: rgba(21, 138, 85, 0.2); color: #3ddb8a; }
.cl-hl-warn { background: rgba(183, 121, 31, 0.2); color: #f3c53d; }

.cl-demo-sidebar {
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cl-demo-insight {
  font-size: 12px;
  color: #a8b8d4;
  line-height: 1.5;
  padding: 8px 10px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.04);
}

.cl-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 4px;
  margin-right: 6px;
}

.cl-badge-risk { background: rgba(201, 54, 74, 0.25); color: #ff7088; }
.cl-badge-ok { background: rgba(21, 138, 85, 0.25); color: #3ddb8a; }
.cl-badge-warn { background: rgba(183, 121, 31, 0.25); color: #f3c53d; }

/* ROI grid */
.cl-roi-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 28px;
}

.cl-roi-card {
  padding: 28px;
  border-radius: var(--radius-card);
  border: 1px solid var(--border-default);
  background: var(--bg-surface);
  box-shadow: var(--shadow-low);
  text-align: center;
}

.cl-roi-metric {
  display: block;
  font-size: clamp(32px, 4.5vw, 48px);
  font-weight: 800;
  color: var(--brand-accent);
  line-height: 1.1;
  margin-bottom: 6px;
}

.cl-roi-label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 8px;
}

.cl-roi-card p {
  font-size: 13px;
  color: var(--text-muted);
  margin: 0;
  line-height: 1.5;
}

/* Compare table */
.cl-compare-table-wrap {
  margin-top: 28px;
  overflow-x: auto;
}

.cl-compare-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.cl-compare-table th,
.cl-compare-table td {
  padding: 12px 18px;
  text-align: left;
  border-bottom: 1px solid var(--border-default);
}

.cl-compare-table thead th {
  background: var(--bg-elevated);
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
}

.cl-compare-table thead th:nth-child(2) {
  color: var(--brand-accent);
}

.cl-check { color: var(--success); font-weight: 700; }
.cl-partial { color: var(--warning); }
.cl-no { color: var(--danger); }

/* Trust grid */
.cl-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 28px;
}

.cl-trust-card {
  padding: 28px;
  border-radius: var(--radius-card);
  border: 1px solid var(--border-default);
  background: var(--bg-surface);
  box-shadow: var(--shadow-low);
}

.cl-trust-card blockquote {
  margin: 0 0 14px;
  font-size: 15px;
  color: var(--text-secondary);
  line-height: 1.6;
  font-style: italic;
}

.cl-trust-author {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-muted);
  margin: 0;
}

/* ContractLens pricing theme */
.theme-contractlens .pricing-card {
  border-top: 3px solid rgba(47, 107, 255, 0.3);
}

.theme-contractlens .pricing-pro {
  border-color: var(--brand-accent);
  box-shadow: 0 8px 32px rgba(47, 107, 255, 0.15);
}

.theme-contractlens .pricing-badge {
  background: var(--brand-accent);
}

.theme-contractlens .pricing-features li::before {
  color: var(--brand-accent);
}

/* ContractLens CTA band */
.theme-contractlens .cta-band-full {
  background: linear-gradient(135deg, #1a3a7a 0%, #2f6bff 100%);
}

.theme-contractlens .cta-band-full h3,
.theme-contractlens .cta-band-full .muted {
  color: #ffffff;
}

.theme-contractlens .cta-band-full .btn-secondary {
  border-color: rgba(255, 255, 255, 0.3);
  color: #ffffff;
}

/* ContractLens scroll reveal */
.theme-contractlens.has-scroll-reveal .tile-rise {
  opacity: 0;
  transform: translate3d(0, 34px, 0) scale(0.985);
  filter: blur(2px);
  transition:
    opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.5s ease;
  transition-delay: var(--tile-delay, 0ms);
}

.theme-contractlens.has-scroll-reveal .tile-rise.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
  animation: tile-blue-glow 0.6s ease 0.15s 1 both;
}

@keyframes tile-blue-glow {
  0% { box-shadow: 0 0 0 0 rgba(47, 107, 255, 0); }
  50% { box-shadow: 0 0 18px 4px rgba(47, 107, 255, 0.18); }
  100% { box-shadow: var(--shadow-low); }
}

/* ==========================================================================
   AYMENTIS-SHIELD THEME — Alert Magenta (Dark theme)
   ========================================================================== */

body.theme-aymentis-shield {
  --bg-primary: #0a0810;
  --bg-surface: #110e16;
  --bg-elevated: #1a1622;
  --text-primary: #ffffff;
  --text-secondary: #d8d0e4;
  --text-muted: #a094b8;
  --border-default: #3d2a52;
  --brand-accent: var(--accent-aymentis-shield);
  --brand-accent-hover: #a8326f;
  --success: #1ec28b;
  --warning: #f3b33d;
  --danger: #ef5a72;
  --info: var(--accent-aymentis-shield);
  --shadow-low: 0 4px 16px rgba(0, 0, 0, 0.3);
  --shadow-med: 0 10px 28px rgba(0, 0, 0, 0.4);
  position: relative;
  overflow-x: clip;
  background:
    radial-gradient(ellipse at 18% -10%, rgba(196, 61, 143, 0.22), transparent 40%),
    radial-gradient(ellipse at 80% 30%, rgba(196, 61, 143, 0.08), transparent 45%),
    linear-gradient(180deg, #0a0810 0%, #0e0b14 50%, #080610 100%);
}

body.theme-aymentis-shield::before {
  display: none;
}

.theme-aymentis-shield .site-header {
  background: rgba(10, 8, 16, 0.94);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(196, 61, 143, 0.22);
}

.theme-aymentis-shield .brand-dot {
  box-shadow: 0 0 20px rgba(196, 61, 143, 0.7);
}

.theme-aymentis-shield .brand { color: #f0e8f8; }
.theme-aymentis-shield .site-nav a { color: #c4b8d6; }
.theme-aymentis-shield .site-nav a:hover,
.theme-aymentis-shield .site-nav a[aria-current="page"] { color: #ffffff; }

.theme-aymentis-shield .hero .eyebrow {
  border-color: rgba(196, 61, 143, 0.4);
  background: rgba(196, 61, 143, 0.08);
  color: #e874b8;
}

.theme-aymentis-shield .hero h1,
.theme-aymentis-shield .hero p { color: var(--text-primary); }

.theme-aymentis-shield .hero .btn-secondary {
  border-color: rgba(196, 61, 143, 0.36);
  color: var(--text-secondary);
}

.theme-aymentis-shield .hero .btn-secondary:hover {
  border-color: rgba(196, 61, 143, 0.56);
  color: #ffffff;
}

.theme-aymentis-shield .card,
.theme-aymentis-shield .step,
.theme-aymentis-shield .faq details,
.theme-aymentis-shield .cta-band {
  background: linear-gradient(180deg, rgba(18, 14, 24, 0.96), rgba(10, 8, 16, 0.97));
  border: 1px solid rgba(196, 61, 143, 0.2);
}

.theme-aymentis-shield .card h3,
.theme-aymentis-shield .faq summary { color: #ffffff; }

.theme-aymentis-shield .card p,
.theme-aymentis-shield .faq p,
.theme-aymentis-shield .list li { color: #d8d0e4; }

.theme-aymentis-shield .section-soft {
  background: transparent;
  border-top: 1px solid rgba(196, 61, 143, 0.15);
}

.theme-aymentis-shield .section-title { color: #ffffff; }
.theme-aymentis-shield .section-subtitle,
.theme-aymentis-shield .muted { color: #d8d0e4; }

.theme-aymentis-shield .kicker { color: var(--brand-accent); }

.theme-aymentis-shield .site-footer {
  background: #080610;
  border-top: 1px solid rgba(196, 61, 143, 0.18);
}

.theme-aymentis-shield .footer-links a { color: #c4b8d6; }

/* Aymentis Shield Hero */
.hero-ds-bleed {
  position: relative;
  overflow: hidden;
  padding: clamp(72px, 9vw, 128px) 0 clamp(48px, 6vw, 72px);
  background:
    radial-gradient(ellipse at 30% -10%, rgba(196, 61, 143, 0.28), transparent 45%),
    radial-gradient(ellipse at 80% 40%, rgba(196, 61, 143, 0.1), transparent 45%),
    linear-gradient(180deg, #0a0810, #0e0b14);
  border-bottom: 1px solid rgba(196, 61, 143, 0.25);
}

.ds-hero-content {
  position: relative;
  z-index: 2;
}

.ds-hero-content .eyebrow { margin-bottom: 16px; }
.ds-hero-content h1 {
  max-width: 820px;
  font-size: clamp(28px, 4.5vw, 50px);
  line-height: 1.15;
  margin: 0 0 18px;
}
.ds-hero-content > p {
  max-width: 700px;
  font-size: clamp(16px, 1.8vw, 19px);
  color: var(--text-secondary);
  margin: 0 0 12px;
}

.ds-motion-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.ds-motion-grid {
  background:
    linear-gradient(transparent 0, transparent calc(100% - 1px), rgba(196, 61, 143, 0.06) 100%),
    linear-gradient(90deg, transparent 0, transparent calc(100% - 1px), rgba(196, 61, 143, 0.06) 100%);
  background-size: 48px 48px;
  opacity: 0.5;
}

.ds-motion-scanlines {
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(196, 61, 143, 0.03) 2px,
    rgba(196, 61, 143, 0.03) 4px
  );
  z-index: 1;
}

/* Radar animation */
.ds-motion-radar {
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 10%;
}

.ds-radar-ring {
  position: absolute;
  right: 10%;
  top: 50%;
  transform: translate(50%, -50%);
  border-radius: 50%;
  border: 1px solid rgba(196, 61, 143, 0.15);
}

.ds-ring-1 { width: 200px; height: 200px; }
.ds-ring-2 { width: 350px; height: 350px; }
.ds-ring-3 { width: 500px; height: 500px; }

.ds-radar-sweep {
  position: absolute;
  right: 10%;
  top: 50%;
  transform-origin: 0 0;
  width: 250px;
  height: 2px;
  background: linear-gradient(90deg, rgba(196, 61, 143, 0.8), transparent);
  animation: ds-sweep 4s linear infinite;
}

@keyframes ds-sweep {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* Aymentis Shield Hero Pillars */
.theme-aymentis-shield .hero-pillars {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  margin-top: 28px;
  max-width: 800px;
}

.theme-aymentis-shield .hero-pillar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid rgba(196, 61, 143, 0.22);
  border-radius: 10px;
  background: rgba(196, 61, 143, 0.06);
  transition: border-color 0.2s, background 0.2s;
}

.theme-aymentis-shield .hero-pillar:hover {
  border-color: rgba(196, 61, 143, 0.4);
  background: rgba(196, 61, 143, 0.1);
}

.theme-aymentis-shield .pillar-icon { color: var(--brand-accent); font-size: 10px; }
.theme-aymentis-shield .pillar-label { font-size: 12px; font-weight: 600; color: #ffffff; }

/* DS console status badges */
.ds-alert { background: rgba(239, 90, 114, 0.22); color: #ff7088; border: 1px solid rgba(239, 90, 114, 0.4); }
.ds-evidence { background: rgba(196, 61, 143, 0.22); color: #e874b8; border: 1px solid rgba(196, 61, 143, 0.4); }
.ds-takedown { background: rgba(30, 194, 139, 0.22); color: #3ddb8a; border: 1px solid rgba(30, 194, 139, 0.4); }

/* DS threat map */
.ds-threatmap-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 28px;
}

.ds-threat-item {
  padding: 24px;
  border-radius: var(--radius-card);
  border: 1px solid rgba(196, 61, 143, 0.2);
  background: rgba(18, 14, 24, 0.8);
  text-align: center;
}

.ds-threat-icon {
  display: block;
  font-size: 32px;
  margin-bottom: 12px;
}

.ds-threat-item h4 {
  margin: 0 0 6px;
  color: #ffffff;
  font-size: 15px;
}

.ds-threat-item p {
  margin: 0;
  color: #c4b8d6;
  font-size: 13px;
}

/* DS card icon wraps */
.theme-aymentis-shield .card-icon-wrap {
  background: rgba(196, 61, 143, 0.1);
  border-color: rgba(196, 61, 143, 0.2);
}

/* DS stat cards */
.theme-aymentis-shield .stat-card {
  background: rgba(18, 14, 24, 0.8);
  border-color: rgba(196, 61, 143, 0.2);
}

.theme-aymentis-shield .stat-number { color: var(--brand-accent); }
.theme-aymentis-shield .stat-label { color: #c4b8d6; }

/* DS steps */
.theme-aymentis-shield .cl-step-number { background: var(--brand-accent); }
.theme-aymentis-shield .cl-steps-timeline::before { background: var(--brand-accent); }
.theme-aymentis-shield .cl-step-body h3 { color: #ffffff; }
.theme-aymentis-shield .cl-step-body p { color: #d8d0e4; }

/* DS ROI */
.theme-aymentis-shield .cl-roi-card {
  background: rgba(18, 14, 24, 0.8);
  border-color: rgba(196, 61, 143, 0.2);
}

.theme-aymentis-shield .cl-roi-metric { color: var(--brand-accent); }
.theme-aymentis-shield .cl-roi-label { color: #ffffff; }
.theme-aymentis-shield .cl-roi-card p { color: #c4b8d6; }

/* DS pricing */
.theme-aymentis-shield .pricing-card {
  border-top: 3px solid rgba(196, 61, 143, 0.3);
  background: linear-gradient(180deg, rgba(18, 14, 24, 0.96), rgba(10, 8, 16, 0.97));
}

.theme-aymentis-shield .pricing-pro {
  border-color: var(--brand-accent);
  box-shadow: 0 8px 32px rgba(196, 61, 143, 0.2);
}

.theme-aymentis-shield .pricing-badge { background: var(--brand-accent); }
.theme-aymentis-shield .pricing-header h3 { color: #ffffff; }
.theme-aymentis-shield .pricing-amount { color: #ffffff; }
.theme-aymentis-shield .pricing-features li { color: #d8d0e4; }
.theme-aymentis-shield .pricing-features li::before { color: var(--brand-accent); }

/* DS CTA band */
.theme-aymentis-shield .cta-band-full {
  background: linear-gradient(135deg, #3d1a3a 0%, #c43d8f 100%);
}

.theme-aymentis-shield .cta-band-full h3,
.theme-aymentis-shield .cta-band-full .muted { color: #ffffff; }

.theme-aymentis-shield .cta-band-full .btn-secondary {
  border-color: rgba(255, 255, 255, 0.3);
  color: #ffffff;
}

/* DS scroll reveal */
.theme-aymentis-shield.has-scroll-reveal .tile-rise {
  opacity: 0;
  transform: translate3d(0, 34px, 0) scale(0.985);
  filter: blur(2px);
  transition:
    opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.5s ease;
  transition-delay: var(--tile-delay, 0ms);
}

.theme-aymentis-shield.has-scroll-reveal .tile-rise.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
  animation: tile-magenta-glow 0.6s ease 0.15s 1 both;
}

@keyframes tile-magenta-glow {
  0% { box-shadow: 0 0 0 0 rgba(196, 61, 143, 0); }
  50% { box-shadow: 0 0 18px 4px rgba(196, 61, 143, 0.22); }
  100% { box-shadow: var(--shadow-low); }
}

/* ==========================================================================
   AUDITLEDGER THEME — Governance Purple (Dark gradient)
   ========================================================================== */

body.theme-auditledger {
  --bg-primary: #0a0914;
  --bg-surface: #100e18;
  --bg-elevated: #18152a;
  --text-primary: #ffffff;
  --text-secondary: #d4cee6;
  --text-muted: #9e94be;
  --border-default: #352a5a;
  --brand-accent: var(--accent-auditledger);
  --brand-accent-hover: #6344d4;
  --success: #1ec28b;
  --warning: #f3b33d;
  --danger: #ef5a72;
  --info: var(--accent-auditledger);
  --shadow-low: 0 4px 16px rgba(0, 0, 0, 0.3);
  --shadow-med: 0 10px 28px rgba(0, 0, 0, 0.4);
  position: relative;
  overflow-x: clip;
  background:
    radial-gradient(ellipse at 20% -10%, rgba(122, 90, 248, 0.22), transparent 40%),
    radial-gradient(ellipse at 75% 50%, rgba(122, 90, 248, 0.08), transparent 45%),
    linear-gradient(180deg, #0a0914 0%, #0d0b18 50%, #08071a 100%);
}

body.theme-auditledger::before { display: none; }

.theme-auditledger .site-header {
  background: rgba(10, 9, 20, 0.94);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(122, 90, 248, 0.22);
}

.theme-auditledger .brand-dot { box-shadow: 0 0 20px rgba(122, 90, 248, 0.7); }
.theme-auditledger .brand { color: #ece8ff; }
.theme-auditledger .site-nav a { color: #beb4e0; }
.theme-auditledger .site-nav a:hover,
.theme-auditledger .site-nav a[aria-current="page"] { color: #ffffff; }

.theme-auditledger .hero .eyebrow {
  border-color: rgba(122, 90, 248, 0.4);
  background: rgba(122, 90, 248, 0.08);
  color: #b09dff;
}

.theme-auditledger .hero h1,
.theme-auditledger .hero p { color: var(--text-primary); }

.theme-auditledger .hero .btn-secondary {
  border-color: rgba(122, 90, 248, 0.36);
  color: var(--text-secondary);
}

.theme-auditledger .hero .btn-secondary:hover {
  border-color: rgba(122, 90, 248, 0.56);
  color: #ffffff;
}

.theme-auditledger .card,
.theme-auditledger .step,
.theme-auditledger .faq details,
.theme-auditledger .cta-band {
  background: linear-gradient(180deg, rgba(16, 14, 26, 0.96), rgba(10, 9, 20, 0.97));
  border: 1px solid rgba(122, 90, 248, 0.2);
}

.theme-auditledger .card h3,
.theme-auditledger .faq summary { color: #ffffff; }

.theme-auditledger .card p,
.theme-auditledger .faq p,
.theme-auditledger .list li { color: #d4cee6; }

.theme-auditledger .section-soft {
  background: transparent;
  border-top: 1px solid rgba(122, 90, 248, 0.15);
}

.theme-auditledger .section-title { color: #ffffff; }
.theme-auditledger .section-subtitle,
.theme-auditledger .muted { color: #d4cee6; }

.theme-auditledger .kicker { color: var(--brand-accent); }

.theme-auditledger .site-footer {
  background: #08071a;
  border-top: 1px solid rgba(122, 90, 248, 0.18);
}

.theme-auditledger .footer-links a { color: #beb4e0; }

/* AuditLedger Hero */
.hero-al-bleed {
  position: relative;
  overflow: hidden;
  padding: clamp(72px, 9vw, 128px) 0 clamp(48px, 6vw, 72px);
  background:
    radial-gradient(ellipse at 30% -10%, rgba(122, 90, 248, 0.28), transparent 45%),
    radial-gradient(ellipse at 80% 40%, rgba(122, 90, 248, 0.1), transparent 45%),
    linear-gradient(180deg, #0a0914, #0d0b18);
  border-bottom: 1px solid rgba(122, 90, 248, 0.25);
}

.al-hero-content {
  position: relative;
  z-index: 2;
}

.al-hero-content .eyebrow { margin-bottom: 16px; }
.al-hero-content h1 {
  max-width: 800px;
  font-size: clamp(28px, 4.5vw, 50px);
  line-height: 1.15;
  margin: 0 0 18px;
}
.al-hero-content > p {
  max-width: 700px;
  font-size: clamp(16px, 1.8vw, 19px);
  color: var(--text-secondary);
  margin: 0 0 12px;
}

.al-motion-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.al-motion-grid {
  background:
    linear-gradient(transparent 0, transparent calc(100% - 1px), rgba(122, 90, 248, 0.06) 100%),
    linear-gradient(90deg, transparent 0, transparent calc(100% - 1px), rgba(122, 90, 248, 0.06) 100%);
  background-size: 48px 48px;
  opacity: 0.5;
}

/* Audit ledger animation */
.al-motion-ledger {
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  padding: 10% 4% 10% 0;
  gap: 12px;
}

.al-ledger-entry {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  background: rgba(122, 90, 248, 0.06);
  border: 1px solid rgba(122, 90, 248, 0.18);
  border-radius: 8px;
  font-family: 'SF Mono', 'Fira Code', monospace;
  font-size: 11px;
  opacity: 0;
  animation: al-entry-in 6s ease-in-out infinite;
  animation-delay: var(--al-d);
}

.al-ts { color: #7e72a8; }
.al-msg { color: #c8c0e4; white-space: nowrap; }

.al-badge {
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}

.al-badge-pass { background: rgba(30, 194, 139, 0.2); color: #3ddb8a; }
.al-badge-collect { background: rgba(122, 90, 248, 0.2); color: #b09dff; }
.al-badge-review { background: rgba(243, 179, 61, 0.2); color: #f3c53d; }

@keyframes al-entry-in {
  0%, 100% { opacity: 0; transform: translateX(20px); }
  15%, 85% { opacity: 0.8; transform: translateX(0); }
  50% { opacity: 1; }
}

/* AL Hero Pillars */
.theme-auditledger .hero-pillars {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  margin-top: 28px;
  max-width: 800px;
}

.theme-auditledger .hero-pillar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid rgba(122, 90, 248, 0.22);
  border-radius: 10px;
  background: rgba(122, 90, 248, 0.06);
  transition: border-color 0.2s, background 0.2s;
}

.theme-auditledger .hero-pillar:hover {
  border-color: rgba(122, 90, 248, 0.4);
  background: rgba(122, 90, 248, 0.1);
}

.theme-auditledger .pillar-icon { color: var(--brand-accent); font-size: 10px; }
.theme-auditledger .pillar-label { font-size: 12px; font-weight: 600; color: #ffffff; }

/* AL card icons */
.theme-auditledger .card-icon-wrap {
  background: rgba(122, 90, 248, 0.1);
  border-color: rgba(122, 90, 248, 0.2);
}

/* AL stat cards */
.theme-auditledger .stat-card {
  background: rgba(16, 14, 26, 0.8);
  border-color: rgba(122, 90, 248, 0.2);
}

.theme-auditledger .stat-number { color: var(--brand-accent); }
.theme-auditledger .stat-label { color: #beb4e0; }

/* AL steps */
.theme-auditledger .cl-step-number { background: var(--brand-accent); }
.theme-auditledger .cl-steps-timeline::before { background: var(--brand-accent); }
.theme-auditledger .cl-step-body h3 { color: #ffffff; }
.theme-auditledger .cl-step-body p { color: #d4cee6; }

/* AL deep dive */
.theme-auditledger .cl-deepdive-card {
  background: rgba(16, 14, 26, 0.8);
  border-color: rgba(122, 90, 248, 0.2);
}

.theme-auditledger .cl-deepdive-card h3 { color: var(--brand-accent); }
.theme-auditledger .cl-deepdive-card li { color: #d4cee6; }

/* AL ROI */
.theme-auditledger .cl-roi-card {
  background: rgba(16, 14, 26, 0.8);
  border-color: rgba(122, 90, 248, 0.2);
}

.theme-auditledger .cl-roi-metric { color: var(--brand-accent); }
.theme-auditledger .cl-roi-label { color: #ffffff; }
.theme-auditledger .cl-roi-card p { color: #beb4e0; }

/* AL trust */
.theme-auditledger .cl-trust-card {
  background: rgba(16, 14, 26, 0.8);
  border-color: rgba(122, 90, 248, 0.2);
}

.theme-auditledger .cl-trust-card blockquote { color: #d4cee6; }
.theme-auditledger .cl-trust-author { color: #9e94be; }

/* AL pricing */
.theme-auditledger .pricing-card {
  border-top: 3px solid rgba(122, 90, 248, 0.3);
  background: linear-gradient(180deg, rgba(16, 14, 26, 0.96), rgba(10, 9, 20, 0.97));
}

.theme-auditledger .pricing-pro {
  border-color: var(--brand-accent);
  box-shadow: 0 8px 32px rgba(122, 90, 248, 0.2);
}

.theme-auditledger .pricing-badge { background: var(--brand-accent); }
.theme-auditledger .pricing-header h3 { color: #ffffff; }
.theme-auditledger .pricing-amount { color: #ffffff; }
.theme-auditledger .pricing-features li { color: #d4cee6; }
.theme-auditledger .pricing-features li::before { color: var(--brand-accent); }

/* AL integration strip (dark) */
.theme-auditledger .integration-logo {
  background: rgba(16, 14, 26, 0.8);
  border-color: rgba(122, 90, 248, 0.2);
  color: #beb4e0;
}

/* AL CTA band */
.theme-auditledger .cta-band-full {
  background: linear-gradient(135deg, #1a1440 0%, #7a5af8 100%);
}

.theme-auditledger .cta-band-full h3,
.theme-auditledger .cta-band-full .muted { color: #ffffff; }

.theme-auditledger .cta-band-full .btn-secondary {
  border-color: rgba(255, 255, 255, 0.3);
  color: #ffffff;
}

/* AL scroll reveal */
.theme-auditledger.has-scroll-reveal .tile-rise {
  opacity: 0;
  transform: translate3d(0, 34px, 0) scale(0.985);
  filter: blur(2px);
  transition:
    opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.5s ease;
  transition-delay: var(--tile-delay, 0ms);
}

.theme-auditledger.has-scroll-reveal .tile-rise.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
  animation: tile-purple-glow 0.6s ease 0.15s 1 both;
}

@keyframes tile-purple-glow {
  0% { box-shadow: 0 0 0 0 rgba(122, 90, 248, 0); }
  50% { box-shadow: 0 0 18px 4px rgba(122, 90, 248, 0.22); }
  100% { box-shadow: var(--shadow-low); }
}

/* ==========================================================================
   AGENTREADY THEME — Living Teal (Dark theme)
   ========================================================================== */

body.theme-agentready {
  --bg-primary: #060e10;
  --bg-surface: #0c1416;
  --bg-elevated: #141e22;
  --text-primary: #ffffff;
  --text-secondary: #cce4e4;
  --text-muted: #88b0b0;
  --border-default: #1e3a3a;
  --brand-accent: var(--accent-agentready);
  --brand-accent-hover: #008888;
  --success: #1ec28b;
  --warning: #f3b33d;
  --danger: #ef5a72;
  --info: var(--accent-agentready);
  --shadow-low: 0 4px 16px rgba(0, 0, 0, 0.3);
  --shadow-med: 0 10px 28px rgba(0, 0, 0, 0.4);
  position: relative;
  overflow-x: clip;
  background:
    radial-gradient(ellipse at 18% -10%, rgba(0, 163, 163, 0.22), transparent 40%),
    radial-gradient(ellipse at 80% 40%, rgba(0, 163, 163, 0.08), transparent 45%),
    linear-gradient(180deg, #060e10 0%, #081214 50%, #050c0e 100%);
}

body.theme-agentready::before { display: none; }

.theme-agentready .site-header {
  background: rgba(6, 14, 16, 0.94);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(0, 163, 163, 0.22);
}

.theme-agentready .brand-dot { box-shadow: 0 0 20px rgba(0, 163, 163, 0.7); }
.theme-agentready .brand { color: #e0f4f4; }
.theme-agentready .site-nav a { color: #a0d0d0; }
.theme-agentready .site-nav a:hover,
.theme-agentready .site-nav a[aria-current="page"] { color: #ffffff; }

.theme-agentready .hero .eyebrow {
  border-color: rgba(0, 163, 163, 0.4);
  background: rgba(0, 163, 163, 0.08);
  color: #40d6d6;
}

.theme-agentready .hero h1,
.theme-agentready .hero p { color: var(--text-primary); }

.theme-agentready .hero .btn-secondary {
  border-color: rgba(0, 163, 163, 0.36);
  color: var(--text-secondary);
}

.theme-agentready .hero .btn-secondary:hover {
  border-color: rgba(0, 163, 163, 0.56);
  color: #ffffff;
}

.theme-agentready .card,
.theme-agentready .step,
.theme-agentready .faq details,
.theme-agentready .cta-band {
  background: linear-gradient(180deg, rgba(12, 20, 22, 0.96), rgba(6, 14, 16, 0.97));
  border: 1px solid rgba(0, 163, 163, 0.2);
}

.theme-agentready .card h3,
.theme-agentready .faq summary { color: #ffffff; }

.theme-agentready .card p,
.theme-agentready .faq p,
.theme-agentready .list li { color: #cce4e4; }

.theme-agentready .section-soft {
  background: transparent;
  border-top: 1px solid rgba(0, 163, 163, 0.15);
}

.theme-agentready .section-title { color: #ffffff; }
.theme-agentready .section-subtitle,
.theme-agentready .muted { color: #cce4e4; }

.theme-agentready .kicker { color: var(--brand-accent); }

.theme-agentready .site-footer {
  background: #050c0e;
  border-top: 1px solid rgba(0, 163, 163, 0.18);
}

.theme-agentready .footer-links a { color: #a0d0d0; }

/* AgentReady Hero */
.hero-ar-bleed {
  position: relative;
  overflow: hidden;
  padding: clamp(72px, 9vw, 128px) 0 clamp(48px, 6vw, 72px);
  background:
    radial-gradient(ellipse at 30% -10%, rgba(0, 163, 163, 0.28), transparent 45%),
    radial-gradient(ellipse at 80% 40%, rgba(0, 163, 163, 0.1), transparent 45%),
    linear-gradient(180deg, #060e10, #081214);
  border-bottom: 1px solid rgba(0, 163, 163, 0.25);
}

.ar-hero-content {
  position: relative;
  z-index: 2;
}

.ar-hero-content .eyebrow { margin-bottom: 16px; }
.ar-hero-content h1 {
  max-width: 820px;
  font-size: clamp(28px, 4.5vw, 50px);
  line-height: 1.15;
  margin: 0 0 18px;
}
.ar-hero-content > p {
  max-width: 700px;
  font-size: clamp(16px, 1.8vw, 19px);
  color: var(--text-secondary);
  margin: 0 0 12px;
}

.ar-motion-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.ar-motion-grid {
  background:
    linear-gradient(transparent 0, transparent calc(100% - 1px), rgba(0, 163, 163, 0.06) 100%),
    linear-gradient(90deg, transparent 0, transparent calc(100% - 1px), rgba(0, 163, 163, 0.06) 100%);
  background-size: 48px 48px;
  opacity: 0.5;
}

/* Neural node animation */
.ar-motion-nodes { z-index: 1; }

.ar-node {
  position: absolute;
  left: var(--ar-x);
  top: var(--ar-y);
  width: var(--ar-s);
  height: var(--ar-s);
  border-radius: 50%;
  background: rgba(0, 163, 163, 0.4);
  box-shadow: 0 0 20px rgba(0, 163, 163, 0.3);
  opacity: 0;
  animation: ar-pulse 5s ease-in-out infinite;
  animation-delay: var(--ar-d);
}

@keyframes ar-pulse {
  0%, 100% { opacity: 0; transform: scale(0.6); }
  25%, 75% { opacity: 0.8; transform: scale(1); box-shadow: 0 0 30px rgba(0, 163, 163, 0.4); }
  50% { opacity: 1; transform: scale(1.2); box-shadow: 0 0 40px rgba(0, 163, 163, 0.5); }
}

/* AR Hero Pillars */
.theme-agentready .hero-pillars {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  margin-top: 28px;
  max-width: 800px;
}

.theme-agentready .hero-pillar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid rgba(0, 163, 163, 0.22);
  border-radius: 10px;
  background: rgba(0, 163, 163, 0.06);
  transition: border-color 0.2s, background 0.2s;
}

.theme-agentready .hero-pillar:hover {
  border-color: rgba(0, 163, 163, 0.4);
  background: rgba(0, 163, 163, 0.1);
}

.theme-agentready .pillar-icon { color: var(--brand-accent); font-size: 10px; }
.theme-agentready .pillar-label { font-size: 12px; font-weight: 600; color: #ffffff; }

/* AR console badges */
.ar-enrich { background: rgba(0, 163, 163, 0.22); color: #40d6d6; border: 1px solid rgba(0, 163, 163, 0.4); }
.ar-score { background: rgba(30, 194, 139, 0.22); color: #3ddb8a; border: 1px solid rgba(30, 194, 139, 0.4); }
.ar-sync { background: rgba(47, 107, 255, 0.22); color: #6b9aff; border: 1px solid rgba(47, 107, 255, 0.4); }

/* AR card icons */
.theme-agentready .card-icon-wrap {
  background: rgba(0, 163, 163, 0.1);
  border-color: rgba(0, 163, 163, 0.2);
}

/* AR stat cards */
.theme-agentready .stat-card {
  background: rgba(12, 20, 22, 0.8);
  border-color: rgba(0, 163, 163, 0.2);
}

.theme-agentready .stat-number { color: var(--brand-accent); }
.theme-agentready .stat-label { color: #a0d0d0; }

/* AR steps */
.theme-agentready .cl-step-number { background: var(--brand-accent); }
.theme-agentready .cl-steps-timeline::before { background: var(--brand-accent); }
.theme-agentready .cl-step-body h3 { color: #ffffff; }
.theme-agentready .cl-step-body p { color: #cce4e4; }

/* AR before/after demo */
.ar-demo-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 28px;
}

.ar-demo-panel {
  padding: 24px;
  border-radius: var(--radius-card);
  border: 1px solid rgba(0, 163, 163, 0.2);
}

.ar-before {
  background: rgba(20, 16, 16, 0.8);
  border-color: rgba(239, 90, 114, 0.25);
}

.ar-after {
  background: rgba(12, 20, 22, 0.8);
  border-color: rgba(0, 163, 163, 0.3);
}

.ar-demo-panel h4 {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0 0 14px;
}

.ar-before h4 { color: #ef5a72; }
.ar-after h4 { color: #40d6d6; }

.ar-demo-content { font-size: 13px; color: #cce4e4; }

.ar-demo-title {
  font-weight: 700;
  font-size: 15px;
  color: #ffffff;
  margin: 0 0 8px;
}

.ar-demo-raw { color: #9ea0a6; line-height: 1.6; margin: 0 0 12px; }
.ar-demo-enriched { margin: 0 0 8px; line-height: 1.6; }
.ar-demo-enriched strong { color: #40d6d6; }
.ar-demo-verdict { margin-top: 14px; }

/* AR ROI */
.theme-agentready .cl-roi-card {
  background: rgba(12, 20, 22, 0.8);
  border-color: rgba(0, 163, 163, 0.2);
}

.theme-agentready .cl-roi-metric { color: var(--brand-accent); }
.theme-agentready .cl-roi-label { color: #ffffff; }
.theme-agentready .cl-roi-card p { color: #a0d0d0; }

/* AR trust */
.theme-agentready .cl-trust-card {
  background: rgba(12, 20, 22, 0.8);
  border-color: rgba(0, 163, 163, 0.2);
}

.theme-agentready .cl-trust-card blockquote { color: #cce4e4; }
.theme-agentready .cl-trust-author { color: #88b0b0; }

/* AR pricing */
.theme-agentready .pricing-card {
  border-top: 3px solid rgba(0, 163, 163, 0.3);
  background: linear-gradient(180deg, rgba(12, 20, 22, 0.96), rgba(6, 14, 16, 0.97));
}

.theme-agentready .pricing-pro {
  border-color: var(--brand-accent);
  box-shadow: 0 8px 32px rgba(0, 163, 163, 0.2);
}

.theme-agentready .pricing-badge { background: var(--brand-accent); }
.theme-agentready .pricing-header h3 { color: #ffffff; }
.theme-agentready .pricing-amount { color: #ffffff; }
.theme-agentready .pricing-features li { color: #cce4e4; }
.theme-agentready .pricing-features li::before { color: var(--brand-accent); }

/* AR integration strip (dark) */
.theme-agentready .integration-logo {
  background: rgba(12, 20, 22, 0.8);
  border-color: rgba(0, 163, 163, 0.2);
  color: #a0d0d0;
}

/* AR CTA band */
.theme-agentready .cta-band-full {
  background: linear-gradient(135deg, #0a2828 0%, #00a3a3 100%);
}

.theme-agentready .cta-band-full h3,
.theme-agentready .cta-band-full .muted { color: #ffffff; }

.theme-agentready .cta-band-full .btn-secondary {
  border-color: rgba(255, 255, 255, 0.3);
  color: #ffffff;
}

/* AR scroll reveal */
.theme-agentready.has-scroll-reveal .tile-rise {
  opacity: 0;
  transform: translate3d(0, 34px, 0) scale(0.985);
  filter: blur(2px);
  transition:
    opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.5s ease;
  transition-delay: var(--tile-delay, 0ms);
}

.theme-agentready.has-scroll-reveal .tile-rise.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
  animation: tile-teal-glow 0.6s ease 0.15s 1 both;
}

@keyframes tile-teal-glow {
  0% { box-shadow: 0 0 0 0 rgba(0, 163, 163, 0); }
  50% { box-shadow: 0 0 18px 4px rgba(0, 163, 163, 0.22); }
  100% { box-shadow: var(--shadow-low); }
}

/* DS integration strip */
.theme-aymentis-shield .integration-logo {
  background: rgba(18, 14, 24, 0.8);
  border-color: rgba(196, 61, 143, 0.2);
  color: #c4b8d6;
}

/* ==========================================================================
   SHARED RESPONSIVE — All product themes
   ========================================================================== */

@media (max-width: 900px) {
  .stat-row,
  .cl-roi-grid { grid-template-columns: repeat(2, 1fr); }
  .cl-deepdive-grid,
  .cl-trust-grid,
  .ds-threatmap-grid { grid-template-columns: 1fr; }
  .cl-demo-body { grid-template-columns: 1fr; }
  .ar-demo-compare { grid-template-columns: 1fr; }

  .theme-contractlens .hero-pillars,
  .theme-aymentis-shield .hero-pillars,
  .theme-auditledger .hero-pillars,
  .theme-agentready .hero-pillars {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .stat-row,
  .cl-roi-grid { grid-template-columns: 1fr; }

  .theme-contractlens .hero-pillars,
  .theme-aymentis-shield .hero-pillars,
  .theme-auditledger .hero-pillars,
  .theme-agentready .hero-pillars {
    grid-template-columns: 1fr;
  }

  .cl-clause { display: none; }
  .ds-radar-sweep,
  .ds-radar-ring { display: none; }
  .al-ledger-entry { font-size: 10px; }
  .al-ledger-entry .al-msg { display: none; }
  .ar-node { display: none; }
}

/* Reduced motion for all product themes */
@media (prefers-reduced-motion: reduce) {
  .cl-clause,
  .ds-radar-sweep,
  .al-ledger-entry,
  .ar-node {
    animation: none;
    opacity: 0.6;
  }

  .theme-contractlens.has-scroll-reveal .tile-rise,
  .theme-aymentis-shield.has-scroll-reveal .tile-rise,
  .theme-auditledger.has-scroll-reveal .tile-rise,
  .theme-agentready.has-scroll-reveal .tile-rise {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
    animation: none;
  }
}

/* Product card stagger animation on homepage */
.theme-home-premium .product-tile:nth-child(1) { transition-delay: 0ms; }
.theme-home-premium .product-tile:nth-child(2) { transition-delay: 60ms; }
.theme-home-premium .product-tile:nth-child(3) { transition-delay: 120ms; }
.theme-home-premium .product-tile:nth-child(4) { transition-delay: 180ms; }
.theme-home-premium .product-tile:nth-child(5) { transition-delay: 240ms; }

/* Stats bar enhancements */
.theme-home-premium .stats-bar {
  background: rgba(8, 16, 36, 0.6);
  border: 1px solid rgba(74, 141, 255, 0.12);
  border-radius: var(--radius-card);
  backdrop-filter: blur(12px);
}

.theme-home-premium .stat-value {
  background: linear-gradient(135deg, #4a8dff, #00d4ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Enhanced eyebrow tag styling */
.theme-home-premium .hero .eyebrow {
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 600;
}

/* Compliance badge enhancements */
.theme-home-premium .compliance-badge {
  background: rgba(14, 26, 56, 0.7);
  border: 1px solid rgba(100, 160, 255, 0.16);
  backdrop-filter: blur(8px);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.theme-home-premium .compliance-badge:hover {
  border-color: rgba(74, 141, 255, 0.4);
  box-shadow: 0 0 20px rgba(74, 141, 255, 0.1);
}

/* Brand tagline on hero — subtle gradient */
.theme-home-premium .hero-brand-tagline {
  background: linear-gradient(90deg, #4a8dff, #00d4ff, #7a5af8);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 700;
  font-size: clamp(16px, 2vw, 22px);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
