/* ==========================================================================
   RIA Platform — landing page
   Brand tokens sourced from RIA Design system/tokens/*.css (source of truth).
   Urbanist leads the editorial moments, Inter carries interface and body copy.
   ========================================================================== */

:root{
  /* -- brand (from RIA Design system/tokens/brand.css) -- */
  --ria-primary-start:#00b7b1;
  --ria-primary-end:#4d9dd7;
  --ria-primary-gradient:linear-gradient(48.85deg,#00b7b1 6.56%,#4d9dd7 93.74%);
  --ria-primary-dark:#1989ad;

  /* -- surfaces / ink (from tokens/colors.css) -- */
  --canvas:#edf0ef;
  --canvas-gradient:linear-gradient(180deg,#f4f6f5 0%,#eaeeed 60%,#eef1f0 100%);
  --surface-white:#fcfdfcd1;
  --glass-border:#ffffff61;
  --text:#17201c;
  --muted:#5b655f;
  --line:#d2dada;
  --line-strong:#c5d0cf;
  --primary:#078f91;
  --primary-soft:#e5f6f5;
  --primary-ink:#087b7d;
  --warning:#9a7300;
  --warning-soft:#fff8e9;
  --success:#247a50;
  --success-soft:#e3f5eb;
  --danger:#c8515b;
  --danger-soft:#fff0f1;
  --info-ink:#28677f;
  --info-soft:#e8f4f8;

  /* -- shadows (from tokens/elevation.css) -- */
  --glass-shadow:0 8px 28px #1f2b2c09;
  --shadow-card:0 14px 40px #17201c0f;
  --shadow-card-hover:0 20px 52px #17201c17;
  --shadow-primary:0 10px 26px #00979633;
  --glass-panel-bg:linear-gradient(132deg,#ffffff7a,#f2f7f73d 44%,#dce8e84d);
  --glass-panel-border:linear-gradient(to bottom right,#ffffffc7,#ffffff47 46%,#fff0 88%);
  --glass-blur:blur(22px) saturate(122%);
  --focus-ring:0 0 0 4px #00b7b11f;

  /* -- radius (from tokens/radius.css) -- */
  --radius-control:10px;
  --radius-card:16px;
  --radius-tile:12px;
  --radius-shell:20px;
  --radius-pill:999px;

  /* -- motion (from tokens/motion.css) -- */
  --ease-settle:cubic-bezier(.22,1,.36,1);
  --dur-surface:.18s;
  --dur-widget-in:.48s;
  --dur-panel:.26s;
  --dur-shadow:.32s;
  --dur-chart:.76s;

  /* -- type -- */
  --font-display:"Urbanist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-body:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --tracking-eyebrow:.08em;

  --page-max:1180px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:88px; }
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

html{ overflow-x:hidden; }
body{
  margin:0;
  overflow-x:hidden;
  background:var(--canvas-gradient);
  color:var(--text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

.skip-link{
  position:fixed;
  z-index:1000;
  top:12px;
  left:12px;
  padding:11px 16px;
  color:#071010;
  background:var(--ria-primary-gradient);
  border-radius:4px;
  font-weight:750;
  text-decoration:none;
  transform:translateY(-160%);
  transition:transform .18s var(--ease-settle);
}
.skip-link:focus{ transform:none; }
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{
  outline:2px solid #45b8dd;
  outline-offset:4px;
}

img{ max-width:100%; display:block; }
a{ color:inherit; }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.wrap{
  max-width:var(--page-max);
  margin-inline:auto;
  padding-inline:24px;
}

h1,h2,h3{
  font-family:var(--font-display);
  font-weight:650;
  line-height:1.08;
  letter-spacing:-.02em;
  margin:0;
  color:var(--text);
}

h2{ font-size:clamp(28px,3.4vw,42px); }
h3{ font-size:clamp(20px,2vw,25px); font-weight:600; }

p{ margin:0; }
.lede{ font-size:clamp(17px,1.6vw,19px); line-height:1.55; color:var(--muted); max-width:60ch; }

.section{ padding:56px 0; position:relative; }
.section--tight{ padding:48px 0; }
@media (min-width:640px){
  .section{ padding:96px 0; }
  .section--tight{ padding:72px 0; }
}
.section-head{ display:flex; flex-direction:column; gap:16px; margin-bottom:36px; max-width:760px; }
@media (min-width:640px){ .section-head{ margin-bottom:48px; } }
.section-head.center{ margin-inline:auto; text-align:center; align-items:center; }
.heading-line{ display:block; }

/* ---------- icon sprite usage ---------- */
.ico{ width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.ico--lg{ width:28px; height:28px; }
.ico--sm{ width:16px; height:16px; }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--font-body);
  font-size:14px;
  font-weight:650;
  padding:12px 22px;
  border-radius:var(--radius-pill);
  border:1px solid transparent;
  cursor:pointer;
  text-decoration:none;
  transition:transform var(--dur-surface) var(--ease-settle), box-shadow var(--dur-surface) var(--ease-settle), background var(--dur-surface) var(--ease-settle);
  white-space:nowrap;
}
.btn:focus-visible{ outline:none; box-shadow:var(--focus-ring); }
.btn--primary{
  background:var(--ria-primary-gradient);
  color:#fff;
  box-shadow:var(--shadow-primary);
}
.btn--primary:hover{ transform:translateY(-1px); box-shadow:0 14px 32px #00979640; }
.btn--secondary{
  background:transparent;
  color:var(--text);
  border-color:var(--line-strong);
}
.btn--secondary:hover{ border-color:var(--primary); color:var(--primary-ink); background:var(--primary-soft); }
.btn--ghost{
  background:transparent;
  color:var(--primary-ink);
  padding-inline:0;
}
.btn--ghost .ico{ transition:transform var(--dur-surface) var(--ease-settle); }
.btn--ghost:hover .ico{ transform:translateX(3px); }
.btn[disabled]{
  background:#e4e8e7;
  color:#9aa3a0;
  box-shadow:none;
  cursor:not-allowed;
  border-color:transparent;
}

/* ---------- nav ---------- */
.nav{
  position:sticky; top:0; z-index:50;
  background:#fcfdfcbf;
  backdrop-filter:var(--glass-blur);
  -webkit-backdrop-filter:var(--glass-blur);
  border-bottom:1px solid var(--glass-border);
  box-shadow:0 0 0 transparent;
  transition:box-shadow var(--dur-panel) var(--ease-settle);
}

.nav-progress{
  position:absolute;
  z-index:3;
  inset:auto 0 -1px;
  height:2px;
  overflow:hidden;
  background:transparent;
  pointer-events:none;
}
.nav-progress span{
  display:block;
  width:100%;
  height:100%;
  background:var(--v2-gradient);
  transform:scaleX(0);
  transform-origin:left center;
  will-change:transform;
}
.nav.is-scrolled{ box-shadow:0 10px 28px #17201c12; }
.nav .wrap{ display:flex; align-items:center; justify-content:space-between; gap:24px; height:76px; }
.nav-brand{ display:flex; align-items:center; gap:10px; text-decoration:none; flex-shrink:0; }
.nav-brand img{ height:30px; width:30px; flex-shrink:0; }
.nav-wordmark{
  display:none;
  font-family:var(--font-display);
  font-weight:600;
  font-size:17px;
  letter-spacing:-.01em;
  color:var(--text);
  white-space:nowrap;
}
@media (min-width:480px){ .nav-wordmark{ display:inline; } }
.footer-brand .nav-wordmark{ display:inline; }
.nav-tagline{
  display:none;
  font-size:11.5px;
  font-weight:650;
  letter-spacing:var(--tracking-eyebrow);
  text-transform:uppercase;
  color:var(--muted);
  margin-left:2px;
  padding-left:14px;
  border-left:1px solid var(--line);
  white-space:nowrap;
}
@media (min-width:920px){ .nav-tagline{ display:inline; } }
.nav-links{ display:none; align-items:center; gap:28px; font-size:14px; font-weight:550; flex-shrink:0; }
.nav-links a{ text-decoration:none; color:var(--muted); transition:color .16s; white-space:nowrap; }
.nav-links a:hover{ color:var(--text); }
@media (min-width:1080px){ .nav-links{ display:flex; } }

.nav-right{ display:flex; align-items:center; gap:6px; flex-shrink:0; margin-left:auto; }
@media (min-width:480px){ .nav-right{ gap:14px; } }
.nav-right .btn{ padding:9px 12px; font-size:12.5px; gap:5px; }
@media (min-width:480px){ .nav-right .btn{ padding:12px 22px; font-size:14px; gap:8px; } }
@media (max-width:359px){ .nav .wrap{ padding-inline:14px; } }

.lang-switch{ display:inline-flex; gap:2px; padding:3px; background:var(--surface-white); border:1px solid var(--line); border-radius:var(--radius-pill); }
.lang-btn{
  font-family:var(--font-body); font-size:12px; font-weight:700; letter-spacing:.03em;
  padding:6px 12px; border-radius:var(--radius-pill); border:none; background:transparent;
  color:var(--muted); cursor:pointer;
  transition:background .16s, color .16s;
}
.lang-btn:hover{ color:var(--primary-ink); }
.lang-btn.is-active{ background:var(--ria-primary-gradient); color:#fff; }
.lang-btn:focus-visible{ outline:none; box-shadow:var(--focus-ring); }

.role-menu{ position:relative; }
.role-menu-caret{ transform:rotate(90deg); transition:transform var(--dur-surface) var(--ease-settle); }
.role-menu-trigger[aria-expanded="true"] .role-menu-caret{ transform:rotate(-90deg); }
.role-menu-panel{
  position:absolute; top:calc(100% + 10px); right:0;
  background:var(--surface-white);
  backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-panel);
  box-shadow:var(--shadow-card-hover);
  padding:8px; min-width:250px; z-index:60;
  display:flex; flex-direction:column; gap:2px;
}
.role-menu-panel[hidden]{ display:none; }
.role-menu-item{
  display:flex; align-items:center; gap:12px; padding:10px 12px;
  border-radius:10px; text-decoration:none; color:var(--text);
  font-size:14px; font-weight:600;
  transition:background var(--dur-surface) var(--ease-settle);
}
.role-menu-item:hover{ background:var(--primary-soft); color:var(--primary-ink); }
.role-menu-item:hover .ico-wrap{ transform:scale(1.08); }
.role-menu-item .ico-wrap{ width:32px; height:32px; border-radius:9px; display:grid; place-items:center; background:var(--primary-soft); color:var(--primary-ink); flex-shrink:0; transition:transform var(--dur-surface) var(--ease-settle); }
.role-menu-item--disabled{ opacity:.5; cursor:not-allowed; }
.role-menu-item--disabled:hover{ background:transparent; color:var(--text); }
.role-menu-item--disabled .ico-wrap{ background:#e4e8e7; color:#9aa3a0; }

/* ---------- hero ---------- */
.hero{ padding:56px 0 32px; position:relative; overflow:hidden; }
@media (min-width:640px){ .hero{ padding:88px 0 40px; } }
.hero::before{
  content:"";
  position:absolute; inset:-30% -10% auto -10%; height:640px;
  background:radial-gradient(60% 60% at 30% 20%, #00b7b122 0%, transparent 70%),
             radial-gradient(50% 50% at 80% 10%, #4d9dd722 0%, transparent 70%);
  pointer-events:none;
  z-index:0;
}
.hero .wrap{ position:relative; z-index:1; display:grid; grid-template-columns:1fr; gap:56px; align-items:center; }
@media (min-width:1040px){ .hero .wrap{ grid-template-columns:1.05fr .95fr; } }

.hero-copy h1{ font-size:clamp(36px,4.6vw,58px); margin-top:18px; max-width:16ch; }
.hero-copy .lede{ margin-top:22px; max-width:52ch; }
.hero-cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }

/* hero entrance choreography — plays once on load, not scroll-gated */
@keyframes heroRise{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:none; } }
.hero-copy > *{ opacity:0; animation:heroRise .7s var(--ease-settle) forwards; }
.hero-copy h1{ animation-delay:.05s; }
.hero-copy .lede{ animation-delay:.14s; }
.hero-copy .hero-cta{ animation-delay:.23s; }

/* closed loop diagram */
.loop{
  position:relative;
  aspect-ratio:1/1;
  max-width:460px;
  margin-inline:auto;
  display:grid;
  place-items:center;
}
@keyframes ringFade{ from{ opacity:0; } to{ opacity:1; } }
@keyframes ringSpin{ from{ transform:rotate(0deg); } to{ transform:rotate(360deg); } }
.loop-ring{
  position:absolute; inset:0;
  border-radius:50%;
  border:1.5px dashed var(--line-strong);
  opacity:0;
  animation:ringFade .6s var(--ease-settle) .3s forwards, ringSpin 50s linear infinite;
}
@keyframes centerPop{ from{ opacity:0; transform:scale(.7); } to{ opacity:1; transform:scale(1); } }
.loop-center{
  position:relative;
  width:44%; aspect-ratio:1/1;
  border-radius:50%;
  background:var(--ria-primary-gradient);
  box-shadow:var(--shadow-primary);
  display:grid; place-items:center;
  text-align:center;
  padding:14px;
  z-index:2;
  opacity:0;
  animation:centerPop .6s var(--ease-settle) .15s forwards;
}
.loop-center span{ color:#fff; font-family:var(--font-display); font-weight:600; font-size:clamp(14px,1.6vw,17px); line-height:1.2; }
@keyframes nodePop{ from{ opacity:0; transform:translate(-50%,-50%) scale(.5); } to{ opacity:1; transform:translate(-50%,-50%) scale(1); } }
.loop-node{
  position:absolute;
  display:flex; flex-direction:column; align-items:center; gap:8px;
  width:112px; text-align:center;
  transform:translate(-50%,-50%);
  opacity:0;
  animation:nodePop .55s var(--ease-settle) forwards;
}
.loop-node[data-n="1"]{ animation-delay:.5s; }
.loop-node[data-n="2"]{ animation-delay:.62s; }
.loop-node[data-n="3"]{ animation-delay:.74s; }
.loop-node[data-n="4"]{ animation-delay:.86s; }
.loop-node[data-n="5"]{ animation-delay:.98s; }
.loop-node[data-n="6"]{ animation-delay:1.1s; }
.loop-node[data-n="7"]{ animation-delay:1.22s; }
.loop-node .dot{ transition:transform var(--dur-surface) var(--ease-settle), box-shadow var(--dur-surface) var(--ease-settle); }
.loop-node:hover .dot{ transform:scale(1.08); box-shadow:var(--shadow-card); }
.loop-node .dot{
  width:52px; height:52px; border-radius:50%;
  background:var(--surface-white);
  border:1px solid var(--glass-border);
  box-shadow:var(--glass-shadow);
  display:grid; place-items:center;
  color:var(--primary-ink);
}
.loop-node span{ font-size:12.5px; font-weight:600; color:var(--text); line-height:1.25; }
.loop-node[data-n="1"]{ top:2%;  left:50%; }
.loop-node[data-n="2"]{ top:20%; left:86%; }
.loop-node[data-n="3"]{ top:61%; left:95%; }
.loop-node[data-n="4"]{ top:93%; left:70%; }
.loop-node[data-n="5"]{ top:93%; left:30%; }
.loop-node[data-n="6"]{ top:61%; left:5%; }
.loop-node[data-n="7"]{ top:20%; left:14%; }
@media (max-width:520px){
  .loop{ max-width:280px; }
  .loop-node{ width:78px; }
  .loop-node .dot{ width:38px; height:38px; }
  .loop-node span{ font-size:11px; }
  .loop-node[data-n="2"]{ left:80%; }
  .loop-node[data-n="3"]{ left:88%; }
  .loop-node[data-n="6"]{ left:12%; }
  .loop-node[data-n="7"]{ left:20%; }
}

/* ---------- problem section ---------- */
.silos{ display:grid; gap:16px; grid-template-columns:repeat(3,1fr); margin-bottom:56px; }
@media (max-width:860px){ .silos{ grid-template-columns:1fr; } }
.silo{
  background:var(--surface-white);
  border:1px solid var(--line);
  border-radius:var(--radius-card);
  padding:22px;
  display:flex; flex-direction:column; gap:10px;
}
.silo strong{ font-size:15px; }
.silo .arrow{ color:var(--muted); font-size:13px; display:flex; align-items:center; gap:6px; }
.silo .lost{ font-size:13px; color:var(--danger); font-weight:600; }

.pains{ display:grid; gap:24px; grid-template-columns:repeat(3,1fr); }
@media (max-width:860px){ .pains{ grid-template-columns:1fr; } }
.pain{ display:flex; flex-direction:column; gap:14px; }
.pain .ico-wrap{
  width:48px; height:48px; border-radius:var(--radius-tile);
  background:var(--primary-soft); color:var(--primary-ink);
  display:grid; place-items:center;
}
.pain h3{ font-size:18px; }
.pain p{ color:var(--muted); font-size:15px; }

/* ---------- solution / lifecycle ---------- */
.badge-line{
  display:inline-flex; align-items:center; gap:10px;
  background:var(--surface-white); border:1px solid var(--line);
  border-radius:var(--radius-pill); padding:10px 18px;
  font-size:13px; font-weight:600; color:var(--text);
  margin-bottom:28px;
}
.badge-line .dot{ width:8px; height:8px; border-radius:50%; background:var(--ria-primary-gradient); flex-shrink:0; }

.lifecycle{
  display:flex; align-items:center; flex-wrap:wrap; gap:0;
  background:var(--surface-white);
  border:1px solid var(--line);
  border-radius:var(--radius-shell);
  padding:32px 28px;
  box-shadow:var(--glass-shadow);
}
.lifecycle-stage{
  display:flex; flex-direction:column; align-items:center; gap:10px; flex:1 1 140px; text-align:center; padding:8px;
  opacity:0; transform:translateY(12px) scale(.92);
  transition:opacity .5s var(--ease-settle), transform .5s var(--ease-settle);
}
.lifecycle.is-visible .lifecycle-stage{ opacity:1; transform:none; }
.lifecycle.is-visible .lifecycle-stage:nth-child(1){ transition-delay:0ms; }
.lifecycle.is-visible .lifecycle-stage:nth-child(3){ transition-delay:80ms; }
.lifecycle.is-visible .lifecycle-stage:nth-child(5){ transition-delay:160ms; }
.lifecycle.is-visible .lifecycle-stage:nth-child(7){ transition-delay:240ms; }
.lifecycle.is-visible .lifecycle-stage:nth-child(9){ transition-delay:320ms; }
.lifecycle.is-visible .lifecycle-stage:nth-child(11){ transition-delay:400ms; }
.lifecycle-stage .dot{
  width:56px; height:56px; border-radius:50%;
  display:grid; place-items:center;
  background:var(--primary-soft); color:var(--primary-ink);
  border:1px solid #078f9122;
  transition:transform var(--dur-surface) var(--ease-settle), box-shadow var(--dur-surface) var(--ease-settle);
}
.lifecycle-stage:hover .dot{ transform:translateY(-3px); box-shadow:var(--shadow-card); }
.lifecycle-stage span{ font-size:13.5px; font-weight:650; }
.lifecycle-arrow{
  color:var(--line-strong); flex:0 0 auto;
  opacity:0; transition:opacity .4s var(--ease-settle) .2s;
}
.lifecycle.is-visible .lifecycle-arrow{ opacity:1; }
.lifecycle-arrow .ico{ width:20px; height:20px; }
@media (max-width:900px){
  .lifecycle{ flex-direction:column; align-items:stretch; gap:0; padding:20px 20px; }
  .lifecycle-stage{
    flex-direction:row; flex:none; align-items:center; justify-content:flex-start; text-align:left;
    gap:14px; padding:8px 0;
  }
  .lifecycle-stage .dot{ width:42px; height:42px; flex-shrink:0; }
  .lifecycle-arrow{ align-self:flex-start; margin-left:20px; }
  .lifecycle-arrow .ico{ transform:rotate(90deg); }
}
.lifecycle-loop{ text-align:center; margin-top:22px; font-size:13.5px; font-weight:600; color:var(--muted); }

/* ---------- role cards ---------- */
.roles{ display:grid; gap:24px; grid-template-columns:repeat(2,1fr); }
@media (max-width:980px){ .roles{ grid-template-columns:1fr; } }
.role-card{
  position:relative;
  border-radius:var(--radius-shell);
  padding:30px 26px;
  background:var(--glass-panel-bg);
  backdrop-filter:var(--glass-blur);
  -webkit-backdrop-filter:var(--glass-blur);
  border:1px solid var(--glass-border);
  box-shadow:var(--shadow-card);
  display:flex; flex-direction:column; gap:16px;
  transition:transform var(--dur-surface) var(--ease-settle), box-shadow var(--dur-surface) var(--ease-settle);
}
.role-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-card-hover); }
.role-card .ico-wrap{
  width:52px; height:52px; border-radius:var(--radius-tile);
  display:grid; place-items:center;
  background:var(--ria-primary-gradient); color:#fff;
}
.role-card h3{ font-size:20px; }
.role-card p{ color:var(--muted); font-size:14.5px; flex-grow:1; }
.role-tag{
  position:absolute; top:24px; right:24px;
  font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  color:var(--muted); background:#e9edec; padding:4px 10px; border-radius:var(--radius-pill);
}

/* ---------- persona deep dives ---------- */
.persona{ scroll-margin-top:96px; }
.persona-switch{
  position:relative;
  display:inline-flex; gap:4px; padding:4px;
  background:var(--surface-white); border:1px solid var(--line);
  border-radius:var(--radius-pill); margin-bottom:24px;
}
.persona-switch-indicator{
  position:absolute; top:4px; bottom:4px; left:4px; width:0;
  border-radius:var(--radius-pill); background:var(--ria-primary-gradient);
  opacity:0;
  transition:transform var(--dur-shadow) var(--ease-settle), width var(--dur-shadow) var(--ease-settle), opacity .2s var(--ease-settle);
}
.persona-switch a{
  position:relative; z-index:1;
  padding:8px 16px; border-radius:var(--radius-pill);
  font-size:13px; font-weight:650; text-decoration:none; color:var(--muted);
  transition:color .16s;
}
.persona-switch a.is-active{ color:#fff; }

.persona-intro{ display:grid; gap:40px; grid-template-columns:1.4fr 1fr; align-items:start; margin-bottom:64px; }
@media (max-width:940px){ .persona-intro{ grid-template-columns:1fr; } }
.value-statement{
  font-family:var(--font-display); font-weight:600; font-size:clamp(19px,1.9vw,23px);
  line-height:1.4; color:var(--text); margin-top:16px;
}
.pillars{ display:flex; flex-direction:column; gap:14px; }
.pillar{ display:flex; align-items:flex-start; gap:12px; padding:16px; background:var(--surface-white); border:1px solid var(--line); border-radius:var(--radius-tile); }
.pillar .ico-wrap{ width:36px; height:36px; border-radius:10px; background:var(--primary-soft); color:var(--primary-ink); display:grid; place-items:center; flex-shrink:0; }
.pillar span{ font-weight:650; font-size:14.5px; }
.pillar--result{ background:var(--ria-primary-gradient); border-color:transparent; }
.pillar--result span{ color:#fff; }
.pillar--result .ico-wrap{ background:#ffffff33; color:#fff; }

.callout{
  display:inline-flex; align-items:center; gap:10px;
  font-size:14px; font-weight:650; color:var(--primary-ink);
  background:var(--primary-soft); border-radius:var(--radius-pill);
  padding:10px 18px; margin-top:8px;
}

.features{ display:flex; flex-direction:column; gap:88px; }
.feature{ display:grid; gap:44px; grid-template-columns:1fr 1fr; align-items:center; }
.feature:nth-child(even) .feature-visual{ order:-1; }
@media (max-width:900px){ .feature{ grid-template-columns:1fr; } .feature:nth-child(even) .feature-visual{ order:0; } }
.feature-copy .num{ font-family:var(--font-display); font-size:14px; font-weight:600; color:var(--muted); }
.feature-copy h3{ margin-top:10px; font-size:clamp(21px,2.2vw,27px); }
.feature-copy p{ margin-top:14px; color:var(--muted); font-size:15.5px; max-width:52ch; }
.feature-list{ list-style:none; margin:20px 0 0; padding:0; display:flex; flex-direction:column; gap:12px; }
.feature-list li{ display:flex; gap:10px; font-size:14.5px; color:var(--text); }
.feature-list .ico{ color:var(--primary); margin-top:2px; }

.feature-visual{
  background:var(--surface-white); border:1px solid var(--line); border-radius:var(--radius-shell);
  padding:26px; box-shadow:var(--glass-shadow); min-height:220px;
}
.flow{ display:flex; align-items:center; flex-wrap:wrap; gap:10px; font-size:13px; font-weight:600; }
.flow .step{ background:var(--primary-soft); color:var(--primary-ink); padding:8px 14px; border-radius:var(--radius-pill); }
.flow .ico{ width:16px; height:16px; color:var(--line-strong); }
.flow-caption{ margin-top:16px; font-size:13.5px; color:var(--muted); font-style:italic; }
@media (max-width:480px){
  .flow{ flex-direction:column; align-items:flex-start; }
  .flow .ico{ transform:rotate(90deg); }
}

.checklist{ display:flex; flex-direction:column; gap:12px; }
.checklist-item{ display:flex; align-items:center; justify-content:space-between; padding:10px 14px; background:var(--success-soft); border-radius:10px; }
.checklist-item span{ font-size:14px; font-weight:600; color:var(--text); }
.checklist-item .ico{ width:18px; height:18px; color:var(--success); }
.checklist-status{ margin-top:16px; display:flex; align-items:center; justify-content:space-between; padding-top:16px; border-top:1px dashed var(--line); }
.checklist-status .status-pill{ background:var(--success); color:#fff; font-size:12.5px; font-weight:700; padding:5px 14px; border-radius:var(--radius-pill); }

.decision-flow{ display:flex; flex-direction:column; gap:0; }
.decision-flow .row{ display:flex; align-items:center; gap:14px; padding:14px 0; border-bottom:1px solid var(--line); }
.decision-flow .row:last-child{ border-bottom:none; }
.decision-flow .ico-wrap{ width:34px; height:34px; border-radius:9px; background:var(--primary-soft); color:var(--primary-ink); display:grid; place-items:center; flex-shrink:0; }
.decision-flow small{ display:block; color:var(--muted); font-size:12.5px; margin-top:2px; }

.scorecard{ display:flex; flex-direction:column; gap:14px; }
.scorecard .bar-row{ display:flex; align-items:center; gap:12px; }
.scorecard .bar-row .label{ width:78px; font-size:13px; font-weight:650; flex-shrink:0; }
.scorecard .bar{ flex-grow:1; height:10px; border-radius:5px; background:#e4e9e8; overflow:hidden; }
.scorecard .bar span{ display:block; height:100%; border-radius:5px; background:var(--ria-primary-gradient); width:0; transition:width var(--dur-chart) var(--ease-settle); }

/* ---------- trust section ---------- */
.trust-grid{ display:grid; gap:24px; grid-template-columns:repeat(3,1fr); margin-bottom:56px; }
@media (max-width:860px){ .trust-grid{ grid-template-columns:1fr; } }
.trust-card{ background:var(--surface-white); border:1px solid var(--line); border-radius:var(--radius-card); padding:26px; display:flex; flex-direction:column; gap:14px; }
.trust-card .ico-wrap{ width:44px; height:44px; border-radius:var(--radius-tile); background:var(--primary-soft); color:var(--primary-ink); display:grid; place-items:center; }
.trust-card p{ color:var(--muted); font-size:14.5px; }
.foundations{ width:100%; display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:14px; padding-top:0; border-top:0; }
.foundations span{ font-size:13px; font-weight:650; color:var(--muted); background:var(--surface-white); border:1px solid var(--line); padding:8px 16px; border-radius:var(--radius-pill); }

/* ---------- footer ---------- */
.site-footer{ border-top:1px solid var(--line); padding:56px 0 40px; background:var(--surface-white); }
.footer-top{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:24px; padding-bottom:32px; border-bottom:1px solid var(--line); }
.footer-brand{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.footer-brand img{ height:26px; width:26px; }
.footer-brand .nav-wordmark{ font-size:15px; }
.footer-brand span:last-child{ font-size:12px; font-weight:650; color:var(--muted); text-transform:uppercase; letter-spacing:var(--tracking-eyebrow); margin-left:2px; padding-left:12px; border-left:1px solid var(--line); }
.footer-bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; padding-top:24px; font-size:13px; color:var(--muted); }
.footer-links{ display:flex; gap:20px; flex-wrap:wrap; }
.footer-links a{ text-decoration:none; color:var(--muted); }
.footer-links a:hover{ color:var(--primary-ink); }

/* ---------- scroll reveal ---------- */
[data-reveal]{ opacity:0; transform:translateY(18px); transition:opacity var(--dur-widget-in) var(--ease-settle), transform var(--dur-widget-in) var(--ease-settle); }
[data-reveal].is-visible{ opacity:1; transform:none; }

/* ========================================================================== */
/* V2 — Civic intelligence / Alistiq visual pilot                             */
/* ========================================================================== */

:root{
  --v2-ink:#050606;
  --v2-ink-2:#0e1111;
  --v2-paper:#f5f5f1;
  --v2-surface:#e5e7e8;
  --v2-white:#fff;
  --v2-muted-dark:#697174;
  --v2-muted-light:#a7afb1;
  --v2-teal:#55c9bd;
  --v2-blue:#4b9be8;
  --v2-gradient:linear-gradient(110deg,var(--v2-teal),var(--v2-blue));
  --v2-line-dark:rgba(255,255,255,.13);
  --v2-line-light:rgba(5,6,6,.13);
  --v2-warm:#151b22;
  --v2-warm-surface:#1d2630;
  --v2-warm-surface-2:#24313d;
  --v2-warm-text:#e8eef4;
  --v2-warm-muted:#9ba9b7;
  --v2-line-warm:rgba(211,225,239,.14);
  --v2-ease:cubic-bezier(.22,1,.36,1);
  --page-max:1320px;
}

body{
  background:var(--v2-ink);
  color:var(--v2-white);
  letter-spacing:-.012em;
}

body::selection{ background:var(--v2-teal); color:var(--v2-ink); }

.wrap{ width:min(calc(100% - 40px),var(--page-max)); }

h1,h2,h3,.nav-wordmark{ letter-spacing:-.03em; }

.btn{
  min-height:50px;
  padding:0 22px;
  border-radius:4px;
  letter-spacing:-.01em;
}

.btn--primary{
  position:relative;
  isolation:isolate;
  color:var(--v2-ink);
  background:var(--v2-gradient);
  border:0;
  overflow:hidden;
  background-clip:padding-box;
  box-shadow:none;
}
.btn--primary::before{
  content:"";
  position:absolute;
  z-index:0;
  top:-45%;
  bottom:-45%;
  left:-42%;
  width:28%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);
  transform:skewX(-20deg);
  transition:left .68s var(--v2-ease);
  pointer-events:none;
}
.btn--primary:hover::before{ left:116%; }
.btn--primary>*{ position:relative; z-index:1; }

.btn--primary .ico{ stroke:var(--v2-ink)!important; }
.btn--primary:hover{ transform:translateY(-2px); box-shadow:0 16px 42px rgba(75,155,232,.2); }

/* Navigation */
.nav{
  position:fixed;
  inset:0 0 auto;
  height:72px;
  color:var(--v2-white);
  background:rgba(5,6,6,.94);
  border-bottom:1px solid var(--v2-line-dark);
  backdrop-filter:blur(18px) saturate(120%);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
}

.nav.is-scrolled{ background:rgba(5,6,6,.9); box-shadow:0 10px 40px rgba(0,0,0,.24); }
.nav .wrap{ height:100%; }
.nav-brand{ color:var(--v2-white); gap:12px; }
.nav-wordmark{ display:inline; color:var(--v2-white); font-size:17px; font-weight:600; }
.nav-brand .brand-logo{ display:block; width:auto; height:27px; filter:invert(1); opacity:.96; }
.nav-brand .brand-logo--animated{ color:var(--v2-white); fill:currentColor; filter:none; overflow:visible; }
.nav-logo__robot{ transform-box:fill-box; transform-origin:center bottom; animation:navLogoJump 8.4s linear infinite; }
.nav-logo__body{ transform-box:fill-box; transform-origin:center top; animation:navLogoBreath 4.2s var(--v2-ease) infinite; }
.nav-logo__head{ transform-box:fill-box; transform-origin:center bottom; animation:navLogoHead 4.2s var(--v2-ease) infinite; }
.nav-logo__eye{ fill:#071014; transform-box:fill-box; transform-origin:center; animation:navLogoBlink 6.4s ease-in-out infinite; }
@keyframes navLogoHead{
  0%,100%{ transform:translate(0,0) rotate(-2.5deg); }
  25%{ transform:translate(.4px,-1.5px) rotate(3.5deg); }
  50%{ transform:translate(0,-.7px) rotate(.5deg); }
  76%{ transform:translate(-.4px,-1.8px) rotate(-3.5deg); }
}
@keyframes navLogoJump{
  0%,60%,100%{ transform:translateY(0) scale(1); }
  64%{ transform:translateY(.4px) scale(1.01,.99); }
  70%{ transform:translateY(-2.8px) scale(.995,1.005); }
  74%{ transform:translateY(-3.2px); }
  79%{ transform:translateY(0) scale(1.012,.988); }
  84%{ transform:translateY(0) scale(1); }
}
@keyframes navLogoBreath{
  0%,100%{ transform:translateY(0) scaleY(1); }
  38%{ transform:translateY(-.35px) scaleY(1.006); }
  76%{ transform:translateY(-.5px) scaleY(1.008); }
}
@keyframes navLogoBlink{
  0%,43%,47%,100%{ transform:scaleY(1); }
  44.5%,46%{ transform:scaleY(.08); }
}
.nav-links{ gap:4px; }
.nav-links a{
  position:relative;
  padding:8px 12px;
  color:#aeb7b8;
  background:transparent;
  border:1px solid transparent;
  border-radius:999px;
  font-size:13px;
  font-weight:560;
  transition:color .22s ease,background-color .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.nav-links a:hover{ color:var(--v2-white); background:rgba(255,255,255,.055); }
.nav-links a::after{ display:none; }
.nav-links a.is-active{
  color:var(--v2-white);
  background:linear-gradient(110deg,rgba(85,201,189,.13),rgba(75,155,232,.11));
  border-color:rgba(126,206,206,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 7px 20px rgba(0,0,0,.12);
}
.nav-right{ gap:13px; }
.lang-switch{ padding:2px; border-color:var(--v2-line-dark); background:rgba(255,255,255,.06); }
.lang-btn{ color:#9ea8aa; padding:6px 10px; }
.lang-btn.is-active{ color:var(--v2-white); background:rgba(255,255,255,.12); }

.nav-cta{
  display:inline-flex;
  align-items:center;
  gap:18px;
  min-height:38px;
  padding:0 14px;
  color:var(--v2-white);
  background:rgba(255,255,255,.09);
  border:1px solid var(--v2-line-dark);
  border-radius:4px;
  font-family:var(--font-body);
  font-size:13px;
  font-weight:650;
  letter-spacing:-.01em;
  text-decoration:none;
  transition:background .2s,color .2s;
}
.nav-cta:hover{ background:var(--v2-white); color:var(--v2-ink); }

@media (min-width:1320px){
  .nav .wrap{ position:relative; }
  .nav-brand{
    position:absolute;
    left:calc((100vw - 100%) / -2 + 24px);
  }
  .nav-links{ position:absolute; left:50%; transform:translateX(-50%); }
  .nav-right{
    position:absolute;
    right:calc((100vw - 100%) / -2 + 24px);
    margin-left:0;
  }
}

.nav-menu-toggle{
  position:relative;
  width:40px;
  height:40px;
  display:none;
  place-items:center;
  padding:0;
  color:#fff;
  background:rgba(255,255,255,.07);
  border:1px solid var(--v2-line-dark);
  border-radius:4px;
  cursor:pointer;
}
.nav-menu-toggle span{
  position:absolute;
  width:17px;
  height:1.5px;
  background:currentColor;
  transition:transform .25s var(--v2-ease);
}
.nav-menu-toggle span:first-child{ transform:translateY(-4px); }
.nav-menu-toggle span:last-child{ transform:translateY(4px); }
.nav-menu-toggle[aria-expanded="true"] span:first-child{ transform:rotate(45deg); }
.nav-menu-toggle[aria-expanded="true"] span:last-child{ transform:rotate(-45deg); }

.mobile-nav{
  position:absolute;
  z-index:49;
  inset:100% 0 auto;
  height:calc(100dvh - 72px);
  overflow:auto;
  color:#fff;
  background:rgba(5,6,6,.985);
  border-top:1px solid var(--v2-line-dark);
}
.mobile-nav[hidden]{ display:none; }
.mobile-nav .wrap{ height:auto; padding-top:28px; padding-bottom:34px; display:flex; flex-direction:column; align-items:stretch; gap:0; }
.mobile-nav a{
  display:grid;
  grid-template-columns:34px 1fr auto;
  align-items:center;
  min-height:66px;
  color:#f5f6f6;
  border-bottom:1px solid var(--v2-line-dark);
  font-size:clamp(22px,5vw,32px);
  font-weight:550;
  letter-spacing:-.025em;
  text-decoration:none;
}
.mobile-nav a::after{ content:"↗"; color:#667173; font-size:15px; }
.mobile-nav a small{ color:#6e7a7c; font-size:9px; font-weight:750; letter-spacing:.14em; }
.mobile-nav a.is-active{ color:var(--v2-teal); }
.mobile-nav__cta{
  grid-template-columns:1fr auto!important;
  min-height:52px!important;
  margin-top:26px;
  padding:0 18px;
  color:#071010!important;
  background:var(--v2-gradient);
  border:0!important;
  border-radius:4px;
  font-size:14px!important;
  font-weight:750!important;
  letter-spacing:0!important;
}
.mobile-nav__cta::after{ display:none; }
body.nav-open{ overflow:hidden; }

/* Hero */
.hero-v2{
  min-height:100svh;
  padding:118px 0 42px;
  color:var(--v2-white);
  background:var(--v2-ink);
  isolation:isolate;
  overflow:hidden;
}

.hero-v2::before{ display:none; }
.hero-grid,.record-stage__grid{
  position:absolute;
  inset:0;
  z-index:-3;
  background-image:linear-gradient(var(--v2-line-dark) 1px,transparent 1px),linear-gradient(90deg,var(--v2-line-dark) 1px,transparent 1px);
  background-size:100% 96px,calc((100vw - max(40px,calc((100vw - var(--page-max))/2)*2))/6) 100%;
  opacity:.55;
  mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.8) 68%,transparent 100%);
}
.hero-grid{
  background-image:linear-gradient(90deg,var(--v2-line-dark) 1px,transparent 1px);
  background-size:calc((100vw - max(40px,calc((100vw - var(--page-max))/2)*2))/6) 100%;
}

.hero-glow{ position:absolute; z-index:-2; border-radius:50%; filter:blur(90px); pointer-events:none; }
.hero-glow--one{ width:520px; height:360px; top:-240px; right:10%; background:rgba(85,201,189,.23); }
.hero-glow--two{ width:360px; height:360px; bottom:-250px; left:43%; background:rgba(75,155,232,.16); }

.hero-layout{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,.93fr) minmax(500px,1.07fr);
  gap:72px;
  align-items:center;
  min-height:calc(100svh - 230px);
}

.hero-v2 .hero-copy h1{
  max-width:11.5ch;
  margin-top:0;
  color:var(--v2-white);
  font-size:clamp(56px,5.5vw,84px);
  line-height:.93;
  font-weight:500;
  text-wrap:balance;
}

.hero-v2 .hero-copy .lede{
  max-width:51ch;
  margin-top:24px;
  color:#aab3b5;
  font-size:18px;
  line-height:1.58;
}

.hero-cta{ align-items:center; margin-top:28px; gap:28px; }
.text-link{ display:inline-flex; align-items:center; gap:10px; color:#d1d6d7; text-decoration:none; font-size:14px; }
.text-link .ico{ transition:transform .2s var(--v2-ease); }
.text-link:hover{ color:var(--v2-white); }
.text-link:hover .ico{ transform:translateX(4px); }

.hero-system{ position:relative; min-height:610px; display:grid; place-items:center; perspective:1100px; isolation:isolate; }
.hero-assistant{
  position:absolute;
  z-index:1;
  right:24px;
  bottom:18px;
  width:260px;
  height:400px;
  overflow:hidden;
  pointer-events:none;
  opacity:1;
  mask-image:radial-gradient(ellipse 82% 78% at 58% 43%,#000 42%,rgba(0,0,0,.9) 61%,transparent 88%);
  animation:assistantEnter 1.1s var(--v2-ease) .72s both,assistantFloat 6.8s ease-in-out 1.9s infinite alternate;
}
.hero-assistant img{
  position:absolute;
  width:394px;
  max-width:none;
  left:-70px;
  top:-21px;
}
@keyframes assistantEnter{
  from{ opacity:0; transform:translate(36px,28px) rotate(3deg); }
  to{ opacity:1; transform:translate(0,0) rotate(0); }
}
@keyframes assistantFloat{
  to{ transform:translateY(-7px) rotate(-.8deg); }
}
.data-ribbon{ position:absolute; inset:60px -120px 60px -80px; display:flex; align-items:center; justify-content:center; gap:8px; transform:rotate(-8deg); }
.data-ribbon::before,.data-ribbon::after{ content:""; position:absolute; width:115%; height:1px; left:-8%; background:linear-gradient(90deg,transparent,rgba(85,201,189,.6),rgba(75,155,232,.4),transparent); }
.data-ribbon::before{ top:31%; }
.data-ribbon::after{ bottom:30%; }
.data-ribbon span{
  width:13px;
  height:calc(104px + sin(var(--i) * 22deg) * 150px);
  min-height:80px;
  border:1px solid rgba(255,255,255,.2);
  background:linear-gradient(180deg,rgba(85,201,189,.72),rgba(75,155,232,.06) 55%,rgba(255,255,255,.02));
  transform:skewY(calc((var(--i) - 8) * .9deg));
  box-shadow:0 0 22px rgba(85,201,189,.07);
  animation:ribbonPulse 5s ease-in-out calc(var(--i) * -110ms) infinite alternate;
}

@keyframes ribbonPulse{ to{ transform:skewY(calc((var(--i) - 8) * -.8deg)) translateY(calc(sin(var(--i) * 30deg) * 18px)); filter:brightness(1.25); } }

.case-card{
  position:relative;
  width:min(460px,82%);
  color:var(--v2-ink);
  background:rgba(239,241,242,.96);
  border:1px solid rgba(255,255,255,.85);
  border-radius:10px;
  box-shadow:0 40px 90px rgba(0,0,0,.36);
  overflow:hidden;
}
.case-card--hero{ transform:rotateY(-5deg) rotateX(2deg) translateY(14px); animation:caseFloat 7s ease-in-out infinite alternate; }
@keyframes caseFloat{ to{ transform:rotateY(2deg) rotateX(-1deg) translateY(-10px); } }
.case-card__top{ display:flex; justify-content:space-between; gap:16px; padding:13px 18px; color:#667073; border-bottom:1px solid var(--v2-line-light); font-size:10px; font-weight:750; letter-spacing:.1em; }
.case-status{ display:flex; align-items:center; gap:7px; letter-spacing:0; color:#435052; }
.case-status i{ width:6px; height:6px; border-radius:50%; background:var(--v2-teal); box-shadow:0 0 0 4px rgba(85,201,189,.14); }
.case-card__body{ padding:27px 30px 30px; }
.case-label{ color:#667174; font-size:10px; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.case-card h2{ max-width:13ch; margin-top:9px; font-size:30px; line-height:1.03; font-weight:580; letter-spacing:-.03em; }
.case-progress{ display:grid; grid-template-columns:1fr auto; gap:13px; align-items:center; margin-top:28px; }
.case-progress>span{ height:5px; overflow:hidden; border-radius:3px; background:#ccd1d2; }
.case-progress i{ display:block; width:78%; height:100%; background:var(--v2-gradient); }
.case-progress b{ font-size:12px; }
.case-meta{ display:grid; grid-template-columns:1fr 1.35fr; gap:20px; margin-top:28px; padding-top:20px; border-top:1px solid var(--v2-line-light); }
.case-meta span{ display:grid; gap:5px; }
.case-meta small{ color:#778083; font-size:10px; }
.case-meta strong{ font-size:12px; font-weight:650; }
.case-card__rail{ display:grid; grid-template-columns:repeat(6,1fr); gap:4px; padding:0 30px 22px; }
.case-card__rail i{ height:3px; background:#c6cccd; border-radius:3px; }
.case-card__rail i.active{ background:var(--v2-gradient); }

.source-chip{
  position:absolute;
  z-index:3;
  display:flex;
  align-items:center;
  gap:9px;
  padding:10px 13px;
  color:#dce2e3;
  background:rgba(14,17,17,.86);
  border:1px solid rgba(255,255,255,.18);
  border-radius:5px;
  box-shadow:0 18px 42px rgba(0,0,0,.28);
  backdrop-filter:blur(14px);
  font-size:11px;
  animation:chipDrift 5s ease-in-out infinite alternate;
}
.source-chip .ico{ color:var(--v2-teal); }
.source-chip--a{ top:108px; left:5px; }
.source-chip--b{ top:172px; right:-4px; animation-delay:-1.7s; }
.source-chip--c{ bottom:108px; left:32px; animation-delay:-3s; }
@keyframes chipDrift{ to{ transform:translateY(-8px); } }

.system-caption{ position:absolute; right:0; bottom:22px; display:flex; align-items:center; gap:10px; color:#899396; font-size:10px; letter-spacing:.04em; }
.system-caption>span:first-child{ width:34px; height:1px; background:var(--v2-teal); }
/* Hero lifecycle — explanatory logic of V1, visual language of V2 */
.lifecycle-orbit{
  --orbit-radius:235px;
  position:absolute;
  z-index:2;
  inset:0;
  animation:orbitEnter .9s var(--v2-ease) .28s both;
}

@keyframes orbitEnter{
  from{ opacity:0; transform:scale(.92) rotate(-3deg); }
  to{ opacity:1; transform:none; }
}

.orbit-ring{
  position:absolute;
  width:470px;
  height:470px;
  left:50%;
  top:50%;
  translate:-50% -50%;
  border-radius:50%;
}

.orbit-ring--base{
  border:1px solid rgba(255,255,255,.16);
  box-shadow:inset 0 0 90px rgba(85,201,189,.025),0 0 80px rgba(75,155,232,.035);
}

.orbit-ring--base::before,.orbit-ring--base::after{
  content:"";
  position:absolute;
  inset:40px;
  border:1px solid rgba(255,255,255,.045);
  border-radius:50%;
}
.orbit-ring--base::after{ inset:94px; }

@property --orbit-angle{
  syntax:"<angle>";
  inherits:false;
  initial-value:0deg;
}

.orbit-ring--progress{
  --orbit-angle:0deg;
  background:conic-gradient(from 0deg,var(--v2-teal) 0deg,var(--v2-blue) var(--orbit-angle),transparent var(--orbit-angle) 360deg);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));
  filter:drop-shadow(0 0 6px rgba(85,201,189,.55));
}

.orbit-node{
  --node-color:#758083;
  position:absolute;
  z-index:4;
  left:calc(50% + sin(var(--node-angle)) * var(--orbit-radius));
  top:calc(50% - cos(var(--node-angle)) * var(--orbit-radius));
  width:128px;
  display:grid;
  grid-template-rows:54px auto;
  align-items:center;
  justify-items:center;
  gap:7px;
  color:#8c9698;
  text-align:center;
  translate:-50% -27px;
  opacity:0;
  animation:nodeArrive .52s var(--v2-ease) calc(.45s + var(--node-delay,0s)) forwards;
}
.orbit-node__icon{
  width:45px;
  height:45px;
  display:grid;
  place-items:center;
  color:var(--node-color);
  background:#0d1111;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  box-shadow:0 14px 34px rgba(0,0,0,.35);
  transition:width .42s var(--v2-ease),height .42s var(--v2-ease),color .34s,background .34s,border-color .34s,box-shadow .42s var(--v2-ease),transform .42s var(--v2-ease);
}
.orbit-node__icon .ico{ width:18px; height:18px; }
.orbit-node strong{ max-width:15ch; color:inherit; font-size:11px; line-height:1.18; font-weight:600; letter-spacing:-.01em; transition:color .34s,opacity .34s; }
.orbit-node.is-complete{ --node-color:var(--v2-teal); color:#c5cecf; }
.orbit-node.is-complete .orbit-node__icon{ color:var(--v2-teal); background:#13201f; border-color:rgba(85,201,189,.48); box-shadow:0 0 0 4px rgba(85,201,189,.045),0 14px 34px rgba(0,0,0,.32); }
.orbit-node.is-active{ --node-color:#071010; color:#fff; }
.orbit-node.is-active .orbit-node__icon{ width:54px; height:54px; color:#071010; background:var(--v2-gradient); border-color:transparent; box-shadow:0 0 0 8px rgba(85,201,189,.08),0 16px 42px rgba(75,155,232,.24); transform:scale(1.04); }
.orbit-node.is-active::after{ content:""; position:absolute; top:24px; left:50%; width:8px; height:8px; translate:-50% -50%; border-radius:50%; box-shadow:0 0 0 17px rgba(85,201,189,.08); animation:activePulse 2.4s ease-out infinite; }
@keyframes activePulse{ 70%,100%{ box-shadow:0 0 0 32px transparent; } }
@keyframes nodeArrive{ from{ opacity:0; filter:blur(4px); } to{ opacity:1; filter:none; } }

.orbit-node[data-step="1"]{ --node-delay:0s; --node-angle:0deg; }
.orbit-node[data-step="2"]{ --node-delay:.07s; --node-angle:51.4286deg; }
.orbit-node[data-step="3"]{ --node-delay:.14s; --node-angle:102.8571deg; }
.orbit-node[data-step="4"]{ --node-delay:.21s; --node-angle:154.2857deg; }
.orbit-node[data-step="5"]{ --node-delay:.28s; --node-angle:205.7143deg; }
.orbit-node[data-step="6"]{ --node-delay:.35s; --node-angle:257.1429deg; }
.orbit-node[data-step="7"]{ --node-delay:.42s; --node-angle:308.5714deg; }

.orbit-hub{
  position:relative;
  z-index:5;
  width:270px;
  min-height:190px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:26px;
  color:#fff;
  background:linear-gradient(145deg,rgba(19,26,26,.98),rgba(8,11,11,.98));
  border:1px solid rgba(255,255,255,.2);
  border-radius:10px;
  box-shadow:0 0 0 12px rgba(255,255,255,.015),0 30px 90px rgba(0,0,0,.5),inset 0 0 54px rgba(85,201,189,.04);
}
.orbit-hub::before{ content:""; position:absolute; inset:-1px; z-index:-1; border-radius:11px; background:var(--v2-gradient); opacity:.22; filter:blur(20px); }
.orbit-hub .case-label{ margin:0; color:#aab4b6; font-size:12px; font-weight:620; letter-spacing:0; text-transform:none; }
.orbit-hub h2{ max-width:12ch; margin-top:10px; color:#fff; font-size:26px; line-height:1.03; font-weight:540; letter-spacing:-.04em; }
.orbit-hub__metric{ display:grid; grid-template-columns:1fr auto; align-items:center; gap:12px; margin-top:24px; }
.orbit-hub__metric>span{ height:6px; overflow:hidden; background:#2b3738; border-radius:999px; }
.orbit-hub__metric i{ display:block; width:78%; height:100%; background:var(--v2-gradient); }
.orbit-hub__metric b{ color:#dfe4e5; font-size:11px; font-weight:700; }

/* Problem */
.problem-v2{ padding:132px 0 142px; color:var(--v2-warm-text); background:var(--v2-warm); }
.problem-v2 .section-head{ max-width:960px; margin-bottom:72px; }
.problem-v2 .section-head h2{ max-width:16ch; color:var(--v2-warm-text); font-size:clamp(48px,5.6vw,76px); line-height:1.02; font-weight:520; }
.problem-v2 .section-head .lede{ max-width:58ch!important; color:var(--v2-warm-muted); font-size:19px; }
.problem-v2 .silos{ position:relative; grid-template-columns:repeat(3,1fr); gap:1px; padding:1px; background:var(--v2-line-warm); border-radius:12px; overflow:hidden; }
.problem-v2 .silo{
  min-height:210px;
  display:grid;
  grid-template-rows:auto 1fr auto;
  align-items:start;
  gap:20px;
  padding:28px;
  background:var(--v2-warm-surface);
  border:0;
  border-radius:0;
  box-shadow:none;
}
.problem-v2 .silo:nth-child(2){ background:var(--v2-warm-surface-2); }
.problem-v2 .silo strong{ font-size:22px; font-weight:580; letter-spacing:-.035em; }
.problem-v2 .silo-detail{ align-self:center; max-width:28ch; color:var(--v2-warm-muted); font-size:15px; line-height:1.55; }
.problem-v2 .silo .lost{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 10px;
  color:#f2a1a7;
  background:rgba(166,57,66,.14);
  border:1px solid rgba(242,161,167,.24);
  border-radius:999px;
  font-size:12px;
  font-weight:650;
  line-height:1.2;
}
.problem-v2 .silo .lost::before{ content:""; width:5px; height:5px; border-radius:50%; background:#bd5961; }
.problem-v2 .silos{ margin-bottom:0; }
.problem-v2 .consequences{ position:relative; margin-top:64px; }
.problem-v2 .consequences-title{
  max-width:none;
  margin:0 0 56px;
  color:var(--v2-warm-text);
  font-size:clamp(28px,3vw,38px);
  font-weight:540;
  line-height:1.12;
  letter-spacing:-.03em;
  text-align:center;
}
.problem-v2 .pains{ grid-template-columns:repeat(3,1fr); gap:1px; padding:1px; background:var(--v2-line-warm); border:0; border-radius:12px; }
.problem-v2 .pain{
  position:relative;
  min-height:178px;
  display:grid;
  grid-template-columns:42px 1fr;
  grid-template-rows:auto auto;
  align-content:center;
  column-gap:18px;
  row-gap:9px;
  padding:30px 28px;
  background:rgba(10,16,22,.38);
  border:0;
  border-radius:0;
}
.problem-v2 .pain:first-child{ border-radius:11px 0 0 11px; }
.problem-v2 .pain:last-child{ border-radius:0 11px 11px 0; }
.problem-v2 .pain::before{ content:""; position:absolute; left:50%; top:-46px; width:1px; height:30px; background:linear-gradient(var(--v2-line-warm),var(--v2-teal)); }
.problem-v2 .pain::after{ content:""; position:absolute; left:calc(50% - 3px); top:-17px; width:7px; height:7px; border-radius:50%; background:var(--v2-teal); box-shadow:0 0 14px rgba(85,201,189,.55); }
.problem-v2 .pain .ico-wrap{
  grid-row:1 / 3;
  width:40px;
  height:40px;
  border-radius:50%;
  background:rgba(85,201,189,.09);
  border:0;
  color:var(--v2-teal);
}
.problem-v2 .pain h3{ margin:0; color:var(--v2-warm-text); font-size:20px; font-weight:570; }
.problem-v2 .pain p{ grid-column:2; color:var(--v2-warm-muted); font-size:14.5px; line-height:1.55; }
@media (max-width:860px){
  .problem-v2 .consequences{ margin-top:48px; }
  .problem-v2 .consequences-title{ margin-bottom:30px; }
  .problem-v2 .pains{ grid-template-columns:1fr; }
  .problem-v2 .pain{ min-height:0; padding:26px 22px; }
  .problem-v2 .pain:first-child{ border-radius:11px 11px 0 0; }
  .problem-v2 .pain:last-child{ border-radius:0 0 11px 11px; }
  .problem-v2 .pain::before,.problem-v2 .pain::after{ display:none; }
}

/* Connected record / solution */
.solution-v2{ padding:136px 0 88px; color:var(--v2-white); background:var(--v2-ink); overflow:hidden; }
.solution-v2 .section-head{ max-width:920px; margin-bottom:22px; }
.solution-v2 .section-head h2{ max-width:14ch; color:var(--v2-white); font-size:clamp(50px,5.7vw,78px); line-height:.98; font-weight:520; }
.solution-v2 .section-head .lede{ color:#9ea8aa; font-size:19px; }
.solution-v2 .badge-line{ color:#b8c0c2; background:transparent; border-color:var(--v2-line-dark); }

.information-flow{
  position:relative;
  min-height:190px;
  margin-top:20px;
  display:grid;
  align-items:center;
}
.information-flow__track{
  position:absolute;
  left:7%;
  right:7%;
  top:50%;
  height:1px;
  overflow:visible;
  background:#30393a;
}
.information-flow__track span{
  position:absolute;
  inset:0;
  background:var(--v2-gradient);
  box-shadow:0 0 16px rgba(85,201,189,.28);
  transform:scaleX(0);
  transform-origin:left;
}
.information-flow.is-visible .information-flow__track span{ animation:informationTransferFill 5.2s linear .2s infinite; }
.information-flow__nodes{
  position:absolute;
  z-index:2;
  top:50%;
  left:7%;
  right:7%;
  display:flex;
  align-items:start;
  justify-content:space-between;
  transform:translateY(-27px);
}
.information-flow__step{
  min-width:54px;
  display:grid;
  justify-items:center;
  gap:12px;
}
.information-flow__step small{
  color:var(--v2-teal);
  font-size:14px;
  font-weight:650;
  line-height:1.15;
  white-space:nowrap;
}
.information-flow__node{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  color:#657173;
  background:#111616;
  border:1px solid rgba(255,255,255,.15);
  border-radius:50%;
  box-shadow:0 12px 34px rgba(0,0,0,.32);
}
.information-flow__node .ico{ width:19px; height:19px; }
.information-flow.is-visible .information-flow__node{
  animation:informationNodeReceive 5.2s var(--v2-ease) calc(.25s + var(--step) * .68s) infinite both;
}
.information-flow__packet{
  position:absolute;
  z-index:3;
  top:50%;
  left:7%;
  width:34px;
  height:10px;
  opacity:0;
  transform:translate(-50%,-50%);
}
.information-flow__packet i{
  position:absolute;
  top:2px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--v2-teal);
  box-shadow:0 0 16px rgba(85,201,189,.9);
}
.information-flow__packet i:nth-child(1){ right:0; }
.information-flow__packet i:nth-child(2){ right:11px; opacity:.48; transform:scale(.72); }
.information-flow__packet i:nth-child(3){ right:21px; opacity:.2; transform:scale(.52); }
.information-flow.is-visible .information-flow__packet{ animation:informationPacketTravel 5.2s var(--v2-ease) .2s infinite; }
@keyframes informationTransferFill{
  0%{ transform:scaleX(0); opacity:0; }
  5%{ opacity:1; }
  88%{ transform:scaleX(1); opacity:1; }
  96%,100%{ transform:scaleX(1); opacity:0; }
}
@keyframes informationPacketTravel{
  0%{ left:7%; opacity:0; }
  6%{ opacity:1; }
  88%{ left:93%; opacity:1; }
  94%,100%{ left:93%; opacity:0; }
}
@keyframes informationNodeReceive{
  0%{ color:#657173; background:#111616; border-color:rgba(255,255,255,.15); }
  6%{ color:#071010; background:var(--v2-teal); border-color:transparent; box-shadow:0 0 0 7px rgba(85,201,189,.08),0 0 30px rgba(85,201,189,.42); transform:scale(1.08); }
  14%,88%{ color:var(--v2-teal); background:#14201f; border-color:rgba(85,201,189,.42); transform:none; }
  96%,100%{ color:#657173; background:#111616; border-color:rgba(255,255,255,.15); box-shadow:0 12px 34px rgba(0,0,0,.32); transform:none; }
}

.record-stage{
  position:relative;
  min-height:650px;
  margin-top:76px;
  display:grid;
  place-items:center;
  isolation:isolate;
  border:1px solid var(--v2-line-dark);
  overflow:hidden;
}
.record-stage__grid{ z-index:-2; opacity:.32; mask-image:radial-gradient(circle at center,#000,transparent 76%); }
.record-card{
  z-index:2;
  width:min(590px,58%);
  padding:30px;
  color:var(--v2-ink);
  background:#e8eaeb;
  border-radius:8px;
  box-shadow:0 40px 100px rgba(0,0,0,.42);
}
.record-card__header{ display:flex; justify-content:space-between; color:#6a7476; font-size:10px; font-weight:750; letter-spacing:.1em; }
.record-card h3{ max-width:15ch; margin-top:16px; font-size:38px; line-height:1.02; font-weight:560; }
.record-card__alert{ display:grid; grid-template-columns:auto 1fr auto; gap:13px; align-items:center; margin-top:36px; padding:14px; background:#f7f8f7; border:1px solid rgba(5,6,6,.09); }
.record-card__alert>.ico{ color:#397f82; }
.record-card__alert>span{ display:grid; gap:4px; }
.record-card__alert strong{ font-size:12px; }
.record-card__alert small{ color:#6b7476; font-size:11px; }
.record-card__alert>b{ padding:7px 10px; color:#204f52; background:#d5eeeb; border-radius:3px; font-size:10px; }
.record-card__facts{ display:grid; grid-template-columns:1.5fr 1fr 1fr; margin-top:20px; border-top:1px solid var(--v2-line-light); }
.record-card__facts span{ display:grid; gap:7px; padding:18px 12px 0 0; }
.record-card__facts small{ color:#6b7476; font-size:10px; }
.record-card__facts strong{ font-size:13px; }

.record-input{
  position:absolute;
  z-index:3;
  display:flex;
  align-items:center;
  gap:12px;
  min-width:180px;
  padding:14px 16px;
  color:#e4e8e9;
  background:#111515;
  border:1px solid var(--v2-line-dark);
  box-shadow:0 18px 48px rgba(0,0,0,.3);
}
.record-input .ico{ color:var(--v2-teal); }
.record-input span{ display:grid; gap:3px; }
.record-input small{ color:#6f7b7d; font-size:9px; text-transform:uppercase; letter-spacing:.1em; }
.record-input strong{ font-size:11px; }
.record-input--one{ top:112px; left:6%; }
.record-input--two{ top:285px; right:5%; }
.record-input--three{ bottom:92px; left:10%; }
.record-lines{ position:absolute; inset:0; z-index:0; }
.record-lines i{ position:absolute; height:1px; transform-origin:left; background:linear-gradient(90deg,rgba(85,201,189,.05),var(--v2-teal),rgba(75,155,232,.15)); }
.record-lines i:nth-child(1){ width:31%; left:20%; top:28%; transform:rotate(20deg); }
.record-lines i:nth-child(2){ width:30%; left:54%; top:45%; transform:rotate(-12deg); }
.record-lines i:nth-child(3){ width:28%; left:21%; top:72%; transform:rotate(-17deg); }
.record-stage__caption{ position:absolute; bottom:24px; display:flex; align-items:center; gap:12px; color:#788385; font-size:11px; }
.record-stage__caption>span:first-child{ width:38px; height:1px; background:var(--v2-teal); }

.solution-v2 .lifecycle{
  margin-top:74px;
  padding:30px 22px;
  background:#0d1111;
  border:1px solid rgba(255,255,255,.16);
  border-radius:8px;
  box-shadow:0 28px 70px rgba(0,0,0,.25);
}
.solution-v2 .lifecycle-stage .dot{ color:#bfc8ca; background:#171c1c; border-color:rgba(255,255,255,.2); }
.solution-v2 .lifecycle-stage span{ color:#dce1e2; font-size:14px; }
.solution-v2 .lifecycle-stage:nth-child(1) .dot,
.solution-v2 .lifecycle-stage:nth-child(3) .dot{ color:var(--v2-teal); border-color:rgba(85,201,189,.5); background:rgba(85,201,189,.08); }
.solution-v2 .lifecycle-stage:nth-child(5) .dot{ color:#071010; border-color:transparent; background:var(--v2-gradient); box-shadow:0 0 0 7px rgba(85,201,189,.07); }
.solution-v2 .lifecycle-stage:nth-child(n+7) span{ color:#9aa5a7; }
.solution-v2 .lifecycle-arrow{ color:#778284; }
.solution-v2 .lifecycle-loop{ color:#7f8a8c; }

/* Remaining chapters harmonised with V2 */
#roles{
  --text:var(--v2-warm-text);
  --muted:var(--v2-warm-muted);
  --line:var(--v2-line-warm);
  --primary-ink:var(--v2-teal);
  padding:128px 0;
  color:var(--v2-warm-text);
  background:var(--v2-warm);
}
#roles .section-head h2,#trust .section-head h2{ max-width:15ch; font-size:clamp(46px,5vw,70px); line-height:1; font-weight:520; }
#roles .section-head h2{ color:var(--v2-warm-text); }
#roles .section-head .lede{ color:var(--v2-warm-muted); }
.roles{
  gap:16px;
  padding:16px;
  background:#10171d;
  border:1px solid rgba(174,205,229,.14);
  border-radius:12px;
  box-shadow:0 34px 90px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.025);
}
.role-card{
  min-height:278px;
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  grid-template-rows:auto 1fr auto;
  column-gap:24px;
  row-gap:14px;
  padding:34px;
  background:#151f28;
  border:1px solid rgba(174,205,229,.13);
  border-radius:8px;
  box-shadow:none;
  font:inherit;
  text-align:left;
  cursor:pointer;
  overflow:hidden;
}
.role-card:hover{ transform:translateY(-2px); background:#192630; border-color:rgba(85,201,189,.28); box-shadow:0 22px 54px rgba(0,0,0,.18); }
.role-card[aria-selected="true"]{ background:linear-gradient(145deg,#1a2a34,#14212a); border-color:rgba(85,201,189,.42); box-shadow:inset 0 -3px 0 var(--v2-teal),0 22px 60px rgba(0,0,0,.22); }
.role-card:focus-visible{ outline:2px solid var(--v2-teal); outline-offset:4px; }
.role-card[aria-selected="true"]::after{ content:""; position:absolute; top:24px; right:24px; width:9px; height:9px; border-radius:50%; background:var(--v2-teal); box-shadow:0 0 0 6px rgba(85,201,189,.08),0 0 20px rgba(85,201,189,.5); }
.role-card h3{ grid-column:2; align-self:end; margin:1px 34px 0 0; color:#f2f6f8; font-size:clamp(23px,2vw,28px); font-weight:560; line-height:1.15; letter-spacing:-.025em; }
.role-card p{ grid-column:2; max-width:48ch; margin:0; color:#aebbc6; font-size:16px; line-height:1.58; }
.role-card>.ico-wrap{ grid-column:1; grid-row:1 / span 2; width:58px; height:58px; border-radius:50%; background:var(--v2-gradient); box-shadow:0 0 0 8px rgba(85,201,189,.055); }
.role-card__action{
  grid-column:2;
  justify-self:start;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  margin-top:8px;
  padding:0 16px;
  color:var(--v2-white);
  background:rgba(255,255,255,.09);
  border:1px solid var(--v2-line-dark);
  border-radius:4px;
  font-size:15px;
  font-weight:650;
  letter-spacing:-.01em;
  line-height:1.2;
}
.role-card:not([aria-selected="true"]):hover .role-card__action{
  color:var(--v2-ink);
  background:var(--v2-white);
  border-color:var(--v2-white);
}
.role-card__action .ico{ transition:transform .22s var(--v2-ease); }
.role-card[aria-selected="true"] .role-card__action{
  color:#081413;
  background:var(--v2-gradient);
  border:0;
  padding-inline:17px;
  overflow:hidden;
  background-clip:padding-box;
}
.role-card[aria-selected="true"] .role-card__action .ico{ transform:none; }
.role-card:hover .role-card__action .ico{ transform:translateY(2px); }

.role-panel[hidden]{ display:none!important; }
.role-panel.is-active{ animation:rolePanelIn .48s var(--v2-ease) both; }
@keyframes rolePanelIn{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }

.persona{ padding:108px 0; }
#legislators{
  --text:var(--v2-white);
  --muted:#9ea8aa;
  --line:var(--v2-line-dark);
  --line-strong:rgba(255,255,255,.2);
  --surface-white:#12191f;
  --primary-soft:rgba(85,201,189,.1);
  --primary-ink:var(--v2-teal);
  --success-soft:rgba(85,201,189,.09);
  --success:var(--v2-teal);
  color:var(--v2-white);
  background:var(--v2-ink);
}
#legislators h2,#legislators h3{ color:var(--v2-white); }
#legislators .lede,#legislators .feature-copy p,#legislators .value-statement{ color:#9ea8aa; }
#legislators .feature-copy .num{ color:var(--v2-teal); }
#legislators .feature-list li{ color:#dce1e2; }
#legislators .feature-list .ico{ color:var(--v2-teal); }
#legislators .feature{ border-color:var(--v2-line-dark); }
#legislators .feature-visual{ color:#e8eef4; background:#101820; border-color:rgba(116,166,207,.18); }
#legislators .widget-title{ color:#e8eef4; }
#legislators .callout{ color:var(--v2-teal); background:rgba(85,201,189,.1); }
#commission{ color:var(--v2-white); background:var(--v2-ink); }
#commission h2,#commission h3{ color:var(--v2-white); }
#commission .lede,#commission .feature-copy p,#commission .value-statement{ color:#9ea8aa; }
#commission .feature-copy .num{ color:#9aa5a7; }
#commission .feature-list li{ color:#dce1e2; }
#commission .feature-list .ico{ color:var(--v2-teal); }
#commission .persona-switch{ background:#121515; border-color:var(--v2-line-dark); }
#commission .persona-switch a{ color:#aeb6b7; }
#commission .feature{ border-color:var(--v2-line-dark); }
#commission .feature-visual{ color:#e8eef4; background:#101820; border-color:rgba(116,166,207,.18); }
#commission .pillar{ color:#d8ddde; background:#111515; border-color:var(--v2-line-dark); }
#commission .persona-intro .pillars{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  padding:1px;
  background:var(--v2-line-dark);
  border:0;
  border-radius:12px;
  overflow:hidden;
}
#commission .persona-intro .pillar{
  min-height:148px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
  padding:22px 18px;
  border:0;
  border-radius:0;
  text-align:center;
}
#commission .persona-intro .pillar .ico-wrap{
  width:48px;
  height:48px;
  border-radius:50%;
  color:var(--v2-teal);
  background:rgba(85,201,189,.08);
  border:1px solid rgba(85,201,189,.22);
}
#commission .persona-intro .pillar span{ font-size:16px; font-weight:620; line-height:1.25; }

#legislators .persona-intro .pillars{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  padding:1px;
  background:var(--v2-line-dark);
  border:0;
  border-radius:12px;
  overflow:hidden;
}
#legislators .persona-intro .pillar{
  min-height:148px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
  padding:22px 18px;
  border:0;
  border-radius:0;
  text-align:center;
  background:#111515;
}
#legislators .persona-intro .pillar .ico-wrap{
  width:48px;
  height:48px;
  border-radius:50%;
  color:var(--v2-teal);
  background:rgba(85,201,189,.08);
  border:1px solid rgba(85,201,189,.22);
}
#legislators .persona-intro .pillar span{
  color:#d8ddde;
  font-size:16px;
  font-weight:620;
  line-height:1.25;
}

.persona-intro{ column-gap:72px; row-gap:44px; margin-bottom:92px; }
.persona-intro h2{ max-width:18ch; font-size:clamp(40px,4.2vw,58px); line-height:1.03; font-weight:520; letter-spacing:-.03em; }
.persona-intro>div:first-child>.lede{ max-width:60ch; margin-top:26px; font-size:17px; line-height:1.62; }
.persona-intro .value-statement{ max-width:58ch; margin-top:14px; font-size:19px; font-weight:520; line-height:1.5; }
.persona-intro>div:first-child>.callout{ margin-top:30px; }
.features{
  --timeline-progress:0;
  position:relative;
  gap:56px;
}
.features::before,.features::after{
  content:"";
  position:absolute;
  z-index:0;
  top:0;
  bottom:0;
  left:50%;
  width:1px;
  pointer-events:none;
}
.features::before{ background:var(--v2-line-warm); }
.features::after{
  background:var(--v2-gradient);
  box-shadow:0 0 18px rgba(85,201,189,.32);
  transform:scaleY(var(--timeline-progress));
  transform-origin:top;
  transition:transform .12s linear;
}
.feature{
  position:relative;
  z-index:1;
  padding:50px 0;
  border-top:1px solid var(--v2-line-warm);
}
.feature::before{
  content:"";
  position:absolute;
  z-index:3;
  top:0;
  left:50%;
  width:11px;
  height:11px;
  border:3px solid var(--v2-warm);
  border-radius:50%;
  background:#a8b1b2;
  box-shadow:0 0 0 1px var(--v2-line-warm);
  transform:translate(-50%,-50%);
  transition:width .35s var(--v2-ease),height .35s var(--v2-ease),background .35s,box-shadow .35s;
}
.feature.is-current::before{
  width:15px;
  height:15px;
  background:var(--v2-teal);
  box-shadow:0 0 0 5px rgba(85,201,189,.1),0 0 28px rgba(85,201,189,.5);
}
.feature>*{ position:relative; z-index:2; }
#commission .features::before{ background:var(--v2-line-dark); }
#commission .feature::before{ border-color:var(--v2-ink); background:#536062; box-shadow:0 0 0 1px var(--v2-line-dark); }
#commission .feature.is-current::before{ background:var(--v2-blue); box-shadow:0 0 0 5px rgba(75,155,232,.1),0 0 28px rgba(75,155,232,.48); }
@media (max-width:900px){
  .features{ padding-left:44px; }
  .features::before,.features::after{ left:15px; }
  .feature::before{ left:-29px; }
}
.feature-copy .num{ font-size:12px; font-weight:680; line-height:1; letter-spacing:.08em; text-transform:uppercase; }
.feature-copy h3{ max-width:19ch; margin-top:16px; font-size:clamp(28px,2.7vw,38px); line-height:1.1; font-weight:540; letter-spacing:-.035em; }
.feature-copy p{ max-width:56ch; margin-top:20px; font-size:16px; line-height:1.62; }
.feature-list{ margin-top:26px; gap:15px; }
.feature-list li{ gap:12px; font-size:15px; line-height:1.5; }
.feature-copy>.callout{ margin-top:30px; font-size:13.5px; font-weight:620; line-height:1.4; }
.feature-visual{
  --visual-text:#e8eef4;
  --visual-muted:#94a4b3;
  --visual-line:rgba(190,216,237,.14);
  position:relative;
  min-height:250px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:32px;
  color:var(--visual-text);
  border:1px solid var(--visual-line);
  border-radius:8px;
  box-shadow:0 28px 70px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.035);
  overflow:hidden;
}
.feature-visual::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:2px;
  background:var(--v2-gradient);
  opacity:.78;
}
.feature-visual::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-90px;
  top:-110px;
  border-radius:50%;
  background:rgba(75,155,232,.1);
  filter:blur(28px);
  pointer-events:none;
}
#legislators .feature-visual{ background:linear-gradient(145deg,#121d26,#0c1319); }
#commission .feature-visual{ background:linear-gradient(145deg,#121d26,#0c1319); }
.feature-visual>*{ position:relative; z-index:1; }
.feature-visual .widget-title{ margin-bottom:22px; color:var(--visual-text); font-size:14px; font-weight:680; }
.feature-visual .flow{ gap:9px; }
.feature-visual .flow .step{
  padding:10px 14px;
  color:var(--visual-text);
  background:rgba(255,255,255,.045);
  border:1px solid var(--visual-line);
  border-radius:4px;
  font-size:13px;
  font-weight:600;
}
.feature-visual .flow .ico{ color:var(--v2-teal); opacity:.72; }
.feature-visual .flow-caption{ margin-top:22px; color:var(--visual-muted); font-size:13px; font-style:normal; line-height:1.5; }
.feature-visual .checklist{ gap:8px; }
.feature-visual .checklist-item{
  min-height:46px;
  padding:11px 14px;
  color:var(--visual-text);
  background:rgba(255,255,255,.035);
  border:1px solid var(--visual-line);
  border-radius:4px;
}
.feature-visual .checklist-item span{ color:var(--visual-text); font-size:13.5px; font-weight:580; }
.feature-visual .checklist-item .ico{ color:var(--v2-teal); }
.feature-visual .checklist-status{ margin-top:18px; padding-top:18px; border-color:var(--visual-line); }
.feature-visual .checklist-status>span:first-child{ color:var(--visual-muted)!important; }
.feature-visual .checklist-status .status-pill{ color:#071010; background:var(--v2-teal); }
.feature-visual .decision-flow .row{ min-height:58px; padding:12px 0; border-color:var(--visual-line); }
.feature-visual .decision-flow .row>div:last-child>span{ color:var(--visual-text); font-size:13.5px!important; font-weight:620!important; }
.feature-visual .decision-flow .ico-wrap{ color:var(--v2-teal); background:rgba(85,201,189,.08); border:1px solid rgba(85,201,189,.18); border-radius:50%; }
.feature-visual .decision-flow small{ color:var(--visual-muted); line-height:1.4; }
.feature-visual .scorecard{ gap:18px; }
.feature-visual .scorecard .bar-row{ gap:16px; }
.feature-visual .scorecard .bar-row .label{ color:var(--visual-text); font-size:13px; font-weight:620; }
.feature-visual .scorecard .bar{ height:7px; background:rgba(255,255,255,.08); }
.feature-visual .scorecard .bar span{ box-shadow:0 0 18px rgba(85,201,189,.28); }
.widget-title{ margin:0 0 16px; color:var(--v2-ink); font-size:15px; font-weight:720; letter-spacing:-.01em; }

#trust{
  --text:var(--v2-warm-text);
  --muted:var(--v2-warm-muted);
  --line:var(--v2-line-warm);
  padding:132px 0 72px;
  color:var(--v2-warm-text);
  background:var(--v2-warm);
}
#trust .section-head{ max-width:1080px; }
#trust .section-head .lede{ max-width:60ch; }
#trust .section-head h2,.trust-card h3{ color:var(--v2-warm-text); }
#trust .section-head .lede,.trust-card p{ color:var(--v2-warm-muted); }
.trust-grid{ gap:1px; margin-bottom:0; background:var(--v2-line-warm); border:1px solid var(--v2-line-warm); border-radius:12px; overflow:hidden; }
.trust-card{ min-height:0; padding:30px 28px 28px; border:0; border-radius:0; background:var(--v2-warm-surface); }
.trust-card .ico-wrap{ border-radius:50%; }
.foundations span{ color:var(--v2-warm-muted); background:var(--v2-warm-surface); border-color:var(--v2-line-warm); }

.site-footer{ padding:54px 0 34px; color:#c6cdce; background:var(--v2-ink); border-color:var(--v2-line-dark); }
.site-footer .footer-top{ border-color:var(--v2-line-dark); }
.site-footer .nav-wordmark{ color:var(--v2-white); }
.site-footer .footer-brand span:last-child,.site-footer a,.site-footer .footer-bottom{ color:#717c7e; border-color:var(--v2-line-dark); }
.site-footer .footer-brand span:last-child{ font-size:13px; font-weight:500; text-transform:none; letter-spacing:0; }
.footer-brand img.brand-logo{ display:block; width:auto; height:30px; filter:invert(1); opacity:.92; }

@media (min-width:1320px){
  .site-footer .wrap{ width:calc(100% - 48px); max-width:none; }
}

/* Reveal choreography */
[data-reveal]{ transform:translateY(28px); transition-duration:.72s; transition-timing-function:var(--v2-ease); }

@media (max-width:1100px){
  .nav-links{ display:none; }
  .nav-menu-toggle{ display:grid; }
  .hero-layout{ grid-template-columns:1fr 1fr; gap:30px; }
  .hero-v2 .hero-copy h1{ font-size:clamp(54px,7vw,74px); }
  .hero-system{ min-height:540px; transform:scale(.9); transform-origin:center; }
  .hero-assistant{ right:24px; }
  .source-chip--b{ right:0; }
}

@media (max-width:820px){
  .wrap{ width:min(calc(100% - 28px),var(--page-max)); }
  .nav{ height:64px; }
  .mobile-nav{ height:calc(100dvh - 64px); }
  .nav-cta{ display:none; }
  .hero-v2{ min-height:auto; padding:118px 0 36px; }
  .hero-layout{ grid-template-columns:1fr; min-height:0; }
  .hero-v2 .hero-copy h1{ max-width:11ch; font-size:clamp(52px,12vw,76px); }
  .hero-v2 .hero-copy .lede{ font-size:17px; }
  .hero-system{ min-height:560px; transform:none; }
  .hero-assistant{ display:none; }
  .problem-v2,.solution-v2,#roles,.persona,#trust{ padding:84px 0; }
  .solution-v2{ padding-bottom:60px; }
  #trust{ padding-bottom:56px; }
  .problem-v2 .silos{ grid-template-columns:1fr; }
  .record-card{ width:min(590px,78%); }
  .record-input--one{ left:2%; }
  .record-input--two{ right:2%; }
  .record-input--three{ left:4%; }
  .roles{ padding:10px; gap:10px; }
  .role-card{ min-height:250px; padding:28px; }
}

@media (max-width:600px){
  .nav-wordmark{ font-size:15px; }
  .site-footer .footer-brand span:last-child{ width:100%; margin-left:0; padding-left:0; border-left:0; }
  .hero-v2{ padding-top:104px; }
  .hero-v2 .hero-copy h1{ font-size:clamp(46px,14vw,62px); line-height:.96; }
  .hero-cta{ align-items:flex-start; flex-direction:column; gap:20px; }
  .hero-system{ width:132%; min-height:480px; margin-inline:-16%; transform:scale(.76); transform-origin:center; }
  .lifecycle-orbit{ --orbit-radius:210px; inset:0; }
  .orbit-ring{ width:420px; height:420px; }
  .orbit-node{ width:112px; }
  .orbit-node strong{ font-size:10px; }
  .orbit-hub{ width:230px; min-height:178px; padding:22px; }
  .orbit-hub h2{ font-size:22px; }
  .data-ribbon{ inset:48px -150px; gap:6px; }
  .data-ribbon span{ width:10px; }
  .case-card{ width:86%; }
  .case-card__body{ padding:22px; }
  .case-card h2{ font-size:26px; }
  .case-meta{ grid-template-columns:1fr; gap:12px; }
  .source-chip{ padding:8px 10px; }
  .source-chip--a{ top:48px; left:3px; }
  .source-chip--b{ top:126px; right:0; }
  .source-chip--c{ bottom:58px; left:12px; }
  .system-caption{ display:none; }
  .problem-v2 .section-head h2,.solution-v2 .section-head h2,#roles .section-head h2,#trust .section-head h2{ font-size:43px; }
  .problem-v2 .section-head{ margin-bottom:48px; }
  .record-stage{ min-height:700px; }
  .record-card{ width:calc(100% - 28px); }
  .record-card h3{ font-size:30px; }
  .record-card__alert{ grid-template-columns:auto 1fr; }
  .record-card__alert>b{ grid-column:2; justify-self:start; }
  .record-input{ min-width:150px; }
  .record-input--one{ top:42px; left:14px; }
  .record-input--two{ top:150px; right:14px; }
  .record-input--three{ bottom:56px; left:14px; }
  .record-lines{ display:none; }
  .record-stage__caption{ display:none; }
  .solution-v2 .lifecycle{ overflow-x:auto; justify-content:flex-start; }
  .information-flow{ min-height:176px; margin-top:20px; }
  .information-flow__track{ left:5%; right:5%; }
  .information-flow__nodes{ left:5%; right:5%; transform:translateY(-21px); }
  .information-flow__step{ min-width:42px; gap:9px; }
  .information-flow__step small{ font-size:11px; }
  .information-flow__node{ width:42px; height:42px; }
  .information-flow__node .ico{ width:16px; height:16px; }
  .information-flow__packet{ left:5%; }
  .role-card{
    min-height:0;
    grid-template-columns:48px minmax(0,1fr);
    column-gap:18px;
    padding:24px 20px;
  }
  .role-card>.ico-wrap{ width:46px; height:46px; box-shadow:0 0 0 6px rgba(85,201,189,.05); }
  .role-card h3{ margin-right:20px; font-size:22px; }
  .role-card p{ grid-column:1 / -1; font-size:15.5px; line-height:1.55; }
  .role-card__action{ grid-column:1 / -1; width:100%; justify-content:space-between; margin-top:4px; }
  .persona-intro{ margin-bottom:60px; }
  .persona-intro h2{ font-size:clamp(36px,10vw,48px); }
  .persona-intro>div:first-child>.lede{ margin-top:22px; font-size:16px; }
  .persona-intro .value-statement{ margin-top:12px; font-size:18px; }
  .persona-intro>div:first-child>.callout{ margin-top:26px; }
  #commission .persona-intro .pillar,
  #legislators .persona-intro .pillar{ min-height:126px; padding:18px 10px; gap:12px; }
  #commission .persona-intro .pillar .ico-wrap,
  #legislators .persona-intro .pillar .ico-wrap{ width:42px; height:42px; }
  #commission .persona-intro .pillar span,
  #legislators .persona-intro .pillar span{ font-size:13px; }
  .features{ gap:34px; }
  .feature{ padding:38px 0; gap:28px; }
}

@media (prefers-reduced-motion:reduce){
  .data-ribbon span,.case-card--hero,.source-chip,.lifecycle-orbit,.orbit-node,.orbit-node.is-active::after,.orbit-hub,.hero-assistant{ animation:none!important; }
  .orbit-node{ opacity:1; }
  .features::after{ transform:scaleY(1); transition:none; }
  .feature::before{ transition:none; }
  .orbit-ring--progress{ --orbit-angle:180deg; animation:none!important; }
  .information-flow__track span{ transform:scaleX(1); animation:none!important; }
  .information-flow__packet{ display:none; }
  .information-flow__node{ color:var(--v2-teal); background:#14201f; border-color:rgba(85,201,189,.42); animation:none!important; }
}
[data-reveal-group] > *{ transition-delay:calc(var(--i,0) * 70ms); }

/* ================================================================
   V4 — product narrative
   ================================================================ */

/* The hero metric now reports the active lifecycle phase. */
.orbit-hub{ gap:0; }
.orbit-hub__phase{
  display:inline-flex;
  align-self:center;
  align-items:center;
  justify-content:center;
  max-width:none;
  margin:18px auto 0;
  padding:7px 12px;
  color:#b8c8cc;
  background:rgba(85,201,189,.08);
  border:1px solid rgba(85,201,189,.18);
  border-radius:999px;
  font-size:12px;
  font-weight:620;
  line-height:1.35;
  text-align:center;
  white-space:nowrap;
  box-sizing:border-box;
  overflow:hidden;
  transition:width .42s var(--v2-ease),color .25s ease,background-color .25s ease,border-color .25s ease;
}
.orbit-hub__phase--measure{ position:absolute; width:max-content!important; visibility:hidden; pointer-events:none; transition:none; }
.orbit-hub__phase + .orbit-hub__metric{ margin-top:18px; }
.orbit-hub__metric span i{ width:14%; transition:width .7s var(--v2-ease); }
.orbit-hub__metric b{ min-width:40px; font-variant-numeric:tabular-nums; }

/* A single piece of evidence travelling through one living record. */
.solution-v2{ padding-bottom:104px; }
.solution-v2 .section-head{ margin-bottom:46px; }
.record-journey{
  --journey-progress:0;
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  grid-template-areas:"top top" "rail detail";
  gap:0;
  max-width:1180px;
  margin:0 auto;
  background:#0b1014;
  border:1px solid rgba(177,211,235,.16);
  border-radius:12px;
  box-shadow:0 44px 110px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.03);
  overflow:hidden;
}
.record-journey::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:calc(var(--journey-progress) * 100%);
  height:2px;
  background:var(--v2-gradient);
  box-shadow:0 0 20px rgba(85,201,189,.45);
  transition:width .65s var(--v2-ease);
}
.record-journey__topline{
  grid-area:top;
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:18px 22px;
  color:#82919a;
  background:#10171d;
  border-bottom:1px solid rgba(177,211,235,.12);
  font-size:11px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.record-journey__topline strong{ color:#c5d0d6; font-weight:640; }
.record-journey__rail{
  grid-area:rail;
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  padding:28px;
  background:linear-gradient(145deg,#101920,#0b1116);
}
.journey-step{
  position:relative;
  min-height:158px;
  display:grid;
  align-content:center;
  justify-items:start;
  gap:10px;
  padding:24px 20px;
  color:#8e9da6;
  background:transparent;
  border:0;
  border-right:1px solid rgba(177,211,235,.1);
  border-bottom:1px solid rgba(177,211,235,.1);
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:color .35s,background .35s;
}
.journey-step:nth-child(3n){ border-right:0; }
.journey-step:nth-child(n+4){ border-bottom:0; }
.journey-step::after{
  content:"";
  position:absolute;
  inset:auto 18px 0;
  height:2px;
  background:var(--v2-gradient);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .45s var(--v2-ease);
}
.journey-step:hover,.journey-step.is-active{ color:#f0f5f7; background:rgba(85,201,189,.045); }
.journey-step.is-complete{ color:#a9c5c4; }
.journey-step.is-active::after{ transform:scaleX(1); }
.journey-step:focus-visible{ outline:2px solid var(--v2-teal); outline-offset:-3px; }
.journey-step__index{ margin-bottom:8px; color:#617079; font-size:10px; font-weight:700; letter-spacing:.12em; }
.journey-step__icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  color:currentColor;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(177,211,235,.12);
  border-radius:50%;
}
.journey-step.is-active .journey-step__icon{ color:#071211; background:var(--v2-teal); border-color:transparent; box-shadow:0 0 0 7px rgba(85,201,189,.07),0 0 28px rgba(85,201,189,.24); }
.journey-step strong{ font-size:15px; font-weight:650; line-height:1.2; }
.journey-step__description{ position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; }
.record-journey__detail{
  grid-area:detail;
  min-height:344px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:42px;
  background:radial-gradient(circle at 100% 0,rgba(75,155,232,.13),transparent 44%),#111a21;
  border-left:1px solid rgba(177,211,235,.12);
}
.record-journey__status{ display:flex; align-items:center; gap:9px; margin-bottom:32px; color:#8fa0aa; }
.record-journey__status>span{ width:7px; height:7px; border-radius:50%; background:var(--v2-teal); box-shadow:0 0 15px rgba(85,201,189,.7); }
.record-journey__status small{ font-size:11px; font-weight:650; letter-spacing:.08em; text-transform:uppercase; }
.record-journey__detail>div:nth-child(2){ display:flex; align-items:baseline; gap:14px; }
.record-journey__number{ color:var(--v2-teal); font-size:11px; font-weight:700; letter-spacing:.1em; }
.record-journey__detail h3{ color:#f4f7f8; font-size:clamp(30px,3vw,42px); font-weight:540; letter-spacing:-.035em; }
.record-journey__detail>p{ min-height:78px; margin-top:18px; color:#aab7bf; font-size:16px; line-height:1.55; }
.record-journey__meta{ display:flex; flex-wrap:wrap; gap:8px; margin-top:28px; }
.record-journey__meta span{ padding:7px 9px; color:#94a5ad; background:rgba(255,255,255,.035); border:1px solid rgba(177,211,235,.11); border-radius:3px; font-size:10px; font-weight:620; }

/* Product chapters: fewer, larger and visually part of the same system. */
.persona{ padding-top:118px; }
.persona-intro{ margin-bottom:72px; }
.features{ gap:0; }
.feature{
  min-height:620px;
  align-items:center;
  gap:clamp(54px,8vw,112px);
  padding:92px 0;
}
.feature-copy{ align-self:center; }
.feature-copy h3{ font-size:clamp(34px,3.2vw,48px); line-height:1.04; }
.feature-copy>p{ font-size:17px; }
.feature-visual{
  position:sticky;
  top:118px;
  min-height:390px;
  justify-content:center;
  padding:78px 38px 38px;
  border-radius:10px;
  box-shadow:0 38px 90px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.04);
  transition:border-color .45s var(--v2-ease),box-shadow .45s var(--v2-ease),transform .45s var(--v2-ease);
}
.feature.is-current .feature-visual{ border-color:rgba(85,201,189,.3); box-shadow:0 44px 110px rgba(0,0,0,.38),0 0 0 1px rgba(85,201,189,.05),inset 0 1px 0 rgba(255,255,255,.05); transform:translateY(-4px); }
.feature-visual::before{
  content:"RIA CASE  /  170–2018";
  inset:0 0 auto;
  height:42px;
  display:flex;
  align-items:center;
  padding:0 18px 0 64px;
  color:#778893;
  background:
    radial-gradient(circle at 20px 50%,#55c9bd 0 3px,transparent 3.5px),
    radial-gradient(circle at 32px 50%,#4b9be8 0 3px,transparent 3.5px),
    radial-gradient(circle at 44px 50%,#53616b 0 3px,transparent 3.5px),
    #10171d;
  border-bottom:1px solid var(--visual-line);
  font-size:9px;
  font-weight:700;
  letter-spacing:.12em;
  opacity:1;
}
.feature-visual::after{ top:-60px; right:-70px; width:230px; height:230px; }
.feature-visual .flow{ flex-wrap:wrap; justify-content:center; }
.feature-visual .flow .step{ padding:13px 16px; font-size:14px; }
.feature-visual .flow-caption{ font-size:14px; }
.feature-visual .checklist-item{ min-height:54px; padding:14px 16px; }
.feature-visual .checklist-item span,.feature-visual .decision-flow .row>div:last-child>span{ font-size:14.5px!important; }
.feature-visual .decision-flow .row{ min-height:66px; }
.feature-visual .scorecard .bar-row .label{ font-size:14px; }

/* Trust closes the proof. The CTA closes the story. */
#trust{ padding-bottom:104px; }
.final-cta{
  position:relative;
  padding:124px 0;
  color:#f2f6f7;
  background:
    radial-gradient(circle at 16% 10%,rgba(85,201,189,.13),transparent 34%),
    radial-gradient(circle at 90% 100%,rgba(75,155,232,.12),transparent 38%),
    #070b0e;
  border-top:1px solid rgba(177,211,235,.12);
  overflow:hidden;
}
.final-cta::before{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(177,211,235,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(177,211,235,.035) 1px,transparent 1px); background-size:88px 88px; mask-image:linear-gradient(to bottom,black,transparent 80%); }
.final-cta__layout{ position:relative; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr); gap:clamp(60px,10vw,150px); align-items:start; }
.final-cta__label{ display:block; margin-bottom:24px; color:var(--v2-teal); font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.final-cta h2{ max-width:12ch; color:#f5f8f9; font-size:clamp(48px,6vw,82px); font-weight:520; line-height:.96; letter-spacing:-.03em; }
.final-cta__content>p{ max-width:50ch; color:#a7b3b8; font-size:18px; line-height:1.62; }
.final-cta__content ul{ display:grid; gap:14px; margin:30px 0 0; padding:0; list-style:none; }
.final-cta__content li{ display:flex; gap:12px; align-items:center; color:#d7dfe2; font-size:15px; }
.final-cta__content li .ico{ color:var(--v2-teal); }
.final-cta__button{ margin-top:38px; }

@media (max-width:900px){
  .record-journey{ grid-template-columns:1fr; grid-template-areas:"top" "rail" "detail"; }
  .record-journey__detail{ min-height:280px; border-left:0; border-top:1px solid rgba(177,211,235,.12); }
  .feature{ min-height:0; padding:70px 0; gap:40px; }
  .feature-visual{ position:relative; top:auto; min-height:340px; }
  .final-cta__layout{ grid-template-columns:1fr; gap:48px; }
}
@media (max-width:600px){
  .solution-v2{ padding-bottom:72px; }
  .solution-v2 .section-head{ margin-bottom:32px; }
  .record-journey__topline{ align-items:flex-start; flex-direction:column; gap:7px; }
  .record-journey__rail{ grid-template-columns:repeat(2,minmax(0,1fr)); padding:12px; }
  .journey-step{ min-height:132px; padding:18px 14px; }
  .journey-step:nth-child(3n){ border-right:1px solid rgba(177,211,235,.1); }
  .journey-step:nth-child(2n){ border-right:0; }
  .journey-step:nth-child(n+4){ border-bottom:1px solid rgba(177,211,235,.1); }
  .journey-step:nth-child(n+5){ border-bottom:0; }
  .record-journey__detail{ padding:32px 24px; }
  .feature{ padding:58px 0; }
  .feature-visual{ min-height:310px; padding:70px 22px 28px; }
  #trust{ padding-bottom:72px; }
  .final-cta{ padding:88px 0; }
  .final-cta h2{ font-size:clamp(44px,13vw,62px); }
}

@media (prefers-reduced-motion:reduce){
  .record-journey::before,.journey-step::after,.orbit-hub__metric span i{ transition:none!important; }
  .btn--primary::before{ display:none; }
  .nav-logo__robot,.nav-logo__body,.nav-logo__head,.nav-logo__eye{ animation:none!important; }
}

/* Theme control */
.theme-toggle{
  position:relative;
  display:inline-grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  width:58px;
  height:32px;
  padding:0 7px;
  color:#95a2a7;
  background:rgba(255,255,255,.06);
  border:1px solid var(--v2-line-dark);
  border-radius:999px;
  cursor:pointer;
  isolation:isolate;
}
.theme-toggle__icon{ width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:color .25s var(--v2-ease); }
.theme-toggle__icon--sun{ justify-self:start; }
.theme-toggle__icon--moon{ justify-self:end; color:#e8eef1; }
.theme-toggle__thumb{
  position:absolute;
  z-index:-1;
  top:3px;
  right:3px;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#26333a;
  box-shadow:0 2px 8px rgba(0,0,0,.28);
  transition:transform .35s var(--v2-ease),background-color .35s var(--v2-ease);
}
.theme-toggle:focus-visible{ outline:2px solid var(--v2-teal); outline-offset:3px; }

/* Light theme: calm institutional surfaces with blue undertones. */
html[data-theme="light"]{ color-scheme:light; }
html[data-theme="light"] body{ color:#15242f; background:#f5f8fa; }
html[data-theme="light"] .nav{ color:#15242f; background:rgba(250,252,253,.94); border-color:rgba(38,77,103,.14); }
html[data-theme="light"] .nav.is-scrolled{ background:rgba(250,252,253,.92); box-shadow:0 12px 36px rgba(25,57,78,.09); }
html[data-theme="light"] .nav-brand .brand-logo,
html[data-theme="light"] .footer-brand img.brand-logo{ filter:none; }
html[data-theme="light"] .nav-brand .brand-logo--animated{ color:#101a20; }
html[data-theme="light"] .nav-logo__eye{ fill:#f5f8fa; }
html[data-theme="light"] .nav-links a{ color:#637481; }
html[data-theme="light"] .nav-links a:hover,
html[data-theme="light"] .nav-links a.is-active{ color:#14232e; }
html[data-theme="light"] .nav-links a:hover{ background:rgba(29,76,101,.055); }
html[data-theme="light"] .nav-links a.is-active{
  background:linear-gradient(110deg,rgba(31,154,145,.11),rgba(75,155,232,.1));
  border-color:rgba(24,125,132,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 7px 18px rgba(24,62,87,.07);
}
html[data-theme="light"] .lang-switch{ background:#edf3f6; border-color:rgba(38,77,103,.13); }
html[data-theme="light"] .lang-btn{ color:#687985; }
html[data-theme="light"] .lang-btn.is-active{ color:#14232e; background:#fff; box-shadow:0 2px 8px rgba(25,57,78,.08); }
html[data-theme="light"] .nav-cta{ color:#285064; background:#fff; border-color:rgba(38,77,103,.2); }
html[data-theme="light"] .nav-cta:hover{ color:#183341; background:#edf3f6; border-color:rgba(38,77,103,.3); }
html[data-theme="light"] .nav-menu-toggle{ color:#183341; background:#edf3f6; border-color:rgba(38,77,103,.13); }
html[data-theme="light"] .mobile-nav{ color:#15242f; background:rgba(247,250,252,.98); }
html[data-theme="light"] .mobile-nav a{ color:#15242f; border-color:rgba(38,77,103,.12); }
html[data-theme="light"] .theme-toggle{ color:#7a8992; background:#e6eef2; border-color:rgba(38,77,103,.14); }
html[data-theme="light"] .theme-toggle__icon--sun{ color:#184b62; }
html[data-theme="light"] .theme-toggle__icon--moon{ color:#80909a; }
html[data-theme="light"] .theme-toggle__thumb{ background:#fff; box-shadow:0 2px 9px rgba(25,57,78,.16); transform:translateX(-26px); }

html[data-theme="light"] .hero-v2{ color:#15242f; background:#f5f8fa; }
html[data-theme="light"] .hero-grid{ opacity:.7; background-image:linear-gradient(90deg,rgba(44,90,117,.07) 1px,transparent 1px); }
html[data-theme="light"] .hero-glow--one{ background:rgba(36,164,164,.11); }
html[data-theme="light"] .hero-glow--two{ background:rgba(75,155,232,.1); }
html[data-theme="light"] .hero-assistant{ opacity:1; }
html[data-theme="light"] .hero-v2 .hero-copy h1{ color:#13232e; }
html[data-theme="light"] .hero-v2 .hero-copy .lede{ color:#5e707d; }
html[data-theme="light"] .hero-v2 .text-link{ color:#28414f; }
html[data-theme="light"] .orbit-ring--base{ border-color:rgba(34,70,94,.18); }
html[data-theme="light"] .orbit-node strong{ color:#516571; }
html[data-theme="light"] .orbit-node__icon{ color:#526874; background:#fff; border-color:rgba(35,75,101,.18); box-shadow:0 8px 24px rgba(23,59,83,.1); }
html[data-theme="light"] .orbit-node.is-complete .orbit-node__icon{ color:#087c77; background:#e8f6f4; border-color:rgba(23,143,136,.34); }
html[data-theme="light"] .orbit-node.is-complete strong{ color:#2f555c; }
html[data-theme="light"] .orbit-node.is-active strong{ color:#14232e; }
html[data-theme="light"] .orbit-hub{ color:#15242f; background:rgba(255,255,255,.94); border-color:rgba(41,86,111,.2); box-shadow:0 24px 70px rgba(24,62,87,.15); }
html[data-theme="light"] .orbit-hub .case-label{ color:#405866; }
html[data-theme="light"] .orbit-hub h2{ color:#14232e; }
html[data-theme="light"] .orbit-hub__phase{ color:#28616a; background:#e5f3f1; border-color:rgba(8,124,119,.2); font-weight:680; }
html[data-theme="light"] .orbit-hub__metric span{ background:#dce8ed; }
html[data-theme="light"] .orbit-hub__metric b{ color:#203744; }

html[data-theme="light"] .problem-v2,
html[data-theme="light"] #roles,
html[data-theme="light"] #trust{ color:#15242f; background:#eaf1f5; }
html[data-theme="light"] .problem-v2 .section-head h2,
html[data-theme="light"] #roles .section-head h2,
html[data-theme="light"] #trust .section-head h2,
html[data-theme="light"] .trust-card h3{ color:#14232e; }
html[data-theme="light"] .problem-v2 .section-head .lede,
html[data-theme="light"] #roles .section-head .lede,
html[data-theme="light"] #trust .section-head .lede,
html[data-theme="light"] .trust-card p{ color:#60727f; }
html[data-theme="light"] .problem-v2 .silos,
html[data-theme="light"] .problem-v2 .pains,
html[data-theme="light"] .trust-grid{ background:rgba(38,77,103,.13); border-color:rgba(38,77,103,.13); }
html[data-theme="light"] .problem-v2 .silo,
html[data-theme="light"] .problem-v2 .silo:nth-child(2),
html[data-theme="light"] .problem-v2 .pain,
html[data-theme="light"] .trust-card{ color:#15242f; background:#fff; }
html[data-theme="light"] .problem-v2 .silo-detail,
html[data-theme="light"] .problem-v2 .pain p{ color:#61737f; }
html[data-theme="light"] .problem-v2 .silo .lost{
  color:#bd5961;
  background:rgba(189,89,97,.1);
  border-color:rgba(189,89,97,.24);
}
html[data-theme="light"] .problem-v2 .consequences-title,
html[data-theme="light"] .problem-v2 .pain h3{ color:#14232e; }
html[data-theme="light"] .problem-v2 .pain::before{ background:linear-gradient(rgba(38,77,103,.14),var(--v2-teal)); }

html[data-theme="light"] .solution-v2{ color:#15242f; background:#f8fafb; }
html[data-theme="light"] .solution-v2 .section-head h2{ color:#14232e; }
html[data-theme="light"] .solution-v2 .section-head .lede{ color:#60727f; }

html[data-theme="light"] .roles{ background:#dbe7ed; border-color:rgba(38,77,103,.12); }
html[data-theme="light"] .role-card{ background:#fff; border-color:rgba(38,77,103,.12); }
html[data-theme="light"] .role-card:hover{ background:#f7fbfc; border-color:rgba(23,143,136,.35); box-shadow:0 22px 54px rgba(24,62,87,.11); }
html[data-theme="light"] .role-card[aria-selected="true"]{ background:linear-gradient(145deg,#f4fbfa,#eaf5f5); border-color:rgba(23,143,136,.4); box-shadow:inset 0 -3px 0 var(--v2-teal),0 20px 50px rgba(24,62,87,.1); }
html[data-theme="light"] .role-card h3{ color:#14232e; }
html[data-theme="light"] .role-card p{ color:#60727f; }
html[data-theme="light"] .role-card__action{ color:#285064; background:#fff; border-color:rgba(38,77,103,.2); }
html[data-theme="light"] .role-card:not([aria-selected="true"]):hover .role-card__action{ color:#183341; background:#edf3f6; border-color:rgba(38,77,103,.3); }

html[data-theme="light"] #legislators,
html[data-theme="light"] #commission{ color:#15242f; background:#f8fafb; }
html[data-theme="light"] #legislators h2,
html[data-theme="light"] #legislators h3,
html[data-theme="light"] #commission h2,
html[data-theme="light"] #commission h3{ color:#14232e; }
html[data-theme="light"] #legislators .lede,
html[data-theme="light"] #legislators .feature-copy p,
html[data-theme="light"] #legislators .value-statement,
html[data-theme="light"] #commission .lede,
html[data-theme="light"] #commission .feature-copy p,
html[data-theme="light"] #commission .value-statement{ color:#60727f; }
html[data-theme="light"] #legislators .feature-list li,
html[data-theme="light"] #commission .feature-list li{ color:#314957; }
html[data-theme="light"] #legislators .feature,
html[data-theme="light"] #commission .feature{ border-color:rgba(38,77,103,.13); }
html[data-theme="light"] #commission .pillar,
html[data-theme="light"] #legislators .pillar{ color:#203744; background:#fff; border-color:rgba(38,77,103,.13); }
html[data-theme="light"] #commission .persona-intro .pillars,
html[data-theme="light"] #legislators .persona-intro .pillars{
  background:rgba(38,77,103,.13);
  border-color:rgba(38,77,103,.13);
}
html[data-theme="light"] #commission .persona-intro .pillar,
html[data-theme="light"] #legislators .persona-intro .pillar,
html[data-theme="light"] #legislators .persona-intro .pillar--result{
  color:#203744;
  background:#fff;
}
html[data-theme="light"] #commission .persona-intro .pillar span,
html[data-theme="light"] #legislators .persona-intro .pillar span,
html[data-theme="light"] #legislators .persona-intro .pillar--result span{ color:#203744; }
html[data-theme="light"] #commission .persona-intro .pillar .ico-wrap,
html[data-theme="light"] #legislators .persona-intro .pillar .ico-wrap,
html[data-theme="light"] #legislators .persona-intro .pillar--result .ico-wrap{
  color:#087c77;
  background:#e6f4f2;
  border-color:rgba(8,124,119,.22);
}
html[data-theme="light"] #commission .callout,
html[data-theme="light"] #legislators .callout{
  color:#087c77;
  background:#e2f2f0;
}
html[data-theme="light"] #legislators .feature-copy .num{ color:#087c77; }
html[data-theme="light"] #commission .features::before{ background:rgba(38,77,103,.15); }
html[data-theme="light"] #commission .feature::before{ border-color:#f8fafb; background:#87969e; }

html[data-theme="light"] .foundations span{ color:#5d707c; background:#fff; border-color:rgba(38,77,103,.13); }
html[data-theme="light"] .final-cta{ color:#15242f; background:radial-gradient(circle at 16% 10%,rgba(85,201,189,.16),transparent 34%),radial-gradient(circle at 90% 100%,rgba(75,155,232,.14),transparent 38%),#edf4f7; border-color:rgba(38,77,103,.13); }
html[data-theme="light"] .final-cta::before{ background-image:linear-gradient(rgba(38,77,103,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(38,77,103,.05) 1px,transparent 1px); }
html[data-theme="light"] .final-cta h2{ color:#14232e; }
html[data-theme="light"] .final-cta__content>p{ color:#5e707d; }
html[data-theme="light"] .final-cta__content li{ color:#304955; }
html[data-theme="light"] .site-footer{ color:#314956; background:#fff; border-color:rgba(38,77,103,.13); }
html[data-theme="light"] .site-footer .footer-top{ border-color:rgba(38,77,103,.13); }
html[data-theme="light"] .site-footer .footer-brand span:last-child,
html[data-theme="light"] .site-footer a,
html[data-theme="light"] .site-footer .footer-bottom{ color:#687985; border-color:rgba(38,77,103,.13); }

body,.nav,.hero-v2,.problem-v2,.solution-v2,#roles,.persona,#trust,.final-cta,.site-footer,.role-card,.trust-card,.pillar{
  transition:background-color .35s var(--v2-ease),color .35s var(--v2-ease),border-color .35s var(--v2-ease);
}

@media (max-width:600px){
  .theme-toggle{ width:52px; }
  html[data-theme="light"] .theme-toggle__thumb{ transform:translateX(-20px); }
}
