/* Entari production CSS bundle v20260922102817 */
/* --- tokens.css --- */
:root {
  /* Brand book. Later slices paint with these. Do not invent a second palette. */
  --entari-surface-base: #F6F5F2;
  /* Cards: bright near-white with a whisper of mint — green is a hint, not a wash. */
  --entari-surface-card: #f5f9f7;
  --entari-surface-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.07 0 0 0 0 0.065 0 0 0 0 0.06 0 0 0 0.055 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --entari-border-resting: #E4E4E7;
  /* Razor-thin structural edge: zinc hairline with a whisper of accent. */
  --entari-border-card: color-mix(in srgb, #34d399 16%, #d4d4d8);
  --entari-accent-precision: #34d399;
  --entari-accent-press: #10b981;
  --entari-text-primary: #18181B;
  --entari-text-secondary: #71717A;
  --entari-shadow: 0 4px 24px -4px rgba(24, 24, 27, 0.06);
  --entari-shadow-hover: 0 12px 32px -6px rgba(24, 24, 27, 0.08);
  --entari-secondary-bg: #ffffff;
  --entari-secondary-border: color-mix(in srgb, #34d399 42%, #a1a1aa);
  --entari-secondary-hover-bg: color-mix(in srgb, #34d399 14%, #ffffff);

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-24: 6rem;

  --motion-hover: 150ms;
  --motion-press: 50ms;
  --motion-enter: 200ms;
  --motion-ease: cubic-bezier(0.16, 1, 0.3, 1);

  --font-hero: 3.25rem;
  --font-section: 2rem;
  --font-card-title: 1.25rem;
  --font-tag: 0.75rem;

  --bg: var(--entari-surface-base);
  --panel: var(--entari-surface-card);
  --panel-lift: var(--entari-surface-base);
  --line: var(--entari-border-resting);
  --text: var(--entari-text-primary);
  --muted: var(--entari-text-secondary);
  --accent: var(--entari-accent-precision);
  --accent-press: var(--entari-accent-press);
  --green: var(--entari-text-primary);
  --green-light: var(--entari-text-primary);
  --white: #ffffff;
  --shadow: none;

  --radius-control: 8px;
  --radius-box: 12px;

  --brand-product: #141414;
  --brand-product-glow: transparent;
  --brand-product-ink: #141414;

  --brand-personal: #141414;
  --brand-personal-glow: transparent;
  --brand-personal-ink: #141414;

  --product-voltage: var(--brand-product);
  --product-voltage-ink: var(--brand-product-ink);
  --product-voltage-glow: transparent;

  --font-display: "Inter", ui-sans-serif, system-ui, sans-serif;
  --font-body: "Inter", ui-sans-serif, system-ui, sans-serif;

  --font-size-body: 16px;
  --line-height-body: 1.5;
  --font-size-h1: 52px;
  --font-size-h2: 32px;
  --font-size-h3: 20px;
  --font-size-eyebrow: 13px;
  --font-size-label: 15px;
  --font-size-label-lg: 16px;
  --font-size-small: 15px;
  --font-size-caption: 14px;
  --letter-spacing-label: 0.06em;
  --font-weight-bold: 700;
  --font-weight-semibold: 600;

  --scroll-offset: 88px;

  --glow-teal: transparent;
  --glow-teal-soft: transparent;
  --glow-teal-mid: transparent;
  --glow-module-shadow: none;
  --glow-module-surface: transparent;
  --glow-hover-shadow: none;

  --glow-personal: transparent;
  --glow-personal-soft: transparent;
  --glow-personal-mid: transparent;

  --band-deep: var(--entari-surface-base);
  --band-lift: var(--entari-surface-base);
  --surface-inset: var(--entari-surface-card);
  --atmosphere-teal: transparent;
  --atmosphere-teal-soft: transparent;
  --atmosphere-teal-deep: transparent;
  --atmosphere-slate: transparent;
  --atmosphere-leadership: transparent;

  --cta-ink: #ffffff;
  --cta-rim: #141414;
  --cta-rim-soft: #e7e5e4;
  --cta-rim-glow: transparent;
  --cta-cyan: #141414;
  --cta-cyan-soft: transparent;
  --cta-cyan-glow: transparent;
  --cta-primary-bg: var(--accent);
  --cta-primary-border: var(--accent);
  --cta-secondary-bg: var(--entari-secondary-bg);
  --cta-secondary-border: var(--entari-secondary-border);

  --domain-leadership: #141414;
  --domain-leadership-strong: #141414;
  --domain-leadership-dim: transparent;
  --domain-leadership-border: #e7e5e4;

  --domain-admin: #141414;
  --domain-admin-strong: #141414;
  --domain-admin-dim: transparent;
  --domain-admin-border: #e7e5e4;

  --domain-production: #141414;
  --domain-production-strong: #141414;
  --domain-production-dim: transparent;
  --domain-production-border: #e7e5e4;

  --domain-value-amber: #141414;
  --domain-value-amber-dim: transparent;
  --domain-value-amber-border: #e7e5e4;
}

.page-product-business,
.page-product-personal {
  --product-voltage: #141414;
  --product-voltage-ink: #141414;
  --product-voltage-glow: transparent;
  --atmosphere-teal: transparent;
  --atmosphere-teal-soft: transparent;
  --cta-rim: #141414;
  --cta-rim-soft: #e7e5e4;
  --cta-rim-glow: transparent;
  --cta-primary-border: #141414;
}

/* --- base.css --- */
* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--scroll-offset);
  overflow-x: clip;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  font-size: var(--font-size-body);
  line-height: 1.5;
  overflow-x: clip;
}

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

p {
  margin: 0;
  color: var(--muted);
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
}

img { max-width: 100%; display: block; }

/* Marketing typography — calm hierarchy (not fundament mega-type) */
h1, h2, h3 {
  margin: 0;
  color: var(--text);
  font-family: var(--font-display);
  letter-spacing: -0.04em;
  line-height: 1.08;
}

h1 {
  font-size: clamp(2.25rem, 4.2vw, 3.25rem);
  font-weight: 800;
  max-width: 18ch;
}

h2 {
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 800;
}

h3 {
  font-size: var(--font-size-h3);
  letter-spacing: -0.03em;
  line-height: 1.2;
  font-weight: 700;
}

.eyebrow {
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: var(--font-size-eyebrow);
  font-weight: 700;
  margin-bottom: 18px;
}

#city-teaser,
#city-metaphor,
#approach,
#savings,
#rooms,
#included,
#folder-structure,
#how-it-works,
#value,
#departments,
#tech,
#deploy,
#asset-register,
#who,
#timeline,
#model,
#roadmap,
#governance,
#contact {
  scroll-margin-top: var(--scroll-offset);
}

@media (max-width: 640px) {
  h1 {
    font-size: clamp(1.85rem, 8vw, 2.35rem);
    max-width: none;
  }
}

/* --- layout.css --- */
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }

.section-pad { padding: 96px 0; }

/* ==========================================================================
   Site header — single source: src/components/Header.html
   Rebuild all pages after edits: .\scripts\build-pages.ps1
   ========================================================================== */

.site-header-shell {
  position: relative;
  top: auto;
  z-index: 1000;
  background: color-mix(in srgb, var(--bg) 92%, transparent);
  backdrop-filter: blur(14px);
  box-shadow: none;
  overflow: visible;
}

.site-beta-banner {
  display: none;
}

.site-header {
  position: relative;
  z-index: auto;
  --header-bg: var(--bg);
  background: var(--header-bg);
  border-bottom: 1px solid var(--accent);
  backdrop-filter: blur(14px);
}

.site-nav {
  position: relative;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 12px 0;
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.brand {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
}

.brand:hover {
  opacity: 0.92;
}

/* Wordmark only (legacy / footer-style) */
.brand:not(.brand--badge):not(.brand--lockup) img {
  width: 132px;
  height: auto;
  display: block;
}

.brand--badge,
.brand--lockup {
  line-height: 0;
}

.brand--lockup {
  gap: 0.55rem;
}

.brand--badge .brand__badge,
.brand--lockup .brand__badge,
.brand img.brand__badge {
  width: 34px;
  height: 34px;
  max-width: 34px;
  max-height: 34px;
  object-fit: contain;
  object-position: center;
  display: block;
  flex-shrink: 0;
  filter: none;
}

.brand--lockup .brand__wordmark {
  width: auto;
  height: 22px;
  max-height: 22px;
  max-width: 118px;
  object-fit: contain;
  object-position: left center;
  display: block;
  filter: none;
}

.nav-utilities {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-left: auto;
  flex-shrink: 0;
}

.lang-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 18px;
  font-weight: 600;
}

.lang-toggle__link {
  color: var(--muted);
  padding: 4px 2px;
  transition: color 200ms ease-in-out;
}

.lang-toggle__link:hover {
  color: var(--text);
}

.lang-toggle__link.is-active {
  color: var(--text);
}

.lang-toggle__sep {
  color: var(--muted);
  font-size: 18px;
  opacity: 0.6;
}

.nav-login {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 22px;
  border-radius: var(--radius-control, 6px);
  border: 1px solid var(--cta-primary-border);
  background: var(--cta-primary-bg);
  color: var(--cta-ink, #f8fafc);
  font-size: 18px;
  font-weight: 700;
  white-space: nowrap;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 0 18px var(--cta-rim-glow);
  transition:
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.nav-login:hover {
  border-color: color-mix(in srgb, var(--cta-rim) 88%, #ffffff);
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.98), rgba(15, 23, 42, 0.98));
  color: #ffffff;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 0 26px var(--cta-rim-glow);
  transform: translateY(-1px);
}

.nav-menu-wrap {
  position: static;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  overflow: visible;
}

.hamburger {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 36px;
  height: 36px;
  padding: 0;
  margin: 0;
  border: 1px solid transparent;
  border-radius: var(--radius-control, 6px);
  outline: none;
  box-shadow: none;
  background: transparent;
  background-color: transparent;
  cursor: pointer;
  flex-shrink: 0;
  line-height: 0;
  overflow: visible;
  transition: border-color 160ms ease, background 160ms ease;
}

.hamburger:hover,
.hamburger:focus,
.hamburger:focus-visible,
.hamburger[aria-expanded="true"] {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

.hamburger__line {
  display: block;
  width: 18px;
  height: 2px;
  min-height: 2px;
  background-color: #141414;
  border-radius: 1px;
  flex: 0 0 2px;
  pointer-events: none;
  transition: transform 180ms ease, opacity 180ms ease;
}

.hamburger[aria-expanded="true"] .hamburger__line:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.hamburger[aria-expanded="true"] .hamburger__line:nth-child(2) {
  opacity: 0;
}

.hamburger[aria-expanded="true"] .hamburger__line:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.nav-menu,
.nav-menu li {
  list-style: none;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

/* Header-attached panel — not a floating card over the chrome */
.nav-menu {
  display: block;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0.85rem max(1.25rem, calc((100% - min(1180px, calc(100% - 48px))) / 2)) 1rem;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: color-mix(in srgb, var(--bg) 94%, transparent);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 16px 28px rgba(2, 12, 8, 0.28);
  z-index: 999;
  text-align: left;
  overflow: visible;
  transform: translateY(-10px);
  transition:
    opacity 180ms ease,
    transform 180ms ease,
    visibility 180ms ease;
}

.nav-menu::before {
  content: none;
}

ul.nav-menu.is-active {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr));
  gap: 0.15rem 0.75rem;
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.nav-menu li {
  display: block;
  transition: background-color 160ms ease;
  border-radius: var(--radius-control, 6px);
}

.nav-menu li:hover {
  background-color: rgba(248, 250, 252, 0.06);
}

.nav-menu__link {
  display: block;
  margin-block: 0;
  padding: 0.7rem 0.85rem;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
  text-align: left;
  color: var(--muted);
  background-color: transparent;
  border-radius: var(--radius-control, 6px);
  transition: color 160ms ease, background 160ms ease;
}

.nav-menu li:hover > .nav-menu__link,
.nav-menu__link:hover,
.nav-menu__link:focus-visible {
  color: var(--text);
}

.nav-menu__link.is-active {
  color: #f8fafc;
  background: rgba(248, 250, 252, 0.08);
}

.nav-menu__item--has-sub {
  display: block;
  grid-column: 1 / -1;
}

.nav-menu__toggle {
  width: 100%;
  border: 0;
  cursor: pointer;
  text-align: left;
}

.nav-menu__toggle::after {
  content: "▾";
  margin-left: 0.45rem;
  font-size: 0.85em;
  opacity: 0.75;
}

.nav-submenu {
  list-style: none;
  margin: 0;
  padding: 0 0 0.35rem 0.5rem;
  background: transparent;
}

.nav-submenu[hidden] {
  display: none !important;
}

.nav-menu__link--sub {
  padding-left: 1.1rem;
  font-size: 0.95rem;
  font-weight: 500;
}

/* Dim page content under the open panel (header stays clear) */
body.is-nav-open::before {
  content: "";
  position: fixed;
  inset: 0;
  top: var(--nav-panel-top, 6.5rem);
  z-index: 990;
  background: rgba(2, 12, 8, 0.42);
  pointer-events: auto;
}

.product-doors {
  display: grid;
  gap: 1.15rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.product-door {
  display: block;
  padding: 1.35rem 1.25rem;
  border: 1px solid var(--line);
  background: var(--surface-inset);
  text-decoration: none;
  color: inherit;
  transition: border-color 160ms ease, transform 160ms ease;
}

.product-door:hover {
  transform: translateY(-2px);
}

.product-door__eyebrow {
  margin: 0 0 0.55rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.product-door h2,
.product-door h3 {
  margin: 0 0 0.55rem;
  font-size: 1.25rem;
}

.product-door > p:not(.product-door__eyebrow):not(.product-door__maturity) {
  margin: 0 0 0.75rem;
  color: var(--muted);
}

.product-door__maturity {
  margin: 0 0 1rem;
  color: var(--text);
  font-size: 0.9rem;
  line-height: 1.45;
}

.product-door__cta {
  display: inline-block;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.product-crumb {
  margin: 0 0 0.85rem;
  color: var(--muted);
  font-size: 0.88rem;
}

.product-crumb a {
  color: #ffffff;
  text-decoration: none;
}

.product-crumb a:hover,
.product-crumb a:focus-visible {
  text-decoration: underline;
}

.hero-actions--product {
  margin-top: 1.5rem;
  margin-bottom: 1.25rem;
}

.product-purpose__box {
  padding: 1.75rem 1.5rem;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.03);
}

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

@media (max-width: 860px) {
  .product-doors {
    grid-template-columns: 1fr;
  }

  .product-maturity .company-status__list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  .site-nav {
    width: min(100% - 32px, 1180px);
    padding: 10px 0;
    min-height: 52px;
    gap: 1rem;
  }

  .brand:not(.brand--badge):not(.brand--lockup) img {
    width: 112px;
  }

  .brand--badge .brand__badge,
  .brand--lockup .brand__badge,
  .brand img.brand__badge {
    width: 30px;
    height: 30px;
    max-width: 30px;
    max-height: 30px;
  }

  .brand--lockup .brand__wordmark {
    height: 18px;
    max-height: 18px;
    max-width: 100px;
  }

  .nav-utilities {
    gap: 0.75rem;
  }

  .lang-toggle,
  .lang-toggle__sep {
    font-size: 15px;
  }

  .nav-login {
    min-height: 40px;
    padding: 0 14px;
    font-size: 15px;
  }

  .nav-menu {
    width: min(280px, calc(100vw - 32px));
  }
}

@media (max-width: 640px) {
  .site-nav {
    width: min(100% - 24px, 1180px);
    gap: 0.5rem;
    padding: 8px 0;
    min-height: 48px;
  }

  .brand:not(.brand--badge):not(.brand--lockup) img {
    width: 96px;
  }

  .brand--badge .brand__badge,
  .brand--lockup .brand__badge,
  .brand img.brand__badge {
    width: 28px;
    height: 28px;
    max-width: 28px;
    max-height: 28px;
  }

  .brand--lockup .brand__wordmark {
    height: 16px;
    max-height: 16px;
    max-width: 88px;
  }

  .nav-utilities {
    gap: 0.5rem;
  }

  .nav-login {
    min-height: 36px;
    padding: 0 10px;
    font-size: 13px;
  }

  .nav-menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: auto;
    max-width: none;
    padding-inline: 1rem;
    grid-template-columns: 1fr;
  }

  ul.nav-menu.is-active {
    grid-template-columns: 1fr;
  }

  .container {
    width: min(1180px, calc(100% - 32px));
  }
}

/* --- ext-comp-tactical-button-v002.css --- */
/* EXT_COMP_TACTICAL_BUTTON_V002 — dark glass CTAs (voltage rim) */

.button,
.button--primary,
.button--secondary,
.button.primary,
.button.secondary,
.nav-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  min-height: 44px;
  padding: 0 22px;
  border-radius: var(--radius-control, 6px);
  font-family: var(--font-body);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-body);
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
  transition:
    transform 180ms ease,
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    box-shadow 180ms ease,
    filter 180ms ease;
}

.button--primary,
.button.primary,
.nav-cta {
  border: 1px solid rgba(248, 250, 252, 0.22);
  background: linear-gradient(180deg, rgba(12, 16, 28, 0.78), rgba(7, 10, 18, 0.58));
  color: #f8fafc;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 14px 32px rgba(0, 0, 0, 0.32);
  backdrop-filter: blur(16px) saturate(1.15);
  -webkit-backdrop-filter: blur(16px) saturate(1.15);
}

.button--primary:hover,
.button.primary:hover,
.nav-cta:hover {
  border-color: rgba(248, 250, 252, 0.4);
  color: #ffffff;
  background: linear-gradient(180deg, rgba(18, 24, 38, 0.88), rgba(8, 12, 22, 0.7));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 16px 36px rgba(0, 0, 0, 0.38);
  transform: translateY(-2px);
}

.button--primary:focus-visible,
.button.primary:focus-visible,
.nav-cta:focus-visible {
  outline: 2px solid rgba(248, 250, 252, 0.55);
  outline-offset: 2px;
}

.button--secondary,
.button.secondary {
  border: 1px solid rgba(248, 250, 252, 0.14);
  color: rgba(248, 250, 252, 0.9);
  background: linear-gradient(180deg, rgba(10, 14, 24, 0.55), rgba(7, 10, 18, 0.38));
  backdrop-filter: blur(16px) saturate(1.1);
  -webkit-backdrop-filter: blur(16px) saturate(1.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.button--secondary:hover,
.button.secondary:hover {
  border-color: rgba(248, 250, 252, 0.32);
  color: #ffffff;
  background: linear-gradient(180deg, rgba(16, 22, 36, 0.72), rgba(8, 12, 22, 0.52));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 12px 28px rgba(0, 0, 0, 0.3);
  transform: translateY(-2px);
}

.button--secondary:focus-visible,
.button.secondary:focus-visible {
  outline: 2px solid rgba(248, 250, 252, 0.45);
  outline-offset: 2px;
}

.button--hero-large.button--primary,
.button--hero-large.button.primary {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 18px 40px rgba(0, 0, 0, 0.38);
}

/* --- ext-comp-section-accent-v001.css --- */
/* EXT_COMP_SECTION_ACCENT_V001 — split-section (city clarity V001) */

.split-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 720px;
  border-bottom: 1px solid var(--line);
}

.image-panel {
  min-height: 640px;
  padding: 88px 6vw 88px 8vw;
  background:
    linear-gradient(rgba(6, 8, 7, 0.2), rgba(6, 8, 7, 0.8)),
    
    linear-gradient(135deg, #1a211e, #090c0b 60%);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  text-align: left;
  gap: 48px;
}

.image-panel::before {
  content: "";
  position: absolute;
  inset: 12%;
  border: 1px solid rgba(255, 255, 255, 0.08);
  transform: skewY(-7deg);
  pointer-events: none;
}

.image-panel__intro {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 36rem;
  text-align: left;
}

.image-panel__intro .section-primary {
  max-width: none;
  color: #ffffff;
  text-shadow: none;
}

.glass-card {
  position: relative;
  z-index: 1;
  width: min(420px, 100%);
  padding: 34px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(18px);
  box-shadow: var(--glow-module-shadow);
  text-align: left;
}

.glass-card strong,
.glass-card span {
  display: block;
  font-size: clamp(48px, 6vw, 82px);
  line-height: 0.9;
  letter-spacing: -0.07em;
}

.glass-card strong {
  color: var(--text);
  font-weight: 800;
}

.glass-card span {
  margin-top: 0.2rem;
  color: #ffffff;
  font-weight: 400;
}

.content-panel {
  padding-left: 8vw;
  padding-right: 8vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  text-align: left;
  background: linear-gradient(135deg, var(--green), #06332d);
  box-shadow: none;
}

.content-panel__support {
  margin: 0 0 24px;
  max-width: 42ch;
  color: #ffffff;
  font-size: clamp(20px, 2.4vw, 28px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.02em;
  text-align: left;
}

.content-panel p:not(.content-panel__support) {
  max-width: 620px;
  margin-top: 0;
  color: #dbe7e2;
  font-size: 17px;
  line-height: 1.55;
}

.content-panel p:not(.content-panel__support) + p:not(.content-panel__support) {
  margin-top: 20px;
}

.content-panel .stats--flow {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  width: 100%;
  max-width: 300px;
  margin-top: 32px;
  padding: 0;
}

.stats__item {
  width: 100%;
  padding: 12px 14px;
  text-align: left;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(12px);
  box-shadow: var(--glow-module-shadow);
}

/* Match glass-card gray on green content panel */
.content-panel .stats__item {
  background: rgba(26, 33, 30, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(18px);
}

.stats__item strong {
  display: block;
  margin-bottom: 6px;
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: -0.02em;
  font-weight: 800;
  color: #ffffff;
}

.stats__item-body {
  margin: 0;
  max-width: none;
  color: #c8d4cf;
  font-size: 13px;
  line-height: 1.45;
  text-align: left;
}

.stats__flow-line {
  display: block;
  width: 2px;
  height: 14px;
  margin: 4px 0 4px 18px;
  background: var(--brand-product);
  box-shadow: none;
  opacity: 0.9;
}

.stats--flow-compact .stats__item {
  padding: 10px 12px;
}

.stats--flow-compact .stats__item strong {
  margin-bottom: 0;
  font-size: 14px;
}

/* Homepage flow — readable module chips, CTA anchored lower */
.split-section--home {
  min-height: 600px;
}

.split-section--home .image-panel {
  min-height: 560px;
}

.split-section--home .content-panel {
  justify-content: flex-start;
  min-height: 100%;
  padding-top: 72px;
  padding-bottom: 72px;
}

.split-section--home .content-panel .stats--flow {
  max-width: 100%;
  width: min(400px, 100%);
  margin-top: 28px;
}

.split-section--home .section-cta--in-panel {
  margin-top: auto;
  padding-top: 56px;
}

.stats--flow-home .stats__item {
  padding: 18px 22px;
}

.stats--flow-home .stats__item strong {
  margin-bottom: 0;
  font-size: 18px;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.stats--flow-home .stats__flow-line {
  height: 18px;
  margin: 6px 0 6px 24px;
}

@media (max-width: 980px) {
  .split-section {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .image-panel {
    min-height: auto;
    padding: 72px 32px;
  }

  .content-panel {
    padding: 72px 40px;
  }

  .content-panel .stats--flow {
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  .image-panel {
    padding: 60px 24px;
  }

  .image-panel__intro {
    padding-left: 4px;
  }

  .content-panel {
    padding: 60px 24px;
  }

  .content-panel__support {
    padding-left: 4px;
  }

  .glass-card {
    padding: 28px;
  }

  .glass-card strong,
  .glass-card span {
    font-size: clamp(36px, 10vw, 56px);
  }

  .stats__item strong {
    font-size: 14px;
  }

  .stats__item-body {
    font-size: 12px;
  }
}

/* --- ext-website-glow-system-v001.css --- */
/* Surfaces — dark matte-green bands + quiet voltage + leadership violet */

body {
  background-color: var(--bg);
  background-image:
    radial-gradient(
      ellipse 90% 55% at 50% -10%,
      color-mix(in srgb, var(--product-voltage, var(--brand-product)) 6%, transparent),
      transparent 55%
    ),
    radial-gradient(
      ellipse 50% 38% at 0% 8%,
      var(--atmosphere-leadership, rgba(20, 20, 20, 0.07)),
      transparent 52%
    ),
    radial-gradient(
      ellipse 55% 40% at 100% 0%,
      var(--atmosphere-slate, transparent),
      transparent 50%
    );
  background-attachment: fixed;
}

main > section:nth-child(even) {
  background: var(--band-lift);
  border-top: 1px solid var(--line);
}

main > section:nth-child(odd):not(.hero):not(.page-hero) {
  background: var(--band-deep);
}

.solution-card,
.evidence-stat,
.value-grid article,
.value-strip__card,
.platform-list article,
.quote-card,
.cta-box,
.contact-card,
.auth-card,
.fact-strip,
.company-info div,
.tier-grid article,
.principles-list li,
.glass-card,
.stats__item,
.configurator-card,
.configurator-blueprint,
.tight-box,
.product-door,
.checklist-rail__item,
.ir-docs__item {
  box-shadow: none;
  border-radius: var(--radius-box);
}

.tight-box,
.product-door,
.checklist-rail__item,
.ir-docs__item,
.contact-card,
.cta-box {
  background-color: var(--surface-inset);
  background-image: linear-gradient(165deg, var(--glow-module-surface), transparent 55%);
  border-color: var(--line);
}

main > section {
  position: relative;
}

main > section:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: min(1180px, calc(100% - 48px));
  height: 1px;
  background: var(--line);
  box-shadow: none;
  pointer-events: none;
  z-index: 1;
}

.split-section::after {
  display: none;
}

.configurator-card:hover,
.product-door:hover,
.tight-box--accent:hover {
  box-shadow: none;
  border-color: rgba(148, 163, 184, 0.35);
}

.configurator-card.is-selected {
  box-shadow: none;
  border-color: var(--product-voltage, var(--cta-cyan, #141414));
}

.page-product-personal {
  --glow-hover-shadow: 0 0 0 1px rgba(20, 20, 20, 0.28);
}

@media (max-width: 640px) {
  body {
    background-attachment: scroll;
  }

  main > section:nth-child(even) {
    background: var(--band-lift);
  }
}

/* --- components.css --- */
/* Buttons — see ext-comp-tactical-button-v002.css (EXT_COMP_TACTICAL_BUTTON_V002) */

.menu-toggle {
  display: none;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  padding: 8px 0;
  background: none;
  border: 0;
  color: var(--text);
  font-size: var(--font-size-body);
  font-weight: 600;
  cursor: pointer;
}

.menu-toggle__icon {
  font-size: 22px;
  line-height: 1;
}

.menu-toggle__text {
  font-size: var(--font-size-body);
}

/* Hero — flat dark first viewport */
.hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  min-height: clamp(20rem, 56vh, 34rem);
  display: flex;
  align-items: center;
  background:
    radial-gradient(ellipse 70% 55% at 50% 0%, var(--atmosphere-teal-soft), transparent 60%),
    var(--bg);
}

.hero::before {
  display: none;
}

.hero-noise {
  display: none;
}

.hero > .container {
  width: 100%;
  position: relative;
  z-index: 1;
}

.hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 72px;
  align-items: start;
  padding-top: 0;
}

.hero-copy {
  padding-bottom: 0.5rem;
}

.hero-copy h1 {
  max-width: 790px;
  text-shadow: none;
}

.hero-text {
  max-width: 540px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.hero-text > p {
  font-size: 18px;
  color: #5c5c5c;
  line-height: 1.5;
}

.hero-company-line {
  margin: 1rem 0 0;
  max-width: 34rem;
  color: var(--muted, #b8c2bd);
  font-size: clamp(1.05rem, 1.6vw, 1.2rem);
  line-height: 1.55;
}

.company-section-intro {
  margin-bottom: 1.5rem;
}

.company-section-intro .section-primary {
  margin-bottom: 0.55rem;
}

.company-status__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.company-status__list strong {
  display: block;
  margin-bottom: 0.35rem;
  color: #ffffff;
  font-size: var(--font-size-caption, 14px);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.company-status__list li {
  padding: 1.1rem 1.15rem;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.12));
  border-radius: var(--radius-box, 6px);
  background: rgba(255, 255, 255, 0.03);
}

.company-status__list span {
  color: var(--muted, #b8c2bd);
  line-height: 1.5;
}

.company-beliefs .cards-row--three {
  margin-top: 0.5rem;
}

.company-products .section-cta,
.company-vision-teaser .section-cta,
.company-business-cta .section-cta {
  margin-top: 1.25rem;
}

.company-vision-teaser__box,
.company-business-cta__box {
  padding: 1.75rem 1.5rem;
  border: 1px solid rgba(20, 20, 20, 0.28);
  border-radius: var(--radius-box, 6px);
  background: rgba(20, 20, 20, 0.05);
}

.company-business-cta .section-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

@media (max-width: 860px) {
  .company-status__list {
    grid-template-columns: 1fr;
  }
}

.hero-support {
  color: #b8c2bd;
  font-size: 18px;
  line-height: 1.5;
}

.hero-actions { display: flex; gap: 12px; margin-top: 32px; flex-wrap: wrap; }

/* Hero — compact compliance sticker */
.hero-compliance-sticker {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  margin-top: 1.35rem;
  padding: 0.55rem 0.75rem 0.55rem 0.6rem;
  max-width: 17.5rem;
  border: 1px solid rgba(20, 20, 20, 0.32);
  border-radius: 10px;
  background: linear-gradient(145deg, rgba(20, 20, 20, 0.1), rgba(255, 255, 255, 0.02));
  box-shadow: var(--glow-module-shadow);
}

.hero-compliance-sticker__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  border: 1px solid rgba(20, 20, 20, 0.4);
  background: rgba(20, 20, 20, 0.12);
  color: #ffffff;
}

.hero-compliance-sticker__icon svg {
  width: 0.95rem;
  height: 0.95rem;
}

.hero-compliance-sticker__copy {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.hero-compliance-sticker__title {
  font-size: 0.72rem;
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.04em;
  line-height: 1.25;
  color: var(--text);
}

.hero-compliance-sticker__standards {
  font-size: 0.62rem;
  font-family: ui-monospace, "Cascadia Code", "Segoe UI Mono", monospace;
  letter-spacing: 0.06em;
  line-height: 1.3;
  color: #8fa39a;
}

.section-cta {
  margin: 28px 0 0;
  text-align: left;
}

.section-cta--in-panel {
  margin-top: 24px;
}

.experience-intro--compact {
  max-width: 52ch;
}

.experience-grid--home {
  margin-bottom: 2rem;
}

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

.value-strip__card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 148px;
  padding: 1.35rem 1.25rem 1.2rem;
  border: 1px solid var(--line);
  background: linear-gradient(165deg, rgba(20, 20, 20, 0.11) 0%, rgba(255, 255, 255, 0.03) 62%);
  box-shadow: var(--glow-module-shadow);
  overflow: hidden;
}

.value-strip__card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--brand-product) 0%, rgba(20, 20, 20, 0.15) 100%);
}

.value-strip__index {
  position: absolute;
  top: 0.65rem;
  right: 0.85rem;
  font-size: 2.75rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.06em;
  color: rgba(20, 20, 20, 0.16);
  pointer-events: none;
  user-select: none;
}

.value-strip__label {
  margin: 0 0 0.65rem;
  padding-right: 2.5rem;
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-label);
  color: #ffffff;
  line-height: 1.3;
}

.value-strip__title {
  margin: 0;
  font-size: clamp(1.2rem, 1.45vw, 1.45rem);
  font-weight: 800;
  line-height: 1.18;
  letter-spacing: -0.035em;
  color: #ffffff;
  text-wrap: balance;
  hyphens: auto;
}

.value-grid--compact {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 0;
  align-items: flex-start;
}

.value-grid--compact article,
.value-chip {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 0;
  flex: 0 0 auto;
  padding: 0.85rem 1.25rem;
  border: 1px solid rgba(20, 20, 20, 0.38);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(20, 20, 20, 0.14), rgba(20, 20, 20, 0.06));
  box-shadow: var(--glow-module-shadow);
}

.value-grid--compact .value-card__title,
.value-chip__title {
  margin: 0;
  font-size: 1.0625rem;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.03em;
  color: #ffffff;
  text-wrap: balance;
}

.evidence-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 24px;
}

/* Castle section */
.castle-section {
  border-bottom: 1px solid var(--line);
  background: var(--bg);
}

.castle-intro {
  max-width: 46rem;
  margin-bottom: 3.5rem;
  margin-left: 0;
  margin-right: auto;
  text-align: left;
}

.castle-intro h2,
.castle-intro .section-primary {
  max-width: none;
}

.castle-intro__body {
  margin-top: 1rem;
  color: #5c5c5c;
  max-width: 52ch;
  text-align: left;
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
}

.castle-section .cards-row--three {
  grid-template-columns: repeat(3, minmax(0, 340px));
  gap: 16px;
  width: fit-content;
  max-width: 100%;
  border: none;
  background: transparent;
  box-shadow: none;
}

.castle-section .solution-card {
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 340px;
  min-height: 0;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-top: 2px solid rgba(20, 20, 20, 0.55);
  background: rgba(11, 22, 18, 0.74);
  box-shadow: var(--glow-module-shadow);
}

.castle-section .solution-card:last-child {
  border-right: 1px solid var(--line);
}

.castle-section .solution-card::after {
  display: none;
}

.castle-section .solution-card .module-emphasis {
  margin: 0 0 12px;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: #ffffff;
  text-align: left;
}

.castle-section .solution-card > p:not(.module-emphasis) {
  color: #ffffff;
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  text-align: left;
}

/* Section hierarchy — crisp white titles; cyan reserved for accents */
.section-primary {
  margin: 0;
  max-width: none;
  color: #ffffff;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.04em;
  text-align: left;
  text-transform: none;
  text-shadow: none;
}

.section-subtitle {
  margin: 14px 0 0;
  color: #ffffff;
  font-size: clamp(1.15rem, 1.8vw, 1.45rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.02em;
  max-width: 46ch;
  text-align: left;
}

.section-emphasis {
  margin-top: 0.75rem;
  color: var(--text);
  font-size: clamp(19px, 2.1vw, 22px);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
  max-width: 42ch;
}

.castle-intro,
.experience-intro,
.evidence-intro,
.section-intro,
.cta-box > div:first-child {
  border-left: none;
  padding-left: 0;
}

/* Castle / Solutions cards — original unified row */
.cards-row {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border: 1px solid var(--line);
  background: rgba(11, 22, 18, 0.74);
  box-shadow: var(--shadow), var(--glow-module-shadow);
}

.cards-row--three {
  grid-template-columns: repeat(3, 1fr);
}

.solution-card {
  min-height: 250px;
  padding: 26px 24px;
  border-right: 1px solid var(--line);
  background: transparent;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  text-align: left;
  position: relative;
  overflow: hidden;
}

.solution-card:last-child {
  border-right: 0;
}

.solution-card::after {
  content: "";
  position: absolute;
  width: 200px;
  height: 200px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 50%;
  right: -90px;
  bottom: -70px;
  pointer-events: none;
}

.solution-card span {
  position: absolute;
  top: 24px;
  left: 24px;
  right: 24px;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-label);
  font-size: var(--font-size-label-lg);
  font-weight: var(--font-weight-bold);
  line-height: 1.3;
}

.castle-intro h2 {
  max-width: none;
}

.solution-card .module-emphasis,
.module-emphasis {
  margin: 0 0 14px;
  font-size: 28px;
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: -0.05em;
  color: #141414;
  max-width: none;
  text-align: left;
}

.solution-card p {
  font-size: var(--font-size-small, 15px);
  line-height: 1.55;
  color: var(--muted);
}

/* Flow / Approach — see ext-comp-section-accent-v001.css (split-section, glass-card) */

.stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 44px;
}

.stats strong { display: block; font-size: 28px; }

.stats span { color: #d8e2de; font-size: var(--font-size-small, 15px); }

/* Experience */
.experience { background: var(--band-deep); border-bottom: 1px solid var(--line); }

.experience-grid {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: 64px;
  align-items: start;
  margin-bottom: 3rem;
}

.experience-intro p:not(.section-subtitle) {
  margin-top: 24px;
  max-width: 580px;
  font-size: 17px;
  color: #5c5c5c;
}

.quote-card {
  border: 1px solid var(--line);
  background: linear-gradient(135deg, rgba(0, 106, 90, 0.38), rgba(255, 255, 255, 0.035));
  padding: 34px;
  box-shadow: var(--shadow), var(--glow-module-shadow);
  position: relative;
  overflow: hidden;
  text-align: left;
}

.quote-card::after {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 50%;
  right: -120px;
  top: -120px;
  pointer-events: none;
}

.quote-card blockquote {
  margin: 0;
  color: var(--text);
  font-size: clamp(24px, 3vw, 40px);
  line-height: 1.02;
  letter-spacing: -0.055em;
  font-weight: 800;
  position: relative;
  z-index: 1;
  max-width: none;
}

.quote-card figcaption {
  margin-top: 24px;
  color: var(--muted);
  font-size: 14px;
  position: relative;
  z-index: 1;
}

.value-grid {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.value-grid article {
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.035);
  padding: 22px;
  min-height: 170px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  text-align: left;
  box-shadow: var(--glow-module-shadow);
}

.value-card__title {
  margin: 0 0 14px;
  font-size: 24px;
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -0.04em;
  color: #ffffff;
  text-align: left;
}

.value-card__body {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: #5c5c5c;
  text-align: left;
}

.value-grid span {
  display: block;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-label);
  font-size: var(--font-size-label-lg);
  font-weight: var(--font-weight-bold);
  margin-bottom: 1.5rem;
  line-height: 1.3;
}

.value-grid .module-emphasis {
  margin-bottom: 1rem;
}

.value-grid h3 {
  font-size: var(--font-size-h3);
  margin-bottom: 1rem;
  max-width: none;
}

.value-grid p {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  color: #5c5c5c;
}

.fact-strip {
  margin-top: 18px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.03);
  padding: 24px;
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 24px;
  align-items: center;
  text-align: left;
  box-shadow: var(--glow-module-shadow);
}

.fact-strip__title {
  display: block;
  font-size: 42px;
  font-weight: 800;
  line-height: 0.9;
  letter-spacing: -0.06em;
  color: #ffffff;
  text-align: left;
}

.fact-strip__body,
.fact-strip p {
  margin: 0;
  color: #5c5c5c;
  font-size: 15px;
  line-height: 1.55;
  text-align: left;
}

/* Platform / Keys */
.platform {
  background:
    radial-gradient(ellipse 80% 60% at 10% 0%, var(--atmosphere-teal-soft), transparent 55%),
    var(--surface-inset);
  border-bottom: 1px solid var(--line);
}

.platform-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 80px; }

.platform-list { display: grid; gap: 18px; }

.platform-list article {
  padding: 28px;
  border: 1px solid var(--line);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.015));
}

.platform-list .module-emphasis {
  margin-bottom: 0.75rem;
  max-width: none;
}

.platform-list p { margin-top: 14px; }

/* Contact CTA */
.cta { background: var(--bg); }

.cta-box {
  display: grid;
  grid-template-columns: 1fr minmax(0, 400px);
  gap: 48px;
  align-items: start;
  padding: 54px;
  border: 1px solid var(--line);
  border-radius: var(--radius-box, 6px);
  background: linear-gradient(180deg, rgba(10, 14, 24, 0.88), rgba(7, 10, 18, 0.82));
  box-shadow: inset 3px 0 0 #141414;
}

.cta-box p:not(.eyebrow):not(.section-emphasis):not(.cta-copy__body) { max-width: 720px; margin-top: 22px; }

.cta-box .section-emphasis { margin-top: 0.75rem; }

.cta-copy__eyebrow {
  margin: 0 0 0.65rem;
  color: var(--domain-leadership);
}

.cta-copy__body {
  margin: 0.85rem 0 1.25rem;
  color: var(--muted);
  font-size: 1.02rem;
  line-height: 1.55;
  max-width: 36rem;
}

.contact-card {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 280px;
  padding: 28px 26px;
  background: rgba(6, 10, 18, 0.72);
  border: 1px solid rgba(20, 20, 20, 0.38);
  border-radius: var(--radius-box, 6px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.5rem;
  overflow: hidden;
  box-sizing: border-box;
}

.contact-card__label,
.contact-card > span {
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-label);
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-bold);
  color: #5c5c5c;
}

.contact-details { display: grid; gap: 0; margin: 1rem 0 1.25rem; }

.contact-details div {
  padding: 14px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.contact-details div:first-child { padding-top: 0; border-top: 0; }

.contact-details dt {
  color: #5c5c5c;
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-label);
  font-size: var(--font-size-caption, 14px);
  font-weight: var(--font-weight-bold);
  margin-bottom: 6px;
}

.contact-details dd {
  margin: 0;
  color: var(--text);
  font-size: var(--font-size-body);
  font-weight: 600;
  line-height: 1.4;
}

.contact-details a {
  color: #141414;
  text-decoration: none;
  transition: color 180ms ease;
}

.contact-details a:hover { color: var(--cta-cyan, #5cc4dc); }

.contact-card .button.primary,
.contact-lead-form .button {
  margin-top: 0.25rem;
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.contact-lead-form {
  display: grid;
  gap: 0.75rem;
  margin: 0 0 1.25rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.contact-lead-form__field {
  display: grid;
  gap: 0.35rem;
  font-size: 0.85rem;
  color: var(--muted);
  min-width: 0;
  max-width: 100%;
}

.contact-lead-form__field input,
.contact-lead-form__field textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid var(--line, #1e293b);
  border-radius: var(--radius-control, 6px);
  background: rgba(6, 16, 12, 0.65);
  color: inherit;
  padding: 0.6rem 0.7rem;
  font: inherit;
}

.contact-lead-form__field textarea {
  resize: vertical;
  min-height: 6.5rem;
  max-height: 12rem;
  overflow-y: auto;
  field-sizing: fixed;
}

.contact-lead-form__honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.contact-lead-form__status {
  margin: 0;
  font-size: 0.9rem;
}

.contact-lead-form__status.is-ok {
  color: #ffffff;
}

.contact-lead-form__status.is-error {
  color: #fca5a5;
}

[data-ft-booking-status].is-ok {
  color: #ffffff;
}

[data-ft-booking-status].is-error {
  color: #fca5a5;
}

.cookie-consent__legal {
  margin: 0.65rem 0 0;
  font-size: 0.8rem;
}

.cookie-consent__legal a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.1rem;
}

.company-info {
  margin-top: 30px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  max-width: 760px;
}

.company-info div {
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.035);
  padding: 16px;
}

.company-info dt {
  color: #5c5c5c;
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-label);
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-bold);
  margin-bottom: 8px;
}

.company-info dd { margin: 0; color: var(--text); font-weight: 700; }

/* Footer */
.footer {
  padding: 1.5rem 0;
  border-top: 1px solid var(--accent);
  background:
    linear-gradient(0deg, transparent, var(--atmosphere-teal-soft)),
    var(--band-deep);
}

.footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
}

.footer-inner--legal {
  align-items: center;
}

.footer-inner--legal .footer-links {
  justify-content: flex-end;
}

.footer img {
  width: 120px;
  height: auto;
  max-height: 2rem;
  opacity: 0.82;
}

.footer-meta {
  display: grid;
  gap: 0.5rem;
  justify-items: end;
  text-align: right;
  max-width: 36rem;
}

.footer p {
  font-size: 0.8125rem !important;
  line-height: 1.45 !important;
  margin: 0;
  max-width: 34rem;
  letter-spacing: normal;
  font-weight: 500;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
  justify-content: flex-end;
}

.footer-links a {
  color: #ffffff;
  font-size: 0.8125rem !important;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 160ms ease, color 160ms ease;
}

.footer-links a:hover {
  color: #00c9a3;
  border-bottom-color: rgba(92, 196, 220, 0.55);
}

/* Auth portal */
.auth-page { min-height: 100vh; display: flex; flex-direction: column; }

.auth-main { flex: 1; display: grid; place-items: center; padding: 96px 0; }

.auth-card {
  width: min(28rem, calc(100% - 2rem));
  padding: 34px;
  border: 1px solid var(--line);
  background: rgba(11, 22, 18, 0.74);
  box-shadow: var(--shadow);
}

.auth-card h1 { font-size: clamp(32px, 5vw, 48px); max-width: none; margin-bottom: 12px; }

.auth-card p { margin-top: 14px; color: #5c5c5c; font-size: var(--font-size-body); }

.auth-status {
  margin-top: 20px;
  padding: 14px 18px;
  border-left: 3px solid var(--green-light);
  background: rgba(20, 20, 20, 0.08);
  color: var(--text);
  font-size: 14px;
}

.auth-card .hero-actions { margin-top: 28px; }

/* Responsive */
@media (max-width: 980px) {
  .hero-grid, .platform-grid, .experience-grid, .cta-box, .split-section { grid-template-columns: 1fr; }

  .cards-row,
  .cards-row--three { grid-template-columns: repeat(2, 1fr); }

  .castle-section .cards-row--three { grid-template-columns: 1fr; }

  .castle-section .solution-card {
    border-right: 1px solid var(--line);
  }

  .solution-card:nth-child(2) { border-right: 0; }

  .solution-card { border-bottom: 1px solid var(--line); }

  .value-grid { grid-template-columns: 1fr; }

  .value-strip { grid-template-columns: 1fr; }

  .value-strip__card { min-height: 0; }

  .fact-strip { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .container { width: min(100% - 28px, 1180px); }

  .section-pad { padding: 68px 0; }

  .cards-row,
  .cards-row--three { grid-template-columns: 1fr; margin-top: 0; }

  .solution-card { border-right: 0; }

  .castle-section .solution-card {
    border-right: 1px solid var(--line);
  }

  .stats { grid-template-columns: 1fr; }

  .cta-box { padding: 28px; }

  .company-info { grid-template-columns: 1fr; }

  .footer-inner { align-items: flex-start; flex-direction: column; }

  .footer-meta {
    justify-items: start;
    text-align: left;
  }

  .footer-links {
    justify-content: flex-start;
  }

  .hero-grid { gap: 34px; }

  .hero-actions { flex-direction: column; align-items: stretch; }
}

/* Multi-page sections */
.page-hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  text-align: left;
  background:
    radial-gradient(ellipse 65% 50% at 20% 0%, var(--atmosphere-teal-soft), transparent 55%),
    var(--bg);
}

.page-product-personal .page-hero {
  background:
    radial-gradient(ellipse 65% 50% at 20% 0%, var(--atmosphere-teal-soft), transparent 55%),
    var(--bg);
}

.page-hero__inner {
  max-width: 46rem;
  margin-left: 0;
  margin-right: auto;
  text-align: left;
}

.page-hero h1,
.page-hero h2 {
  max-width: none;
  color: #ffffff;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
  font-weight: 800;
  text-shadow: none;
}

.page-hero__emphasis {
  margin-top: 14px;
  color: #ffffff;
  font-size: clamp(1.15rem, 1.8vw, 1.45rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.02em;
  max-width: 46ch;
}

.page-hero__subtitle {
  margin-top: 0.75rem;
  color: var(--text);
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-body);
  max-width: 42ch;
}

.page-hero__lead {
  margin-top: 1.25rem;
  color: #5c5c5c;
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  max-width: 62ch;
}

.page-hero__note {
  margin-top: 1rem;
  color: #b8c2bd;
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  max-width: 62ch;
}

.page-hero--compact .page-hero__inner { max-width: 52rem; }

.section-intro {
  max-width: 42rem;
  margin-bottom: 3rem;
  margin-left: 0;
  margin-right: auto;
  text-align: left;
}

.section-intro .section-primary,
.evidence-intro .section-primary {
  max-width: none;
}

.section-intro__body {
  margin-top: 1rem;
  color: #5c5c5c;
  max-width: 52ch;
}

.cards-row--four { grid-template-columns: repeat(4, 1fr); }

.solutions-rooms__note {
  margin-top: 1.5rem;
  color: #b8c2bd;
  font-size: var(--font-size-body);
  max-width: 62ch;
  text-align: left;
}

.solutions-engine {
  background:
    linear-gradient(180deg, var(--atmosphere-teal-soft), transparent 40%),
    var(--surface-inset);
  border-bottom: 1px solid var(--line);
}

.reference-strip { background: var(--bg); border-bottom: 1px solid var(--line); }

.reference-tenant { background: var(--bg); border-bottom: 1px solid var(--line); }

.fact-strip--wide { max-width: none; }

.evidence {
  background:
    radial-gradient(ellipse 70% 50% at 80% 0%, var(--atmosphere-teal-soft), transparent 50%),
    var(--surface-inset);
  border-bottom: 1px solid var(--line);
}

.evidence-intro {
  max-width: 42rem;
  margin-bottom: 2.5rem;
  margin-left: 0;
  margin-right: auto;
  text-align: left;
}

.evidence-intro .section-primary {
  max-width: none;
}

.evidence-intro__body {
  margin-top: 1rem;
  color: #5c5c5c;
  max-width: 52ch;
}

.evidence-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.evidence-stat {
  border: 1px solid var(--line);
  background: var(--glow-module-surface);
  padding: 32px 28px;
  box-shadow: var(--shadow);
}

.evidence-stat strong {
  display: block;
  font-size: clamp(36px, 5vw, 52px);
  line-height: 0.95;
  letter-spacing: -0.04em;
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 1rem;
}

.evidence-stat p { color: #5c5c5c; font-size: var(--font-size-body); line-height: 1.55; }

.evidence-footnote {
  margin-top: 1.75rem;
  color: #b8c2bd;
  font-size: var(--font-size-body);
  max-width: 58ch;
}

.evidence-sources {
  margin-top: 1rem;
  color: #9aa8a1;
  font-size: var(--font-size-body);
  line-height: 1.65;
  max-width: 62ch;
}

.evidence-actions {
  margin-top: 1.75rem;
}

/* Savings — before/after value comparison */
.savings {
  background:
    radial-gradient(ellipse 70% 50% at 50% 0%, var(--atmosphere-teal-soft), transparent 50%),
    var(--surface-inset);
  border-bottom: 1px solid var(--line);
}

.savings-intro {
  max-width: 46rem;
  margin-bottom: 2rem;
  text-align: left;
}

.savings-intro__body {
  margin-top: 1rem;
  max-width: 52ch;
  color: #5c5c5c;
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
}

.savings-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 1.5rem;
}

.savings-compare__col {
  padding: 20px 22px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.04);
  box-shadow: var(--glow-module-shadow);
  text-align: left;
}

.savings-compare__col--after {
  border-top: 2px solid rgba(20, 20, 20, 0.55);
  background: rgba(11, 22, 18, 0.74);
}

.savings-compare__label {
  margin: 0 0 12px;
  font-size: var(--font-size-caption, 14px);
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #ffffff;
}

.savings-compare__col--before .savings-compare__label {
  color: #9aa8a1;
}

.savings-compare__col ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.savings-compare__col li {
  position: relative;
  padding-left: 14px;
  color: #ffffff;
  font-size: 15px;
  line-height: 1.45;
}

.savings-compare__col li + li {
  margin-top: 10px;
}

.savings-compare__col li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--brand-product);
}

.savings-compare__col--before li::before {
  background: #6b7772;
}

.savings-stats {
  margin-top: 0;
}

.savings--detail .savings-compare--detail {
  margin-bottom: 2rem;
}

.tier-model {
  background:
    linear-gradient(180deg, var(--atmosphere-teal-soft), transparent 45%),
    var(--surface-inset);
  border-bottom: 1px solid var(--line);
}

.tier-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}

.tier-grid article {
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.035);
  padding: 28px 24px;
  min-height: 180px;
  box-shadow: var(--shadow);
}

.tier-grid article > span {
  display: block;
  color: #ffffff;
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-bold);
  margin-bottom: 0.75rem;
}

.tier-grid .module-emphasis {
  margin-bottom: 0.75rem;
}

.tier-grid h3 {
  margin-bottom: 0.75rem;
  font-size: 22px;
  max-width: none;
}

.tier-grid p {
  color: #5c5c5c;
  font-size: var(--font-size-body);
  line-height: 1.6;
}

.split-copy {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 64px;
  align-items: start;
}

.split-copy p { margin-top: 1rem; color: #5c5c5c; }

.vision-strategy { background: var(--bg); border-bottom: 1px solid var(--line); }

.principles {
  background:
    radial-gradient(ellipse 60% 50% at 0% 100%, var(--atmosphere-teal-soft), transparent 50%),
    var(--surface-inset);
  border-bottom: 1px solid var(--line);
}

.principles-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.principles-list li {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 16px;
  align-items: start;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.03);
  padding: 18px 20px;
}

.principles-list li span {
  color: #ffffff;
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-bold);
}

.principles-list li p { margin: 0; color: #5c5c5c; font-size: var(--font-size-body); line-height: 1.5; }

.deployable-modules { background: var(--bg); border-bottom: 1px solid var(--line); }

.modules-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.modules-grid article {
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.035);
  padding: 32px 28px;
  min-height: 200px;
  box-shadow: var(--shadow);
}

.modules-grid .module-emphasis { margin-bottom: 1rem; max-width: none; }

.modules-grid h3 { margin-bottom: 1rem; max-width: none; }

.modules-grid p { color: #5c5c5c; }

.api-hub {
  min-height: calc(100vh - 68px);
  display: flex;
  align-items: center;
  background: var(--bg);
}

.api-hub__inner { max-width: 40rem; }

.status-badge {
  display: inline-block;
  margin: 1rem 0 1.25rem;
  padding: 6px 14px;
  border: 1px solid rgba(20, 20, 20, 0.45);
  color: #ffffff;
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-label);
}

.api-hub__list {
  margin: 1.5rem 0;
  padding-left: 1.25rem;
  color: #5c5c5c;
  font-size: var(--font-size-body);
  line-height: 1.65;
}

.api-hub__list li + li { margin-top: 0.5rem; }

.api-hub__note { color: #b8c2bd; font-size: var(--font-size-body); margin-bottom: 1.5rem; max-width: 62ch; text-align: left; }

@media (max-width: 980px) {
  .cards-row--four { grid-template-columns: repeat(2, 1fr); }
  .evidence-grid { grid-template-columns: 1fr; }

  .savings-compare { grid-template-columns: 1fr; }
  .tier-grid { grid-template-columns: repeat(2, 1fr); }
  .split-copy { grid-template-columns: 1fr; }
  .principles-list { grid-template-columns: 1fr; }
  .modules-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .cards-row--four { grid-template-columns: 1fr; }
  .tier-grid { grid-template-columns: 1fr; }
}

/* --- ext-solutions-page-v001.css --- */
/* EXT_SOLUTIONS_PAGE_V001 — deliverables-focused layout (distinct from homepage) */

.page-hero--solutions .page-hero__eyebrow {
  margin: 0 0 0.75rem;
  color: #ffffff;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-hero__jump {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  margin-top: 2rem;
}

.page-hero__jump a {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  border: 1px solid rgba(20, 20, 20, 0.35);
  border-radius: 999px;
  color: #d8e8e3;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.page-hero__jump a:hover,
.page-hero__jump a:focus-visible {
  border-color: var(--cta-cyan, #5cc4dc);
  background: rgba(20, 20, 20, 0.12);
  color: #ffffff;
}

.section-intro--wide {
  max-width: 52rem;
}

.sol-checklist {
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
}

.sol-checklist li {
  position: relative;
  padding: 0.45rem 0 0.45rem 1.35rem;
  color: #c8d4cf;
  font-size: var(--font-size-body);
  line-height: 1.45;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.sol-checklist li:first-child {
  border-top: 0;
}

.sol-checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.85rem;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--brand-product);
  box-shadow: 0 0 10px rgba(20, 20, 20, 0.45);
}

/* Included catalog */
.sol-included {
  background: var(--surface-inset);
  border-bottom: 1px solid var(--line);
}

.sol-catalog {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.sol-catalog__card {
  padding: 1.75rem 1.5rem 1.5rem;
  background: var(--bg);
}

.sol-catalog__card h3 {
  margin: 0;
  color: #ffffff;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.sol-catalog__card > p {
  margin: 0.75rem 0 0;
  color: #5c5c5c;
  font-size: 0.9375rem;
  line-height: 1.5;
  max-width: 38ch;
}

/* Process pipeline */
.sol-process {
  background: var(--bg);
  border-bottom: 1px solid var(--line);
}

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

.sol-pipeline__step {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.5rem;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(20, 20, 20, 0.06), transparent 55%);
}

.sol-pipeline__index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid rgba(20, 20, 20, 0.5);
  border-radius: 50%;
  color: #ffffff;
  font-size: 0.9375rem;
  font-weight: 800;
}

.sol-pipeline__step h3 {
  margin: 0;
  color: #ffffff;
  font-size: 1.0625rem;
  font-weight: 700;
}

.sol-pipeline__step p {
  margin: 0.5rem 0 0;
  color: #b8c4bf;
  font-size: 0.9375rem;
  line-height: 1.55;
}

/* Folder structure */
.sol-folders {
  background: var(--surface-inset);
  border-bottom: 1px solid var(--line);
}

.sol-folders__common {
  margin-bottom: 1.25rem;
  padding: 1.25rem 1.5rem;
  border: 1px solid var(--line);
  background: var(--bg);
}

.sol-folders__common h3 {
  margin: 0;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
}

.sol-folders__common p {
  margin: 0.6rem 0 0;
  color: #5c5c5c;
  font-size: 0.9375rem;
  line-height: 1.55;
  max-width: 62ch;
}

.sol-folders__compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.sol-folders__card {
  padding: 1.5rem;
  background: var(--bg);
}

.sol-folders__label {
  margin: 0;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.sol-folders__card h3 {
  margin: 0.5rem 0 0;
  color: #ffffff;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.sol-folders__card p {
  margin: 0.75rem 0 0;
  color: #b8c4bf;
  font-size: 0.9375rem;
  line-height: 1.55;
}

.sol-folders__note {
  margin: 1.25rem 0 0;
  color: #9eaaa5;
  font-size: 0.875rem;
  line-height: 1.5;
  max-width: 58ch;
}

/* Value strip */
.sol-value {
  background: var(--surface-inset);
  border-bottom: 1px solid var(--line);
}

.sol-value__strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.sol-value__stat {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1.5rem 1.25rem;
  background: var(--bg);
}

.sol-value__stat strong {
  color: #ffffff;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
}

.sol-value__stat span {
  color: #5c5c5c;
  font-size: 0.875rem;
  line-height: 1.4;
}

.sol-value__note {
  margin: 1.25rem 0 0;
  color: #9eaaa5;
  font-size: 0.875rem;
  line-height: 1.5;
  max-width: 62ch;
}

/* Departments */
.sol-departments {
  background: var(--bg);
  border-bottom: 1px solid var(--line);
}

.sol-dept-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.sol-dept-card {
  padding: 1.75rem 1.5rem 1.25rem;
  background: var(--surface-inset);
}

.sol-dept-card__label {
  margin: 0;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.sol-dept-card h3 {
  margin: 0.5rem 0 0;
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.sol-dept-card__intro {
  margin: 0.75rem 0 0;
  color: #5c5c5c;
  font-size: 0.9375rem;
  line-height: 1.5;
}

.sol-dept-note {
  margin: 1.5rem 0 0;
  color: #9eaaa5;
  font-size: 0.9375rem;
  line-height: 1.5;
  max-width: 58ch;
}

/* Tech stack */
.sol-tech {
  background: var(--surface-inset);
  border-bottom: 1px solid var(--line);
}

.sol-tech-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.sol-tech-card {
  padding: 1.5rem;
  background: var(--bg);
}

.sol-tech-card h3 {
  margin: 0;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
}

.sol-tech-card p {
  margin: 0.75rem 0 0;
  color: #b8c4bf;
  font-size: 0.9375rem;
  line-height: 1.55;
}

/* Deploy */
.sol-deploy {
  background: var(--bg);
  border-bottom: 1px solid var(--line);
}

.sol-deploy-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.sol-deploy-grid article {
  padding: 1.25rem 0 0;
  border-top: 2px solid rgba(20, 20, 20, 0.45);
}

.sol-deploy-grid h3 {
  margin: 0;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
}

.sol-deploy-grid p {
  margin: 0.65rem 0 0;
  color: #5c5c5c;
  font-size: 0.9375rem;
  line-height: 1.55;
}

/* Asset register */
.sol-asset {
  background: var(--surface-inset);
  border-bottom: 1px solid var(--line);
}

.sol-asset__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: 1.5rem;
  align-items: start;
}

.sol-asset__steps {
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid var(--line);
  background: var(--bg);
}

.sol-asset__steps li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  padding: 1.15rem 1.25rem;
  border-top: 1px solid var(--line);
}

.sol-asset__steps li:first-child {
  border-top: 0;
}

.sol-asset__step-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: 1px solid rgba(20, 20, 20, 0.45);
  border-radius: 50%;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 800;
}

.sol-asset__steps h3 {
  margin: 0;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
}

.sol-asset__steps p {
  margin: 0.4rem 0 0;
  color: #b8c4bf;
  font-size: 0.9375rem;
  line-height: 1.5;
}

.sol-asset__savings {
  padding: 1.25rem;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(20, 20, 20, 0.08), transparent 60%), var(--bg);
}

.sol-asset__savings-label {
  margin: 0;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.sol-asset__stats {
  display: grid;
  gap: 1px;
  margin-top: 1rem;
  background: var(--line);
  border: 1px solid var(--line);
}

.sol-asset__stat {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1rem;
  background: var(--bg);
}

.sol-asset__stat strong {
  color: #ffffff;
  font-size: 1.75rem;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
}

.sol-asset__stat span {
  color: #5c5c5c;
  font-size: 0.8125rem;
  line-height: 1.4;
}

.sol-asset__note {
  margin: 1rem 0 0;
  color: #8f9a95;
  font-size: 0.8125rem;
  line-height: 1.45;
}

@media (max-width: 960px) {
  .sol-catalog,
  .sol-dept-grid,
  .sol-folders__compare {
    grid-template-columns: 1fr;
  }

  .sol-pipeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sol-value__strip,
  .sol-tech-grid,
  .sol-deploy-grid,
  .sol-asset__layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .page-hero__jump {
    gap: 0.5rem;
  }

  .page-hero__jump a {
    width: 100%;
    justify-content: center;
  }

  .sol-pipeline {
    grid-template-columns: 1fr;
  }
}

/* Slim Business pitch */
.page-hero__inner--simple .page-hero__lead {
  max-width: 36rem;
  margin-top: 0.75rem;
}

/* —— EntariBusiness two-tone craft (polish 5) —— */
.page-product-business .page-hero--solutions {
  background:
    radial-gradient(ellipse 70% 55% at 16% 8%, rgba(20, 20, 20, 0.12), transparent 55%),
    var(--bg);
}

.page-product-business .page-hero--solutions h1 {
  color: #ffffff;
  font-size: clamp(2.4rem, 6vw, 3.75rem);
  text-shadow: none;
}

.page-hero__inner--business {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(1.5rem, 3vh, 2.25rem);
  max-width: 44rem;
}

.page-hero__inner--business .hero-actions--hero-large {
  margin-top: 0;
}

.sol-pitch,
.sol-bases,
.sol-diff,
.sol-deeper {
  border-bottom: 1px solid var(--line);
}

.sol-diff .section-subtitle,
.sol-diff__sub {
  max-width: 40rem;
  margin: 0.45rem 0 0;
  color: var(--text);
  font-size: clamp(1.05rem, 1.6vw, 1.2rem);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -0.015em;
}

.sol-diff__card {
  position: relative;
  max-width: 46rem;
  padding: 1.65rem 1.55rem 1.55rem 1.7rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-box);
  background: var(--surface-inset);
  box-shadow: none;
  overflow: hidden;
}

.sol-diff__card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--cta-cyan, #5cc4dc); box-shadow: none;
}

.sol-diff__card--secondary {
  border-color: var(--line);
  background: var(--surface-inset);
}

.sol-diff__header {
  margin-bottom: 1.1rem;
}

.sol-diff__header .section-primary {
  margin: 0;
  color: #ffffff;
  text-shadow: none;
}

.sol-diff__list,
.sol-pitch__list {
  max-width: none;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
}

.sol-diff__list li,
.sol-pitch__list li {
  position: relative;
  margin: 0;
  padding: 0.85rem 1rem 0.85rem 1.55rem;
  border: 1px solid var(--line);
  border-radius: 2px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: var(--font-size-body);
  line-height: 1.5;
  background: rgba(5, 8, 7, 0.35);
}

.sol-diff__list li:first-child,
.sol-pitch__list li:first-child {
  border-top: 1px solid var(--line);
}

.sol-diff__list li::before,
.sol-pitch__list li::before {
  content: "";
  position: absolute;
  left: 0.7rem;
  top: 1.15rem;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  background: var(--brand-product);
  box-shadow: 0 0 10px rgba(20, 20, 20, 0.45);
}

.sol-bases__body {
  max-width: 40rem;
  margin: 0 0 1.75rem;
  color: #c8d4cf;
  line-height: 1.55;
}

.sol-bases__steps {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 1rem;
  max-width: 44rem;
}

.sol-bases__steps li {
  display: grid;
  gap: 0.35rem;
  padding: 1rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.sol-bases__steps li:first-child {
  border-top: 0;
  padding-top: 0;
}

.sol-bases__steps strong {
  color: #ffffff;
  font-size: 1.05rem;
}

.sol-bases__steps span {
  color: #c8d4cf;
  line-height: 1.5;
}

/* Features matrix on Business */
.page-product-business .mkt-features {
  background:
    var(--band-lift);
}

.page-product-business .mkt-features .section-primary {
  color: #ffffff;
}

.page-product-business .mkt-matrix {
  border-color: var(--line);
}

/* Deeper panels */
.page-product-business .sol-deeper {
  background: var(--band-deep);
}

.sol-deeper__panel {
  max-width: 46rem;
  margin: 0 0 0.75rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-box);
  background: var(--surface-inset);
  box-shadow: none;
  overflow: hidden;
  transition: border-color 160ms ease;
}

.sol-deeper__panel:hover,
.sol-deeper__panel[open] {
  border-color: rgba(20, 20, 20, 0.42);
  box-shadow: var(--glow-hover-shadow);
}

.sol-deeper__panel summary {
  cursor: pointer;
  list-style: none;
  padding: 1.05rem 1.2rem;
  color: var(--text);
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.sol-deeper__panel summary::-webkit-details-marker {
  display: none;
}

.sol-deeper__panel summary::after {
  content: "+";
  float: right;
  color: #ffffff;
  font-weight: 700;
}

.sol-deeper__panel[open] summary::after {
  content: "–";
}

.sol-deeper__body {
  padding: 0 1.2rem 1.2rem;
  border-top: 1px solid rgba(20, 20, 20, 0.14);
}

.sol-deeper__body p {
  margin: 0.9rem 0 0;
  color: var(--muted);
  line-height: 1.55;
}

.sol-deeper__body p:first-child {
  margin-top: 0.75rem;
}

.sol-deeper__body strong {
  color: var(--ink, #141414);
  font-weight: 600;
}

.sol-deeper__body a {
  color: var(--entari-text-primary, #18181b);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.sol-deeper__body a:hover,
.sol-deeper__body a:focus-visible {
  color: var(--entari-accent-press, #10b981);
}

@media (max-width: 640px) {
  .page-product-business .page-hero--solutions h1 {
    font-size: clamp(2rem, 10vw, 2.6rem);
  }

  .page-hero__inner--business .hero-actions--hero-large {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .page-hero__inner--business .button--hero-large {
    width: 100%;
  }

  .sol-diff__card {
    padding: 1.35rem 1.2rem 1.25rem 1.35rem;
  }
}

/* --- ext-vision-page-v001.css --- */
/* EXT_VISION_PAGE_V001 — investor-focused vision layout */

.page-hero--vision .page-hero__eyebrow {
  margin: 0 0 0.75rem;
  color: #ffffff;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.vis-checklist {
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.vis-checklist li {
  position: relative;
  padding: 0.35rem 0 0.35rem 1.2rem;
  color: #b8c4bf;
  font-size: 0.875rem;
  line-height: 1.45;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.vis-checklist li:first-child {
  border-top: 0;
}

.vis-checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72rem;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  background: var(--brand-product);
}

/* Who we are */
.vis-who {
  background: var(--surface-inset);
  border-bottom: 1px solid var(--line);
}

.vis-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.vis-cards article {
  padding: 1.5rem;
  background: var(--bg);
}

.vis-cards h3 {
  margin: 0;
  color: #ffffff;
  font-size: 1.0625rem;
  font-weight: 700;
}

.vis-cards p {
  margin: 0.75rem 0 0;
  color: #5c5c5c;
  font-size: 0.9375rem;
  line-height: 1.55;
}

/* Timeline */
.vis-timeline {
  background: var(--bg);
  border-bottom: 1px solid var(--line);
}

.vis-timeline__rail {
  position: relative;
  margin-top: 0.5rem;
}

.vis-timeline__scrubber {
  position: relative;
  margin: 0.35rem 3rem 1.1rem;
  padding: 0.35rem 0 0.15rem;
}

.vis-timeline__scrub-line {
  position: absolute;
  left: 0;
  right: 0;
  top: 2.05rem;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    rgba(20, 20, 20, 0.15),
    rgba(20, 20, 20, 0.55),
    rgba(20, 20, 20, 0.15)
  );
  pointer-events: none;
}

.vis-timeline__scrub-track {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(var(--scrub-count, 12), minmax(0, 1fr));
  align-items: start;
  gap: 0;
}

.vis-timeline__scrub-tick {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: center;
  min-width: 0;
}

button.vis-timeline__scrub-tick {
  cursor: pointer;
}

button.vis-timeline__scrub-tick:focus-visible {
  outline: 2px solid var(--brand-product);
  outline-offset: 3px;
  border-radius: 0.35rem;
}

.vis-timeline__scrub-year {
  display: block;
  min-height: 1rem;
  color: #d7e6df;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
}

.vis-timeline__scrub-mark {
  display: block;
  width: 1px;
  height: 0.55rem;
  margin-top: 0.35rem;
  background: rgba(255, 255, 255, 0.18);
}

.vis-timeline__scrub-dot {
  display: block;
  width: 0.7rem;
  height: 0.7rem;
  margin-top: 0.2rem;
  border-radius: 50%;
  background: var(--brand-product);
  box-shadow: 0 0 0 3px rgba(20, 20, 20, 0.18);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.vis-timeline__scrub-tick--event.is-live .vis-timeline__scrub-dot {
  box-shadow: 0 0 0 4px rgba(20, 20, 20, 0.28);
}

.vis-timeline__scrub-tick--event.is-active .vis-timeline__scrub-dot,
.vis-timeline__scrub-tick--event:hover .vis-timeline__scrub-dot {
  transform: scale(1.25);
  box-shadow: 0 0 0 5px rgba(20, 20, 20, 0.32);
}

.vis-timeline__scrub-month {
  display: block;
  color: #8fa49a;
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.1;
  white-space: nowrap;
}

.vis-timeline__scrub-tick--event .vis-timeline__scrub-month {
  color: #c8d4cf;
  font-weight: 600;
}

.vis-timeline__scrub-tick--event.is-active .vis-timeline__scrub-month {
  color: #ffffff;
}

.vis-timeline__nav {
  position: absolute;
  top: calc(42% + 2.5rem);
  z-index: 2;
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid rgba(20, 20, 20, 0.4);
  border-radius: 999px;
  background: rgba(7, 11, 9, 0.9);
  color: #ffffff;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}

.vis-timeline__nav--prev { left: 0; }
.vis-timeline__nav--next { right: 0; }

.vis-timeline__nav:disabled {
  opacity: 0.35;
  cursor: default;
}

.vis-timeline__swipe-hint {
  display: none;
}

.vis-timeline__axis {
  display: none;
}

.vis-timeline__track:focus-visible {
  outline: 2px solid var(--brand-product, #00a888);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .vis-timeline__track,
  .vis-timeline__track--rail {
    scroll-behavior: auto;
  }
}

.vis-timeline__track,
.vis-timeline__track--rail {
  display: flex;
  gap: 1rem;
  margin: 0;
  padding: 0.85rem 3rem 0.5rem;
  list-style: none;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 3rem;
  -webkit-overflow-scrolling: touch;
  scrollbar-color: var(--brand-product) transparent;
}

.vis-timeline__phase,
.vis-timeline__milestone {
  position: relative;
  flex: 0 0 min(16.5rem, 76vw);
  scroll-snap-align: start;
  padding: 1.1rem 1.15rem 1.2rem;
  border: 1px solid var(--line);
  background: var(--surface-inset);
}

.vis-timeline__milestone--live,
.vis-timeline__phase--goal {
  border-color: rgba(20, 20, 20, 0.45);
  background: linear-gradient(180deg, rgba(20, 20, 20, 0.1), transparent 55%), var(--surface-inset);
}

.vis-timeline__span {
  display: flex;
  align-items: center;
  min-height: 0.65rem;
  margin: 0 0 0.65rem;
}

.vis-timeline__span-bar {
  display: block;
  width: 100%;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--brand-product), rgba(20, 20, 20, 0.25));
}

.vis-timeline__span--point {
  justify-content: flex-start;
}

.vis-timeline__span-dot {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  background: var(--brand-product);
  box-shadow: 0 0 0 3px rgba(20, 20, 20, 0.18);
}

.vis-timeline__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.vis-timeline__status {
  flex: 0 0 auto;
  padding: 0.15rem 0.45rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #5c5c5c;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.vis-timeline__status--live {
  border-color: rgba(20, 20, 20, 0.5);
  color: #ffffff;
  background: rgba(20, 20, 20, 0.12);
}

.vis-timeline__status--next {
  border-color: rgba(255, 255, 255, 0.2);
  color: #e8eeea;
}

.vis-timeline__products {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.85rem;
}

.vis-timeline__product {
  padding: 0.12rem 0.4rem;
  border: 1px solid rgba(20, 20, 20, 0.28);
  color: #141414;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.vis-timeline__product.product-mark {
  border: 0;
  padding: 0;
  background: transparent;
}

.vis-timeline__milestone--linked {
  cursor: pointer;
}

.vis-timeline__card-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.vis-timeline__card-link:hover .vis-timeline__news-hint,
.vis-timeline__card-link:focus-visible .vis-timeline__news-hint {
  color: var(--entari-accent-precision, #34d399);
}

.vis-timeline__news-hint {
  margin: 0.55rem 0 0;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--entari-text-secondary, #71717a);
}

.ir-docs__item.is-hash-target {
  outline: 2px solid color-mix(in srgb, #34d399 55%, transparent);
  outline-offset: 4px;
}

.vis-timeline__cert-badge {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  margin: 0.85rem 0 0.15rem;
  padding: 0.6rem 0.75rem;
  border: 1px solid rgba(20, 20, 20, 0.55);
  border-radius: 6px;
  background: linear-gradient(145deg, rgba(20, 20, 20, 0.22), rgba(20, 20, 20, 0.1));
}

.vis-timeline__cert-badge-label {
  color: #ffffff;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.3;
  text-transform: uppercase;
}

.vis-timeline__cert-badge-standards {
  color: #141414;
  font-family: ui-monospace, "Cascadia Code", "Segoe UI Mono", monospace;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.35;
}

.vis-timeline__phase .vis-checklist {
  margin-top: 0.85rem;
}

.vis-timeline__period {
  margin: 0;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.vis-timeline__phase h3 {
  margin: 0.5rem 0 0;
  color: #ffffff;
  font-size: 1.0625rem;
  font-weight: 700;
}

.vis-timeline__phase > p {
  margin: 0.65rem 0 0;
  color: #5c5c5c;
  font-size: 0.875rem;
  line-height: 1.5;
}

/* Business model */
.vis-model {
  background: var(--surface-inset);
  border-bottom: 1px solid var(--line);
}

.vis-model__pillars {
  display: grid;
  gap: 2rem;
  max-width: 48rem;
}

.vis-model__pillar + .vis-model__pillar {
  padding-top: 1.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.vis-model__pillar h3 {
  margin: 0 0 0.4rem;
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.3;
}

.vis-model__pillar-sub {
  margin: 0 0 1rem;
  color: #9db5ab;
  font-size: 0.9875rem;
  font-weight: 500;
  line-height: 1.45;
}

.vis-model__bullets {
  margin: 0;
  padding: 0;
  list-style: none;
}

.vis-model__bullets li {
  position: relative;
  padding: 0.55rem 0 0.55rem 1.15rem;
  color: #c8d4cf;
  font-size: var(--font-size-body);
  line-height: 1.5;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.vis-model__bullets li:first-child {
  border-top: 0;
  padding-top: 0;
}

.vis-model__bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.05rem;
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 50%;
  background: var(--brand-product);
}

.vis-model__bullets li:first-child::before {
  top: 0.55rem;
}

.vis-model__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

.vis-model__grid article {
  padding: 1.25rem 0 0;
  border-top: 2px solid rgba(20, 20, 20, 0.45);
}

.vis-model__grid h3 {
  margin: 0;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
}

.vis-model__grid p {
  margin: 0.65rem 0 0;
  color: #5c5c5c;
  font-size: 0.9375rem;
  line-height: 1.55;
}

.vis-stats {
  display: none;
}

.vis-stats__item {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1.25rem;
  background: var(--bg);
}

.vis-stats__item strong {
  color: #ffffff;
  font-size: clamp(1.5rem, 2.5vw, 2.25rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
}

.vis-stats__item span {
  color: #5c5c5c;
  font-size: 0.875rem;
  line-height: 1.4;
}

/* Roadmap */
.vis-roadmap {
  background: var(--bg);
  border-bottom: 1px solid var(--line);
}

.vis-roadmap__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.vis-roadmap__grid article {
  padding: 1.5rem;
  background: var(--surface-inset);
}

.vis-roadmap__label {
  margin: 0;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.vis-roadmap__grid h3 {
  margin: 0.5rem 0 0;
  color: #ffffff;
  font-size: 1.0625rem;
  font-weight: 700;
}

.vis-roadmap__grid p {
  margin: 0.65rem 0 0;
  color: #b8c4bf;
  font-size: 0.9375rem;
  line-height: 1.55;
}

.vis-roadmap__note {
  margin: 1.25rem 0 0;
  color: #9eaaa5;
  font-size: 0.875rem;
  line-height: 1.5;
  max-width: 62ch;
}

/* Pillars */
.vis-pillars {
  background: var(--surface-inset);
  border-bottom: 1px solid var(--line);
}

.vis-pillars__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.vis-pillars__grid article {
  padding: 1.25rem 1.5rem;
  background: var(--bg);
}

.vis-pillars__grid h3 {
  margin: 0;
  color: #ffffff;
  font-size: 0.9375rem;
  font-weight: 700;
}

.vis-pillars__grid p {
  margin: 0.5rem 0 0;
  color: #5c5c5c;
  font-size: 0.875rem;
  line-height: 1.5;
}

@media (max-width: 960px) {
  .vis-cards,
  .vis-model__grid,
  .vis-stats,
  .vis-roadmap__grid,
  .vis-pillars__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .vis-timeline__scrubber {
    margin-left: 0.35rem;
    margin-right: 0.35rem;
  }
  .vis-timeline__scrub-tick:not(.vis-timeline__scrub-tick--event) .vis-timeline__scrub-month {
    visibility: hidden;
  }
  .vis-timeline__nav {
    width: 2rem;
    height: 2rem;
    font-size: 1.15rem;
    top: auto;
    bottom: 0.35rem;
  }
  .vis-timeline__track--rail,
  .vis-timeline__track {
    padding-left: 0.35rem;
    padding-right: 0.35rem;
    padding-bottom: 2.75rem;
  }
  .vis-timeline__axis { margin-left: 0.25rem; margin-right: 0.25rem; }
}

/* Core values — dark glass quote cards */
.core-values {
  background: var(--band-lift);
  border-bottom: 1px solid var(--line);
}

.core-values__header {
  max-width: 62ch;
  margin-bottom: 2rem;
}

.core-values__eyebrow {
  margin: 0 0 0.75rem;
  color: var(--muted);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.core-values__intro {
  margin: 0.75rem 0 0;
  color: var(--muted);
  font-size: 0.9375rem;
  line-height: 1.55;
}

.core-values__usage {
  max-width: 62ch;
  margin-bottom: 2rem;
  padding: 1.25rem 1.35rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-box);
  background: rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.core-values__usage-title {
  margin: 0;
  color: #ffffff;
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.core-values__usage-body {
  margin: 0.65rem 0 0;
  color: var(--muted);
  font-size: 0.9375rem;
  line-height: 1.55;
}

.core-values__board {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.core-values__row-group {
  display: block;
}

.core-values__row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.core-value,
.post-it--r1,
.post-it--r2,
.post-it--r3,
.post-it--r4,
.post-it--r5 {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  padding: 1.15rem 1.05rem 1.15rem 1.15rem;
  min-height: 5.5rem;
  border: 1px solid rgba(20, 20, 20, 0.12);
  border-radius: var(--radius-box);
  background: rgba(14, 32, 24, 0.72);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow:
    inset 0 0 28px rgba(20, 20, 20, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  transform: none;
  text-align: left;
  color: #ffffff;
  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

/* Domain rail + soft inner glow — purple leadership must read clearly */
.post-it--r1 {
  box-shadow:
    inset 4px 0 0 var(--domain-leadership),
    inset 0 0 36px var(--domain-leadership-dim),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
  border-color: color-mix(in srgb, var(--domain-leadership) 42%, var(--line));
  background: linear-gradient(135deg, rgba(20, 20, 20, 0.1), rgba(14, 32, 24, 0.78));
}

.post-it--r2 {
  box-shadow:
    inset 4px 0 0 var(--domain-admin),
    inset 0 0 32px var(--domain-admin-dim),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  border-color: color-mix(in srgb, var(--domain-admin) 36%, var(--line));
}

.post-it--r3 {
  box-shadow:
    inset 4px 0 0 var(--domain-value-amber),
    inset 0 0 32px var(--domain-value-amber-dim),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  border-color: color-mix(in srgb, var(--domain-value-amber) 36%, var(--line));
}

.post-it--r4 {
  box-shadow:
    inset 4px 0 0 var(--domain-admin-strong),
    inset 0 0 32px var(--domain-admin-dim),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  border-color: color-mix(in srgb, var(--domain-admin-strong) 36%, var(--line));
}

.post-it--r5 {
  box-shadow:
    inset 4px 0 0 var(--domain-production),
    inset 0 0 32px var(--domain-production-dim),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  border-color: color-mix(in srgb, var(--domain-production) 36%, var(--line));
}

.core-value:hover,
.post-it--r1:hover,
.post-it--r2:hover,
.post-it--r3:hover,
.post-it--r4:hover,
.post-it--r5:hover {
  border-color: rgba(20, 20, 20, 0.28);
  background: rgba(18, 42, 32, 0.88);
}

.core-values__row:nth-child(even) .core-value:nth-child(odd),
.core-values__row:nth-child(even) .core-value:nth-child(even) {
  transform: none;
}

.core-value__quote {
  margin: 0;
  color: #ffffff;
  font-size: clamp(0.8rem, 1.1vw, 0.9rem);
  font-weight: 600;
  font-style: italic;
  line-height: 1.4;
}

.core-value__quote::before {
  content: "\201C";
  color: var(--domain-leadership, #141414);
  font-style: normal;
  margin-right: 0.1em;
}

.core-value__quote::after {
  content: "\201D";
  color: var(--domain-leadership, #141414);
  font-style: normal;
  margin-left: 0.05em;
}

.core-value__author {
  margin: 0.65rem 0 0;
  color: #a8b8ae;
  font-size: 0.75rem;
  font-weight: 600;
  font-style: normal;
  line-height: 1.3;
  opacity: 1;
  letter-spacing: 0.02em;
}

.core-value__author::before {
  content: "\2013\00a0";
  color: var(--domain-leadership, #141414);
  font-weight: 700;
}

.core-values__legend {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--line);
}

.core-values__legend-title {
  margin: 0;
  color: #ffffff;
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.core-values__legend-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.5rem;
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
}

.core-values__legend-item {
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
}

/* Swatches must NOT inherit .post-it card sizing */
.core-values__legend-swatch,
.core-values__legend-swatch.post-it--r1,
.core-values__legend-swatch.post-it--r2,
.core-values__legend-swatch.post-it--r3,
.core-values__legend-swatch.post-it--r4,
.core-values__legend-swatch.post-it--r5 {
  flex: 0 0 0.55rem;
  width: 0.55rem;
  height: 0.55rem;
  min-height: 0;
  min-width: 0;
  margin: 0.4rem 0 0;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  display: block;
  transform: none;
}

.core-values__legend-swatch.post-it--r1 {
  background: var(--domain-leadership);
  border-color: var(--domain-leadership-border);
  box-shadow: 0 0 10px var(--domain-leadership-dim);
}

.core-values__legend-swatch.post-it--r2 {
  background: var(--domain-admin);
  border-color: var(--domain-admin-border);
}

.core-values__legend-swatch.post-it--r3 {
  background: var(--domain-value-amber);
  border-color: var(--domain-value-amber-border);
}

.core-values__legend-swatch.post-it--r4 {
  background: var(--domain-admin-strong);
  border-color: var(--domain-admin-border);
}

.core-values__legend-swatch.post-it--r5 {
  background: var(--domain-production);
  border-color: var(--domain-production-border);
}

.core-values__legend-item strong {
  display: block;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.35;
}

.core-values__legend-item p {
  margin: 0.35rem 0 0;
  color: var(--muted);
  font-size: 0.8125rem;
  line-height: 1.45;
}

@media (max-width: 960px) {
  .core-values__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .core-values__legend-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .core-values__row {
    grid-template-columns: 1fr;
  }
}

/* --- ext-marketing-media-v001.css --- */
/* Marketing features matrix + videos */

.mkt-features,
.mkt-videos {
  background: var(--bg);
  border-bottom: 1px solid var(--line);
}

.mkt-matrix {
  margin-top: 1rem;
  overflow-x: auto;
  border: 1px solid var(--entari-border-card, var(--line));
  border-radius: 12px;
  background: var(--entari-surface-card, var(--surface-inset));
  box-shadow: var(--entari-shadow, none);
}

.mkt-matrix__table {
  width: 100%;
  min-width: 32rem;
  table-layout: fixed;
  border-collapse: collapse;
}

.mkt-matrix__table th,
.mkt-matrix__table td {
  padding: 0.95rem 1.05rem;
  border-bottom: 1px solid color-mix(in srgb, var(--entari-border-card, #e4e4e7) 70%, transparent);
  text-align: left;
  vertical-align: middle;
}

.mkt-matrix__table thead th {
  color: var(--entari-text-secondary, #71717a);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: color-mix(in srgb, var(--entari-surface-base, #f6f5f2) 55%, transparent);
  border-bottom: 1px solid var(--entari-border-card, #e4e4e7);
}

.mkt-matrix__col-feature {
  width: auto;
}

.mkt-matrix__col-product,
.mkt-matrix__table thead th.mkt-matrix__col-product,
.mkt-matrix__cell {
  text-align: center;
  width: 11rem;
}

.mkt-matrix__feature {
  color: var(--entari-text-primary, #18181b);
  font-weight: 600;
}

.mkt-matrix__name {
  display: inline;
  font-size: var(--font-size-small, 15px);
  font-weight: 650;
  letter-spacing: -0.01em;
  color: var(--entari-text-primary, #18181b);
}

.mkt-matrix__status {
  display: inline-block;
  margin-left: 0.45rem;
  color: var(--entari-text-secondary, #71717a);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  vertical-align: middle;
}

.mkt-matrix__status--live {
  color: #047857;
}

.mkt-matrix__status--planned {
  color: #a1a1aa;
}

.mkt-matrix__blurb {
  display: block;
  margin-top: 0.25rem;
  color: var(--entari-text-secondary, #71717a);
  font-size: 0.85rem;
  font-weight: 400;
  line-height: 1.4;
}

.mkt-matrix__link {
  display: inline;
  margin-left: 0.35rem;
  color: #047857;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.mkt-matrix__link:hover {
  color: #065f46;
}

.mkt-matrix__mark {
  display: inline-grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, #34d399 45%, #d4d4d8);
  background: color-mix(in srgb, #34d399 12%, #ffffff);
  color: #047857;
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1;
}

.mkt-matrix__lane-badge {
  display: inline-block;
  padding: 0.15rem 0.5rem;
  border: 1px solid var(--entari-border-card, #e4e4e7);
  border-radius: 999px;
  background: #ffffff;
  color: var(--entari-text-primary, #18181b);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.mkt-matrix__mark--no {
  border-color: color-mix(in srgb, #dc2626 50%, #d4d4d8);
  background: color-mix(in srgb, #dc2626 10%, #ffffff);
  color: #b91c1c;
}

.mkt-matrix__upgrade {
  color: var(--entari-text-secondary, #71717a);
  font-size: 0.78rem;
  font-weight: 500;
}

.mkt-matrix__cell--none {
  color: #a1a1aa;
}

.mkt-matrix__row:last-child th,
.mkt-matrix__row:last-child td {
  border-bottom: 0;
}

.mkt-videos__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.mkt-videos__card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--surface-inset);
}

.mkt-videos__meta {
  padding: 1rem 1.15rem 1.25rem;
}

.mkt-videos__products {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0 0 0.55rem;
}

.mkt-videos__product {
  padding: 0.12rem 0.4rem;
  border: 1px solid rgba(20, 20, 20, 0.28);
  color: #141414;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.mkt-videos__frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #020617;
}

.mkt-videos__frame--image {
  overflow: hidden;
}

.mkt-videos__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mkt-videos__player--embed {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.mkt-videos__card h3 {
  margin: 0.65rem 0 0;
  color: #ffffff;
  font-size: 1.0625rem;
  font-weight: 700;
}

.mkt-videos__caption {
  margin: 0.65rem 0 0;
  color: #5c5c5c;
  font-size: 0.9375rem;
  line-height: 1.55;
}

.mkt-badge {
  display: inline-block;
  padding: 0;
  border: 0;
  background: none;
  color: var(--entari-text-secondary, #71717a);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.mkt-badge--live {
  color: #047857;
}

.mkt-badge--planned,
.mkt-badge--next {
  color: #a1a1aa;
}

.mkt-videos__player,
.mkt-videos__placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #020617;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.mkt-videos__player {
  object-fit: cover;
}

.mkt-videos__placeholder {
  display: grid;
  place-items: center;
  color: #64748b;
  font-size: 0.875rem;
}

.mkt-features__empty,
.mkt-videos__empty {
  margin: 1.25rem 0 0;
  color: #94a3b8;
  font-size: 0.9375rem;
}

.mkt-whats-new {
  background: #0b1220;
  border-bottom: 1px solid var(--line);
}

.mkt-whats-new__card {
  padding: 1.35rem 1.5rem 1.5rem;
  border: 1px solid var(--line);
  background: var(--bg);
}

.mkt-whats-new__meta {
  margin: 0 0 0.75rem;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.mkt-whats-new__notes {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mkt-whats-new__notes li {
  padding: 0.45rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  color: #5c5c5c;
  font-size: 0.9375rem;
  line-height: 1.5;
}

.mkt-whats-new__notes li:first-child {
  border-top: 0;
  padding-top: 0;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 900px) {
  .mkt-videos__grid {
    grid-template-columns: 1fr;
  }
}

.mkt-config {
  display: grid;
  gap: 1rem;
  margin: 0 0 1.25rem;
}

@media (min-width: 720px) {
  .mkt-config {
    grid-template-columns: 1fr 1fr;
  }
}

.mkt-config__label {
  margin: 0 0 0.45rem;
  color: #5c5c5c;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.mkt-config__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.mkt-config__chip {
  appearance: none;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.03);
  color: #5c5c5c;
  padding: 0.4rem 0.75rem;
  font: inherit;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
}

.mkt-config__chip.is-active {
  border-color: rgba(20, 20, 20, 0.55);
  background: rgba(20, 20, 20, 0.12);
  color: #141414;
}

.mkt-config__chip:focus-visible {
  outline: 2px solid rgba(20, 20, 20, 0.7);
  outline-offset: 2px;
}

/* --- hub-approach.css --- */
.hub-approach {
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(20, 20, 20, 0.04), transparent 42%);
}

.hub-approach__intro {
  max-width: 46rem;
  margin-bottom: 2rem;
  text-align: left;
}

.hub-approach__body {
  margin-top: 1rem;
  max-width: 52ch;
  color: #5c5c5c;
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
}

.hub-visual {
  margin: 0 0 2rem;
  padding: 1.25rem 1.5rem 1.35rem;
  border: 1px solid var(--line);
  border-radius: 2px;
  background: rgba(8, 12, 10, 0.72);
  box-shadow: var(--glow-module-shadow);
}

.hub-visual__caption {
  margin: 0 0 1rem;
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-align: left;
}

.hub-visual--workspace {
  padding: 1.35rem 1.5rem 1.5rem;
}

.hub-demo-window-wrap {
  margin: 0 0 2rem;
}

.hub-demo-window {
  --demo-glow-x: 50%;
  --demo-glow-y: 40%;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(20, 20, 20, 0.28);
  border-radius: 0.75rem;
  background:
    radial-gradient(circle at var(--demo-glow-x) var(--demo-glow-y), rgba(20, 20, 20, 0.1), transparent 42%),
    linear-gradient(180deg, rgba(8, 12, 10, 0.95), rgba(2, 6, 23, 0.92));
  box-shadow: var(--glow-module-shadow), 0 24px 48px rgba(0, 0, 0, 0.28);
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.hub-demo-window--dept-hover {
  border-color: rgba(20, 20, 20, 0.5);
  box-shadow: var(--glow-module-shadow), 0 28px 56px rgba(0, 0, 0, 0.34);
}

.hub-demo-window__chrome {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0.7rem 1rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(15, 23, 42, 0.72);
}

.hub-demo-window__dots {
  display: inline-flex;
  gap: 0.35rem;
}

.hub-demo-window__dots span {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: rgba(148, 163, 184, 0.35);
}

.hub-demo-window__dots span:nth-child(1) { background: rgba(248, 113, 113, 0.75); }
.hub-demo-window__dots span:nth-child(2) { background: rgba(251, 191, 36, 0.75); }
.hub-demo-window__dots span:nth-child(3) { background: rgba(20, 20, 20, 0.75); }

.hub-demo-window__chrome-title {
  margin: 0;
  color: #cbd5e1;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.hub-demo-window__brand {
  color: #f8fafc;
}

.hub-demo-window__chrome-sep {
  margin: 0 0.35rem;
  color: #64748b;
}

.hub-demo-window__badge {
  padding: 0.2rem 0.55rem;
  border: 1px solid rgba(20, 20, 20, 0.35);
  border-radius: 999px;
  color: #5eead4;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.hub-demo-window__body {
  padding: 1rem 1.1rem 0.35rem;
}

.hub-demo-window__hint {
  margin: 0 0 1rem;
  max-width: 42rem;
  color: #c8d4ce;
  font-size: 0.92rem;
  line-height: 1.5;
}

.hub-demo-window__footer {
  padding: 0 1.1rem 1.1rem;
}

.hub-demo-window__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.8rem 1rem;
  border: 1px solid var(--cta-primary-border, rgba(92, 196, 220, 0.72));
  border-radius: var(--radius-control, 6px);
  background: var(--cta-primary-bg, linear-gradient(180deg, rgba(22, 34, 32, 0.95), rgba(8, 14, 12, 0.98)));
  color: var(--cta-ink, #f7faf7);
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 0 18px rgba(92, 196, 220, 0.18);
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.hub-demo-window__cta:hover {
  border-color: #7ad4e8;
  background: linear-gradient(180deg, rgba(28, 44, 42, 0.98), rgba(10, 18, 16, 0.98));
  box-shadow: 0 0 24px rgba(92, 196, 220, 0.3);
  transform: translateY(-1px);
}

.hub-demo-window__cta-arrow {
  color: var(--cta-cyan, #5cc4dc);
  font-size: 1.1rem;
  line-height: 1;
}

.hub-demo-window .hub-preview {
  gap: 1rem;
}

.hub-demo-window .company-sections {
  gap: 1.1rem;
}

.hub-demo-window .dept-grid {
  grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
  gap: 0.7rem;
}

.hub-demo-window .dept-btn {
  min-height: 4.25rem;
  padding: 0.85rem 0.75rem;
  font-size: 0.98rem;
  cursor: pointer;
  text-decoration: none;
  transition: transform 160ms ease, filter 160ms ease, box-shadow 160ms ease;
}

.hub-demo-window .dept-btn:hover,
.hub-demo-window .dept-btn:focus-visible {
  transform: translateY(-1px);
  filter: none;
  outline: none;
}

.hub-demo-window .dept-btn.dept--governance:hover,
.hub-demo-window .dept-btn.dept--governance:focus-visible {
  border-color: color-mix(in srgb, var(--domain-leadership) 70%, #fff);
  box-shadow: inset 3px 0 0 var(--domain-leadership), 0 8px 20px rgba(2, 6, 23, 0.35);
}

.hub-demo-window .dept-btn.dept--admin:hover,
.hub-demo-window .dept-btn.dept--admin:focus-visible {
  border-color: color-mix(in srgb, var(--domain-admin) 70%, #fff);
  box-shadow: inset 3px 0 0 var(--domain-admin), 0 8px 20px rgba(2, 6, 23, 0.35);
}

.hub-demo-window .dept-btn.dept--production:hover,
.hub-demo-window .dept-btn.dept--production:focus-visible {
  border-color: color-mix(in srgb, var(--domain-production) 70%, #fff);
  box-shadow: inset 3px 0 0 var(--domain-production), 0 8px 20px rgba(2, 6, 23, 0.35);
}

.hub-demo-window .dept-btn:focus-visible {
  outline: 2px solid var(--cta-rim, var(--domain-production));
  outline-offset: 2px;
}

@media (min-width: 720px) {
  .hub-demo-window .dept-grid {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  }

  .hub-demo-window .dept-btn {
    min-height: 4.75rem;
    font-size: 1.02rem;
  }
}

@media (max-width: 640px) {
  .hub-demo-window__chrome {
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "dots badge"
      "title title";
  }

  .hub-demo-window__dots { grid-area: dots; }
  .hub-demo-window__badge { grid-area: badge; justify-self: end; }
  .hub-demo-window__chrome-title { grid-area: title; text-align: left; }
}

.hub-preview {
  display: grid;
  gap: 1.25rem;
}

.hub-preview__foundation {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem 0.85rem;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 0.5rem;
  background: rgba(15, 23, 42, 0.55);
}

.hub-preview__foundation-title {
  margin: 0;
  color: #f8fafc;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.hub-preview__foundation-label {
  margin: 0;
  color: #94a3b8;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Demo-style department buttons (scoped to workspace preview) */
.hub-visual--workspace .company-sections,
.hub-demo-window .company-sections,
.hub-structure-panel .company-sections {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding-top: 0.25rem;
}

.hub-visual--workspace .company-block,
.hub-demo-window .company-block,
.hub-structure-panel .company-block {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.hub-visual--workspace .company-block__title,
.hub-demo-window .company-block__title,
.hub-structure-panel .company-block__title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.25;
  color: #94a3b8;
}

.hub-visual--workspace .company-block:has(.dept--governance) .company-block__title,
.hub-demo-window .company-block:has(.dept--governance) .company-block__title,
.hub-structure-panel .company-block:has(.dept--governance) .company-block__title {
  color: var(--domain-leadership);
}

.hub-visual--workspace .company-block:has(.dept--admin) .company-block__title,
.hub-demo-window .company-block:has(.dept--admin) .company-block__title,
.hub-structure-panel .company-block:has(.dept--admin) .company-block__title {
  color: var(--domain-admin);
}

.hub-visual--workspace .company-block:has(.dept--production) .company-block__title,
.hub-demo-window .company-block:has(.dept--production) .company-block__title,
.hub-structure-panel .company-block:has(.dept--production) .company-block__title {
  color: var(--domain-production);
}

.hub-visual--workspace .company-block--optional .company-block__title,
.hub-demo-window .company-block--optional .company-block__title {
  color: #64748b;
}

.hub-visual--workspace .dept-grid,
.hub-demo-window .dept-grid,
.hub-structure-panel .dept-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 0.85rem;
}

.hub-visual--workspace .dept-btn,
.hub-demo-window .dept-btn,
.hub-structure-panel .dept-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 5.5rem;
  padding: 1.1rem 1rem;
  border-radius: var(--radius-box, 8px);
  border: 1px solid var(--line);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-align: center;
  line-height: 1.25;
  background: var(--surface-inset);
  color: var(--text);
  box-shadow: none;
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.hub-visual--workspace .dept-btn.dept--governance,
.hub-demo-window .dept-btn.dept--governance,
.hub-structure-panel .dept-btn.dept--governance {
  background:
    linear-gradient(165deg, var(--domain-leadership-dim), transparent 55%),
    var(--surface-inset);
  border-color: var(--domain-leadership-border);
  color: #f5f3ff;
  box-shadow: inset 3px 0 0 var(--domain-leadership);
}

.hub-visual--workspace .dept-btn.dept--admin,
.hub-demo-window .dept-btn.dept--admin,
.hub-structure-panel .dept-btn.dept--admin {
  background:
    linear-gradient(165deg, var(--domain-admin-dim), transparent 55%),
    var(--surface-inset);
  border-color: var(--domain-admin-border);
  color: #eff6ff;
  box-shadow: inset 3px 0 0 var(--domain-admin);
}

.hub-visual--workspace .dept-btn.dept--production,
.hub-demo-window .dept-btn.dept--production,
.hub-structure-panel .dept-btn.dept--production {
  background:
    linear-gradient(165deg, var(--domain-production-dim), transparent 55%),
    var(--surface-inset);
  border-color: var(--domain-production-border);
  color: #ecfdf5;
  box-shadow: inset 3px 0 0 var(--domain-production);
}

.hub-visual--workspace .dept-btn.dept-btn--optional,
.hub-demo-window .dept-btn.dept-btn--optional {
  background: rgba(15, 23, 42, 0.55);
  border-color: rgba(148, 163, 184, 0.28);
  color: #cbd5e1;
  box-shadow: none;
  font-weight: 600;
}

@media (min-width: 720px) {
  .hub-visual--workspace .dept-grid {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  }

  .hub-visual--workspace .dept-btn {
    min-height: 6.25rem;
    font-size: 1.125rem;
  }
}

.hub-visual__diagram {
  display: grid;
  grid-template-columns: minmax(132px, 168px) minmax(0, 1fr);
  gap: 1.25rem;
  align-items: center;
}

.hub-visual__foundation {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.35rem;
  padding: 1.1rem 0.9rem;
  border: 2px solid rgba(20, 20, 20, 0.45);
  border-radius: 12px;
  background: rgba(20, 20, 20, 0.08);
  text-align: center;
}

.hub-visual__foundation-title {
  margin: 0;
  color: #ffffff;
  font-size: 1.65rem;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
}

.hub-visual__foundation-label {
  margin: 0;
  color: #c8d4ce;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hub-visual__foundation-stack {
  margin: 0.55rem 0 0;
  padding: 0;
  list-style: none;
  color: #9db5ad;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.55;
}

.hub-visual__hubs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}

.hub-visual__site {
  display: grid;
  grid-template-columns: minmax(72px, 96px) 1fr;
  align-items: center;
  gap: 0.65rem;
  min-height: 52px;
  padding: 0.65rem 0.85rem;
  border: 1px solid rgba(20, 20, 20, 0.35);
  border-radius: 10px;
  background: rgba(20, 20, 20, 0.07);
}

.hub-visual__site-name {
  color: #f2f7f4;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.hub-visual__site-type {
  color: #ffffff;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hub-visual__note {
  margin: 0.85rem 0 0;
  color: #9db5ad;
  font-size: 0.82rem;
  line-height: 1.45;
  text-align: left;
}

.hub-approach__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 1.5rem;
}

.hub-approach__card {
  padding: 1.15rem 1.2rem;
  border: 1px solid var(--line);
  border-top: 2px solid rgba(20, 20, 20, 0.35);
  background: rgba(255, 255, 255, 0.03);
  box-shadow: var(--glow-module-shadow);
  text-align: left;
}

.hub-approach__card-title {
  margin: 0 0 0.45rem;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
}

.hub-approach__card p:last-child {
  margin: 0;
  color: #c8d4ce;
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
}

.hub-structure-showcase {
  margin-bottom: 1.5rem;
}

.hub-structure-showcase__panels {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 1.25rem;
  align-items: stretch;
}

.hub-structure-panel {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.hub-structure-panel__label {
  margin: 0;
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hub-structure-panel__screen {
  flex: 1;
  padding: 1.05rem 1.1rem;
  border: 1px solid rgba(20, 20, 20, 0.28);
  border-radius: 0.75rem;
  background: linear-gradient(180deg, rgba(8, 12, 10, 0.95), rgba(2, 6, 23, 0.92));
  box-shadow: var(--glow-module-shadow);
}

.hub-structure-showcase__flow {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 1.75rem;
}

.hub-structure-showcase__arrow {
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
}

.hub-structure-showcase__hint {
  margin: 1rem 0 0;
  max-width: 46rem;
  color: #9db5ad;
  font-size: 0.9rem;
  line-height: 1.5;
}

.hub-structure-showcase__cta {
  margin-top: 1.25rem;
  margin-bottom: 0;
}

.hub-preview--compact {
  gap: 0.85rem;
}

.hub-preview--compact .hub-preview__foundation {
  padding: 0.7rem 0.85rem;
}

.hub-preview--compact .hub-preview__foundation-title {
  font-size: 0.95rem;
}

.hub-preview--compact .company-sections {
  gap: 0.8rem;
}

.hub-preview--compact .company-block {
  gap: 0.5rem;
}

.hub-preview--compact .company-block__title {
  font-size: 0.78rem;
}

.hub-preview--compact .dept-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.hub-preview--compact .dept-grid--single {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hub-preview--compact .dept-grid--single .dept-btn {
  grid-column: span 1;
}

.hub-preview--compact .dept-btn {
  min-height: 4.35rem;
  padding: 0.6rem 0.45rem;
  font-size: 0.78rem;
}

.hub-structure-showcase .dept-btn--active {
  position: relative;
  z-index: 1;
  transform: scale(1.03);
  filter: none;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.35),
    0 0 0 3px color-mix(in srgb, var(--domain-production) 55%, transparent);
}

.hub-structure-showcase .dept-btn--active.dept--governance {
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.35),
    0 0 0 3px color-mix(in srgb, var(--domain-leadership) 55%, transparent);
}

.hub-structure-showcase .dept-btn--active.dept--admin {
  border-color: rgba(255, 255, 255, 0.45);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.35),
    0 0 0 3px color-mix(in srgb, var(--domain-admin) 55%, transparent);
}

.hub-mini__section {
  margin-bottom: 0.75rem;
}

.hub-mini__section:last-child {
  margin-bottom: 0;
}

.hub-mini__title {
  margin: 0;
  color: #f8fafc;
  font-size: 1.28rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.hub-mini__lede {
  margin: 0.4rem 0 0.9rem;
  color: #94a3b8;
  font-size: 0.78rem;
  line-height: 1.45;
}

.hub-mini__section-title {
  margin: 0 0 0.55rem;
  color: #e2e8f0;
  font-size: 0.84rem;
  font-weight: 700;
}

.hub-mini__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.hub-mini__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 0.35rem;
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.18);
  color: inherit;
}

.hub-mini__icon svg {
  width: 1.08rem;
  height: 1.08rem;
}

.hub-mini__action {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  width: min(100%, 12.5rem);
  min-height: 4.75rem;
  padding: 0.85rem 0.8rem;
  border-radius: 0.45rem;
  border: 1px solid rgba(167, 243, 208, 0.35);
  background: linear-gradient(165deg, #141414 0%, #141414 100%);
  color: #f8fafc;
  box-shadow: 0 8px 20px rgba(5, 150, 105, 0.28);
}

.hub-mini__action-body {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}

.hub-mini__action-title {
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.25;
}

.hub-mini__action-hint {
  font-size: 0.7rem;
  font-weight: 500;
  line-height: 1.35;
  color: rgba(248, 250, 252, 0.94);
}

.hub-mini__action--primary {
  box-shadow: 0 10px 24px rgba(5, 150, 105, 0.35);
}

.hub-mini__registry {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  width: min(100%, 12.5rem);
  min-height: 4.5rem;
  padding: 0.85rem 0.8rem;
  border-radius: 0.45rem;
  border: 1px solid rgba(147, 197, 253, 0.35);
  background: linear-gradient(165deg, #3b82f6 0%, #1d4ed8 100%);
  color: #eff6ff;
  box-shadow: 0 8px 20px rgba(29, 78, 216, 0.28);
}

.hub-mini__registry-body {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}

.hub-mini__registry strong {
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.25;
}

.hub-mini__registry span {
  font-size: 0.7rem;
  font-weight: 500;
  color: rgba(239, 246, 255, 0.92);
  line-height: 1.35;
}

.hub-mini__docs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  width: 100%;
}

.hub-mini__doc {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 0.45rem;
  min-height: 3.65rem;
  padding: 0.7rem 0.75rem;
  border-radius: 0.45rem;
  border: 1px solid rgba(253, 230, 138, 0.45);
  background: linear-gradient(165deg, #fbbf24 0%, #d97706 100%);
  color: #1c1917;
  font-size: 0.72rem;
  font-weight: 700;
  text-align: left;
  line-height: 1.2;
  box-shadow: 0 8px 18px rgba(217, 119, 6, 0.26);
}

.hub-mini__doc svg {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  opacity: 0.9;
}

@media (max-width: 820px) {
  .hub-structure-showcase__panels {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }

  .hub-structure-showcase__flow {
    padding-top: 0;
  }

  .hub-structure-showcase__arrow {
    transform: rotate(90deg);
  }
}

@media (max-width: 820px) {
  .hub-visual__diagram {
    grid-template-columns: 1fr;
  }

  .hub-visual__hubs {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .hub-approach__grid {
    grid-template-columns: 1fr;
  }

  .hub-visual__site {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }
}

/* --- vidensbank-page.css --- */
/* Vidensbank — living evidence surface */

.vidensbank-page {
  position: relative;
  background:
    radial-gradient(ellipse 80% 45% at 10% 0%, var(--atmosphere-leadership, rgba(20, 20, 20, 0.08)), transparent 55%),
    radial-gradient(ellipse 60% 40% at 100% 20%, var(--atmosphere-teal-soft), transparent 50%),
    var(--bg);
}

.vidensbank-page__inner {
  max-width: 56rem;
}

.vidensbank-page__header {
  margin-bottom: 2.75rem;
}

.vidensbank-page__header .eyebrow {
  color: var(--domain-leadership);
}

.vidensbank-page__header h1 {
  margin: 0 0 0.75rem;
  max-width: none;
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 3.4vw, 2.6rem);
  letter-spacing: -0.04em;
  line-height: 1.12;
}

.vidensbank-page__header p {
  margin: 0;
  max-width: 40rem;
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.55;
}

.vidensbank-page__block {
  margin-bottom: 2.75rem;
}

.vidensbank-page__block h2 {
  margin: 0 0 1rem;
  font-size: 1.3rem;
  line-height: 1.25;
  color: var(--text);
}

.vidensbank-page__cases {
  display: grid;
  gap: 0.95rem;
}

.vidensbank-page__case {
  position: relative;
  border: 1px solid var(--line);
  border-radius: var(--radius-box);
  padding: 1.25rem 1.25rem 1.25rem 1.35rem;
  background: var(--surface-inset);
  box-shadow:
    inset 3px 0 0 var(--domain-leadership),
    inset 0 0 28px rgba(20, 20, 20, 0.05);
  transition: border-color 160ms ease, transform 160ms ease;
}

.vidensbank-page__case:nth-child(2) {
  box-shadow:
    inset 3px 0 0 var(--domain-admin),
    inset 0 0 28px rgba(96, 165, 250, 0.05);
}

.vidensbank-page__case:nth-child(3) {
  box-shadow:
    inset 3px 0 0 var(--domain-production),
    inset 0 0 28px rgba(52, 211, 153, 0.05);
}

.vidensbank-page__case:hover {
  border-color: color-mix(in srgb, var(--brand-product) 35%, var(--line));
  transform: translateY(-1px);
}

.vidensbank-page__case h3 {
  margin: 0 0 0.5rem;
  font-size: 1.1rem;
  color: var(--text);
}

.vidensbank-page__case p {
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.55;
}

.vidensbank-page__refs {
  list-style: none;
  margin: 0.85rem 0 0;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius-box);
  background: var(--surface-inset);
  overflow: hidden;
}

.vidensbank-page__ref {
  padding: 0.9rem 1.05rem;
  border-top: 1px solid var(--line);
  font-size: 0.95rem;
  line-height: 1.5;
}

.vidensbank-page__ref:first-child {
  border-top: 0;
}

.vidensbank-page__ref-num {
  margin-right: 0.4rem;
  color: var(--domain-leadership);
  font-family: ui-monospace, monospace;
  font-size: 0.78rem;
  font-weight: 700;
}

.vidensbank-page__ref-publisher {
  color: var(--text);
  font-weight: 600;
}

.vidensbank-page__ref-sep {
  color: var(--muted);
}

.vidensbank-page__ref-title {
  color: var(--muted);
  font-style: italic;
}

.vidensbank-page__empty {
  margin-top: 0.75rem;
  color: var(--muted);
  font-size: 0.95rem;
}

.vidensbank-page__cta {
  border: 1px solid color-mix(in srgb, var(--brand-product) 40%, var(--line));
  border-radius: var(--radius-box);
  padding: 1.75rem 1.5rem;
  text-align: center;
  background:
    linear-gradient(160deg, rgba(20, 20, 20, 0.12), rgba(20, 20, 20, 0.08)),
    var(--surface-inset);
  box-shadow: inset 0 0 40px rgba(20, 20, 20, 0.05);
}

.vidensbank-page__cta h2 {
  margin: 0 0 0.65rem;
  font-size: 1.35rem;
  line-height: 1.25;
}

.vidensbank-page__cta p {
  margin: 0 auto 1.25rem;
  max-width: 36rem;
  color: var(--muted);
  font-size: 1.02rem;
}

.vidensbank-page__sources {
  display: grid;
  gap: 0.95rem;
  margin-top: 0.85rem;
}

a.vidensbank-page__source {
  display: block;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid var(--line);
  border-radius: var(--radius-box);
  padding: 1.2rem 1.2rem;
  background: var(--surface-inset);
  box-shadow: inset 0 0 24px rgba(20, 20, 20, 0.03);
  transition: border-color 160ms ease;
}

.vidensbank-page__source:hover {
  border-color: color-mix(in srgb, var(--domain-admin) 40%, var(--line));
}

.vidensbank-page__source h3 {
  margin: 0;
  font-size: 1.05rem;
  color: var(--text);
  font-weight: 600;
}

.vidensbank-page__source-link {
  color: var(--entari-accent-precision, #34d399);
  text-decoration: none;
}

.vidensbank-page__source-link:hover {
  text-decoration: underline;
  color: var(--text);
}

.vidensbank-page__source-note {
  margin: 0.5rem 0 0;
  color: var(--muted);
  font-size: 0.95rem;
  line-height: 1.45;
}

.vidensbank-page__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.85rem;
}

.vidensbank-page__tag {
  padding: 0.2rem 0.5rem;
  border: 1px solid var(--line);
  border-radius: 3px;
  color: var(--text);
  background: color-mix(in srgb, var(--brand-product, #34d399) 12%, #ffffff);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}

/* --- company-updates.css --- */
/* Company updates strip — live news boxes */

.company-updates {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background:
    var(--surface-inset);
}

.company-updates__list {
  display: grid;
  gap: 0;
  margin-top: 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.company-updates__item {
  padding: 1.15rem 0 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.company-updates__date {
  display: block;
  margin: 0 0 0.35rem;
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.company-updates__item h3 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--text);
  line-height: 1.3;
}

.company-updates__link {
  color: inherit;
  text-decoration: none;
}

.company-updates__link:hover {
  color: #ffffff;
  text-decoration: underline;
}

.company-updates__item p {
  margin: 0.45rem 0 0;
  max-width: 40rem;
  color: var(--muted);
  font-size: 0.95rem;
  line-height: 1.5;
}

.company-updates__empty {
  margin: 1rem 0 0;
  color: var(--muted);
  font-size: 0.9rem;
}

@media (min-width: 720px) {
  .company-updates__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 2rem;
  }
}

/* --- tight-copy.css --- */
/* Tight copy system — headers, bullets, boxes. No long paragraphs. */

.hero-grid--clean {
  grid-template-columns: 1fr;
  max-width: 44rem;
  min-height: unset;
  align-items: center;
  justify-items: start;
}

.hero-copy--buttons-only {
  width: 100%;
}

.hero-grid--clean .hero-actions,
.hero-actions--hero-large {
  margin-top: 0;
  gap: 1rem;
}

.button--hero-large {
  min-height: 3.5rem;
  padding: 0 1.75rem;
  font-size: clamp(1.05rem, 2.2vw, 1.35rem);
  letter-spacing: 0.01em;
}

.section-cta--hero-large {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0;
  justify-content: center;
}

.company-business-cta__box--buttons {
  display: flex;
  justify-content: center;
  padding-block: 1.5rem;
}

.page-hero__inner--simple .hero-actions--hero-large {
  margin-top: 0;
}

.page-hero__inner--simple:has(> .visually-hidden:first-child) {
  padding-block: 1.25rem;
}

.tight-grid {
  display: grid;
  gap: 1rem;
  margin: 0 0 1.5rem;
}

.tight-grid--problem {
  grid-template-columns: 1fr;
}

@media (min-width: 720px) {
  .tight-grid--problem {
    grid-template-columns: 1fr 1fr;
  }
}

.tight-box {
  border: 1px solid var(--line);
  background: var(--surface-inset);
  background-image: linear-gradient(165deg, var(--glow-module-surface), transparent 55%);
  padding: 1.15rem 1.2rem;
}

.tight-box--accent {
  border-color: rgba(20, 20, 20, 0.45);
  background: rgba(20, 20, 20, 0.08);
  background-image: linear-gradient(165deg, rgba(20, 20, 20, 0.1), transparent 60%);
  box-shadow: var(--glow-module-shadow);
}

.tight-box h3 {
  margin: 0 0 0.65rem;
  font-size: 1.05rem;
}

.tight-list {
  margin: 0;
  padding: 0 0 0 1.1rem;
  color: var(--muted, #5c5c5c);
  font-size: 0.95rem;
  line-height: 1.45;
}

.tight-list li + li {
  margin-top: 0.35rem;
}

.tight-list--inline {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  list-style: none;
  padding: 0;
  margin: 0 0 1.15rem;
}

.tight-list--inline li {
  margin: 0;
  padding: 0.35rem 0.65rem;
  border: 1px solid rgba(20, 20, 20, 0.28);
  border-radius: var(--radius-control, 6px);
  color: #141414;
  font-size: var(--font-size-caption, 14px);
  font-weight: 600;
}

.product-door .tight-list {
  margin-top: 0.65rem;
  color: inherit;
}

.checklist-rail {
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

@media (min-width: 720px) {
  .checklist-rail {
    grid-template-columns: repeat(4, 1fr);
  }
}

.checklist-rail__item {
  border: 1px solid var(--line);
  border-radius: var(--radius-box, 6px);
  background: var(--surface-inset);
  background-image: linear-gradient(165deg, var(--glow-module-surface), transparent 55%);
  padding: 1rem 1.05rem 1.1rem;
  display: grid;
  gap: 0.35rem;
}

.checklist-rail__num {
  width: 1.5rem;
  height: 1.5rem;
  display: inline-grid;
  place-items: center;
  border-radius: var(--radius-control, 6px);
  border: 1px solid rgba(20, 20, 20, 0.45);
  color: #ffffff;
  font-size: var(--font-size-caption, 14px);
  font-weight: 700;
}

.checklist-rail__item strong {
  font-size: 0.95rem;
}

.checklist-rail__item span {
  color: var(--muted, #5c5c5c);
  font-size: 0.88rem;
  line-height: 1.4;
}

/* Cap leftover prose blocks site-wide */
.section-intro__body,
.page-hero__lead,
.hero-company-line {
  max-width: 36rem;
}

.page-hero__lead {
  font-size: 1rem;
  line-height: 1.45;
}

/* paragraph clamp — leftover prose slots stay empty in IA rewrite */
.hub-approach__body {
  display: none;
}

.ir-docs__list {
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

.ir-docs__item {
  border: 1px solid var(--line);
  background: var(--surface-inset);
  background-image: linear-gradient(165deg, var(--glow-module-surface), transparent 55%);
  padding: 1rem 1.15rem;
  display: grid;
  gap: 0.55rem;
}

.ir-docs__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.85rem;
  color: #5c5c5c;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ir-docs__link {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  color: inherit;
  text-decoration: none;
}

.ir-docs__link strong {
  font-size: 1.05rem;
}

.ir-docs__action {
  color: #ffffff;
  font-size: 0.85rem;
  font-weight: 700;
  white-space: nowrap;
}

.ir-docs__empty {
  margin: 1rem 0 0;
  color: #5c5c5c;
}

/* --- ext-comp-craft-v001.css --- */
/* EXT_COMP_CRAFT_V001 — premium shared chrome (polish 3)
   Doors, tight boxes, checklist rail, solution cards, timeline,
   feature matrix, gallery tiles, IR document rows. */

:root {
  --craft-radius: var(--radius-box, 8px);
  --craft-border: var(--line);
  --craft-border-hot: rgba(148, 163, 184, 0.35);
  --craft-accent-bar: linear-gradient(180deg, var(--brand-product), rgba(20, 20, 20, 0.3));
  --craft-business-border: rgba(20, 20, 20, 0.45);
  --craft-personal-bar: linear-gradient(180deg, var(--brand-personal), rgba(20, 20, 20, 0.3));
  --craft-personal-border: rgba(20, 20, 20, 0.45);
}

/* —— Product doors —— */
.product-doors {
  display: grid;
  gap: 1.15rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.product-door {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-height: 100%;
  padding: 1.45rem 1.35rem 1.35rem 1.5rem;
  border: 1px solid var(--craft-border);
  border-radius: var(--craft-radius);
  background-color: var(--surface-inset);
  background-image:
    linear-gradient(145deg, rgba(20, 20, 20, 0.08), transparent 42%),
    linear-gradient(165deg, var(--glow-module-surface), transparent 60%);
  box-shadow: var(--glow-module-shadow);
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  transition:
    border-color 180ms ease,
    transform 180ms ease,
    box-shadow 180ms ease,
    background-color 180ms ease;
}

.product-door::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--craft-accent-bar);
  box-shadow: none;
}

.product-door:nth-child(2)::before {
  background: var(--craft-personal-bar);
  box-shadow: none;
}

.product-door:nth-child(2) {
  background-image:
    linear-gradient(145deg, rgba(20, 20, 20, 0.09), transparent 42%),
    linear-gradient(165deg, var(--glow-module-surface), transparent 60%);
}

.product-door:hover,
.product-door:focus-visible {
  border-color: var(--craft-business-border);
  transform: translateY(-2px);
  box-shadow: 0 0 0 1px rgba(20, 20, 20, 0.28), 0 10px 28px rgba(2, 6, 23, 0.35);
  outline: none;
}

.product-door:nth-child(2):hover,
.product-door:nth-child(2):focus-visible {
  border-color: var(--craft-personal-border);
  box-shadow: 0 0 0 1px rgba(20, 20, 20, 0.32), 0 10px 28px rgba(2, 6, 23, 0.35);
}

.product-door__eyebrow {
  margin: 0 0 0.55rem;
  color: var(--brand-product);
  font-size: var(--font-size-caption, 14px);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.product-door:nth-child(2) .product-door__eyebrow {
  color: var(--brand-personal);
}

.product-door h2,
.product-door h3 {
  margin: 0 0 0.65rem;
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 2vw, 1.45rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--text);
}

/* Thin Entari + thick product — matches app Pass mark */
.product-mark {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0;
  margin: 0;
  font-family: var(--font-display);
  letter-spacing: -0.03em;
  line-height: 1.05;
  white-space: nowrap;
}

.product-mark__entari {
  color: var(--brand-product);
  font-weight: 400;
  letter-spacing: inherit;
}

.product-mark--personal .product-mark__entari {
  color: var(--brand-personal);
}

.product-mark--pass .product-mark__entari {
  color: var(--brand-product);
}

.product-mark--app .product-mark__entari {
  color: var(--brand-personal);
}

.product-mark--verse .product-mark__entari {
  background-image: linear-gradient(90deg, #a78bfa 0%, #60a5fa 48%, #34d399 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.product-mark__product {
  color: var(--text);
  font-weight: 800;
  letter-spacing: inherit;
}

.product-mark--page {
  font-size: clamp(2.1rem, 5vw, 3.1rem);
  letter-spacing: -0.04em;
}

.product-door .product-mark {
  margin: 0 0 0.65rem;
  font-size: clamp(1.2rem, 2vw, 1.45rem);
}

.product-door .tight-list {
  margin: 0.35rem 0 1rem;
  flex: 1;
}

.product-door__cta {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--brand-product);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.product-door:nth-child(2) .product-door__cta {
  color: var(--brand-personal);
}

.product-door__cta::after {
  content: "→";
  transition: transform 160ms ease;
}

.product-door:hover .product-door__cta::after,
.product-door:focus-visible .product-door__cta::after {
  transform: translateX(3px);
}

@media (max-width: 860px) {
  .product-doors {
    grid-template-columns: 1fr;
  }
}

/* —— Tight boxes —— */
.tight-box {
  position: relative;
  border-radius: var(--craft-radius);
  border: 1px solid var(--craft-border);
  padding: 1.25rem 1.3rem 1.3rem;
  overflow: hidden;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

.tight-box::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.85rem;
  bottom: 0.85rem;
  width: 2px;
  background: rgba(223, 240, 232, 0.22);
  border-radius: 1px;
}

.tight-box--accent {
  border-color: var(--craft-border-hot);
}

.tight-box--accent::before {
  background: var(--craft-accent-bar);
  box-shadow: 0 0 12px var(--brand-product-glow);
}

.tight-box h3 {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--text);
}

.tight-list--inline li {
  border-radius: var(--craft-radius);
  background: rgba(20, 20, 20, 0.06);
}

/* —— Checklist rail —— */
.checklist-rail {
  gap: 0.85rem;
}

.checklist-rail__item {
  position: relative;
  border-radius: var(--craft-radius);
  border: 1px solid var(--craft-border);
  padding: 1.1rem 1.1rem 1.15rem;
  transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.checklist-rail__item:hover {
  border-color: rgba(20, 20, 20, 0.38);
  transform: translateY(-2px);
  box-shadow: var(--glow-hover-shadow);
}

.checklist-rail__num {
  width: 1.7rem;
  height: 1.7rem;
  border-radius: var(--craft-radius);
  border: 1px solid rgba(20, 20, 20, 0.55);
  background: rgba(20, 20, 20, 0.12);
  color: #ffffff;
  font-family: var(--font-display);
  font-size: var(--font-size-caption, 14px);
  font-weight: 800;
  box-shadow: none;
}

.checklist-rail__item strong {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--text);
}

/* —— Belief / solution cards —— */
.cards-row {
  border-radius: var(--craft-radius);
  border-color: var(--craft-border);
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(20, 20, 20, 0.05), transparent 40%),
    var(--surface-inset);
}

.cards-row--three {
  gap: 0;
}

.solution-card {
  min-height: 220px;
  padding: 1.35rem 1.25rem;
  background:
    linear-gradient(160deg, rgba(20, 20, 20, 0.05), transparent 48%),
    transparent;
  transition: background 160ms ease;
}

.cards-row .solution-card {
  border: 0;
  border-right: 1px solid var(--craft-border);
  border-radius: 0;
  box-shadow: none;
}

.cards-row .solution-card:last-child {
  border-right: 0;
}

.cards-row .solution-card:hover {
  background: rgba(20, 20, 20, 0.07);
  transform: none;
  box-shadow: none;
  border-color: transparent;
}

.solution-card::after {
  border-color: rgba(20, 20, 20, 0.12);
}

.solution-card .module-emphasis,
.module-emphasis {
  color: #141414;
  text-shadow: none;
}

/* —— Timeline rail / scrubber —— */
.vis-timeline__scrub-line {
  height: 3px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--glow-teal-soft) 12%,
    var(--glow-teal-mid) 50%,
    var(--glow-teal-soft) 88%,
    transparent
  );
  box-shadow: 0 0 18px var(--atmosphere-teal-soft);
}

.vis-timeline__scrub-dot {
  box-shadow:
    0 0 0 3px rgba(20, 20, 20, 0.2),
    0 0 16px rgba(20, 20, 20, 0.35);
}

.vis-timeline__nav {
  border-radius: var(--craft-radius);
  border-color: rgba(20, 20, 20, 0.45);
  background: rgba(13, 21, 18, 0.92);
  box-shadow: var(--glow-module-shadow);
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.vis-timeline__nav:not(:disabled):hover {
  background: rgba(20, 20, 20, 0.14);
  border-color: var(--craft-border-hot);
  transform: scale(1.04);
}

.vis-timeline__phase,
.vis-timeline__milestone {
  border-radius: var(--craft-radius);
  border-color: var(--craft-border);
  box-shadow: var(--glow-module-shadow);
  background-image: linear-gradient(165deg, var(--glow-module-surface), transparent 55%);
  transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.vis-timeline__phase:hover,
.vis-timeline__milestone:hover {
  border-color: rgba(20, 20, 20, 0.4);
  transform: translateY(-2px);
  box-shadow: var(--glow-hover-shadow);
}

.vis-timeline__milestone--live,
.vis-timeline__phase--goal {
  border-color: var(--craft-border-hot);
  box-shadow: var(--glow-module-shadow);
}

.vis-timeline__span-bar {
  height: 4px;
  box-shadow: none;
}

/* —— Feature matrix —— */
.mkt-matrix {
  border-radius: var(--craft-radius);
  border-color: var(--craft-border);
  box-shadow: var(--glow-module-shadow);
  background:
    linear-gradient(180deg, rgba(20, 20, 20, 0.05), transparent 28%),
    var(--surface-inset);
  overflow: hidden;
}

.mkt-matrix__table thead th {
  background: rgba(20, 20, 20, 0.1);
  color: var(--muted);
  border-bottom-color: rgba(20, 20, 20, 0.35);
}

.mkt-matrix__row:hover th,
.mkt-matrix__row:hover td {
  background: rgba(20, 20, 20, 0.04);
}

.mkt-matrix__name {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.mkt-matrix__cell:not(.mkt-matrix__cell--off) {
  color: #ffffff;
  font-weight: 700;
}

/* —— Gallery / video tiles —— */
.mkt-videos__card {
  border-radius: var(--craft-radius);
  border-color: var(--craft-border);
  box-shadow: var(--glow-module-shadow);
  background:
    linear-gradient(165deg, var(--glow-module-surface), transparent 50%),
    var(--surface-inset);
  transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.mkt-videos__card:hover {
  border-color: rgba(20, 20, 20, 0.4);
  transform: translateY(-3px);
  box-shadow: var(--glow-hover-shadow);
}

.mkt-videos__frame,
.mkt-videos__player,
.mkt-videos__placeholder {
  background: #0a0f0d;
}

.mkt-videos__card h3 {
  font-family: var(--font-display);
  letter-spacing: -0.02em;
}

.mkt-badge {
  border-radius: var(--craft-radius);
}

.mkt-config__chip {
  border-radius: var(--craft-radius);
  transition: border-color 140ms ease, background 140ms ease, color 140ms ease;
}

.mkt-config__chip.is-active {
  box-shadow: none;
}

/* —— IR document rows —— */
.ir-docs__item {
  position: relative;
  border-radius: var(--craft-radius);
  border-color: var(--craft-border);
  padding: 1.1rem 1.25rem 1.15rem 1.35rem;
  overflow: hidden;
  transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.ir-docs__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, #a78bfa 0%, #60a5fa 48%, #34d399 100%);
  opacity: 1;
}

.ir-docs__cat.product-mark {
  font-size: 0.84rem;
  letter-spacing: -0.02em;
  text-transform: none;
  color: inherit;
}

.ir-docs__cat .product-mark__entari {
  font-weight: 600;
}

.ir-docs__cat .product-mark__product {
  font-weight: 800;
  color: #18181b;
}

.ir-docs__item:hover {
  border-color: var(--craft-border-hot);
  transform: translateY(-2px);
  box-shadow: var(--glow-hover-shadow);
}

.ir-docs__link strong {
  font-family: var(--font-display);
  letter-spacing: -0.02em;
}

.ir-docs__action {
  transition: transform 160ms ease, color 160ms ease;
}

.ir-docs__item:hover .ir-docs__action {
  transform: translateX(3px);
}

/* —— Solutions page shared cards —— */
.sol-pipeline__step,
.sol-value__stat,
.sol-dept-card,
.sol-folders__card {
  border-radius: var(--craft-radius);
  border-color: var(--craft-border);
  box-shadow: var(--glow-module-shadow);
  transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.sol-pipeline__step:hover,
.sol-dept-card:hover,
.sol-folders__card:hover {
  border-color: rgba(20, 20, 20, 0.4);
  transform: translateY(-2px);
  box-shadow: var(--glow-hover-shadow);
}

.sol-catalog {
  border-radius: var(--craft-radius);
  overflow: hidden;
  box-shadow: var(--glow-module-shadow);
}

.sol-catalog__card {
  transition: background 160ms ease;
}

.sol-catalog__card:hover {
  background: rgba(20, 20, 20, 0.06);
}

/* —— Core values board —— */
.core-value {
  border-radius: var(--radius-box);
  box-shadow: none;
  transition: border-color 160ms ease, background 160ms ease;
}

.core-value:hover {
  transform: none;
  box-shadow: none;
}

.core-values__usage {
  border-radius: var(--radius-box);
  border-color: var(--line);
  background: rgba(255, 255, 255, 0.03);
  box-shadow: none;
}

/* —— Contact / CTA boxes —— */
.cta-box,
.contact-card,
.company-vision-teaser__box,
.company-business-cta__box,
.product-purpose__box {
  border-radius: var(--radius-box);
  border-color: var(--line);
  box-shadow: none;
  background: var(--surface-inset);
}

@media (max-width: 640px) {
  .product-door,
  .tight-box,
  .checklist-rail__item,
  .ir-docs__item {
    transform: none;
  }

  .product-door:hover,
  .checklist-rail__item:hover,
  .ir-docs__item:hover,
  .mkt-videos__card:hover,
  .solution-card:hover {
    transform: none;
  }
}

/* --- home-release.css --- */
/* Home release composition (polish 4) — brand-first hero + section rhythm */

.page-home .hero {
  position: relative;
  min-height: clamp(22rem, 68vh, 38rem);
  justify-content: center;
  overflow: hidden;
}

.page-home .hero-slogan {
  margin: 0;
  max-width: 18em;
  color: #141414;
  font-size: clamp(1.85rem, 3.2vw, 2.75rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
  text-align: center;
}

.page-home .hero-slogan em {
  font-style: italic;
  font-weight: 600;
}

.page-home .hero-grid--home {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  align-items: center;
  max-width: min(1180px, calc(100% - 40px));
  width: 100%;
  text-align: center;
}

.page-home .hero-copy--home {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.75rem;
  width: 100%;
  max-width: none;
  margin-top: 0;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  padding: 0 !important;
}

.page-home .hero-support {
  margin: 0;
  max-width: 28rem;
  color: var(--muted);
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  line-height: 1.5;
}

.page-home .hero-brand--logo {
  display: none;
}

.page-home .hero-brand__logo {
  display: none;
}

.page-home .hero-actions--hero-large {
  justify-content: center;
  width: 100%;
}

.page-home .button--hero-large {
  min-width: min(14rem, 100%);
}


/* Section rhythm — one title, then boxes */
.page-home .company-section-intro {
  margin-bottom: 1.75rem;
}

.page-home .company-section-intro .section-primary {
  font-family: var(--font-display);
  letter-spacing: -0.04em;
}

.page-home .company-section-intro--center {
  text-align: center;
  margin-bottom: 1.35rem;
}

.page-home .company-section-intro--center .section-primary {
  max-width: none;
}

.page-home .company-beliefs .tight-grid--problem {
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}

.page-home .company-beliefs .cards-row--three {
  margin-top: 0;
  gap: 1.25rem;
}

.page-home .company-beliefs .solution-card {
  min-height: 0;
  justify-content: flex-start;
  gap: 0.35rem;
  padding: 1.25rem 1.2rem 1.35rem;
}

.page-home .company-beliefs .solution-card .module-emphasis {
  margin-bottom: 0.5rem;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  line-height: 1.15;
}

.page-home .company-beliefs .solution-card .tight-list {
  margin: 0;
  padding-left: 1.05rem;
}

.page-home .company-products .product-doors {
  margin-bottom: 0.25rem;
}

.page-home .company-products .section-cta {
  margin-top: 1.5rem;
  text-align: center;
}

.page-home .company-checklist .checklist-rail {
  margin-top: 0.35rem;
}

.page-home .company-business-cta__box--buttons {
  padding-block: 1.75rem;
  background:
var(--surface-inset);
}

.page-home .company-business-cta .section-cta--hero-large {
  justify-content: center;
}

/* Contact — one accent, dark glass */
.page-home .cta-box,
.page-home .cta-box--alive {
  gap: clamp(1.5rem, 3vw, 2.75rem);
  padding: clamp(1.65rem, 3.2vw, 2.5rem);
  border-color: rgba(20, 20, 20, 0.42);
  background: linear-gradient(180deg, rgba(10, 14, 24, 0.72), rgba(7, 10, 18, 0.52));
  box-shadow: inset 3px 0 0 #141414;
}

.page-home .cta-copy__eyebrow {
  color: var(--domain-leadership);
  margin-bottom: 0.65rem;
}

.page-home .cta-box .section-primary {
  margin-bottom: 0.65rem;
  max-width: 18ch;
}

.page-home .cta-box .section-emphasis {
  margin: 0 0 0.85rem;
  color: #141414;
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  font-weight: 600;
  line-height: 1.4;
}

.page-home .cta-copy__body {
  margin: 0 0 1.35rem;
  max-width: 36rem;
  color: var(--muted);
  font-size: 1.02rem;
  line-height: 1.55;
}

.page-home .contact-card,
.page-home .contact-card--alive {
  padding: 1.45rem 1.4rem 1.5rem;
  border: 1px solid rgba(20, 20, 20, 0.38);
  background: rgba(6, 10, 18, 0.55);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.page-home .contact-lead-form__field input,
.page-home .contact-lead-form__field textarea {
  border-radius: var(--radius-control, 6px);
  border-color: var(--line);
  background: rgba(6, 16, 12, 0.65);
}

.page-home .contact-lead-form__field textarea {
  resize: vertical;
  min-height: 6.5rem;
  max-height: 12rem;
  overflow-y: auto;
}

.page-home .contact-lead-form__field input:focus-visible,
.page-home .contact-lead-form__field textarea:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-color: var(--accent);
}

@media (max-width: 640px) {
  .page-home .hero {
    min-height: clamp(16rem, 58vh, 24rem);
  }

  .page-home .hero-slogan {
    max-width: 14em;
    font-size: clamp(1.55rem, 7vw, 2rem);
  }

  .page-home .hero-actions--hero-large {
    flex-direction: column;
    align-items: stretch;
  }

  .page-home .button--hero-large {
    min-width: 0;
    width: 100%;
  }

  .page-home .company-business-cta .section-cta--hero-large {
    flex-direction: column;
    align-items: stretch;
  }
}

/* --- product-family.css --- */
/* Product family — Business emerald / Personal sky (Phase B) */

/* —— Explicit door tones (hub + home) —— */
.product-door--business::before,
.product-doors .product-door:first-child::before {
  background: var(--craft-accent-bar);
  box-shadow: none;
}

.product-door--personal::before,
.product-doors .product-door:nth-child(2)::before {
  background: var(--craft-personal-bar);
  box-shadow: none;
}

.product-door--business,
.product-doors .product-door:first-child {
  background-image:
    linear-gradient(145deg, rgba(20, 20, 20, 0.09), transparent 42%),
    linear-gradient(165deg, var(--glow-module-surface), transparent 60%);
}

.product-door--personal,
.product-doors .product-door:nth-child(2) {
  background-image:
    linear-gradient(145deg, rgba(20, 20, 20, 0.1), transparent 42%),
    linear-gradient(165deg, var(--glow-module-surface), transparent 60%);
}

.product-door--business .product-door__cta,
.product-doors .product-door:first-child .product-door__cta {
  color: var(--brand-product);
}

.product-door--personal .product-door__cta,
.product-doors .product-door:nth-child(2) .product-door__cta {
  color: var(--brand-personal);
}

.product-door__eyebrow {
  display: inline-block;
  width: fit-content;
  margin: 0 0 0.75rem;
  padding: 0.22rem 0.55rem;
  border-radius: 0.3rem;
  border: 1px solid transparent;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.2;
  text-transform: uppercase;
}

.product-door__eyebrow--live,
.product-door--business .product-door__eyebrow,
.product-doors .product-door:first-child .product-door__eyebrow {
  color: #14532d;
  background: #dcfce7;
  border-color: #86efac;
}

.product-door__eyebrow--planned,
.product-door--personal .product-door__eyebrow,
.product-doors .product-door:nth-child(2) .product-door__eyebrow {
  color: #854d0e;
  background: #fef9c3;
  border-color: #fde047;
}

.product-door--business:hover,
.product-door--business:focus-visible,
.product-doors .product-door:first-child:hover,
.product-doors .product-door:first-child:focus-visible {
  border-color: rgba(20, 20, 20, 0.5);
  box-shadow: 0 0 0 1px rgba(20, 20, 20, 0.3), 0 10px 28px rgba(2, 6, 23, 0.35);
}

.product-door--personal:hover,
.product-door--personal:focus-visible,
.product-doors .product-door:nth-child(2):hover,
.product-doors .product-door:nth-child(2):focus-visible {
  border-color: rgba(20, 20, 20, 0.5);
  box-shadow: 0 0 0 1px rgba(20, 20, 20, 0.32), 0 10px 28px rgba(2, 6, 23, 0.35);
}

.product-door--pass::before {
  background: var(--craft-accent-bar);
  box-shadow: none;
}

.product-door--pass {
  background-image:
    linear-gradient(145deg, rgba(20, 20, 20, 0.09), transparent 42%),
    linear-gradient(165deg, var(--glow-module-surface), transparent 60%);
}

.product-door--pass .product-door__cta {
  color: var(--brand-product);
}

.product-door--pass .product-door__eyebrow,
.product-door--pass .product-door__eyebrow--live {
  color: #14532d;
  background: #dcfce7;
  border-color: #86efac;
}

.product-door--pass:hover,
.product-door--pass:focus-visible {
  border-color: rgba(20, 20, 20, 0.5);
  box-shadow: 0 0 0 1px rgba(20, 20, 20, 0.3), 0 10px 28px rgba(2, 6, 23, 0.35);
}

.product-doors--hub {
  gap: 1.25rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.product-doors--hub .product-door {
  min-height: 17rem;
  padding: 1.65rem 1.5rem 1.45rem 1.6rem;
}

.product-doors--hub .product-door h2 {
  font-size: clamp(1.35rem, 2.4vw, 1.7rem);
}

@media (max-width: 960px) {
  .product-doors--hub {
    grid-template-columns: 1fr;
  }
}

/* —— Produkter hub —— */
.page-products .page-hero--products {
  background:
    radial-gradient(ellipse 50% 60% at 12% 20%, rgba(20, 20, 20, 0.1), transparent 55%),
    radial-gradient(ellipse 45% 55% at 92% 75%, rgba(20, 20, 20, 0.08), transparent 52%),
    var(--bg);
}

.page-products .page-hero--products h1 {
  color: var(--text);
  font-size: clamp(2.35rem, 5.5vw, 3.4rem);
  text-shadow: none;
}

.page-hero__inner--products {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(1.35rem, 3vh, 2rem);
  max-width: 42rem;
}

.page-hero__inner--products .hero-actions--hero-large {
  margin-top: 0;
}

.page-products .products-hub-grid {
  background: var(--band-lift);
}

.page-products .mkt-features {
  background: var(--band-deep);
}

/* —— EntariPersonal stub —— */
.page-product-personal .page-hero--product-stub {
  background:
    radial-gradient(ellipse 70% 55% at 18% 10%, rgba(20, 20, 20, 0.12), transparent 55%),
    var(--bg);
}

.page-product-personal .page-hero--product-stub h1 {
  color: #ffffff;
  font-size: clamp(2.4rem, 6vw, 3.75rem);
  text-shadow: none;
  max-width: none;
}

.page-hero__inner--product {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(1.5rem, 3vh, 2.25rem);
  max-width: 44rem;
}

.page-hero__inner--product .hero-actions--hero-large {
  margin-top: 0;
}

.page-product-personal .product-maturity {
  background: var(--band-lift);
}

.page-product-personal .product-maturity .section-primary {
  color: #ffffff;
  text-shadow: none;
}

.product-maturity__grid {
  gap: 0.85rem;
}

.product-maturity__card {
  position: relative;
  border-radius: var(--radius-box);
  border: 1px solid var(--line);
  background: var(--surface-inset);
  box-shadow: none;
  overflow: hidden;
  transition: border-color 160ms ease;
}

.page-product-personal .product-maturity__card {
  border-color: rgba(20, 20, 20, 0.22);
}

.page-product-personal .product-maturity__card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--craft-personal-bar);
}

.page-product-personal .product-maturity__card:hover {
  border-color: rgba(20, 20, 20, 0.45);
  box-shadow: 0 0 0 1px rgba(20, 20, 20, 0.2);
}

.page-product-personal .product-maturity__card strong {
  color: var(--brand-personal);
}

.page-product-personal .product-purpose {
  background: var(--band-deep);
}

.page-product-personal .product-purpose__box {
  position: relative;
  max-width: 46rem;
  margin: 0;
  padding: 1.65rem 1.55rem 1.55rem 1.7rem;
  border: 1px solid rgba(20, 20, 20, 0.28);
  border-radius: var(--radius-box);
  background: var(--surface-inset);
  box-shadow: none;
  overflow: hidden;
}

.page-product-personal .product-purpose__box::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--craft-personal-bar);
}

.page-product-personal .product-purpose__box .section-primary {
  color: #ffffff;
  text-shadow: none;
}

.page-product-personal .product-purpose__box .section-cta {
  margin-top: 1.25rem;
}

/* App stub stays quieter (not a third product door) */
.page-product-stub:not(.page-product-personal):not(.page-product-pass) .page-hero--product-stub h1 {
  color: #ffffff;
}

/* —— EntariPass product page (brand-book cards) —— */
.page-product-pass .page-hero--product-stub h1 {
  color: var(--text);
}

.page-product-pass .page-hero__lead {
  margin: 0;
  max-width: 36rem;
  font-size: clamp(1.05rem, 2.2vw, 1.25rem);
  line-height: 1.45;
  color: var(--muted, #52525b);
}

.page-product-pass .product-maturity__card {
  background: #f5f9f7;
  border-color: rgba(52, 211, 153, 0.35);
  box-shadow: none;
}

.page-product-pass .product-maturity__card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #34d399;
}

.page-product-pass .product-maturity__card strong {
  color: var(--text);
}

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

.page-product-pass .product-purpose__box.product-pass-business,
.page-product-pass .product-purpose__box.product-pass-why__box {
  max-width: 40rem;
  margin: 0;
  padding: 1.5rem 1.45rem 1.4rem 1.55rem;
  background: #f5f9f7;
  border: 1px solid rgba(52, 211, 153, 0.35);
  border-radius: var(--radius-box, 12px);
  box-shadow: none;
}

.page-product-pass .product-pass-business .section-lead,
.page-product-pass .product-pass-why__box .section-lead {
  margin: 0.35rem 0 0;
}

.page-product-pass .product-pass-business .section-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem 1.25rem;
  margin-top: 1.15rem;
}

.page-product-pass .product-pass-business .text-link {
  color: var(--text);
  text-decoration: underline;
  text-underline-offset: 0.18em;
  font-weight: 600;
}

.page-product-pass .product-pass-business .text-link:hover {
  color: #059669;
}

@media (max-width: 720px) {
  .page-product-pass .product-pass-trust__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .page-product-personal .page-hero--product-stub h1,
  .page-product-pass .page-hero--product-stub h1,
  .page-products .page-hero--products h1 {
    font-size: clamp(2rem, 10vw, 2.6rem);
  }

  .page-hero__inner--product .hero-actions--hero-large,
  .page-hero__inner--products .hero-actions--hero-large {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .page-hero__inner--product .button--hero-large,
  .page-hero__inner--products .button--hero-large {
    width: 100%;
  }
}

.product-door.product-door--soon,
.product-door.product-door--soon:hover,
.product-door.product-door--soon:focus-visible {
  cursor: default;
  transform: none !important;
  box-shadow: none !important;
}

.product-door.product-door--soon .product-door__cta::after {
  content: none;
}

/* --- product-surfaces.css --- */
/* Product surfaces — live UI chrome (phase 4), not stock illustration packs */

.product-surfaces {
  border-bottom: 1px solid var(--line);
}

.product-surfaces__grid {
  display: grid;
  gap: 1.15rem;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr) minmax(0, 0.8fr);
  align-items: stretch;
}

.product-surface {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  min-width: 0;
  padding: 1rem 1rem 1.1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-box, 6px);
  background:
    linear-gradient(165deg, var(--glow-module-surface), transparent 55%),
    var(--surface-inset);
  box-shadow: var(--glow-module-shadow);
}

.product-surface__label {
  margin: 0;
  color: #ffffff;
  font-size: var(--font-size-caption, 14px);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.product-surface--workspace .hub-demo-window-wrap {
  margin: 0;
}

.product-surface--workspace .hub-visual__caption,
.product-surface--workspace .hub-visual__note {
  display: none;
}

.product-surface--workspace .hub-demo-window {
  border-radius: var(--radius-box, 6px);
  border: 1px solid rgba(20, 20, 20, 0.28);
  background: #0b1411;
  overflow: hidden;
}

.product-phone {
  display: flex;
  justify-content: center;
  padding: 0.35rem 0 0.15rem;
  flex: 1;
}

.product-phone__bezel {
  width: min(12.5rem, 100%);
  padding: 0.55rem;
  border-radius: 1.35rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: #050807;
  box-shadow: inset 0 0 0 1px rgba(20, 20, 20, 0.12);
}

.product-phone__notch {
  width: 2.4rem;
  height: 0.35rem;
  margin: 0.15rem auto 0.55rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
}

.product-phone__screen {
  display: grid;
  gap: 0.65rem;
  min-height: 14rem;
  padding: 0.85rem 0.75rem;
  border-radius: 0.85rem;
  background:
    linear-gradient(180deg, rgba(20, 20, 20, 0.12), transparent 40%),
    #101a16;
}

.product-phone__bar {
  margin: 0;
  color: var(--text);
  font-family: var(--font-display);
  font-size: 0.95rem;
  font-weight: 700;
}

.product-phone__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.45rem;
}

.product-phone__list li {
  padding: 0.55rem 0.65rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-control, 6px);
  background: rgba(255, 255, 255, 0.03);
  color: var(--muted);
  font-size: var(--font-size-caption, 14px);
}

.product-phone__cta {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.2rem;
  border-radius: var(--radius-control, 6px);
  border: 1px solid var(--cta-primary-border, rgba(92, 196, 220, 0.72));
  background: var(--cta-primary-bg, linear-gradient(180deg, rgba(22, 34, 32, 0.95), rgba(8, 14, 12, 0.98)));
  color: var(--cta-ink, #f7faf7);
  font-size: var(--font-size-caption, 14px);
  font-weight: 700;
  box-shadow: 0 0 16px rgba(92, 196, 220, 0.2);
}

.product-vault {
  display: grid;
  gap: 0.7rem;
  flex: 1;
  padding: 1.1rem 1rem;
  border-radius: var(--radius-box, 6px);
  border: 1px solid rgba(20, 20, 20, 0.3);
  background:
    linear-gradient(145deg, rgba(20, 20, 20, 0.1), transparent 50%),
    #0c1512;
}

.product-vault__row {
  display: inline-flex;
  align-items: baseline;
  gap: 0;
  font-family: var(--font-display);
  letter-spacing: -0.03em;
}

.product-vault__mark {
  color: #ffffff;
  font-weight: 400;
}

.product-vault__row strong {
  color: var(--text);
  font-weight: 800;
}

.product-vault__line {
  margin: 0;
  color: var(--muted);
  font-size: var(--font-size-small, 15px);
  line-height: 1.45;
}

.product-vault__chip {
  margin-top: auto;
  display: inline-flex;
  width: fit-content;
  padding: 0.35rem 0.65rem;
  border: 1px solid rgba(20, 20, 20, 0.4);
  border-radius: var(--radius-control, 6px);
  color: #ffffff;
  font-size: var(--font-size-caption, 14px);
  font-weight: 700;
}

.product-surfaces__note {
  margin: 1rem 0 0;
  max-width: 42rem;
  color: var(--muted);
  font-size: var(--font-size-small, 15px);
  line-height: 1.45;
}

@media (max-width: 980px) {
  .product-surfaces__grid {
    grid-template-columns: 1fr;
  }

  .product-surface--phone {
    max-width: 22rem;
  }
}

/* --- company-ir.css --- */
/* Company IR + Om os — flat charcoal, white titles */

.page-hero__inner--company {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(1.35rem, 3vh, 2.1rem);
  max-width: 44rem;
}

.page-hero__inner--company .hero-actions--hero-large {
  margin-top: 0;
}

.page-investor .page-hero--investor,
.page-about .page-hero--about {
  background:
    radial-gradient(ellipse 70% 55% at 16% 8%, var(--atmosphere-teal-soft), transparent 55%),
    var(--bg);
}

.page-investor .page-hero--investor h1,
.page-about .page-hero--about h1 {
  color: #ffffff;
  font-size: clamp(2.25rem, 5.5vw, 3.4rem);
  text-shadow: none;
  max-width: none;
}

/* Timeline */
.page-investor .vis-timeline {
  background: var(--band-lift);
}

.page-investor .vis-timeline .section-primary {
  color: #ffffff;
  text-shadow: none;
}

.page-investor .vis-timeline__rail {
  padding: 1rem 0 0.35rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-box);
  background: var(--surface-inset);
  box-shadow: none;
}

.page-investor .vis-timeline__scrubber {
  margin-top: 0.75rem;
}

/* Model pillars as cards */
.page-investor .vis-model {
  background: var(--band-deep);
}

.page-investor .vis-model .section-primary {
  color: #ffffff;
}

.vis-model__pillars--cards {
  display: grid;
  gap: 1rem;
  max-width: none;
}

.vis-model__pillars--cards .vis-model__pillar {
  position: relative;
  margin: 0;
  padding: 1.35rem 1.3rem 1.3rem 1.45rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-box);
  background: var(--surface-inset);
  box-shadow: none;
  overflow: hidden;
  transition: border-color 160ms ease, transform 160ms ease;
}

.vis-model__pillars--cards .vis-model__pillar + .vis-model__pillar {
  padding-top: 1.35rem;
  border-top: 1px solid var(--line);
}

.vis-model__pillars--cards .vis-model__pillar::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--cta-cyan, #5cc4dc);
}

.vis-model__pillars--cards .vis-model__pillar:hover {
  border-color: rgba(255, 255, 255, 0.18);
  transform: translateY(-1px);
  box-shadow: none;
}

.vis-model__pillars--cards .vis-model__pillar h3 {
  font-family: var(--font-display);
  letter-spacing: -0.02em;
  color: #ffffff;
}

.vis-model__pillars--cards .vis-model__pillar-sub {
  color: var(--muted);
  font-weight: 600;
}

.vis-model__pillars--cards .vis-model__bullets {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.85rem;
}

.vis-model__pillars--cards .vis-model__bullets li {
  display: grid;
  grid-template-columns: 0.4rem 1fr;
  column-gap: 0.7rem;
  align-items: start;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  background: transparent;
}

.vis-model__pillars--cards .vis-model__bullets li:first-child {
  border-top: none;
  padding-top: 0;
}

.vis-model__pillars--cards .vis-model__bullets li::before {
  position: static;
  left: auto;
  top: auto;
  width: 0.35rem;
  height: 0.35rem;
  margin-top: 0.55em;
  border-radius: 50%;
  background: var(--brand-product);
}

.vis-model__pillars--cards .vis-model__bullets li:first-child::before {
  top: auto;
  margin-top: 0.55em;
}

@media (min-width: 960px) {
  .vis-model__pillars--cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
  }

  .vis-model__pillars--cards .vis-model__pillar + .vis-model__pillar {
    border-top: 1px solid var(--line);
  }
}

/* IR documents */
.page-investor .ir-docs {
  background: var(--band-lift);
}

.page-investor .ir-docs[hidden],
[data-ir-docs-jump][hidden] {
  display: none !important;
}

.page-investor .ir-docs .section-primary {
  color: #ffffff;
}

.page-investor .ir-docs__list {
  margin-top: 0.5rem;
}

/* Om os — core values */
.page-about .core-values {
  background: var(--band-lift);
  border-bottom: 1px solid var(--line);
}

.page-about .core-values__header .section-primary {
  color: #ffffff;
  text-shadow: none;
}

.page-about .core-values__board {
  gap: 1rem;
}

.page-about .core-values__legend {
  margin-top: 1.75rem;
  padding: 1.15rem 1.2rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-box);
  background: var(--surface-inset);
  box-shadow: inset 0 0 28px rgba(20, 20, 20, 0.05);
}

.page-about .core-values__legend-title {
  color: #ffffff;
}

.page-about .core-values__legend-swatch,
.page-about .core-values__legend-swatch.post-it--r1,
.page-about .core-values__legend-swatch.post-it--r2,
.page-about .core-values__legend-swatch.post-it--r3,
.page-about .core-values__legend-swatch.post-it--r4,
.page-about .core-values__legend-swatch.post-it--r5 {
  flex: 0 0 0.55rem;
  width: 0.55rem;
  height: 0.55rem;
  min-height: 0;
  padding: 0;
  margin-top: 0.4rem;
}

/* Trust on about */
.page-about .trust-security {
  background:
    radial-gradient(ellipse 70% 50% at 0% 0%, var(--atmosphere-leadership, rgba(20, 20, 20, 0.07)), transparent 55%),
    var(--band-deep);
}

.page-about .trust-security .section-primary,
.page-about .trust-points__title {
  color: #18181b;
  text-shadow: none;
}

.page-about .trust-security__stays li {
  border-radius: var(--radius-box);
  background: var(--surface-inset);
  box-shadow: inset 0 0 24px rgba(20, 20, 20, 0.04);
  border: 1px solid var(--line);
}

.page-about .trust-security__provides {
  border-radius: var(--radius-box);
  border: 1px solid color-mix(in srgb, var(--domain-leadership) 28%, var(--line));
  border-left: 3px solid var(--domain-leadership);
  box-shadow: none;
}

@media (max-width: 640px) {
  .page-investor .page-hero--investor h1,
  .page-about .page-hero--about h1 {
    font-size: clamp(1.9rem, 9vw, 2.5rem);
  }

  .page-hero__inner--company .hero-actions--hero-large {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .page-hero__inner--company .button--hero-large {
    width: 100%;
  }

  .vis-model__pillars--cards .vis-model__pillar:hover {
    transform: none;
  }
}

/* About story — sand canvas, brand cards (Intro / Backstory / Founders / Future) */
.about-story {
  background-color: var(--entari-surface-base, #f6f5f2);
  background-image: var(--entari-surface-grain);
}

.about-story__inner {
  display: grid;
  gap: clamp(1.35rem, 3vh, 2rem);
}

.about-story__block {
  display: grid;
  gap: 1.85rem;
  margin: 0;
  padding: 1.35rem 1.4rem 1.45rem;
  border-radius: 12px;
  background: var(--entari-surface-card, #f5f9f7);
  border: 1px solid var(--entari-border-card, color-mix(in srgb, #34d399 16%, #d4d4d8));
  box-shadow: var(--entari-shadow, 0 4px 24px -4px rgba(24, 24, 27, 0.06));
  transition: box-shadow var(--motion-hover, 150ms) var(--motion-ease, cubic-bezier(0.16, 1, 0.3, 1));
}

.about-story__block:hover {
  box-shadow:
    var(--entari-shadow, 0 4px 24px -4px rgba(24, 24, 27, 0.06)),
    inset 2px 0 0 var(--entari-accent-precision, #34d399);
}

.about-story__block .section-primary,
.about-founders__name {
  margin: 0;
  color: var(--entari-text-primary, #18181b) !important;
}

.about-founders__name {
  margin: 0 0 0.45rem;
  font-size: 1.08rem;
  font-weight: 700;
}

.about-story__block .company-section-intro {
  display: grid;
  gap: 0.45rem;
}

.about-story__lead {
  margin: 0;
  max-width: 48rem;
  color: var(--entari-text-secondary, #71717a) !important;
  font-size: 1.08rem;
  font-weight: 500;
  line-height: 1.55;
}

.about-story__prose {
  display: grid;
  gap: 0.95rem;
}

.about-story__prose p {
  margin: 0;
  max-width: 48rem;
  color: var(--entari-text-primary, #18181b) !important;
  font-size: 1.08rem;
  line-height: 1.62;
}

.about-founders {
  list-style: none;
  margin: 0.15rem 0 0;
  padding: 0;
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
}

.about-founders__card {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.about-founders__body {
  margin: 0;
  color: var(--entari-text-secondary, #71717a) !important;
  font-size: 1rem;
  line-height: 1.55;
}

@media (prefers-reduced-motion: reduce) {
  .about-story__block,
  .about-founders__card {
    transition: none;
  }
}

@media (min-width: 900px) {
  .about-founders {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
  }

  .about-founders__card {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
}

/* --- cookie-consent.css --- */
/* Entari cookie consent — enterprise GDPR banner */

.cookie-consent {
  position: fixed;
  inset: auto 0 0 0;
  z-index: 1200;
  padding: 16px;
  pointer-events: none;
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 280ms ease, transform 280ms ease;
}

.cookie-consent.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.cookie-consent[hidden] {
  display: none !important;
}

.cookie-consent__panel {
  width: min(720px, 100%);
  margin: 0 auto;
  padding: 22px 24px;
  border: 1px solid rgba(20, 20, 20, 0.28);
  border-radius: 4px;
  background:
    linear-gradient(165deg, rgba(20, 20, 20, 0.12) 0%, transparent 42%),
    rgba(8, 14, 12, 0.96);
  box-shadow:
    0 24px 80px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(255, 255, 255, 0.03),
    0 0 40px rgba(20, 20, 20, 0.12);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.cookie-consent__title {
  margin: 0 0 8px;
  color: var(--text, #f4f7f2);
  font-size: clamp(18px, 2.4vw, 22px);
  font-weight: 700;
  line-height: 1.25;
  max-width: none;
}

.cookie-consent__desc {
  margin: 0;
  color: var(--muted, #b8c2bd);
  font-size: 15px;
  line-height: 1.55;
  max-width: 52ch;
}

.cookie-consent__main,
.cookie-consent__settings {
  display: grid;
  gap: 18px;
}

/* Critical: our display:grid must not override the hidden attribute */
.cookie-consent__main[hidden],
.cookie-consent__settings[hidden] {
  display: none !important;
}

.cookie-consent__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.cookie-consent__btn {
  min-height: 42px;
  padding: 0 18px;
  font-size: 15px;
}

.cookie-consent__text-btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--muted, #b8c2bd);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  padding: 8px 4px;
  min-height: 42px;
}

.cookie-consent__text-btn:hover {
  color: var(--green-light, var(--brand-product));
}

.cookie-consent__categories {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.cookie-consent__category {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border: 1px solid var(--line, rgba(223, 240, 232, 0.14));
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.025);
}

.cookie-consent__category-title {
  margin: 0 0 4px;
  color: var(--text, #f4f7f2);
  font-size: 15px;
  font-weight: 700;
}

.cookie-consent__category-desc {
  margin: 0;
  color: var(--muted, #b8c2bd);
  font-size: 13px;
  line-height: 1.45;
}

.cookie-consent__status {
  flex-shrink: 0;
  color: var(--green-light, var(--brand-product));
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.cookie-consent__switch {
  position: relative;
  display: inline-flex;
  width: 46px;
  height: 26px;
  flex-shrink: 0;
  cursor: pointer;
}

.cookie-consent__switch-input {
  position: absolute;
  inset: 0;
  opacity: 0;
  margin: 0;
  cursor: pointer;
  z-index: 1;
}

.cookie-consent__switch-track {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid var(--line, rgba(223, 240, 232, 0.14));
  transition: background 180ms ease, border-color 180ms ease;
}

.cookie-consent__switch-thumb {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #f4f7f2;
  transition: transform 180ms ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
  pointer-events: none;
}

.cookie-consent__switch-input:checked + .cookie-consent__switch-track {
  background: rgba(20, 20, 20, 0.55);
  border-color: rgba(20, 20, 20, 0.7);
}

.cookie-consent__switch-input:checked + .cookie-consent__switch-track + .cookie-consent__switch-thumb {
  transform: translateX(20px);
}

.cookie-consent__switch-input:focus-visible + .cookie-consent__switch-track {
  outline: 2px solid var(--green-light, var(--brand-product));
  outline-offset: 3px;
}

.cookie-consent .visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (min-width: 720px) {
  .cookie-consent {
    padding: 24px;
  }

  .cookie-consent__panel {
    padding: 26px 28px;
  }

  .cookie-consent__main {
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 24px;
  }

  .cookie-consent__actions {
    flex-direction: column;
    align-items: stretch;
    min-width: 180px;
  }

  .cookie-consent__actions--settings {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
  }

  .cookie-consent__text-btn {
    text-align: center;
  }

  .cookie-consent__actions--settings .cookie-consent__text-btn {
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-consent {
    transition: none;
  }
}

/* --- trust-security.css --- */
/* Trust & Security — flat narrative, no legacy flow diagram */

.trust-security {
  position: relative;
  border-top: 1px solid var(--line);
  background:
    radial-gradient(ellipse 70% 50% at 0% 0%, var(--atmosphere-leadership, rgba(20, 20, 20, 0.07)), transparent 55%),
    var(--bg);
}

.trust-security__intro {
  margin-bottom: 40px;
}

.trust-security__grid {
  display: grid;
  gap: 32px;
  align-items: start;
}

.trust-security__grid--flat {
  grid-template-columns: 1fr;
  max-width: 48rem;
}

/* Hide legacy flow diagram if any stale markup remains */
.trust-security__flow,
.trust-flow {
  display: none !important;
}

.trust-security__key {
  margin: 0 0 22px;
  max-width: 42rem;
  color: var(--text);
  font-size: clamp(18px, 2.2vw, 21px);
  font-weight: 600;
  line-height: 1.5;
}

.trust-security__stays {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  display: grid;
  gap: 10px;
}

.trust-security__stays li {
  position: relative;
  padding: 14px 16px 14px 44px;
  border: 1px solid var(--line);
  border-radius: var(--radius-box);
  background: var(--surface-inset);
  color: var(--text);
  font-size: 16px;
  line-height: 1.45;
  box-shadow: inset 0 0 24px rgba(20, 20, 20, 0.04);
}

.trust-security__stays li::before {
  content: '';
  position: absolute;
  left: 16px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  transform: translateY(-50%);
  background: var(--domain-leadership);
  box-shadow: 0 0 12px var(--domain-leadership-dim);
}

.trust-security__provides {
  padding: 20px 22px;
  border-radius: var(--radius-box);
  border: 1px solid color-mix(in srgb, var(--domain-leadership) 28%, var(--line));
  border-left: 3px solid var(--domain-leadership);
  background:
    linear-gradient(135deg, var(--domain-leadership-dim), transparent 55%),
    var(--surface-inset);
}

.trust-security__provides-label {
  margin: 0 0 10px;
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.trust-security__provides ul {
  list-style: none;
  margin: 0 0 14px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 18px;
}

.trust-security__provides li {
  color: var(--text);
  font-size: 15px;
  font-weight: 600;
}

.trust-security__provides li::before {
  content: '·';
  margin-right: 8px;
  color: var(--domain-leadership);
}

.trust-security__not-ownership {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.5;
}

.trust-security__commitment {
  margin-top: 24px;
  padding: 26px 24px;
  border: 1px solid color-mix(in srgb, var(--brand-product) 35%, var(--line));
  border-radius: var(--radius-box);
  background:
    linear-gradient(135deg, rgba(20, 20, 20, 0.1) 0%, rgba(20, 20, 20, 0.06) 55%),
    var(--surface-inset);
  box-shadow: inset 0 0 40px rgba(20, 20, 20, 0.04);
}

.trust-security__commitment-title {
  margin: 0 0 18px;
  color: var(--text);
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 700;
  max-width: none;
}

.trust-security__checks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.trust-security__checks li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: var(--text);
  font-size: 16px;
  line-height: 1.45;
}

.trust-security__check {
  flex-shrink: 0;
  width: 1.4em;
  color: var(--brand-product);
  font-weight: 700;
  line-height: 1.45;
}

@media (min-width: 900px) {
  .trust-security__checks {
    grid-template-columns: 1fr 1fr;
    gap: 14px 24px;
  }

  .trust-security__checks li:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 560px) {
  .trust-security__provides ul {
    grid-template-columns: 1fr;
  }
}

.trust-points {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1rem;
  counter-reset: trust-point;
}

.trust-points__item {
  margin: 0;
  padding: 1.15rem 1.25rem 1.25rem;
  border: 1px solid var(--entari-border-card, #d4d4d8);
  border-radius: 12px;
  background: var(--entari-surface-card, #f5f9f7);
  box-shadow: var(--entari-shadow, 0 4px 24px -4px rgba(24, 24, 27, 0.06));
}

.trust-points__title {
  margin: 0 0 0.7rem;
  color: var(--entari-text-primary, #18181b);
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.35;
}

.trust-points__title::before {
  counter-increment: trust-point;
  content: counter(trust-point) ". ";
  color: var(--entari-accent-precision, #34d399);
}

.trust-points__item p {
  margin: 0.55rem 0 0;
  color: var(--entari-text-primary, #18181b);
  font-size: 1rem;
  line-height: 1.55;
}

.trust-points__item strong {
  font-weight: 600;
}

@media (min-width: 900px) {
  .trust-points {
    grid-template-columns: 1fr 1fr;
  }
}

/* --- ext-website-presence-v001.css --- */
/* Quiet presence — Phase D: voltage-tinted sides, scroll fade, CTA rim */

/* —— Hero / page-hero side grid —— */
.hero,
.page-hero {
  isolation: isolate;
  --presence-voltage: var(--product-voltage, var(--brand-product, #141414));
  --presence-voltage-soft: color-mix(in srgb, var(--presence-voltage) 7%, transparent);
  --presence-voltage-mid: color-mix(in srgb, var(--presence-voltage) 10%, transparent);
}

/* Produkter hub — both lanes whisper at the edges */
.page-products .page-hero--products {
  --presence-voltage: var(--brand-product);
  --presence-voltage-alt: var(--brand-personal);
}

.hero::before,
.page-hero::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(
      90deg,
      var(--presence-voltage-mid) 0%,
      transparent 15%,
      transparent 85%,
      var(--presence-voltage-soft) 100%
    ),
    repeating-linear-gradient(
      90deg,
      transparent 0,
      transparent 56px,
      rgba(148, 163, 184, 0.035) 56px,
      rgba(148, 163, 184, 0.035) 57px
    );
  mask-image: linear-gradient(
    90deg,
    #000 0%,
    transparent 20%,
    transparent 80%,
    #000 100%
  );
  -webkit-mask-image: linear-gradient(
    90deg,
    #000 0%,
    transparent 20%,
    transparent 80%,
    #000 100%
  );
  opacity: 0;
  animation: none;
  display: none;
}

.page-products .page-hero--products::before {
  background:
    linear-gradient(
      90deg,
      color-mix(in srgb, var(--brand-product) 9%, transparent) 0%,
      transparent 18%,
      transparent 82%,
      color-mix(in srgb, var(--brand-personal) 8%, transparent) 100%
    ),
    repeating-linear-gradient(
      90deg,
      transparent 0,
      transparent 56px,
      rgba(148, 163, 184, 0.035) 56px,
      rgba(148, 163, 184, 0.035) 57px
    );
}

.hero::after,
.page-hero::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(
      ellipse 46% 68% at 0% 42%,
      var(--presence-voltage-soft),
      transparent 72%
    ),
    radial-gradient(
      ellipse 40% 62% at 100% 58%,
      color-mix(in srgb, var(--presence-voltage) 4%, transparent),
      transparent 70%
    );
  opacity: 0;
  animation: none;
  display: none;
}

.page-products .page-hero--products::after {
  background:
    radial-gradient(
      ellipse 46% 68% at 0% 42%,
      color-mix(in srgb, var(--brand-product) 7%, transparent),
      transparent 72%
    ),
    radial-gradient(
      ellipse 40% 62% at 100% 58%,
      color-mix(in srgb, var(--brand-personal) 6%, transparent),
      transparent 70%
    );
}

.hero > .container,
.page-hero > .container,
.hero .page-hero__inner,
.page-hero .page-hero__inner,
.hero-grid {
  position: relative;
  z-index: 1;
}

@keyframes presence-side-drift {
  from {
    transform: translate3d(-6px, 0, 0);
    opacity: 0.36;
  }
  to {
    transform: translate3d(6px, 0, 0);
    opacity: 0.52;
  }
}

@keyframes presence-side-breathe {
  from {
    opacity: 0.6;
  }
  to {
    opacity: 0.92;
  }
}

/* —— Section reveal on scroll —— */
main > section[data-reveal] {
  opacity: 0;
  transform: translate3d(0, 12px, 0);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0ms),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}

main > section[data-reveal].is-revealed {
  opacity: 1;
  transform: none;
  will-change: auto;
}

/* —— Primary hero CTA — voltage rim breathe (--cta-rim) —— */
.button--primary.button--hero-large {
  animation: none;
}

@keyframes presence-cta-rim {
  0%,
  100% {
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.07),
      0 0 0 1px color-mix(in srgb, var(--cta-rim, #141414) 16%, transparent),
      0 0 20px var(--cta-rim-glow, rgba(20, 20, 20, 0.18));
  }
  50% {
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.08),
      0 0 0 1px color-mix(in srgb, var(--cta-rim, #141414) 38%, transparent),
      0 0 28px var(--cta-rim-glow, rgba(20, 20, 20, 0.26));
  }
}

.button--primary.button--hero-large:hover,
.button--primary.button--hero-large:focus-visible {
  animation: none;
}

/* —— Reduced motion —— */
@media (prefers-reduced-motion: reduce) {
  .hero::before,
  .page-hero::before,
  .hero::after,
  .page-hero::after {
    animation: none;
    opacity: 0.4;
    transform: none;
  }

  main > section[data-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .button--primary.button--hero-large {
    animation: none;
  }
}

@media (max-width: 720px) {
  .hero::before,
  .page-hero::before {
    mask-image: linear-gradient(
      90deg,
      #000 0%,
      transparent 12%,
      transparent 88%,
      #000 100%
    );
    -webkit-mask-image: linear-gradient(
      90deg,
      #000 0%,
      transparent 12%,
      transparent 88%,
      #000 100%
    );
    opacity: 0.32;
  }

  .hero::after,
  .page-hero::after {
    opacity: 0.7;
  }
}

/* --- control-room.css --- */
/* Sand canvas. Loads last so leftover bands, glow, and neon rules lose. */

html {
  scroll-padding-top: 88px;
  background: var(--entari-surface-base);
}

body {
  background-color: var(--entari-surface-base) !important;
  background-image:
    radial-gradient(ellipse 72% 48% at 8% -4%, rgba(59, 130, 246, 0.03), transparent 62%),
    radial-gradient(ellipse 64% 42% at 96% 8%, rgba(139, 92, 246, 0.03), transparent 64%),
    var(--entari-surface-grain) !important;
  background-repeat: no-repeat, no-repeat, repeat !important;
  background-size: auto, auto, 220px 220px !important;
  color: var(--entari-text-primary);
  animation: entari-page-enter var(--motion-enter) var(--motion-ease) both;
}

@keyframes entari-page-enter {
  from { opacity: 0; }
  to { opacity: 1; }
}

::selection {
  background: color-mix(in srgb, var(--entari-accent-precision) 28%, var(--entari-surface-card));
  color: var(--entari-text-primary);
}

body.is-nav-open .site-header-shell {
  position: sticky;
  top: 0;
}

body.is-nav-open::before {
  display: none !important;
  content: none !important;
}

body.is-nav-open main,
body.is-nav-open .footer,
body.is-nav-open .cookie-consent {
  visibility: visible !important;
}

.hero::before,
.hero::after,
.page-hero::before,
.page-hero::after,
main > section::before,
main > section::after {
  display: none !important;
  animation: none !important;
  content: none !important;
}

main > section:nth-child(even),
main > section:nth-child(odd) {
  background: transparent !important;
  background-image: none !important;
  border-top: 0;
}
.page-hero,
.footer,
.page-hero__inner,
.vidensbank-page,
.vidensbank-page__header,
.page-hero--about,
.page-hero--investor,
.page-hero--vision,
.page-hero--solutions {
  background: transparent !important;
  background-image: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  color: var(--entari-text-primary);
}

.tight-box,
.tight-box--accent,
.solution-card,
.auth-card,
.module,
.card,
[data-fundament-tjekket] > div,
.contact-card,
.contact-lead,
.vidensbank-card,
.mkt-videos__card,
.ir-docs__item,
.feature-card,
.product-door,
.checklist-rail__item,
.core-value,
.post-it,
.mkt-whats-new__card {
  background: var(--entari-surface-card) !important;
  background-image: none !important;
  border: 1px solid var(--entari-border-card) !important;
  border-radius: 12px !important;
  box-shadow: var(--entari-shadow) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: var(--entari-text-primary);
  transition: transform var(--motion-hover) var(--motion-ease), box-shadow var(--motion-hover) var(--motion-ease), border-color var(--motion-hover) var(--motion-ease);
  will-change: auto;
}

.page-home .hero > .container,
.page-home .hero-copy--home {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

main h1,
main h2,
main h3,
main h4,
.section-primary,
.product-mark,
.product-mark__entari,
.product-mark__product,
.eyebrow,
.kicker {
  color: #141414 !important;
}

main p,
main li,
main label,
main dd,
.muted {
  color: #5c5c5c;
}

.page-home .tight-grid--problem > .tight-box,
.page-home .tight-grid--problem > .tight-box--accent {
  border: 1px solid var(--entari-border-card) !important;
  box-shadow: var(--entari-shadow) !important;
  background: var(--entari-surface-card) !important;
}

.page-home .tight-grid--problem > .tight-box::before,
.page-home .tight-grid--problem > .tight-box--accent::before,
.page-home .tight-grid--problem > .tight-box::after,
.page-home .tight-grid--problem > .tight-box--accent::after {
  display: none !important;
  content: none !important;
}

.page-home .company-beliefs .solution-card::before,
.page-home .company-beliefs .solution-card::after {
  display: none !important;
  content: none !important;
}

.page-home .tight-grid--problem h3 {
  color: #141414 !important;
}

.button,
.button--primary,
.button.primary,
.button--secondary,
.button.secondary,
.nav-cta,
button[type="submit"] {
  animation: none !important;
  transform: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background-image: none !important;
  border-radius: 6px !important;
  transition: background-color var(--motion-hover) var(--motion-ease), border-color var(--motion-hover) var(--motion-ease), color var(--motion-hover) var(--motion-ease), transform var(--motion-press) var(--motion-ease);
}

.button--primary,
.button.primary,
.nav-cta,
button[type="submit"] {
  background: var(--accent) !important;
  border: 1px solid var(--accent) !important;
  color: #18181b !important;
}

.button--primary:hover,
.button.primary:hover,
.nav-cta:hover,
button[type="submit"]:hover {
  background: var(--accent-press) !important;
  border-color: var(--accent-press) !important;
  color: #18181b !important;
  transform: none !important;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid var(--accent) !important;
  outline-offset: 2px;
}

.button--secondary,
.button.secondary,
.nav-login {
  background: var(--entari-secondary-bg) !important;
  border: 1px solid var(--entari-secondary-border) !important;
  color: var(--entari-text-primary) !important;
}

.button--secondary:hover,
.button.secondary:hover,
.nav-login:hover {
  background: var(--entari-secondary-hover-bg) !important;
  border-color: var(--entari-accent-precision) !important;
  color: var(--entari-text-primary) !important;
  transform: none !important;
}

input,
textarea,
select {
  background: var(--entari-surface-card) !important;
  color: #141414 !important;
  border: 1px solid #e7e5e4 !important;
  box-shadow: none !important;
}

.site-header-shell {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: var(--entari-surface-base) !important;
  border-bottom: 1px solid var(--entari-border-resting);
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  animation: none !important;
}

.site-header,
.site-nav {
  background: transparent !important;
  border: 0;
  box-shadow: none !important;
}

.site-nav {
  position: relative;
  display: flex;
  align-items: center;
  gap: 2rem;
  min-height: 72px;
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
}

.contact-fundament {
  margin: 0.9rem 0 2rem;
}

.header-wordmark {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  display: flex;
  transform: translate(-50%, -50%);
  line-height: 0;
}

.header-wordmark img {
  height: 26px;
  width: auto;
  display: block;
}

.brand--badge {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}

.brand--badge .brand__badge,
.brand__badge,
.brand__wordmark,
.footer img[data-brand="wordmark"],
.footer img[data-brand="badge"] {
  filter: none !important;
}

.brand__badge,
.footer img[data-brand="badge"] {
  width: 36px;
  height: 36px;
}

.nav-links {
  display: none !important;
  visibility: hidden;
  pointer-events: none;
  position: absolute;
  left: auto !important;
  right: 0 !important;
  top: calc(100% + 0.35rem);
  width: min(15.5rem, calc(100vw - 1.5rem)) !important;
  max-width: 15.5rem !important;
  height: fit-content;
  max-height: calc(100dvh - 5.5rem);
  z-index: 1001;
  flex-direction: column;
  align-items: stretch;
  gap: 0.1rem;
  margin: 0;
  padding: 0.35rem !important;
  overflow-x: clip;
  overflow-y: visible;
  background: var(--entari-surface-card) !important;
  border: 1px solid var(--entari-border-card) !important;
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(24, 24, 27, 0.08) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transform: none !important;
  opacity: 1;
}

.nav-link {
  color: #141414;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  padding: 0.55rem 0.7rem;
  border-bottom: 0;
  border-radius: 8px;
}

.nav-link:hover,
.nav-link.is-active {
  background: var(--entari-surface-base);
  color: #141414;
}

.nav-utilities {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.lang-toggle {
  color: #5c5c5c;
  font-size: 14px;
  font-weight: 600;
}

.lang-toggle__link.is-active {
  color: #141414;
}

.nav-login {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 6px;
  box-shadow: none !important;
  font-size: 14px;
  font-weight: 600;
}

.nav-links.is-active {
  display: flex !important;
  visibility: visible !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  transform: none !important;
}

.hamburger {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.hamburger__line {
  display: block;
  width: 18px;
  height: 1.5px;
  background: #141414 !important;
}

.footer {
  border-top: 1px solid var(--accent);
}

.footer img[data-brand="wordmark"],
.footer img[data-brand="badge"] {
  opacity: 1;
}

.cookie-consent {
  background: var(--entari-surface-card) !important;
  color: #141414 !important;
  border-top: 1px solid #e7e5e4 !important;
  box-shadow: none !important;
}

.product-door::before,
.product-door::after,
.cards-row,
.cards-row--three,
.page-hero,
.image-panel,
.hub-demo {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

.checklist-rail__num {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--entari-text-primary) !important;
}

.mkt-config__label,
.mkt-videos__caption,
.mkt-videos__product,
.mkt-matrix__app,
.mkt-config__chip {
  color: #141414 !important;
  background-image: none !important;
}

.mkt-config__chip {
  background-color: transparent !important;
  border: 1px solid var(--entari-border-card) !important;
  color: var(--entari-text-secondary) !important;
  font-weight: 500;
  text-decoration: none !important;
}

.mkt-config__chip.is-active {
  background-color: #ffffff !important;
  border-color: var(--entari-accent-precision) !important;
  color: var(--entari-text-primary) !important;
  font-weight: 700;
  text-decoration: none !important;
  box-shadow: inset 0 -2px 0 var(--entari-accent-precision);
}

/* Labels share the chip's left padding so "Vis status" sits on "Live". */
.mkt-config__label {
  padding-left: 0.75rem;
}

.nav-link {
  padding: 0.55rem 0.85rem;
  border: 0;
  border-bottom: 0;
}

.nav-links .nav-link:hover,
.nav-links .nav-link.is-active {
  background: #e7efe9;
  color: #141414 !important;
  border: 0 !important;
  border-bottom: 0 !important;
}

.page-home .module-emphasis,
.page-home .section-emphasis,
.page-home .contact-details dd,
.page-home .contact-details a {
  color: #141414 !important;
}

.page-home .contact-details dt,
.page-home .company-info dt {
  color: #5c5c5c !important;
}

.contact-card__label,
.contact-card > span {
  color: var(--entari-text-primary) !important;
}

.product-door__eyebrow,
.vis-timeline__status,
.vis-timeline__status--live,
.vis-timeline__status--next {
  color: #141414 !important;
  background-color: transparent !important;
  background-image: none !important;
}

.mkt-matrix,
.vis-timeline,
.trust-security__provides,
.trust-security__commitment {
  background-color: var(--entari-surface-card) !important;
  background-image: none !important;
  border: 1px solid var(--entari-border-card) !important;
  border-radius: 12px !important;
  box-shadow: var(--entari-shadow) !important;
}

.mkt-videos__player,
.mkt-videos__placeholder,
.mkt-videos__frame {
  background: var(--entari-surface-base) !important;
  background-image: none !important;
  border-color: var(--entari-border-card) !important;
  box-shadow: none !important;
}

.core-value,
.core-value__quote,
.core-value__source,
.footer-links a,
.mkt-matrix__cell,
.page-hero__eyebrow,
.page-about h1,
.page-investor h1,
.mkt-videos__empty,
.mkt-features__empty {
  color: #141414 !important;
}

.footer-links a:hover {
  color: #141414 !important;
  border-bottom-color: #141414 !important;
}

.footer .footer-links a {
  color: var(--entari-accent-precision) !important;
  border-bottom-color: transparent !important;
}

.footer .footer-links a:hover {
  color: var(--entari-accent-press) !important;
  border-bottom-color: var(--entari-accent-press) !important;
}

.core-values__legend,
.core-values__legend-item,
.core-values__legend-item strong,
.core-values__legend-title,
.trust-security__provides-label,
.trust-security__label,
.core-values__usage,
.core-values__usage-title,
.core-values__usage-body {
  color: var(--entari-text-primary) !important;
}

.mkt-matrix,
.mkt-whats-new__card,
.vis-timeline__milestone,
.ir-docs__item {
  background: var(--entari-surface-card) !important;
  background-image: none !important;
  border-color: var(--entari-border-card) !important;
  color: var(--entari-text-primary) !important;
}

.mkt-matrix__table th,
.mkt-matrix__table td,
.mkt-whats-new {
  background: transparent !important;
  background-image: none !important;
  color: var(--entari-text-primary) !important;
  border-color: var(--entari-border-card) !important;
}

.vis-timeline__nav {
  background: var(--entari-surface-card) !important;
  color: var(--entari-text-primary) !important;
  border: 1px solid var(--entari-border-card) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.vis-timeline__nav:disabled {
  opacity: 0.4;
}

[data-fundament-tjekket] {
  background: transparent !important;
  background-image: none !important;
  color: var(--entari-text-primary) !important;
  border: 0 !important;
  box-shadow: none !important;
}

[data-fundament-tjekket] [class*="text-white"],
[data-fundament-tjekket] [class*="text-slate-100"],
[data-fundament-tjekket] [class*="text-slate-200"],
[data-fundament-tjekket] [class*="text-slate-300"],
[data-fundament-tjekket] [class*="text-emerald"] {
  color: var(--entari-text-primary) !important;
}

[data-fundament-tjekket] [class*="text-slate-400"],
[data-fundament-tjekket] [class*="text-slate-500"] {
  color: var(--entari-text-secondary) !important;
}

[data-fundament-tjekket] [class*="bg-"],
[data-fundament-tjekket] [class*="from-"] {
  background-color: transparent !important;
  background-image: none !important;
}

[data-fundament-tjekket] [data-ft-progress] {
  background-color: var(--entari-accent-precision) !important;
}

[data-fundament-tjekket] span[class*="bg-slate"],
[data-fundament-tjekket] code {
  background: var(--entari-surface-card) !important;
  color: var(--entari-text-primary) !important;
  border-color: var(--entari-border-card) !important;
}

[data-fundament-tjekket] .peer:checked + span {
  border-color: var(--entari-accent-precision) !important;
  box-shadow: inset 2px 0 0 var(--entari-accent-precision);
}

[data-fundament-tjekket] input,
[data-fundament-tjekket] textarea,
[data-fundament-tjekket] select {
  background: var(--entari-surface-card) !important;
  color: var(--entari-text-primary) !important;
  border: 1px solid var(--entari-border-card) !important;
}

[data-fundament-tjekket] [data-ft-next],
[data-fundament-tjekket] [data-ft-booking-cta] {
  background: var(--entari-accent-precision) !important;
  border-color: var(--entari-accent-precision) !important;
  color: #18181b !important;
}

[data-fundament-tjekket] [data-ft-back],
[data-fundament-tjekket] [data-ft-copy-key] {
  background: transparent !important;
  border: 1px solid var(--entari-border-card) !important;
  color: var(--entari-text-primary) !important;
}

[data-fundament-tjekket] [data-ft-evidence-backdrop] {
  background: rgba(24, 24, 27, 0.28) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

[data-fundament-tjekket] [role="dialog"] > div {
  background: var(--entari-surface-card) !important;
  color: var(--entari-text-primary) !important;
  border: 1px solid var(--entari-border-card) !important;
  box-shadow: var(--entari-shadow) !important;
}

a.product-door:hover,
a.vidensbank-card:hover,
a.feature-card:hover {
  border-color: var(--entari-border-card) !important;
  transform: translateY(-2px) !important;
  will-change: transform;
  box-shadow: var(--entari-shadow-hover), inset 2px 0 0 var(--entari-accent-precision) !important;
}

.tight-box:hover,
.tight-box--accent:hover,
.solution-card:hover,
.checklist-rail__item:hover,
.contact-card:hover,
.core-value:hover,
.post-it:hover,
.vidensbank-card:not(a):hover,
.feature-card:not(a):hover,
.mkt-videos__card:hover,
.ir-docs__item:hover,
.mkt-matrix:hover,
.vis-timeline:hover,
.vis-timeline__phase:hover,
.vis-timeline__milestone:hover,
.sol-pipeline__step:hover,
.sol-dept-card:hover,
.sol-folders__card:hover,
.sol-catalog__card:hover,
.mkt-whats-new__card:hover,
.page-home .tight-grid--problem > .tight-box:hover,
.page-home .tight-grid--problem > .tight-box--accent:hover {
  transform: none !important;
  will-change: auto !important;
}

.mkt-matrix__row:hover th,
.mkt-matrix__row:hover td,
.sol-catalog__card:hover {
  background-color: transparent !important;
}

/* Contact — white card on sand, not dark glass. */
.cta-box,
.cta-box--alive,
.page-home .cta-box,
.page-home .cta-box--alive {
  background: var(--entari-surface-card) !important;
  background-image: none !important;
  border: 1px solid var(--entari-border-card) !important;
  border-radius: 12px !important;
  box-shadow: var(--entari-shadow) !important;
  color: var(--entari-text-primary) !important;
}

.page-home .contact-card,
.page-home .contact-card--alive,
.contact-card--alive {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

.page-home .cta-copy__eyebrow,
.page-home .cta-box .section-primary,
.page-home .cta-box .section-emphasis,
.page-home .cta-copy__body,
.page-home .company-info dt,
.page-home .company-info dd,
.cta-box .section-primary,
.cta-box .section-emphasis,
.cta-copy__body {
  color: var(--entari-text-primary) !important;
}

.page-home .company-info div,
.company-info div {
  background: transparent !important;
  border-color: var(--entari-border-card) !important;
}

.contact-lead-form__field input,
.contact-lead-form__field textarea,
.page-home .contact-lead-form__field input,
.page-home .contact-lead-form__field textarea {
  background: var(--entari-surface-base) !important;
  color: var(--entari-text-primary) !important;
  border-color: var(--entari-border-card) !important;
}

.contact-details div {
  border-top-color: var(--entari-border-resting) !important;
}

/* Core values — row colour stays, no hover lift. */
.core-value,
.post-it,
.core-value:hover,
.post-it:hover {
  transform: none !important;
  transition: none !important;
}

.core-value.post-it--r1,
.core-value.post-it--r1:hover {
  background: color-mix(in srgb, #f87171 18%, #ffffff) !important;
  border-color: rgba(248, 113, 113, 0.45) !important;
  box-shadow: var(--entari-shadow), inset 4px 0 0 #ef4444 !important;
}

.core-value.post-it--r2,
.core-value.post-it--r2:hover {
  background: color-mix(in srgb, #60a5fa 18%, #ffffff) !important;
  border-color: rgba(96, 165, 250, 0.45) !important;
  box-shadow: var(--entari-shadow), inset 4px 0 0 #60a5fa !important;
}

.core-value.post-it--r3,
.core-value.post-it--r3:hover {
  background: color-mix(in srgb, #fbbf24 22%, #ffffff) !important;
  border-color: rgba(251, 191, 36, 0.4) !important;
  box-shadow: var(--entari-shadow), inset 4px 0 0 #fbbf24 !important;
}

.core-value.post-it--r4,
.core-value.post-it--r4:hover {
  background: color-mix(in srgb, #a78bfa 18%, #ffffff) !important;
  border-color: rgba(167, 139, 250, 0.45) !important;
  box-shadow: var(--entari-shadow), inset 4px 0 0 #a78bfa !important;
}

.core-value.post-it--r5,
.core-value.post-it--r5:hover {
  background: color-mix(in srgb, #34d399 18%, #ffffff) !important;
  border-color: rgba(52, 211, 153, 0.45) !important;
  box-shadow: var(--entari-shadow), inset 4px 0 0 #34d399 !important;
}

.core-values__legend-swatch.post-it--r1,
.core-values__legend-swatch.post-it--r1:hover { background: #ef4444 !important; }
.core-values__legend-swatch.post-it--r2,
.core-values__legend-swatch.post-it--r2:hover { background: #60a5fa !important; }
.core-values__legend-swatch.post-it--r3,
.core-values__legend-swatch.post-it--r3:hover { background: #fbbf24 !important; }
.core-values__legend-swatch.post-it--r4,
.core-values__legend-swatch.post-it--r4:hover { background: #a78bfa !important; }
.core-values__legend-swatch.post-it--r5,
.core-values__legend-swatch.post-it--r5:hover { background: #34d399 !important; }

.button:active,
.button--primary:active,
.button.primary:active,
.button--secondary:active,
.button.secondary:active,
.nav-cta:active,
.nav-login:active,
button[type="submit"]:active {
  transform: scale(0.99) !important;
}

main > section[data-reveal] {
  opacity: 0;
  transform: none !important;
  filter: none !important;
  transition: opacity var(--motion-enter) var(--motion-ease);
  will-change: auto;
}

main > section[data-reveal].is-revealed {
  opacity: 1;
  transform: none !important;
}

.core-value__author,
.core-value__author::before {
  color: var(--entari-text-primary) !important;
}

.vis-timeline__span-bar,
.vis-timeline__span-dot,
.vis-timeline__scrub-tick--event.is-live .vis-timeline__scrub-dot {
  background: var(--entari-accent-precision) !important;
  background-image: none !important;
}

.vis-timeline__span-dot {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--entari-accent-precision) 28%, transparent) !important;
}

.vis-timeline__milestone--live {
  box-shadow: var(--entari-shadow) !important;
  border-color: var(--entari-border-card) !important;
  background: var(--entari-surface-card) !important;
  background-image: none !important;
}

.vis-timeline__status--live {
  color: var(--entari-text-primary) !important;
  box-shadow: inset 0 -2px 0 var(--entari-accent-precision) !important;
}

/* Scrubber + cards: charcoal type on sand (no fade-to-white) */
.vis-timeline__scrub-year {
  color: #18181b !important;
  font-size: 0.9rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
}

.vis-timeline__scrub-month {
  color: #3f3f46 !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
}

.vis-timeline__scrub-tick--event .vis-timeline__scrub-month {
  color: #18181b !important;
  font-weight: 700 !important;
}

.vis-timeline__scrub-tick--event.is-active .vis-timeline__scrub-month {
  color: #18181b !important;
}

.vis-timeline__scrub-line {
  height: 3px !important;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, #18181b 12%, transparent),
    color-mix(in srgb, #18181b 55%, transparent),
    color-mix(in srgb, #18181b 12%, transparent)
  ) !important;
}

.vis-timeline__scrub-mark {
  background: color-mix(in srgb, #18181b 35%, transparent) !important;
}

.vis-timeline__scrub-dot {
  background: #18181b !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, #18181b 14%, transparent) !important;
}

.vis-timeline__scrub-tick--event.is-live .vis-timeline__scrub-dot {
  background: var(--entari-accent-precision) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--entari-accent-precision) 28%, transparent) !important;
}

.vis-timeline__period,
.vis-timeline__phase h3,
.vis-timeline__milestone h3,
.vis-timeline__phase > p,
.vis-timeline__milestone > p {
  color: #18181b !important;
}

.vis-timeline__phase > p,
.vis-timeline__milestone > p {
  font-weight: 500 !important;
}

.vis-timeline__product {
  color: #18181b !important;
  border-color: color-mix(in srgb, #34d399 42%, #a1a1aa) !important;
}

.vis-timeline__nav {
  background: #ffffff !important;
  color: #18181b !important;
  border-color: color-mix(in srgb, #34d399 42%, #a1a1aa) !important;
}

.vis-model__pillar h3,
.vis-model__pillar-sub,
.vis-model__bullets,
.vis-model__bullets li,
.page-investor .vis-model .section-primary {
  color: var(--entari-text-primary) !important;
}

.vis-model__pillars--cards .vis-model__pillar:hover {
  transform: none !important;
}

.vis-model__pillars--cards .vis-model__bullets {
  display: grid !important;
  gap: 0.55rem !important;
  margin-top: 0.85rem !important;
}

.vis-model__pillars--cards .vis-model__bullets li {
  display: grid !important;
  grid-template-columns: 0.4rem 1fr !important;
  column-gap: 0.7rem !important;
  align-items: start !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
}

.vis-model__pillars--cards .vis-model__bullets li::before {
  position: static !important;
  left: auto !important;
  top: auto !important;
  width: 0.35rem !important;
  height: 0.35rem !important;
  margin-top: 0.55em !important;
  border-radius: 50% !important;
  background: #34d399 !important;
  background-color: #34d399 !important;
  box-shadow: none !important;
}

.vis-model__pillars--cards .vis-model__bullets li:first-child::before {
  top: auto !important;
  margin-top: 0.55em !important;
}

.vis-model__pillar-sub {
  color: #18181b !important;
  font-weight: 600 !important;
}

.product-mark__product {
  color: var(--entari-text-primary) !important;
  font-weight: 800 !important;
}

.product-mark__entari {
  color: #4ade80 !important;
  font-weight: 400 !important;
}

.product-mark--personal .product-mark__entari {
  color: #38bdf8 !important;
}

.product-mark--app .product-mark__entari {
  color: #38bdf8 !important;
}

.product-mark--pass .product-mark__entari {
  color: #4ade80 !important;
}

.product-mark--verse .product-mark__entari {
  background-image: linear-gradient(90deg, #a78bfa 0%, #60a5fa 48%, #34d399 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}

.vidensbank-page__cta {
  margin-bottom: 2.75rem;
  background: var(--entari-surface-card) !important;
  background-image: none !important;
  border: 1px solid var(--entari-border-card) !important;
  border-radius: 12px !important;
  box-shadow: var(--entari-shadow), inset 3px 0 0 var(--entari-accent-precision) !important;
  color: var(--entari-text-primary) !important;
}

.vidensbank-page__cta h2,
.vidensbank-page__cta p {
  color: var(--entari-text-primary) !important;
}

.site-header,
.site-nav,
.nav-links,
.footer,
.cookie-consent,
.cookie-consent__panel {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  animation: none !important;
}

.sol-diff__list li,
.sol-pitch__list li {
  color: var(--entari-text-primary) !important;
  background: transparent !important;
}

li::marker,
.sol-diff__list li::before,
.sol-pitch__list li::before,
.sol-checklist li::before,
.vis-checklist li::before,
.vis-model__bullets li::before,
.trust-security__stays li::before,
.trust-security__provides li::before,
.savings-compare__col li::before,
.savings-compare__col--before li::before {
  color: var(--entari-text-primary) !important;
  background-color: var(--entari-text-primary) !important;
  box-shadow: none !important;
}

.trust-security__provides li::before {
  background-color: transparent !important;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }

  .tight-box:hover,
  .tight-box--accent:hover,
  .solution-card:hover,
  .product-door:hover,
  .checklist-rail__item:hover,
  .contact-card:hover,
  .core-value:hover,
  .post-it:hover,
  .vidensbank-card:hover,
  .feature-card:hover,
  .mkt-videos__card:hover,
  .ir-docs__item:hover,
  .mkt-matrix:hover,
  .vis-timeline:hover,
  .page-home .tight-grid--problem > .tight-box:hover,
  .page-home .tight-grid--problem > .tight-box--accent:hover,
  .button:active,
  .button--primary:active,
  .nav-login:active,
  button[type="submit"]:active {
    transform: none !important;
    will-change: auto !important;
  }
}

.page-hero .about-why {
  max-width: 38rem;
  margin: 0;
}

.page-hero .about-why__title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
  color: var(--entari-text-primary);
  text-shadow: none;
}

.page-hero .about-why__body {
  margin: 0;
  max-width: 38rem;
  font-size: 1.05rem;
  line-height: 1.55;
  color: var(--entari-text-primary);
}

.page-product-business .sol-diff__card::before {
  background: #4ade80 !important;
}

.page-product-business .sol-diff__list li,
.page-product-business .sol-pitch__list li {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.85rem 1rem;
}

.page-product-business .sol-diff__list li::before,
.page-product-business .sol-pitch__list li::before,
.page-product-business .sol-diff__list li::marker,
.page-product-business .sol-pitch__list li::marker {
  position: static;
  flex: 0 0 0.45rem;
  width: 0.45rem;
  height: 0.45rem;
  margin: 0;
  top: auto;
  left: auto;
  color: #4ade80 !important;
  background: #4ade80 !important;
  background-color: #4ade80 !important;
}

.page-product-personal {
  --brand-personal: #38bdf8;
  --craft-personal-bar: #38bdf8;
}

.page-product-personal .product-mark__entari,
.page-product-personal .product-maturity__card strong,
.page-product-personal .section-primary {
  color: #38bdf8 !important;
}

.page-product-personal .product-maturity__card::before,
.page-product-personal .product-purpose__box::before,
.page-product-personal li::marker {
  background: #38bdf8 !important;
  background-color: #38bdf8 !important;
  color: #38bdf8 !important;
}

.footer .footer-inner--legal {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}

.footer .footer-inner--legal > img {
  justify-self: start;
}

.footer .footer-inner--legal .footer-links {
  justify-self: end;
  justify-content: flex-end;
}

.footer .footer-powered {
  margin: 0;
  justify-self: center;
  font-size: 11px !important;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #71717a;
  white-space: nowrap;
}

.vidensbank-page__tag {
  color: #18181b !important;
  background: #f6f5f2 !important;
  border: 1px solid #e4e4e7 !important;
}

.page-hero .products-lead {
  max-width: 38rem;
  margin: 0.85rem 0 0;
  color: #18181b;
  font-size: 1.05rem;
  line-height: 1.45;
}

.gallery-peek {
  padding: 0 0 1.25rem;
}

.gallery-peek__bar {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.gallery-peek__label {
  margin: 0;
  flex: 0 0 auto;
  color: #71717a;
  font-size: 0.75rem;
  letter-spacing: 0.02em;
}

.gallery-peek__thumbs {
  display: flex;
  gap: 0.4rem;
  min-width: 0;
  overflow: hidden;
}

.gallery-peek__thumb,
.gallery-view__mini {
  display: grid;
  place-items: center;
  width: 4.6rem;
  height: 2.7rem;
  padding: 0;
  overflow: hidden;
  border: 1px solid #e4e4e7;
  background: var(--entari-surface-card);
  color: #18181b;
  font-size: 0.68rem;
  cursor: pointer;
}

.gallery-peek__thumb img,
.gallery-view__mini img,
.gallery-peek__fallback {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: grid;
  place-items: center;
  padding: 0 0.25rem;
  text-align: center;
}

/* Closed <dialog> must stay invisible (some engines flash styled dialog chrome). */
dialog.gallery-view:not([open]) {
  display: none !important;
}

.gallery-view {
  width: min(46rem, calc(100vw - 2rem));
  max-height: min(40rem, calc(100vh - 2rem));
  padding: 0;
  border: 1px solid #e4e4e7;
  background: #f6f5f2;
  color: #18181b;
}

.gallery-view::backdrop {
  background: rgba(24, 24, 27, 0.45);
}

.gallery-view__panel {
  display: grid;
  gap: 0.85rem;
  padding: 0.85rem;
}

.gallery-view__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.gallery-view__cats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.gallery-view__cat,
.gallery-view__close {
  border: 1px solid #e4e4e7;
  background: var(--entari-surface-card);
  color: #18181b;
  padding: 0.35rem 0.7rem;
  cursor: pointer;
}

.gallery-view__cat.is-active {
  background: #e7efe9;
}

.gallery-view__frame,
.gallery-view__video {
  width: 100%;
  aspect-ratio: 16 / 9;
  background: var(--entari-surface-card);
  border: 1px solid #e4e4e7;
}

.gallery-view__frame {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.gallery-view__frame img,
.gallery-view__frame iframe,
.gallery-view__video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border: 0;
}

.gallery-view__copy h3 {
  margin: 0.7rem 0 0.25rem;
  color: #18181b;
  font-size: 1rem;
}

.gallery-view__copy p,
.gallery-view__empty {
  margin: 0;
  color: #18181b;
}

.gallery-view__film {
  display: flex;
  gap: 0.4rem;
  overflow: auto;
}

.gallery-view__mini.is-active {
  outline: 1px solid #18181b;
}

.price-line,
.problem-more,
.solution-belief {
  color: #18181b !important;
}

.price-line {
  margin: 0.65rem 0 0;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.3;
}

.hero-copy .price-line {
  margin: 0.9rem 0 0;
  font-size: 1.2rem;
}

.problem-more {
  margin: 0.85rem 0 0;
  font-weight: 600;
}

.solution-belief {
  margin: 0.9rem 0 0;
  line-height: 1.45;
}

.product-door__eyebrow {
  display: inline-block;
  width: fit-content;
  margin: 0 0 0.75rem;
  padding: 0.22rem 0.55rem;
  border-radius: 0.3rem;
  border: 1px solid transparent;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.2;
  text-transform: uppercase;
}

.product-door__eyebrow--live,
.product-door--business .product-door__eyebrow,
.product-doors .product-door:first-child .product-door__eyebrow {
  color: #14532d;
  background: #dcfce7;
  border-color: #86efac;
}

.product-door__eyebrow--planned,
.product-door--personal .product-door__eyebrow,
.product-doors .product-door:nth-child(2) .product-door__eyebrow {
  color: #854d0e;
  background: #fef9c3;
  border-color: #fde047;
}

.tight-box .tight-list strong {
  color: #18181b;
  font-weight: 700;
}

/* Checklist: 1–3 already checked (givens); Entari is the open last step */
.checklist-rail__item--done {
  background: var(--entari-surface-card) !important;
  background-image: none !important;
  border: 1px solid var(--entari-border-card) !important;
  box-shadow: var(--entari-shadow) !important;
  color: var(--entari-text-primary) !important;
}

.checklist-rail__item--done .checklist-rail__num {
  background: color-mix(in srgb, #34d399 16%, #ffffff) !important;
  border-color: color-mix(in srgb, #34d399 42%, #d4d4d8) !important;
  color: #047857 !important;
  box-shadow: none !important;
}

.checklist-rail__check {
  display: block;
}

.checklist-rail__item--done strong {
  color: var(--entari-text-primary) !important;
  font-weight: 600;
}

.checklist-rail__item--done > span:not(.checklist-rail__num) {
  color: var(--entari-text-secondary) !important;
}

.checklist-rail__item--done:hover {
  transform: none !important;
  border-color: var(--entari-border-card) !important;
  box-shadow: var(--entari-shadow) !important;
}

.checklist-rail__item--next {
  position: relative;
  background: var(--entari-surface-card) !important;
  background-image: none !important;
  border: 1px solid color-mix(in srgb, #34d399 50%, #e4e4e7) !important;
  box-shadow:
    0 0 0 1px color-mix(in srgb, #34d399 18%, transparent),
    0 8px 22px rgba(16, 185, 129, 0.1),
    0 2px 6px rgba(24, 24, 27, 0.05) !important;
  color: #18181b !important;
}

.checklist-rail__item--next .checklist-rail__num {
  background: #ffffff !important;
  border: 2px solid #34d399 !important;
  color: #065f46 !important;
  box-shadow: none !important;
  font-weight: 700;
}

/* Empty tick box (Entari row) — clickable gimmick */
.checklist-rail__box {
  width: 1.55rem;
  height: 1.55rem;
  margin: 0;
  padding: 0;
  display: inline-grid;
  place-items: center;
  border-radius: 4px;
  border: 2px solid #34d399;
  background: #ffffff;
  color: #047857;
  box-shadow: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}

.checklist-rail__box .checklist-rail__check {
  opacity: 0;
  transform: scale(0.85);
  transition: opacity 150ms ease, transform 150ms ease;
}

.checklist-rail__box[aria-checked='true'] {
  background: color-mix(in srgb, #34d399 16%, #ffffff);
  border-color: color-mix(in srgb, #34d399 55%, #d4d4d8);
}

.checklist-rail__box[aria-checked='true'] .checklist-rail__check {
  opacity: 1;
  transform: scale(1);
}

.checklist-rail__box:focus-visible {
  outline: 2px solid #34d399;
  outline-offset: 2px;
}

.checklist-rail__item--next.checklist-rail__item--checked {
  border-color: var(--entari-border-card) !important;
  box-shadow: var(--entari-shadow) !important;
}

.checklist-rail__item--next strong {
  color: #18181b !important;
  font-weight: 700;
}

.checklist-rail__item--next > span:not(.checklist-rail__num):not(.checklist-rail__box) {
  color: #3f3f46 !important;
}

.checklist-rail__item--next:hover {
  transform: translateY(-2px) !important;
  border-color: #34d399 !important;
  box-shadow:
    0 0 0 1px color-mix(in srgb, #34d399 35%, transparent),
    0 12px 28px rgba(16, 185, 129, 0.16),
    0 3px 10px rgba(24, 24, 27, 0.07) !important;
}


/* Timeline ↔ News link + product-mark tags (2026-09-22) */
.vis-timeline__product.product-mark {
  border: 0;
  padding: 0;
  background: transparent;
}
.vis-timeline__milestone--linked {
  cursor: pointer;
}
.vis-timeline__card-link {
  display: block;
  color: inherit;
  text-decoration: none;
}
.vis-timeline__card-link:hover .vis-timeline__news-hint,
.vis-timeline__card-link:focus-visible .vis-timeline__news-hint {
  color: var(--entari-accent-precision, #34d399);
}
.vis-timeline__news-hint {
  margin: 0.55rem 0 0;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--entari-text-secondary, #71717a);
}
.ir-docs__item.is-hash-target {
  outline: 2px solid color-mix(in srgb, #34d399 55%, transparent);
  outline-offset: 4px;
}