/* L2ET Research - main.css
 * Color tokens at the top: swap these to re-skin the entire site.
 * Dark futuristic by default. Conservative Swiss variant included as a commented block below.
 */

:root {
  /* === Brand palette (futuristic) === */
  --bg-base: #05060F;
  --bg-elevated: #0B0E22;
  --bg-card: rgba(15, 19, 48, 0.55);
  --bg-card-solid: #0F1330;

  --accent: #7C3AED;
  --accent-bright: #A78BFA;
  --accent-dark: #4C1D95;

  --signal: #00FF87;
  --signal-bright: #39FF14;
  --signal-dim: rgba(0, 255, 135, 0.35);

  --night: #1E3A8A;
  --night-bright: #3B4DCC;

  --txt: #F5F7FF;
  --txt-2: #A3A9D1;
  --txt-3: #6B7299;

  --bord: rgba(124, 58, 237, 0.22);
  --bord-2: rgba(0, 255, 135, 0.28);
  --bord-bright: rgba(124, 58, 237, 0.45);

  --radius: 10px;
  --radius-lg: 14px;
  --radius-pill: 99px;

  --max-w: 1240px;
  --container-pad: clamp(1rem, 4vw, 2.5rem);

  --font-sans: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

  --ease: cubic-bezier(.22,.61,.36,1);
}

/* === Conservative Swiss variant - uncomment to switch the entire site ===
:root {
  --bg-base: #FFFFFF;
  --bg-elevated: #F4F5F8;
  --bg-card: rgba(244, 245, 248, 0.85);
  --bg-card-solid: #FFFFFF;
  --accent: #0B1F44;
  --accent-bright: #1E3A8A;
  --accent-dark: #06122C;
  --signal: #DA291C;
  --signal-bright: #DA291C;
  --signal-dim: rgba(218, 41, 28, 0.2);
  --night: #0B1F44;
  --night-bright: #1E3A8A;
  --txt: #0B1F44;
  --txt-2: #4A5169;
  --txt-3: #6B7299;
  --bord: rgba(11, 31, 68, 0.15);
  --bord-2: rgba(218, 41, 28, 0.25);
  --bord-bright: rgba(11, 31, 68, 0.3);
}
*/

* { box-sizing: border-box; margin: 0; padding: 0; }
*:focus-visible {
  outline: 2px solid var(--signal);
  outline-offset: 2px;
  border-radius: 4px;
}
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.6;
  color: var(--txt);
  background: var(--bg-base);
  min-height: 100vh;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img, svg { max-width: 100%; display: block; }
a { color: var(--accent-bright); text-decoration: none; transition: color .2s var(--ease); }
a:hover { color: var(--signal); }
button { font: inherit; cursor: pointer; }

.skip-link {
  position: absolute; top: -100px; left: 1rem;
  background: var(--accent); color: white; padding: .75rem 1rem;
  border-radius: var(--radius); z-index: 1000;
}
.skip-link:focus { top: 1rem; }

.mono { font-family: var(--font-mono); letter-spacing: 0.02em; }

/* === Page chrome backgrounds === */
.bg-grid {
  position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background-image:
    linear-gradient(rgba(124, 58, 237, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(124, 58, 237, 0.05) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(ellipse 100% 60% at 50% 0%, black 30%, transparent 80%);
  mask-image: radial-gradient(ellipse 100% 60% at 50% 0%, black 30%, transparent 80%);
}
.bg-aurora {
  position: fixed; top: -250px; left: 50%; transform: translateX(-50%);
  width: 1400px; height: 700px; pointer-events: none; z-index: 0;
  background:
    radial-gradient(ellipse at center, rgba(124, 58, 237, 0.25) 0%, rgba(124, 58, 237, 0.08) 30%, transparent 65%),
    radial-gradient(ellipse 60% 80% at 80% 40%, rgba(0, 255, 135, 0.1) 0%, transparent 60%);
  filter: blur(40px);
}

/* === Navigation === */
.site-nav {
  position: sticky; top: 0; z-index: 100;
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  background: rgba(5, 6, 15, 0.7);
  border-bottom: 1px solid var(--bord);
}
.nav-inner {
  max-width: var(--max-w); margin: 0 auto;
  padding: 1rem var(--container-pad);
  display: flex; align-items: center; gap: 2rem;
}
.logo {
  display: inline-flex; align-items: center;
  color: var(--txt);
  flex: 0 0 auto;
}
.logo-img {
  width: clamp(220px, 18vw, 286px);
  height: auto;
  max-height: 58px;
  object-fit: contain;
  filter: drop-shadow(0 0 14px rgba(0, 255, 135, 0.12));
}
.logo:hover { color: var(--txt); }
.logo-mark { font-weight: 700; font-size: 22px; }
.logo-mark sup { color: var(--signal); font-size: 13px; text-shadow: 0 0 8px var(--signal-dim); }
.logo-sub { font-size: 10px; color: var(--txt-3); letter-spacing: 0.28em; font-weight: 500; }
.nav-links {
  display: flex; gap: clamp(.9rem, 1.25vw, 1.65rem);
  margin-left: auto; margin-right: .5rem;
  font-size: 14px; font-weight: 450;
}
.nav-link { color: var(--txt-2); padding: .5rem 0; position: relative; }
.nav-link::after {
  content: ''; position: absolute;
  left: 0; right: 0; bottom: -2px; height: 1px;
  background: var(--signal); transform: scaleX(0);
  transition: transform .2s var(--ease);
  box-shadow: 0 0 6px var(--signal);
}
.nav-link:hover, .nav-link.active { color: var(--signal); }
.nav-link:hover::after, .nav-link.active::after { transform: scaleX(1); }
.nav-toggle {
  display: none; background: transparent; border: 1px solid var(--bord);
  color: var(--txt); padding: .5rem; border-radius: var(--radius);
  font-size: 22px; line-height: 1;
}
.mobile-nav {
  display: none; flex-direction: column;
  padding: 1rem var(--container-pad) 1.5rem;
  border-top: 1px solid var(--bord);
  background: rgba(5,6,15,.96);
}
.mobile-nav .nav-link { padding: .85rem 0; border-bottom: 1px solid var(--bord); }


/* === Language selector === */
.language-menu {
  position: relative;
  display: inline-block;
  color: var(--txt-2);
  z-index: 60;
  flex: 0 0 auto;
}
.language-menu summary {
  list-style: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .38rem;
  min-height: 2rem;
  padding: .35rem .72rem;
  border: 1px solid rgba(0, 255, 135, 0.26);
  border-radius: 999px;
  background: rgba(0, 255, 135, 0.045);
  color: var(--signal);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .09em;
  cursor: pointer;
  user-select: none;
  transition: border-color .2s var(--ease), background .2s var(--ease), box-shadow .2s var(--ease), color .2s var(--ease);
}
.language-menu summary::-webkit-details-marker { display: none; }
.language-menu summary:hover,
.language-menu[open] summary {
  color: var(--signal);
  border-color: rgba(0, 255, 135, 0.45);
  background: rgba(0, 255, 135, 0.075);
  box-shadow: 0 0 18px rgba(0, 255, 135, 0.13);
}
.language-current {
  min-width: 1.45rem;
  text-align: center;
}
.language-caret {
  display: inline-flex;
  align-items: center;
  color: var(--txt-3);
  font-size: .74rem;
  line-height: 1;
  transform: translateY(-1px);
  transition: transform .2s var(--ease), color .2s var(--ease);
}
.language-menu[open] .language-caret {
  color: var(--signal);
  transform: translateY(-1px) rotate(180deg);
}
.language-options {
  position: absolute;
  right: 0;
  top: calc(100% + .55rem);
  min-width: 11rem;
  padding: .45rem;
  display: grid;
  gap: .12rem;
  border: 1px solid var(--bord);
  border-radius: var(--radius);
  background: rgba(5, 6, 15, 0.98);
  box-shadow: var(--shadow), 0 0 26px rgba(0, 255, 135, 0.08);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  z-index: 260;
}
.language-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .85rem;
  padding: .55rem .65rem;
  border-radius: calc(var(--radius) - 4px);
  color: var(--txt-2);
  text-decoration: none;
  font-size: 13px;
  line-height: 1.1;
  transition: color .2s var(--ease), background .2s var(--ease), transform .2s var(--ease);
}
.language-option span {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .10em;
  color: currentColor;
}
.language-option small {
  color: inherit;
  opacity: .78;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
}
.language-option:hover,
.language-option.active {
  color: var(--signal);
  background: rgba(0, 255, 135, 0.075);
}
.language-option:hover { transform: translateX(1px); }
.mobile-lang {
  display: block;
  padding: 1rem 0 .25rem;
  align-self: stretch;
}
.mobile-lang summary {
  width: 100%;
  justify-content: space-between;
  min-height: 2.35rem;
  padding-inline: .85rem;
}
.mobile-lang .language-options {
  position: static;
  margin-top: .55rem;
  min-width: 100%;
}
.foot-lang {
  display: inline-block;
  margin-top: .85rem;
}
.foot-lang .language-options {
  left: 0;
  right: auto;
  top: auto;
  bottom: calc(100% + .55rem);
}
@media (max-width: 620px) {
  .language-options {
    min-width: 10rem;
  }
  .foot-lang .language-options {
    position: static;
    margin-top: .55rem;
  }
}

/* === Buttons === */
.btn {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .85rem 1.5rem; border-radius: var(--radius);
  font-weight: 500; font-size: 14px; letter-spacing: .01em;
  border: 1px solid transparent; cursor: pointer;
  transition: all .25s var(--ease);
  text-decoration: none;
}
.btn i { font-size: 16px; }
.btn-primary {
  background: linear-gradient(135deg, var(--accent), var(--accent-dark));
  color: white !important;
  border-color: rgba(167, 139, 250, 0.55);
  box-shadow:
    0 0 24px rgba(124, 58, 237, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
.btn-primary:hover {
  box-shadow: 0 0 40px rgba(124, 58, 237, 0.7), inset 0 1px 0 rgba(255,255,255,.12);
  transform: translateY(-1px); color: white !important;
}
.btn-ghost {
  background: rgba(0, 255, 135, 0.04);
  border-color: var(--bord-2);
  color: var(--txt) !important;
}
.btn-ghost:hover {
  background: rgba(0, 255, 135, 0.1);
  box-shadow: 0 0 20px rgba(0, 255, 135, 0.2);
  color: var(--signal) !important;
}
.btn-nav { padding: .55rem 1rem; font-size: 13px; }
.btn-sm { padding: .6rem 1.1rem; font-size: 13px; }
.btn-lg { padding: 1rem 1.85rem; font-size: 15px; }
.btn-block { display: flex; width: 100%; justify-content: center; }

/* === Layout === */
.container {
  max-width: var(--max-w); margin: 0 auto;
  padding: 0 var(--container-pad);
  position: relative; z-index: 2;
}
main { position: relative; z-index: 2; }
.section { padding: 5rem 0; position: relative; }
.section-alt {
  background: linear-gradient(180deg, transparent, rgba(15, 19, 48, 0.4), transparent);
  border-top: 1px solid var(--bord);
  border-bottom: 1px solid var(--bord);
}
.section-head { max-width: 720px; margin-bottom: 3rem; }
.section-eyebrow {
  font-size: 12px; letter-spacing: 0.24em; color: var(--signal);
  font-weight: 600; margin-bottom: .75rem;
  display: flex; align-items: center; gap: .65rem;
}
.section-eyebrow::before {
  content: ''; width: 24px; height: 1px;
  background: var(--signal); box-shadow: 0 0 6px var(--signal);
}
.eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  font-size: 11.5px; letter-spacing: .22em; color: var(--txt-2);
  font-weight: 500; padding: .4rem 1rem;
  border: 1px solid var(--bord); border-radius: var(--radius-pill);
  background: rgba(124, 58, 237, 0.06); margin-bottom: 1.5rem;
}
.dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--signal);
  box-shadow: 0 0 10px var(--signal), 0 0 4px var(--signal);
  animation: pulse 2s ease-in-out infinite;
}
@keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: .45; } }

.centered { text-align: center; }
.section h2 {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  font-weight: 600; letter-spacing: -0.025em;
  line-height: 1.15; margin-bottom: 1rem;
}
.section-lede {
  font-size: 1.05rem; color: var(--txt-2);
  line-height: 1.7; max-width: 720px;
}

/* === Hero === */
.hero {
  padding: 6rem var(--container-pad) 5rem;
  text-align: center; position: relative;
  max-width: var(--max-w); margin: 0 auto;
}
.hero-particles {
  position: absolute; inset: 0;
  pointer-events: none; z-index: 0; opacity: 0.55;
}
.hero-inner { position: relative; z-index: 2; }
.display {
  font-size: clamp(2.5rem, 6.5vw, 4.75rem);
  font-weight: 600; letter-spacing: -0.03em;
  line-height: 1.05; margin-bottom: 1.5rem;
}
.grad-text {
  background: linear-gradient(120deg, var(--accent-bright) 0%, var(--signal) 60%, var(--signal-bright) 100%);
  -webkit-background-clip: text; background-clip: text;
  color: transparent; font-weight: 700;
}
.lede {
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  color: var(--txt-2); line-height: 1.65;
  max-width: 720px; margin: 0 auto 2rem;
}

.hero-copy {
  max-width: 820px;
  margin: 0 auto 2rem;
  display: grid;
  gap: .9rem;
}
.hero-copy p {
  margin: 0;
  color: var(--txt-2);
  font-size: clamp(.98rem, 1.45vw, 1.13rem);
  line-height: 1.72;
}
.hero-copy p:first-child {
  color: var(--txt);
  font-weight: 550;
}
.cta-row {
  display: flex; gap: .85rem; justify-content: center;
  flex-wrap: wrap; margin-bottom: 2.5rem;
}
.trust-row { display: flex; gap: .65rem; justify-content: center; flex-wrap: wrap; }
.trust-pill {
  font-size: 11px; padding: .4rem .9rem;
  border: 1px solid var(--bord); border-radius: var(--radius-pill);
  background: rgba(15, 19, 48, 0.4); color: var(--txt-3);
  letter-spacing: 0.16em; font-weight: 500;
}

/* === Page hero === */
.page-hero { padding: 6rem var(--container-pad) 3rem; position: relative; }
.page-hero h1 {
  font-size: clamp(2rem, 5vw, 3.25rem);
  font-weight: 600; letter-spacing: -0.025em;
  line-height: 1.1; margin-bottom: 1.25rem;
  max-width: 900px;
}

/* Keep page hero lead text aligned with the heading's left edge.
   The home hero keeps the centered .lede treatment. */
.page-hero:not(.text-center) .lede {
  margin-left: 0;
  margin-right: 0;
  text-align: left;
}
.crumbs {
  font-size: 13px; color: var(--txt-3);
  margin-bottom: 1.5rem; display: flex; gap: .5rem; align-items: center;
}
.crumbs a { color: var(--txt-2); }
.crumbs span { color: var(--txt-3); }

/* === Grids === */
.grid-2, .grid-3, .grid-4 { display: grid; gap: 1rem; }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 980px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
}

/* === Cards === */
.card, .svc-card, .industry-card, .research-card,
.solution-card, .framework-card, .contact-form {
  position: relative;
  background: var(--bg-card);
  backdrop-filter: blur(14px) saturate(120%);
  -webkit-backdrop-filter: blur(14px) saturate(120%);
  border: 1px solid var(--bord);
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  transition: all .3s var(--ease);
  overflow: hidden;
}
.glass::before {
  content: ''; position: absolute;
  top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(124, 58, 237, 0.55), transparent);
  opacity: .55; pointer-events: none;
}
.card:hover, .svc-card:hover, .industry-card:hover,
.research-card:hover, .solution-card:hover, .framework-card:hover {
  border-color: var(--bord-2);
  box-shadow: 0 0 30px rgba(0, 255, 135, 0.12);
  transform: translateY(-2px);
}
.card h3, .svc-card h3, .industry-card h3, .research-card h3,
.solution-card h3, .framework-card h3 {
  font-size: 1.05rem; font-weight: 600;
  margin-bottom: .5rem; letter-spacing: -0.005em;
}
.card p, .svc-card p, .industry-card p, .research-card p,
.solution-card p, .framework-card p {
  font-size: .92rem; color: var(--txt-2); line-height: 1.6;
}
.card-ico {
  width: 42px; height: 42px; border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(124, 58, 237, 0.25), rgba(0, 255, 135, 0.08));
  border: 1px solid var(--bord);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 1rem; color: var(--signal);
}
.card-ico i { font-size: 22px; }
.card-cta {
  margin-top: 1rem;
  display: inline-flex; align-items: center; gap: .35rem;
  font-size: 12.5px; color: var(--signal);
  font-weight: 500; letter-spacing: 0.02em;
}
.svc-card { display: flex; flex-direction: column; color: var(--txt) !important; }
.svc-card .svc-num {
  position: absolute; top: 1rem; right: 1.25rem;
  font-size: 11px; color: var(--txt-3);
}

/* === Pills === */
.pill-row { display: flex; flex-wrap: wrap; gap: .55rem; }
.pill {
  font-size: 13px; padding: .55rem 1rem;
  border: 1px solid var(--bord); border-radius: var(--radius-pill);
  background: rgba(15, 19, 48, 0.4); color: var(--txt-2);
  transition: all .25s var(--ease); cursor: default;
}
.pill:hover {
  border-color: var(--bord-2); color: var(--signal);
  background: rgba(0, 255, 135, 0.06);
}
a.pill { cursor: pointer; }

/* === Frameworks === */
.fw-tag {
  font-size: 10.5px; color: var(--signal);
  letter-spacing: 0.16em; margin-bottom: .75rem;
}
.framework-card {
  padding: 1.75rem;
  background: linear-gradient(165deg, rgba(124, 58, 237, 0.08), rgba(15, 19, 48, 0.6));
}
.framework-card::after {
  content: ''; position: absolute;
  bottom: 0; right: 0; width: 140px; height: 140px;
  background: radial-gradient(circle, rgba(0, 255, 135, 0.18), transparent 70%);
  border-radius: 50%; pointer-events: none;
}
.framework-stack { display: grid; gap: 1rem; }
.layers { list-style: none; margin-top: 1.25rem; display: grid; gap: .5rem; }
.layers li {
  display: flex; gap: .85rem; align-items: baseline;
  font-size: .9rem; color: var(--txt-2);
  padding: .4rem 0; border-top: 1px solid var(--bord);
}
.layer-num { font-size: 11px; color: var(--signal); min-width: 24px; flex-shrink: 0; }

/* === Industries === */
.industry-card {
  background: linear-gradient(165deg, rgba(15, 19, 48, 0.5), rgba(11, 14, 34, 0.7));
}

/* === Research === */
.research-card {
  position: relative;
  background: linear-gradient(165deg, rgba(124, 58, 237, 0.06), rgba(15, 19, 48, 0.5));
}
.research-status {
  font-size: 10.5px; color: var(--signal);
  letter-spacing: 0.18em; margin-bottom: .75rem;
}

/* === Solution cards === */
.solution-card { display: flex; flex-direction: column; gap: .75rem; }
.sol-meta {
  display: flex; gap: .75rem; align-items: baseline;
  font-size: .85rem; padding: .35rem 0;
  border-top: 1px solid var(--bord);
}
.sol-meta:first-of-type { margin-top: .5rem; }
.sol-meta .mono {
  color: var(--signal); font-size: 10px;
  letter-spacing: 0.16em; min-width: 70px; flex-shrink: 0;
}
.sol-meta span:last-child { color: var(--txt-2); }
.check-list { list-style: none; display: grid; gap: .4rem; margin: .5rem 0; }
.check-list li {
  display: flex; gap: .65rem; align-items: baseline;
  font-size: .9rem; color: var(--txt-2);
}
.check-list i { color: var(--signal); font-size: 14px; flex-shrink: 0; padding-top: 2px; }

/* === Service detail === */
.service-icon-large {
  width: 64px; height: 64px;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, rgba(124, 58, 237, 0.3), rgba(0, 255, 135, 0.1));
  border: 1px solid var(--bord);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 1.5rem; color: var(--signal);
  font-size: 32px;
  box-shadow: 0 0 24px rgba(124, 58, 237, 0.3);
}
.service-icon-large i { font-size: 32px; }
.service-body { max-width: 980px; margin: 0 auto; }
.service-row {
  display: grid; grid-template-columns: 1fr 2fr;
  gap: 2.5rem; padding: 2.5rem 0;
  border-top: 1px solid var(--bord);
}
.service-row:first-child { border-top: none; padding-top: 0; }
.service-row-label .mono {
  font-size: 11.5px; color: var(--signal);
  letter-spacing: 0.18em; display: block; margin-bottom: .35rem;
}
.service-row-label h2 { font-size: 1.5rem; font-weight: 600; letter-spacing: -0.015em; }
.service-row-content p { font-size: 1rem; color: var(--txt-2); line-height: 1.7; }
@media (max-width: 760px) {
  .service-row { grid-template-columns: 1fr; gap: 1rem; padding: 2rem 0; }
}

/* === Founder === */
.founder-block {
  max-width: 860px;
  margin-inline: 0;
  padding: 2rem;
  background: linear-gradient(135deg, rgba(124, 58, 237, 0.10), rgba(0, 255, 135, 0.035));
  border: 1px solid var(--bord);
  border-radius: var(--radius-lg);
  position: relative;
  overflow: hidden;
}
.founder-block::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at 0% 0%, rgba(124, 58, 237, 0.20), transparent 45%);
  pointer-events: none;
}
.founder-head {
  position: relative; z-index: 1;
  display: flex;
  align-items: center;
  gap: 1.35rem;
  margin-bottom: 1.2rem;
}
.founder-photo {
  display: block;
  flex: 0 0 auto;
  width: clamp(116px, 13vw, 148px);
  height: clamp(116px, 13vw, 148px);
  aspect-ratio: 1 / 1;
  border-radius: 18px;
  object-fit: cover;
  object-position: center center;
  border: 1px solid rgba(167, 139, 250, 0.44);
  box-shadow: 0 18px 46px rgba(2, 6, 23, 0.38), 0 0 28px rgba(124, 58, 237, 0.16);
}
.founder-meta { position: relative; z-index: 1; min-width: 0; }
.founder-tag { font-size: 11px; color: var(--signal); letter-spacing: 0.18em; margin-bottom: .5rem; }
.founder-meta h3 { font-size: clamp(1.35rem, 2.2vw, 1.75rem); font-weight: 600; margin-bottom: .28rem; }
.founder-role { font-size: .98rem; color: var(--txt-2); margin-bottom: .85rem; }
.founder-links {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin: .3rem 0 0;
}
.founder-link {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  min-height: 40px;
  padding: .55rem .78rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(15, 23, 42, 0.48);
  color: var(--txt);
  font-size: .88rem;
  font-weight: 600;
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.founder-link:hover,
.founder-link:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(80, 255, 0, 0.42);
  background: rgba(15, 23, 42, 0.72);
  box-shadow: 0 0 22px rgba(80, 255, 0, 0.12);
}
.founder-link img { display: block; width: 20px; height: 20px; }
.founder-bio { position: relative; z-index: 1; max-width: 720px; }
.founder-bio p { font-size: .95rem; color: var(--txt-2); line-height: 1.65; margin-bottom: .65rem; }
.founder-membership {
  margin-top: 1rem;
  display: flex;
  align-items: center;
  gap: .9rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(0, 255, 135, 0.18);
  border-radius: var(--radius);
  background: rgba(0, 255, 135, 0.045);
}
.membership-mark {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4rem;
  min-height: 2.1rem;
  padding: .35rem .55rem;
  border-radius: 999px;
  border: 1px solid rgba(167, 139, 250, 0.32);
  color: var(--signal);
  background: rgba(124, 58, 237, 0.12);
  font-family: var(--font-mono);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
}
.founder-membership p { margin: 0; color: var(--txt-2); font-size: .92rem; line-height: 1.5; }
@media (max-width: 620px) {
  .founder-block { padding: 1.4rem; }
  .founder-head { align-items: flex-start; gap: 1rem; }
  .founder-photo { width: 112px; height: 112px; border-radius: 16px; }
}
@media (max-width: 460px) {
  .founder-head { flex-direction: column; }
  .founder-photo { width: 128px; height: 128px; }
  .founder-membership { align-items: flex-start; flex-direction: column; }
}

/* === Principles list === */
.principles { list-style: none; display: grid; gap: 1.25rem; }
.principles li {
  display: grid; grid-template-columns: 60px 1fr; gap: 1.25rem;
  padding: 1.25rem; border: 1px solid var(--bord);
  border-radius: var(--radius); background: var(--bg-card);
}
.principles li .mono { color: var(--signal); font-size: 14px; }
.principles strong { display: block; font-weight: 600; margin-bottom: .25rem; }
.principles p { color: var(--txt-2); font-size: .9rem; }

/* === CTA section === */
.cta-section {
  padding: 5rem var(--container-pad);
  text-align: center;
  background: linear-gradient(180deg, transparent, rgba(124, 58, 237, 0.08));
  border-top: 1px solid var(--bord);
  border-bottom: 1px solid var(--bord);
  position: relative; overflow: hidden;
}
.cta-section::before {
  content: ''; position: absolute;
  top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 800px; height: 400px;
  background: radial-gradient(ellipse, rgba(0, 255, 135, 0.08), transparent 60%);
  pointer-events: none; z-index: 0;
  filter: blur(40px);
}
.cta-section .container { position: relative; z-index: 2; }
.cta-section h2 {
  font-size: clamp(1.5rem, 3.5vw, 2.25rem);
  font-weight: 600; letter-spacing: -0.02em;
  max-width: 760px; margin: 0 auto 1rem;
}
.cta-section .cta-lede {
  font-size: 1rem; color: var(--txt-2);
  max-width: 620px; margin: 0 auto 1.75rem; line-height: 1.65;
}


/* === Utility helpers === */
.mt-1 { margin-top: 1rem; }
.mt-2 { margin-top: 2rem; }
.mt-3 { margin-top: 3rem; }
.text-center { text-align: center; }

/* === Contact form === */
.contact-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 2rem; }
@media (max-width: 900px) { .contact-grid { grid-template-columns: 1fr; } }
.contact-form { padding: 2rem; display: grid; gap: 1rem; }
.contact-form label {
  display: flex; flex-direction: column; gap: .4rem;
  font-size: .85rem; color: var(--txt-2);
  font-weight: 500; letter-spacing: 0.01em;
}
.contact-form input, .contact-form select, .contact-form textarea {
  font: inherit; font-size: 14px;
  background: rgba(5, 6, 15, 0.6);
  color: var(--txt);
  border: 1px solid var(--bord);
  border-radius: var(--radius);
  padding: .75rem .9rem;
  transition: border-color .2s var(--ease), box-shadow .2s var(--ease);
  width: 100%;
}
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus {
  outline: none;
  border-color: var(--signal-dim);
  box-shadow: 0 0 0 3px rgba(0, 255, 135, 0.1);
}
.contact-form textarea { resize: vertical; min-height: 130px; font-family: var(--font-sans); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 620px) { .form-row { grid-template-columns: 1fr; } }
.hp, .botcheck { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.consent {
  flex-direction: row !important; align-items: flex-start; gap: .65rem !important;
  font-size: .85rem; color: var(--txt-2); cursor: pointer;
}
.consent input {
  width: 18px; height: 18px; margin-top: 2px;
  flex-shrink: 0; accent-color: var(--signal);
}
.form-captcha { margin: .5rem 0; }
.caption { font-size: .8rem; color: var(--txt-3); line-height: 1.5; }
.caption code {
  font-family: var(--font-mono); font-size: 12px;
  background: rgba(124, 58, 237, 0.1);
  padding: 1px 6px; border-radius: 3px; color: var(--accent-bright);
}
.form-foot {
  display: flex; align-items: center; gap: 1rem;
  flex-wrap: wrap; margin-top: .5rem;
}
.form-status { font-size: .9rem; }
.form-status.success { color: var(--signal); }
.form-status.error { color: #ff6b6b; }
.contact-side {
  padding: 2rem;
  background: rgba(15, 19, 48, 0.4);
  border: 1px solid var(--bord);
  border-radius: var(--radius-lg);
}
.contact-side h3 { font-size: 1.05rem; font-weight: 600; margin-bottom: 1rem; }
.contact-side h4 { font-size: .95rem; font-weight: 600; margin-bottom: .5rem; }
.next-steps { list-style: none; display: grid; gap: .75rem; margin-bottom: 1.75rem; }
.next-steps li {
  display: flex; gap: .75rem; align-items: baseline;
  font-size: .88rem; color: var(--txt-2); line-height: 1.55;
}
.next-steps .mono { color: var(--signal); font-size: 11px; flex-shrink: 0; }
.side-block {
  padding-top: 1.25rem; border-top: 1px solid var(--bord); margin-top: 1.25rem;
}
.side-block p { font-size: .85rem; color: var(--txt-2); line-height: 1.6; }

/* === Long-form content === */
.long-form { max-width: 760px; }
.long-form h2 {
  font-size: 1.2rem; font-weight: 600;
  margin: 2.25rem 0 .75rem; color: var(--signal);
}
.long-form h2:first-child { margin-top: 0; }
.long-form p, .long-form ul {
  font-size: .95rem; color: var(--txt-2);
  line-height: 1.7; margin-bottom: .75rem;
}
.long-form ul { padding-left: 1.5rem; }
.long-form ul li { margin-bottom: .35rem; }
.about-block { max-width: 820px; }
.about-block p {
  font-size: 1rem; color: var(--txt-2);
  line-height: 1.7; margin-bottom: .75rem;
}

/* === Footer === */
.site-foot {
  border-top: 1px solid var(--bord);
  background: rgba(5, 6, 15, 0.6);
  position: relative; z-index: 2;
}
.foot-inner {
  max-width: var(--max-w); margin: 0 auto;
  padding: 3.5rem var(--container-pad) 2rem;
  display: grid; grid-template-columns: 1.4fr 2fr; gap: 3rem;
}
@media (max-width: 760px) { .foot-inner { grid-template-columns: 1fr; gap: 2rem; } }

.foot-logo { display: inline-flex; align-items: center; max-width: 430px; }
.foot-logo-img {
  width: min(430px, 100%);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 0 20px rgba(0, 255, 135, 0.10));
}
.foot-brand .logo-mark { font-size: 26px; }
.foot-brand .logo-sub { font-size: 11px; }
.foot-tagline { font-size: .9rem; color: var(--txt-2); margin-top: .75rem; line-height: 1.5; }
.foot-city { font-size: .8rem; color: var(--txt-3); margin-top: .5rem; letter-spacing: 0.04em; }
.foot-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
@media (max-width: 540px) { .foot-cols { grid-template-columns: 1fr 1fr; } }
.foot-cols h4, .foot-cols .foot-heading {
  font-size: 11px; color: var(--signal);
  letter-spacing: 0.2em; margin-bottom: 1rem; font-weight: 600;
}
.foot-cols a {
  display: block; font-size: .85rem;
  color: var(--txt-2); padding: .25rem 0;
}
.foot-cols a:hover { color: var(--signal); }
.foot-bar {
  max-width: var(--max-w); margin: 0 auto;
  padding: 1.25rem var(--container-pad);
  border-top: 1px solid var(--bord);
  display: flex; justify-content: space-between; align-items: center;
  font-size: 11px; color: var(--txt-3); flex-wrap: wrap; gap: .75rem;
}
.foot-sec { color: var(--signal); opacity: 0.7; }

/* === Reveal animations === */
.reveal, .reveal-group > * {
  opacity: 0; transform: translateY(20px);
  transition: opacity .6s var(--ease), transform .6s var(--ease);
}
.reveal.in, .reveal-group.in > * { opacity: 1; transform: translateY(0); }
.reveal-group.in > *:nth-child(2) { transition-delay: .08s; }
.reveal-group.in > *:nth-child(3) { transition-delay: .16s; }
.reveal-group.in > *:nth-child(4) { transition-delay: .24s; }
.reveal-group.in > *:nth-child(5) { transition-delay: .32s; }
.reveal-group.in > *:nth-child(6) { transition-delay: .40s; }

/* === Responsive nav toggle === */
@media (max-width: 1160px) {
  .nav-links { display: none; }
  .btn-nav { display: none; }
  .nav-lang { display: none; }
  .nav-toggle { display: inline-flex; margin-left: auto; }
  .mobile-nav[data-open="true"] { display: flex; }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .reveal, .reveal-group > * { opacity: 1; transform: none; }
  .dot { animation: none; }
  .hero-particles { display: none; }
}

/* === Print === */
@media print {
  .site-nav, .site-foot, .bg-grid, .bg-aurora,
  .hero-particles, .cta-section, .nav-toggle, .mobile-nav { display: none !important; }
  body { background: white; color: black; }
  .section { padding: 1.5rem 0; }
  a { color: black; text-decoration: underline; }
}


/* === Coming soon placeholders === */
.section-coming-soon {
  padding-top: 1.75rem;
  min-height: 28vh;
}
.coming-soon-text {
  display: block;
  margin: 0;
  font-size: clamp(1.35rem, 4vw, 2.4rem);
  line-height: 1.2;
  letter-spacing: 0.28em;
  color: var(--signal);
  text-shadow: 0 0 18px rgba(0, 255, 135, 0.22);
}
@media (max-width: 620px) {
  .coming-soon-text { letter-spacing: 0.18em; }
}


@media (max-width: 620px) {
  .logo-img { width: 190px; max-height: 46px; }
  .nav-inner { gap: 1rem; }
  .hero-copy { text-align: left; }
}


/* Research launch note */
.research-note {
  max-width: 760px;
  color: var(--txt-2);
  font-size: clamp(1rem, 1.4vw, 1.12rem);
  line-height: 1.75;
  margin: 0;
}
.section-coming-soon .research-note {
  margin-top: -0.3rem;
}


/* Subtle AI network footer band */
.footer-tech-band {
  position: relative;
  overflow: hidden;
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-top: 1px solid rgba(84, 112, 255, 0.18);
  background:
    radial-gradient(circle at 18% 50%, rgba(0, 255, 135, 0.12), transparent 30%),
    radial-gradient(circle at 82% 48%, rgba(74, 144, 255, 0.14), transparent 32%),
    linear-gradient(90deg, rgba(7, 10, 30, 0.92), rgba(9, 12, 38, 0.96));
}
.footer-tech-band::before {
  content: "";
  position: absolute;
  inset: -40%;
  opacity: 0.38;
  background-image:
    linear-gradient(115deg, transparent 0 31%, rgba(0, 255, 135, 0.28) 31.2%, transparent 31.7%),
    linear-gradient(35deg, transparent 0 56%, rgba(74, 144, 255, 0.22) 56.2%, transparent 56.7%),
    radial-gradient(circle, rgba(167, 139, 250, 0.85) 0 1.5px, transparent 2px);
  background-size: 260px 140px, 300px 160px, 90px 90px;
  animation: footerNetworkDrift 24s linear infinite;
}
.footer-tech-band::after {
  content: "";
  position: absolute;
  left: 18%;
  right: 18%;
  top: 50%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,255,135,.5), rgba(74,144,255,.45), transparent);
  transform: translateY(-50%);
  animation: footerSignalPulse 4.8s ease-in-out infinite;
}
.footer-tech-copy {
  position: relative;
  z-index: 1;
  color: rgba(194, 210, 255, 0.82);
  font-size: .76rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  text-align: center;
  padding: 0 1.2rem;
  text-shadow: 0 0 18px rgba(74, 144, 255, 0.28);
}
.tech-node {
  position: absolute;
  z-index: 1;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(0, 255, 135, .84);
  box-shadow: 0 0 18px rgba(0, 255, 135, .55);
  animation: techNodePulse 3.5s ease-in-out infinite;
}
.tech-node-a { left: 16%; top: 32%; }
.tech-node-b { left: 28%; bottom: 24%; animation-delay: .7s; background: rgba(167, 139, 250, .85); box-shadow: 0 0 18px rgba(167, 139, 250, .55); }
.tech-node-c { right: 27%; top: 28%; animation-delay: 1.1s; background: rgba(74, 144, 255, .9); box-shadow: 0 0 18px rgba(74, 144, 255, .5); }
.tech-node-d { right: 15%; bottom: 30%; animation-delay: 1.6s; }
@keyframes footerNetworkDrift {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(180px,80px,0); }
}
@keyframes footerSignalPulse {
  0%, 100% { opacity: .25; filter: blur(.1px); }
  50% { opacity: .85; filter: blur(.45px); }
}
@keyframes techNodePulse {
  0%, 100% { transform: scale(.86); opacity: .45; }
  50% { transform: scale(1.18); opacity: .95; }
}
@media (prefers-reduced-motion: reduce) {
  .footer-tech-band::before,
  .footer-tech-band::after,
  .tech-node { animation: none; }
}
@media (max-width: 720px) {
  .footer-tech-copy { font-size: .66rem; letter-spacing: .14em; line-height: 1.55; }
  .tech-node-a { left: 8%; }
  .tech-node-d { right: 8%; }
}


/* Animated logo overlay: keeps the original logo intact while giving the "2" a subtle live signal. */
.logo, .foot-logo { position: relative; isolation: isolate; }
.logo::after, .foot-logo::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  opacity: .92;
  mix-blend-mode: screen;
  filter: hue-rotate(0deg) saturate(1.08) brightness(1.05) drop-shadow(0 0 10px rgba(75,255,0,.14));
  animation: logoTwoLivingSignal 24s ease-in-out infinite;
  will-change: filter, opacity;
}
.logo::after { background-image: url('/assets/img/l2et-logo-2-overlay-header.png'); }
.foot-logo::after { background-image: url('/assets/img/l2et-logo-2-overlay-full.png'); }
.logo:hover::after, .foot-logo:hover::after { animation-duration: 12s; }
@keyframes logoTwoLivingSignal {
  0%, 42% { filter: hue-rotate(0deg) saturate(1.08) brightness(1.05) drop-shadow(0 0 10px rgba(75,255,0,.14)); opacity: .92; }
  54% { filter: hue-rotate(54deg) saturate(1.2) brightness(1.1) drop-shadow(0 0 15px rgba(124,58,237,.26)); opacity: .98; }
  66% { filter: hue-rotate(96deg) saturate(1.18) brightness(1.12) drop-shadow(0 0 16px rgba(74,144,255,.22)); opacity: .98; }
  78% { filter: hue-rotate(142deg) saturate(1.16) brightness(1.08) drop-shadow(0 0 15px rgba(45,227,194,.24)); opacity: .96; }
  100% { filter: hue-rotate(0deg) saturate(1.08) brightness(1.05) drop-shadow(0 0 10px rgba(75,255,0,.14)); opacity: .92; }
}
.foot-subtle-link { color: var(--txt-3) !important; font-size: .86rem; }
.foot-subtle-link:hover { color: var(--signal) !important; }
.side-block-compact a { color: var(--signal); }
.security-summary {
  padding: clamp(1.2rem, 2.2vw, 1.8rem);
  margin-bottom: 2rem;
}
.security-summary h2 { margin-top: 0; }
.security-data-page h2 { scroll-margin-top: 7rem; }
.framework-note + .framework-note { margin-top: 1rem; }
@media (prefers-reduced-motion: reduce) {
  .logo::after, .foot-logo::after { animation: none; }
}

/* =========================================================
   L2ET Research - experimental AI Observatory visual layer
   Static-site safe: CSS + vanilla JS only, no third-party assets.
   ========================================================= */
body.orbital-design {
  background:
    radial-gradient(circle at 50% -10%, rgba(31, 61, 180, .20), transparent 42%),
    radial-gradient(circle at 18% 18%, rgba(124, 58, 237, .12), transparent 34%),
    radial-gradient(circle at 83% 16%, rgba(45, 227, 194, .09), transparent 32%),
    linear-gradient(180deg, #020413 0%, #05060f 52%, #030412 100%);
}
.orbital-design .site-nav {
  background: linear-gradient(90deg, rgba(2,4,19,.82), rgba(8,10,35,.70), rgba(2,4,19,.82));
  box-shadow: 0 22px 70px rgba(0,0,0,.35), inset 0 -1px 0 rgba(94, 234, 212, .05);
}
.ai-depth-global {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  perspective: 1200px;
  contain: paint;
}
.ai-holo-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: .42;
  mix-blend-mode: screen;
}
.depth-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(.3px);
  opacity: .48;
  transform-style: preserve-3d;
}
.depth-orb::before,
.depth-orb::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 1px solid rgba(167,139,250,.22);
  transform: rotateX(68deg) rotateY(-18deg);
}
.depth-orb::after {
  border-color: rgba(0,255,135,.16);
  transform: rotateX(-62deg) rotateY(32deg);
}
.depth-orb-a {
  width: clamp(320px, 42vw, 680px);
  height: clamp(320px, 42vw, 680px);
  right: -12vw;
  top: 10vh;
  background: radial-gradient(circle at 35% 35%, rgba(0,255,135,.12), transparent 33%), radial-gradient(circle, rgba(124,58,237,.08), transparent 65%);
  animation: depthOrbFloat 28s ease-in-out infinite;
}
.depth-orb-b {
  width: clamp(180px, 24vw, 360px);
  height: clamp(180px, 24vw, 360px);
  left: -8vw;
  top: 52vh;
  background: radial-gradient(circle at 55% 45%, rgba(74,144,255,.12), transparent 32%), radial-gradient(circle, rgba(124,58,237,.10), transparent 64%);
  animation: depthOrbFloat 34s ease-in-out infinite reverse;
}
.depth-orb-c {
  width: 220px;
  height: 220px;
  right: 26vw;
  bottom: -90px;
  background: radial-gradient(circle, rgba(45,227,194,.14), transparent 65%);
  animation: depthOrbFloat 31s ease-in-out infinite;
}
.depth-plane {
  position: absolute;
  width: 120vmax;
  height: 120vmax;
  left: 50%;
  top: 50%;
  border: 1px solid rgba(124,58,237,.10);
  background-image:
    linear-gradient(rgba(74,144,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(74,144,255,.05) 1px, transparent 1px);
  background-size: 90px 90px;
  transform-origin: center;
  opacity: .22;
  mask-image: radial-gradient(circle at center, black 0 26%, transparent 62%);
  -webkit-mask-image: radial-gradient(circle at center, black 0 26%, transparent 62%);
}
.depth-plane-a { transform: translate(-50%, -46%) rotateX(69deg) rotateZ(-14deg); animation: planeDrift 38s linear infinite; }
.depth-plane-b { transform: translate(-50%, -50%) rotateX(72deg) rotateZ(23deg) translateZ(-160px); animation: planeDrift 46s linear infinite reverse; opacity: .16; }
@keyframes depthOrbFloat {
  0%,100% { transform: translate3d(0,0,0) rotateZ(0deg); }
  50% { transform: translate3d(-2.5vw, 2.2vh, 70px) rotateZ(11deg); }
}
@keyframes planeDrift {
  from { background-position: 0 0, 0 0; }
  to { background-position: 360px 180px, 180px 360px; }
}

/* Logo: more alive but still faithful to the original identity. */
.orbital-design .logo::before,
.orbital-design .foot-logo::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  mix-blend-mode: screen;
  opacity: 0;
  filter: saturate(1.3) brightness(1.25) blur(.12px);
  animation: logoTwoScanSweep 28s ease-in-out infinite;
}
.orbital-design .logo::before { background-image: url('/assets/img/l2et-logo-2-overlay-header.png'); }
.orbital-design .foot-logo::before { background-image: url('/assets/img/l2et-logo-2-overlay-full.png'); }
@keyframes logoTwoScanSweep {
  0%, 38%, 100% { opacity: 0; transform: translateX(-1.2%) scale(1); }
  44% { opacity: .72; filter: hue-rotate(34deg) saturate(1.6) brightness(1.35) drop-shadow(0 0 18px rgba(0,255,135,.32)); }
  58% { opacity: .85; filter: hue-rotate(88deg) saturate(1.7) brightness(1.42) drop-shadow(0 0 22px rgba(124,58,237,.38)); }
  72% { opacity: .6; filter: hue-rotate(154deg) saturate(1.55) brightness(1.28) drop-shadow(0 0 18px rgba(45,227,194,.34)); transform: translateX(1.2%) scale(1.01); }
}

/* Hero command deck */
.orbital-design .hero {
  min-height: calc(100vh - 84px);
  display: grid;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 74% 48%, rgba(0,255,135,.09), transparent 27%),
    radial-gradient(circle at 52% 12%, rgba(124,58,237,.22), transparent 34%),
    linear-gradient(180deg, rgba(2,4,19,.42), rgba(2,4,19,.06));
}
.orbital-design .hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    conic-gradient(from 90deg at 72% 48%, transparent 0 12deg, rgba(0,255,135,.08) 18deg, transparent 30deg 74deg, rgba(124,58,237,.10) 86deg, transparent 104deg 360deg),
    linear-gradient(90deg, transparent, rgba(124,58,237,.12), transparent);
  opacity: .72;
  animation: heroConicSweep 22s ease-in-out infinite;
}
.orbital-design .hero::after {
  content: '';
  position: absolute;
  inset: 10% -12% -4% 42%;
  z-index: 0;
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(45,227,194,.11), rgba(124,58,237,.06) 42%, transparent 68%);
  filter: blur(18px);
  transform: rotate(-9deg);
}
@keyframes heroConicSweep {
  0%,100% { transform: rotate(0deg) scale(1); opacity: .55; }
  50% { transform: rotate(7deg) scale(1.04); opacity: .86; }
}
.orbital-design .hero-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(340px, .92fr);
  gap: clamp(2rem, 5vw, 6rem);
  align-items: center;
  perspective: 1400px;
}
.orbital-design .hero-inner > :not(.hero-orbital-console) { grid-column: 1; }
.hero-orbital-console {
  grid-column: 2;
  grid-row: 1 / span 6;
  min-height: clamp(430px, 54vw, 660px);
  position: relative;
  transform-style: preserve-3d;
}
.console-shell {
  position: absolute;
  inset: 0;
  border-radius: 32px;
  background:
    linear-gradient(135deg, rgba(167,139,250,.16), rgba(15,23,42,.18) 42%, rgba(0,255,135,.08)),
    rgba(4, 8, 28, .34);
  border: 1px solid rgba(124,58,237,.34);
  box-shadow:
    0 40px 120px rgba(0,0,0,.48),
    inset 0 1px 0 rgba(255,255,255,.06),
    0 0 80px rgba(124,58,237,.15);
  overflow: hidden;
  transform: rotateY(-8deg) rotateX(4deg);
}
.console-shell::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(120deg, rgba(0,255,135,.55), rgba(124,58,237,.18), rgba(45,227,194,.42));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: .72;
}
.console-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(167,139,250,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(167,139,250,.07) 1px, transparent 1px);
  background-size: 36px 36px;
  mask-image: radial-gradient(circle at 50% 48%, black 0 45%, transparent 74%);
  -webkit-mask-image: radial-gradient(circle at 50% 48%, black 0 45%, transparent 74%);
  animation: consoleGridDrift 20s linear infinite;
}
@keyframes consoleGridDrift { to { background-position: 144px 72px, 72px 144px; } }
.core-orbit {
  position: absolute;
  left: 50%;
  top: 46%;
  width: min(78%, 460px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  transform-style: preserve-3d;
}
.core-sphere {
  position: absolute;
  inset: 31%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 34% 28%, rgba(255,255,255,.95), rgba(0,255,135,.75) 12%, rgba(42,211,194,.34) 31%, rgba(20,38,92,.16) 55%, rgba(4,8,24,.06) 72%),
    radial-gradient(circle at center, rgba(124,58,237,.26), transparent 62%);
  box-shadow:
    inset -22px -26px 48px rgba(2,4,19,.46),
    0 0 46px rgba(0,255,135,.25),
    0 0 112px rgba(124,58,237,.23);
  animation: coreBreath 5.6s ease-in-out infinite;
}
.core-sphere span {
  position: absolute;
  inset: 16%;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.18);
  background-image: linear-gradient(90deg, transparent 47%, rgba(255,255,255,.12) 49%, transparent 51%);
  animation: coreInner 9s linear infinite;
}
.core-ring {
  position: absolute;
  inset: 7%;
  border-radius: 50%;
  border: 1px solid rgba(167,139,250,.42);
  box-shadow: 0 0 28px rgba(124,58,237,.18), inset 0 0 22px rgba(0,255,135,.06);
  transform-style: preserve-3d;
}
.core-ring-1 { transform: rotateX(68deg) rotateZ(12deg); animation: ringA 14s linear infinite; }
.core-ring-2 { inset: 13%; border-color: rgba(0,255,135,.34); transform: rotateY(70deg) rotateZ(-24deg); animation: ringB 18s linear infinite reverse; }
.core-ring-3 { inset: 19%; border-color: rgba(45,227,194,.32); transform: rotateX(25deg) rotateY(62deg); animation: ringC 22s linear infinite; }
.core-axis {
  position: absolute;
  left: 50%; top: 50%;
  width: 88%; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,255,135,.55), rgba(124,58,237,.32), transparent);
  transform-origin: center;
}
.core-axis-a { transform: translate(-50%, -50%) rotate(28deg); }
.core-axis-b { transform: translate(-50%, -50%) rotate(118deg); }
.core-node {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 7.6rem;
  padding: .45rem .62rem;
  border-radius: 999px;
  border: 1px solid rgba(167,139,250,.28);
  background: rgba(6,10,32,.66);
  color: rgba(230,236,255,.88);
  font-family: var(--font-mono);
  font-style: normal;
  font-size: .62rem;
  letter-spacing: .13em;
  box-shadow: 0 10px 34px rgba(0,0,0,.22), 0 0 20px rgba(124,58,237,.14);
  animation: nodeFloat 7s ease-in-out infinite;
}
.node-1 { left: 0; top: 12%; }
.node-2 { right: -3%; top: 20%; animation-delay: .8s; }
.node-3 { left: 6%; bottom: 13%; animation-delay: 1.6s; }
.node-4 { right: 2%; bottom: 18%; animation-delay: 2.2s; }
.console-readout {
  position: absolute;
  left: 1.2rem;
  right: 1.2rem;
  bottom: 1.2rem;
  display: grid;
  gap: .42rem;
  padding: .9rem 1rem;
  border-radius: 16px;
  border: 1px solid rgba(0,255,135,.20);
  background: rgba(2,4,19,.42);
  color: rgba(203,213,255,.82);
  font-size: .68rem;
  letter-spacing: .08em;
}
.console-readout span { display: flex; justify-content: space-between; gap: 1rem; }
.console-readout span::after { content: '●'; color: var(--signal); text-shadow: 0 0 12px var(--signal); }
@keyframes coreBreath { 0%,100%{ transform: scale(.98); filter: saturate(1); } 50%{ transform: scale(1.035); filter: saturate(1.22); } }
@keyframes coreInner { to { transform: rotate(360deg); } }
@keyframes ringA { to { transform: rotateX(68deg) rotateZ(372deg); } }
@keyframes ringB { to { transform: rotateY(70deg) rotateZ(336deg); } }
@keyframes ringC { to { transform: rotateX(25deg) rotateY(62deg) rotateZ(360deg); } }
@keyframes nodeFloat { 0%,100%{ transform: translate3d(0,0,0); opacity:.72;} 50%{ transform: translate3d(0,-10px,24px); opacity:1;} }

/* Observatory presentation slider */
.orbital-showcase {
  position: relative;
  overflow: hidden;
  min-height: 92vh;
  display: grid;
  align-items: center;
  isolation: isolate;
}
.orbital-showcase::before {
  content: '';
  position: absolute;
  inset: 10% -15%;
  z-index: 0;
  background:
    radial-gradient(circle at 26% 50%, rgba(124,58,237,.22), transparent 28%),
    radial-gradient(circle at 74% 52%, rgba(0,255,135,.10), transparent 26%),
    conic-gradient(from 240deg at 50% 50%, transparent, rgba(74,144,255,.10), transparent 34%, rgba(124,58,237,.11), transparent 72%);
  filter: blur(8px);
  animation: showcaseAura 18s ease-in-out infinite;
}
@keyframes showcaseAura { 0%,100% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(-8deg) scale(1.04); } }
.showcase-head {
  position: relative;
  z-index: 1;
  max-width: 890px;
  margin-bottom: clamp(1.6rem, 4vw, 3.6rem);
}
.showcase-head h2 { font-size: clamp(2.3rem, 6vw, 5.4rem); line-height: .98; letter-spacing: -.055em; max-width: 980px; }
.deck-stage {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(170px, .24fr) minmax(320px, .92fr) minmax(260px, .66fr);
  gap: clamp(1rem, 3vw, 2.5rem);
  min-height: 520px;
  border: 1px solid rgba(124,58,237,.28);
  border-radius: 34px;
  background:
    linear-gradient(135deg, rgba(15,23,42,.78), rgba(6,10,32,.52)),
    radial-gradient(circle at 52% 48%, rgba(0,255,135,.10), transparent 38%);
  box-shadow: 0 50px 150px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.05);
  overflow: hidden;
  transform-style: preserve-3d;
}
.deck-stage::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(0,255,135,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(124,58,237,.065) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(90deg, transparent, black 18%, black 82%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, black 18%, black 82%, transparent);
  opacity: .55;
}
.deck-tabs {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: center;
  gap: .8rem;
  padding: clamp(1.2rem, 2.4vw, 2rem);
}
.deck-tab {
  display: flex;
  align-items: center;
  gap: .7rem;
  width: 100%;
  border: 1px solid rgba(167,139,250,.16);
  border-radius: 999px;
  background: rgba(2,4,19,.34);
  color: rgba(218,225,255,.66);
  padding: .78rem .9rem;
  font-weight: 700;
  text-align: left;
  transition: transform .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease);
}
.deck-tab span { font-family: var(--font-mono); color: var(--signal); font-size: .78rem; }
.deck-tab.active,
.deck-tab:hover,
.deck-tab:focus-visible {
  color: var(--txt);
  border-color: rgba(0,255,135,.34);
  background: linear-gradient(90deg, rgba(0,255,135,.10), rgba(124,58,237,.12));
  box-shadow: 0 0 30px rgba(0,255,135,.10);
  transform: translateX(4px);
}
.deck-visual {
  position: relative;
  z-index: 1;
  min-height: 100%;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.deck-neural-orb {
  position: relative;
  width: min(74vw, 390px);
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle at 37% 30%, rgba(255,255,255,.9), rgba(57,255,20,.54) 10%, rgba(45,227,194,.25) 25%, rgba(124,58,237,.13) 48%, rgba(5,6,15,.04) 68%),
    radial-gradient(circle at center, rgba(31,61,180,.22), transparent 62%);
  box-shadow: inset -34px -42px 70px rgba(0,0,0,.46), 0 0 80px rgba(0,255,135,.16), 0 0 150px rgba(124,58,237,.20);
  animation: deckOrbFloat 10s ease-in-out infinite;
}
.deck-neural-orb::before,
.deck-neural-orb::after {
  content: '';
  position: absolute;
  inset: -14%;
  border-radius: 50%;
  border: 1px solid rgba(167,139,250,.35);
  transform: rotateX(68deg) rotateY(22deg);
  animation: deckRing 14s linear infinite;
}
.deck-neural-orb::after { inset: -28%; border-color: rgba(0,255,135,.22); animation-duration: 19s; animation-direction: reverse; }
.deck-neural-orb span,
.deck-neural-orb i,
.deck-neural-orb b {
  position: absolute;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  background: var(--signal);
  box-shadow: 0 0 20px var(--signal);
}
.deck-neural-orb span { left: 17%; top: 25%; }
.deck-neural-orb i { right: 18%; top: 39%; background: #2de3c2; box-shadow: 0 0 20px #2de3c2; }
.deck-neural-orb b { left: 44%; bottom: 12%; background: var(--accent-bright); box-shadow: 0 0 20px var(--accent-bright); }
.deck-rings span {
  position: absolute;
  left: 50%; top: 50%;
  width: min(88vw, 460px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 1px dashed rgba(167,139,250,.20);
  animation: deckRingFlat 30s linear infinite;
}
.deck-rings span:nth-child(2) { width: min(76vw, 360px); border-color: rgba(0,255,135,.18); animation-duration: 24s; animation-direction: reverse; }
.deck-rings span:nth-child(3) { width: min(98vw, 540px); border-color: rgba(74,144,255,.16); animation-duration: 38s; }
.deck-scanline {
  position: absolute;
  left: 7%; right: 7%;
  height: 1px;
  top: 50%;
  background: linear-gradient(90deg, transparent, rgba(0,255,135,.55), rgba(74,144,255,.52), transparent);
  box-shadow: 0 0 22px rgba(0,255,135,.35);
  animation: scanlinePass 4.8s ease-in-out infinite;
}
.deck-slides {
  position: relative;
  z-index: 2;
  padding: clamp(1.4rem, 3vw, 2.6rem);
  display: grid;
  align-content: center;
}
.deck-slide {
  grid-area: 1 / 1;
  opacity: 0;
  transform: translateY(24px) translateZ(-80px) rotateX(4deg);
  transition: opacity .65s var(--ease), transform .65s var(--ease);
  pointer-events: none;
}
.deck-slide.active {
  opacity: 1;
  transform: translateY(0) translateZ(0) rotateX(0deg);
  pointer-events: auto;
}
.deck-count {
  display: inline-flex;
  margin-bottom: 1.2rem;
  color: var(--signal);
  letter-spacing: .18em;
}
.deck-slide h3 { font-size: clamp(1.6rem, 3.2vw, 3.1rem); line-height: 1.02; letter-spacing: -.04em; margin-bottom: 1rem; }
.deck-slide p { color: var(--txt-2); font-size: clamp(.98rem, 1.18vw, 1.16rem); max-width: 42rem; }
@keyframes deckOrbFloat { 0%,100%{ transform: translateY(0) rotateZ(0deg); } 50%{ transform: translateY(-18px) rotateZ(4deg); } }
@keyframes deckRing { to { transform: rotateX(68deg) rotateY(22deg) rotateZ(360deg); } }
@keyframes deckRingFlat { to { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes scanlinePass { 0%,100% { transform: translateY(-145px); opacity: .08; } 50% { transform: translateY(145px); opacity: .85; } }

/* More dimensional cards across the site */
.orbital-design .glass,
.orbital-design .card,
.orbital-design .side-block,
.orbital-design .founder-block,
.orbital-design .contact-form-wrap,
.orbital-design .security-summary {
  backdrop-filter: blur(18px) saturate(155%);
  -webkit-backdrop-filter: blur(18px) saturate(155%);
  box-shadow: 0 28px 90px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.045);
}
.orbital-design .card:hover,
.orbital-design .pill:hover {
  transform: translateY(-5px) translateZ(0);
  box-shadow: 0 30px 90px rgba(0,0,0,.34), 0 0 36px rgba(0,255,135,.08);
}
.orbital-design .page-hero::after {
  content: '';
  position: absolute;
  right: -10%; top: 10%;
  width: min(48vw, 560px); height: min(48vw, 560px);
  border-radius: 50%;
  border: 1px solid rgba(167,139,250,.18);
  background: radial-gradient(circle at 36% 36%, rgba(0,255,135,.10), transparent 42%), radial-gradient(circle, rgba(124,58,237,.08), transparent 66%);
  box-shadow: inset 0 0 70px rgba(124,58,237,.08), 0 0 80px rgba(45,227,194,.07);
  animation: pageHeroOrb 24s ease-in-out infinite;
}
@keyframes pageHeroOrb { 0%,100%{ transform: translate3d(0,0,0) rotate(0deg); } 50%{ transform: translate3d(-22px,18px,0) rotate(10deg); } }
.orbital-design .section {
  position: relative;
  z-index: 1;
}
.orbital-design .section::after {
  content: '';
  position: absolute;
  inset: auto 8% 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(124,58,237,.32), rgba(0,255,135,.16), transparent);
  opacity: .55;
}

@media (max-width: 1040px) {
  .orbital-design .hero-inner { grid-template-columns: 1fr; }
  .orbital-design .hero-inner > :not(.hero-orbital-console) { grid-column: 1; }
  .hero-orbital-console { grid-column: 1; grid-row: auto; min-height: 420px; max-width: 620px; width: 100%; margin: 1rem auto 0; }
  .console-shell { transform: none; }
  .deck-stage { grid-template-columns: 1fr; }
  .deck-tabs { display: flex; overflow-x: auto; align-content: unset; padding-bottom: .5rem; }
  .deck-tab { min-width: 160px; }
  .deck-visual { min-height: 390px; }
}
@media (max-width: 680px) {
  .hero-orbital-console { min-height: 360px; }
  .core-node { min-width: 6.4rem; font-size: .54rem; }
  .console-readout { font-size: .56rem; }
  .deck-stage { border-radius: 24px; min-height: 0; }
  .deck-visual { min-height: 320px; }
  .showcase-head h2 { font-size: clamp(2rem, 14vw, 3.4rem); }
}
@media (prefers-reduced-motion: reduce) {
  .ai-holo-canvas,
  .depth-orb,
  .depth-plane,
  .orbital-design .hero::before,
  .core-ring,
  .core-sphere,
  .core-sphere span,
  .core-node,
  .orbital-showcase::before,
  .deck-neural-orb,
  .deck-neural-orb::before,
  .deck-neural-orb::after,
  .deck-rings span,
  .deck-scanline,
  .orbital-design .logo::before,
  .orbital-design .foot-logo::before { animation: none !important; }
  .holo-tilt { transform: none !important; }
}


/* === Final visual tuning: About spacing and Frameworks hero === */
.about-hero {
  padding-bottom: clamp(1.25rem, 3vw, 2rem);
}
.about-section {
  padding-top: clamp(2.25rem, 4vw, 3.25rem);
}
.about-block > h2:first-child {
  margin-top: 0;
  margin-bottom: .95rem;
}
.frameworks-hero {
  padding-top: clamp(5.25rem, 8vw, 6rem);
  padding-bottom: clamp(2.25rem, 4vw, 3rem);
}
.frameworks-hero h1 {
  margin-bottom: 0;
}
@media (max-width: 760px) {
  .about-hero {
    padding-bottom: 1rem;
  }
  .about-section {
    padding-top: 2rem;
  }
}


/* =========================================================
   L2ET Research - Neural Observatory final direction v55
   Dark neural research interface: no planetary visual metaphor.
   ========================================================= */
.neural-observatory {
  background:
    radial-gradient(circle at 52% -18%, rgba(0, 255, 135, .075), transparent 35%),
    radial-gradient(circle at 16% 18%, rgba(63, 40, 150, .22), transparent 36%),
    radial-gradient(circle at 84% 8%, rgba(45, 227, 194, .055), transparent 28%),
    linear-gradient(180deg, #01030b 0%, #030513 46%, #01030b 100%) !important;
  color: var(--txt);
}
.neural-observatory::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 20%, rgba(124,58,237,.08), transparent 38%),
    linear-gradient(110deg, transparent 0 28%, rgba(57,255,20,.035) 40%, transparent 55% 100%);
  opacity: .85;
  mix-blend-mode: screen;
}
.neural-observatory .bg-grid {
  opacity: .07;
  background-size: 92px 92px;
  background-image:
    linear-gradient(rgba(93, 114, 255, .022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(93, 114, 255, .02) 1px, transparent 1px);
  mask-image: radial-gradient(circle at 50% 30%, black 0 30%, rgba(0,0,0,.45) 54%, transparent 82%);
  -webkit-mask-image: radial-gradient(circle at 50% 30%, black 0 30%, rgba(0,0,0,.45) 54%, transparent 82%);
}
.neural-observatory .bg-aurora {
  opacity: .42;
  filter: blur(32px) saturate(140%);
  background:
    radial-gradient(circle at 24% 20%, rgba(124,58,237,.20), transparent 35%),
    radial-gradient(circle at 70% 12%, rgba(0,255,135,.08), transparent 31%),
    radial-gradient(circle at 55% 80%, rgba(45,227,194,.07), transparent 38%);
}
.neural-observatory .depth-orb { display: none !important; }
.neural-observatory .depth-plane {
  opacity: .035;
  border-color: rgba(65, 92, 255, .035);
  background-size: 118px 118px;
  mask-image: linear-gradient(180deg, transparent, rgba(0,0,0,.55) 20%, rgba(0,0,0,.55) 72%, transparent);
  -webkit-mask-image: linear-gradient(180deg, transparent, rgba(0,0,0,.55) 20%, rgba(0,0,0,.55) 72%, transparent);
}
.neural-observatory .ai-holo-canvas {
  opacity: .58;
  mix-blend-mode: screen;
  filter: saturate(110%) contrast(112%);
}
.neural-observatory .site-nav {
  background: rgba(1, 3, 12, .78) !important;
  backdrop-filter: blur(22px) saturate(160%);
  -webkit-backdrop-filter: blur(22px) saturate(160%);
  border-bottom-color: rgba(84, 100, 255, .15);
}
.neural-observatory .hero {
  min-height: calc(100vh - 84px);
  align-items: center;
  padding-top: clamp(5rem, 8vw, 7rem);
  padding-bottom: clamp(4rem, 7vw, 6rem);
  background:
    radial-gradient(circle at 73% 47%, rgba(0,255,135,.055), transparent 28%),
    radial-gradient(circle at 49% 20%, rgba(124,58,237,.18), transparent 38%),
    linear-gradient(180deg, rgba(1,3,12,.05), rgba(1,3,12,.4));
}
.neural-observatory .hero::before {
  background:
    linear-gradient(100deg, transparent 0 12%, rgba(57,255,20,.035) 27%, transparent 42% 100%),
    radial-gradient(ellipse at 72% 48%, rgba(40, 52, 122, .32), transparent 50%);
  opacity: .95;
  animation: neuralHeroSweep 24s ease-in-out infinite;
}
.neural-observatory .hero::after {
  inset: 8% -8% 0 44%;
  border-radius: 42%;
  filter: blur(28px);
  background: radial-gradient(ellipse at center, rgba(0,255,135,.055), rgba(74,144,255,.04) 42%, transparent 72%);
}
@keyframes neuralHeroSweep {
  0%,100% { transform: translateX(-1%) skewX(-4deg); opacity: .56; }
  50% { transform: translateX(2.5%) skewX(-2deg); opacity: .92; }
}
.neural-observatory .hero-particles { opacity: .28; }
.neural-observatory .display { max-width: 900px; }
.neural-observatory .hero-copy {
  margin-left: 0;
  max-width: 760px;
  gap: .78rem;
}
.neural-observatory .hero-copy p { font-size: clamp(.95rem, 1.15vw, 1.08rem); }
.neural-observatory .cta-row { justify-content: flex-start; }
.neural-observatory .trust-row { justify-content: flex-start; max-width: 780px; }
.neural-observatory .hero-inner {
  grid-template-columns: minmax(0, .98fr) minmax(360px, .88fr);
  gap: clamp(2rem, 5vw, 5.5rem);
}
.neural-observatory .hero-inner > :not(.hero-orbital-console) { grid-column: 1; }
.neural-observatory .neural-observatory-console {
  grid-column: 2;
  grid-row: 1 / span 7;
  min-height: clamp(500px, 55vw, 690px);
  transform-style: preserve-3d;
}
.neural-console-shell {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: 34px;
  border: 1px solid rgba(74, 144, 255, .22);
  background:
    linear-gradient(140deg, rgba(11, 16, 42, .70), rgba(2, 4, 17, .48) 45%, rgba(5, 22, 29, .42)),
    radial-gradient(circle at 58% 44%, rgba(0,255,135,.075), transparent 44%);
  box-shadow:
    0 46px 140px rgba(0,0,0,.52),
    inset 0 1px 0 rgba(255,255,255,.055),
    inset 0 0 90px rgba(5, 10, 35, .62),
    0 0 70px rgba(45,227,194,.055);
  transform: rotateY(-6deg) rotateX(3deg);
}
.neural-console-shell::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(0,255,135,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(74,144,255,.05) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: radial-gradient(circle at 52% 47%, black 0 50%, transparent 76%);
  -webkit-mask-image: radial-gradient(circle at 52% 47%, black 0 50%, transparent 76%);
  animation: neuralConsoleGrid 24s linear infinite;
}
.neural-console-shell::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(125deg, rgba(57,255,20,.52), rgba(124,58,237,.24), rgba(45,227,194,.38), transparent 70%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: .72;
  pointer-events: none;
}
.neural-console-grid { position: absolute; inset: 0; }
.neural-console-glow {
  position: absolute;
  width: 72%;
  aspect-ratio: 1;
  left: 18%;
  top: 15%;
  border-radius: 30% 70% 60% 40%;
  background: radial-gradient(circle at center, rgba(0,255,135,.12), rgba(124,58,237,.08) 48%, transparent 70%);
  filter: blur(22px);
  animation: neuralGlowBreath 7.4s ease-in-out infinite;
}
@keyframes neuralConsoleGrid { to { background-position: 168px 84px, 84px 168px; } }
@keyframes neuralGlowBreath { 0%,100% { opacity: .46; transform: scale(.96) rotate(0deg); } 50% { opacity: .82; transform: scale(1.04) rotate(8deg); } }
.neural-lattice {
  position: absolute;
  inset: 12% 9% 18%;
  transform: translateZ(80px);
}
.nl-node, .map-node {
  position: absolute;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: rgba(57,255,20,.95);
  box-shadow: 0 0 18px rgba(57,255,20,.62), 0 0 42px rgba(57,255,20,.22);
  transform: translate(-50%, -50%);
  animation: nodePulse 3.8s ease-in-out infinite;
}
.nl-node:nth-of-type(3n), .map-node:nth-of-type(3n) { background: #2de3c2; box-shadow: 0 0 18px rgba(45,227,194,.55), 0 0 42px rgba(45,227,194,.18); }
.nl-node:nth-of-type(4n), .map-node:nth-of-type(4n) { background: #a78bfa; box-shadow: 0 0 18px rgba(167,139,250,.56), 0 0 42px rgba(167,139,250,.16); }
.nl-node-1{ left: 14%; top: 18%; } .nl-node-2{ left: 45%; top: 11%; } .nl-node-3{ left: 74%; top: 21%; }
.nl-node-4{ left: 25%; top: 46%; } .nl-node-5{ left: 55%; top: 45%; width: 24px; height: 24px; }
.nl-node-6{ left: 86%; top: 53%; } .nl-node-7{ left: 18%; top: 78%; } .nl-node-8{ left: 49%; top: 86%; } .nl-node-9{ left: 78%; top: 78%; }
.nl-edge, .map-edge {
  position: absolute;
  height: 1px;
  transform-origin: left center;
  background: linear-gradient(90deg, transparent, rgba(45,227,194,.26), rgba(57,255,20,.42), transparent);
  box-shadow: 0 0 16px rgba(0,255,135,.12);
  animation: edgeSignal 4.8s ease-in-out infinite;
}
.nl-edge-1{ left:14%; top:18%; width:32%; transform: rotate(-12deg); } .nl-edge-2{ left:45%; top:11%; width:31%; transform: rotate(18deg); }
.nl-edge-3{ left:20%; top:25%; width:31%; transform: rotate(42deg); } .nl-edge-4{ left:55%; top:45%; width:33%; transform: rotate(13deg); }
.nl-edge-5{ left:25%; top:46%; width:32%; transform: rotate(-2deg); } .nl-edge-6{ left:18%; top:78%; width:34%; transform: rotate(9deg); }
.nl-edge-7{ left:49%; top:86%; width:30%; transform: rotate(-12deg); } .nl-edge-8{ left:55%; top:45%; width:24%; transform: rotate(65deg); }
.nl-edge-9{ left:25%; top:46%; width:28%; transform: rotate(112deg); } .nl-edge-10{ left:45%; top:11%; width:42%; transform: rotate(89deg); }
.nl-pulse {
  position: absolute;
  border-radius: 999px;
  height: 2px;
  width: 90px;
  background: linear-gradient(90deg, transparent, rgba(57,255,20,.9), transparent);
  box-shadow: 0 0 18px rgba(57,255,20,.36);
  animation: signalTravel 5.4s ease-in-out infinite;
}
.nl-pulse-1{ left: 18%; top: 36%; transform: rotate(22deg); } .nl-pulse-2{ left: 52%; top: 28%; transform: rotate(74deg); animation-delay: 1.2s; } .nl-pulse-3{ left: 44%; top: 69%; transform: rotate(-16deg); animation-delay: 2.2s; }
@keyframes nodePulse { 0%,100%{ opacity:.68; transform:translate(-50%,-50%) scale(.86); } 50%{ opacity:1; transform:translate(-50%,-50%) scale(1.16); } }
@keyframes edgeSignal { 0%,100%{ opacity:.32; filter:blur(.15px); } 50%{ opacity:.88; filter:blur(.5px); } }
@keyframes signalTravel { 0%,100%{ opacity:0; clip-path: inset(0 100% 0 0); } 45%{ opacity:.95; clip-path: inset(0 0 0 0); } 70%{ opacity:0; clip-path: inset(0 0 0 100%); } }
.neural-core-chip {
  position: absolute;
  left: 8%;
  top: 7%;
  color: rgba(218,225,255,.82);
  letter-spacing: .2em;
  font-size: .72rem;
  padding: .52rem .72rem;
  border: 1px solid rgba(74,144,255,.2);
  border-radius: 999px;
  background: rgba(1,3,12,.36);
}
.neural-readout {
  position: absolute;
  width: min(16rem, 42%);
  border: 1px solid rgba(124,58,237,.2);
  border-radius: 18px;
  padding: .82rem .9rem;
  background: rgba(1,3,12,.42);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 18px 48px rgba(0,0,0,.25);
}
.neural-readout strong { display:block; color: var(--signal); font-size: .68rem; letter-spacing:.18em; margin-bottom:.28rem; }
.neural-readout span { display:block; color: rgba(218,225,255,.74); font-size:.77rem; }
.neural-readout-a { right: 6%; top: 18%; } .neural-readout-b { left: 7%; bottom: 14%; } .neural-readout-c { right: 8%; bottom: 7%; }
.neural-scan { position:absolute; left:8%; right:8%; height:1px; background:linear-gradient(90deg, transparent, rgba(0,255,135,.65), rgba(74,144,255,.48), transparent); box-shadow:0 0 24px rgba(0,255,135,.22); animation: neuralScan 7s ease-in-out infinite; }
.neural-scan-a { top: 35%; } .neural-scan-b { top: 67%; animation-delay: 2.8s; }
@keyframes neuralScan { 0%,100%{ opacity:.08; transform:translateY(-58px); } 50%{ opacity:.72; transform:translateY(58px); } }

/* Presentation deck redesigned as neural graph rather than planet/orb. */
.neural-observatory .orbital-showcase {
  min-height: 88vh;
  background:
    radial-gradient(circle at 35% 52%, rgba(124,58,237,.10), transparent 31%),
    radial-gradient(circle at 75% 50%, rgba(0,255,135,.035), transparent 34%);
}
.neural-observatory .orbital-showcase::before {
  background:
    linear-gradient(115deg, transparent 0 24%, rgba(74,144,255,.06) 34%, transparent 48% 100%),
    radial-gradient(ellipse at 50% 50%, rgba(0,255,135,.055), transparent 60%);
  filter: blur(10px);
  animation: neuralShowcaseAura 24s ease-in-out infinite;
}
@keyframes neuralShowcaseAura { 0%,100% { transform: translateX(-2%) skewX(-3deg); opacity:.56; } 50% { transform: translateX(2%) skewX(2deg); opacity:.88; } }
.neural-observatory .deck-stage {
  background:
    linear-gradient(135deg, rgba(5, 8, 25, .83), rgba(1,3,12,.62)),
    radial-gradient(circle at 48% 50%, rgba(0,255,135,.045), transparent 45%);
  border-color: rgba(74,144,255,.22);
  box-shadow: 0 50px 150px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.045), 0 0 80px rgba(45,227,194,.035);
}
.deck-neural-map {
  position: relative;
  width: min(80vw, 470px);
  aspect-ratio: 1;
  transform-style: preserve-3d;
}
.map-grid-core {
  position: absolute;
  inset: 7%;
  border-radius: 28px;
  border: 1px solid rgba(74,144,255,.18);
  background-image:
    linear-gradient(rgba(0,255,135,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(124,58,237,.07) 1px, transparent 1px);
  background-size: 32px 32px;
  transform: rotateX(64deg) rotateZ(-17deg);
  box-shadow: 0 0 60px rgba(0,0,0,.3), inset 0 0 70px rgba(0,255,135,.035);
  animation: mapGrid 20s linear infinite;
}
@keyframes mapGrid { to { background-position: 128px 64px, 64px 128px; } }
.map-center {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 98px;
  aspect-ratio: 1;
  transform: translate(-50%,-50%);
  border-radius: 28px;
  border: 1px solid rgba(0,255,135,.30);
  background: radial-gradient(circle at center, rgba(0,255,135,.22), rgba(45,227,194,.10) 42%, rgba(1,3,12,.3) 72%);
  box-shadow: 0 0 42px rgba(0,255,135,.20), inset 0 0 30px rgba(0,255,135,.08);
  animation: mapCoreBreath 5.8s ease-in-out infinite;
}
.map-center span, .map-center b { position:absolute; inset:18%; border:1px solid rgba(167,139,250,.34); border-radius:50%; animation: mapRingSpin 18s linear infinite; }
.map-center b { inset:31%; border-color: rgba(45,227,194,.38); animation-duration: 12s; animation-direction: reverse; }
@keyframes mapCoreBreath { 0%,100%{ transform:translate(-50%,-50%) scale(.96); } 50%{ transform:translate(-50%,-50%) scale(1.05); } }
@keyframes mapRingSpin { to { transform: rotate(360deg); } }
.map-node-1{ left:18%; top:18%; } .map-node-2{ left:51%; top:13%; } .map-node-3{ left:81%; top:24%; } .map-node-4{ left:23%; top:56%; } .map-node-5{ left:74%; top:56%; } .map-node-6{ left:38%; top:82%; } .map-node-7{ left:68%; top:82%; }
.map-edge-1{ left:18%; top:18%; width:34%; transform:rotate(-9deg); } .map-edge-2{ left:50%; top:14%; width:33%; transform:rotate(20deg); } .map-edge-3{ left:23%; top:56%; width:31%; transform:rotate(-17deg); } .map-edge-4{ left:52%; top:50%; width:24%; transform:rotate(14deg); } .map-edge-5{ left:37%; top:80%; width:34%; transform:rotate(0deg); } .map-edge-6{ left:18%; top:18%; width:43%; transform:rotate(61deg); } .map-edge-7{ left:80%; top:25%; width:32%; transform:rotate(103deg); } .map-edge-8{ left:50%; top:14%; width:36%; transform:rotate(92deg); }
.map-trace { position:absolute; height:2px; width:42%; background:linear-gradient(90deg, transparent, rgba(57,255,20,.88), transparent); box-shadow:0 0 20px rgba(57,255,20,.25); animation: signalTravel 5.4s ease-in-out infinite; }
.map-trace-1{ left:18%; top:35%; transform:rotate(26deg); } .map-trace-2{ left:46%; top:38%; transform:rotate(102deg); animation-delay:1.5s; } .map-trace-3{ left:33%; top:67%; transform:rotate(-5deg); animation-delay:2.5s; }
.map-label { position:absolute; padding:.42rem .58rem; border:1px solid rgba(74,144,255,.2); border-radius:999px; background:rgba(1,3,12,.42); color:rgba(218,225,255,.70); font-size:.62rem; letter-spacing:.16em; }
.map-label-a{ left:3%; top:41%; } .map-label-b{ right:0; top:11%; } .map-label-c{ right:4%; bottom:14%; }

/* Better rhythm: consistent spacing and restrained section separators. */
.neural-observatory .section { padding-top: clamp(3.8rem, 7vw, 5.6rem); padding-bottom: clamp(3.8rem, 7vw, 5.6rem); }
.neural-observatory .section-head { margin-bottom: clamp(1.8rem, 4vw, 2.8rem); }
.neural-observatory .section h2 { margin-bottom: .85rem; }
.neural-observatory .section-lede { margin-top: 0; }
.neural-observatory .section::after { opacity: .42; }
.neural-observatory .glass, .neural-observatory .card, .neural-observatory .founder-block, .neural-observatory .contact-form-wrap, .neural-observatory .security-summary {
  background: linear-gradient(135deg, rgba(12, 16, 42, .62), rgba(2, 4, 17, .48)) !important;
  border-color: rgba(74,144,255,.16);
}
.neural-observatory .card:hover, .neural-observatory .pill:hover {
  box-shadow: 0 34px 90px rgba(0,0,0,.34), 0 0 34px rgba(0,255,135,.08);
}
.neural-observatory .page-hero::after {
  border-radius: 32px;
  border-color: rgba(74,144,255,.12);
  background:
    linear-gradient(rgba(0,255,135,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(124,58,237,.05) 1px, transparent 1px);
  background-size: 38px 38px;
  box-shadow: none;
  opacity: .45;
  transform: rotate(-8deg);
}
.neural-observatory .footer-tech-band {
  background: linear-gradient(90deg, rgba(1,3,12,.92), rgba(4,12,24,.94), rgba(1,3,12,.92));
}
.neural-observatory .footer-tech-copy { color: rgba(194,210,255,.78); }

@media (max-width: 1040px) {
  .neural-observatory .hero-inner { grid-template-columns: 1fr; }
  .neural-observatory .hero-inner > :not(.hero-orbital-console) { grid-column: 1; }
  .neural-observatory .neural-observatory-console { grid-column: 1; grid-row: auto; min-height: 500px; max-width: 680px; margin: 1rem auto 0; width: 100%; }
  .neural-console-shell { transform: none; }
  .neural-observatory .cta-row, .neural-observatory .trust-row { justify-content: center; }
  .neural-observatory .hero-copy { margin-inline: auto; }
}
@media (max-width: 680px) {
  .neural-observatory .neural-observatory-console { min-height: 430px; }
  .neural-readout { width: 45%; padding: .65rem .68rem; }
  .neural-readout strong { font-size: .56rem; }
  .neural-readout span { font-size: .64rem; }
  .neural-core-chip { font-size: .58rem; letter-spacing: .14em; }
  .map-label { display:none; }
  .neural-observatory .hero { min-height: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .neural-observatory::before,
  .neural-console-shell::before,
  .neural-console-glow,
  .nl-node,
  .nl-edge,
  .nl-pulse,
  .neural-scan,
  .map-grid-core,
  .map-center,
  .map-center span,
  .map-center b,
  .map-trace,
  .neural-observatory .hero::before,
  .neural-observatory .orbital-showcase::before { animation: none !important; }
}


/* =========================================================
   L2ET Neural Observatory v56 - rhythm, status, and contact polish
   ========================================================= */
.neural-observatory .page-hero {
  padding-top: clamp(5.1rem, 8vw, 6.5rem);
  padding-bottom: clamp(1.15rem, 2.4vw, 1.85rem);
}
.neural-observatory .page-hero .eyebrow {
  margin-bottom: clamp(1.35rem, 2.1vw, 1.85rem);
}
.neural-observatory .page-hero h1 {
  margin-bottom: clamp(1.35rem, 2vw, 1.75rem);
}
.neural-observatory .page-hero h1:last-child {
  margin-bottom: 0;
}
.neural-observatory .page-hero .lede {
  margin-bottom: 0;
  max-width: 920px;
}
.neural-observatory .page-hero + .section {
  padding-top: clamp(1.85rem, 3.4vw, 2.75rem) !important;
}
.neural-observatory .section-coming-soon {
  padding-top: clamp(1.65rem, 3vw, 2.35rem) !important;
  min-height: 0;
}
.neural-observatory .section-coming-soon .container > .research-note:first-child {
  margin-top: 0;
}
.neural-observatory .research-note {
  max-width: 920px;
}
.neural-observatory .research-note + .research-note,
.neural-observatory .framework-note + .framework-note {
  margin-top: .95rem;
}
.neural-observatory .research-note + .grid-3,
.neural-observatory .section-coming-soon .grid-3 {
  margin-top: clamp(1.7rem, 3.2vw, 2.35rem) !important;
}
.neural-observatory .coming-soon-text {
  display: inline-flex;
  align-items: center;
  width: auto;
  max-width: 100%;
  margin-top: clamp(1.2rem, 2.5vw, 1.8rem) !important;
  padding: .58rem .9rem;
  border-radius: 999px;
  border: 1px solid rgba(0,255,135,.22);
  background: rgba(0,255,135,.055);
  font-size: clamp(.78rem, 1.05vw, .92rem);
  line-height: 1.35;
  letter-spacing: .16em;
  text-transform: uppercase;
  white-space: normal;
  text-shadow: 0 0 12px rgba(0,255,135,.18);
}
.neural-observatory .section-head {
  margin-bottom: clamp(1.55rem, 3.2vw, 2.35rem);
}
.neural-observatory .section-head .section-lede {
  margin-top: clamp(.45rem, 1vw, .65rem);
}
.neural-observatory .observatory-note {
  max-width: 840px;
  margin: .9rem 0 0;
  color: rgba(218,225,255,.68);
  font-size: .92rem;
  line-height: 1.65;
  border-left: 2px solid rgba(0,255,135,.32);
  padding-left: .95rem;
}
.neural-observatory .deck-stage {
  margin-top: clamp(1.5rem, 3vw, 2.3rem);
}
.neural-observatory .contact-side .next-steps li {
  line-height: 1.58;
}
.neural-observatory .contact-form select {
  line-height: 1.35;
}
@media (max-width: 760px) {
  .neural-observatory .page-hero { padding-bottom: 1.05rem; }
  .neural-observatory .page-hero + .section { padding-top: 1.65rem !important; }
  .neural-observatory .coming-soon-text { letter-spacing: .1em; font-size: .78rem; }
}

/* =========================================================
   L2ET Neural Observatory v82 - semantic interface modules
   ========================================================= */
.neural-observatory {
  --obs-green: #57ff22;
  --obs-violet: #8b5cf6;
  --obs-cyan: #2de3c2;
  --obs-blue: #4a90ff;
  --obs-amber: #ffbf5b;
  --obs-red: #ff5a7a;
}
.neural-observatory::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(circle at 30% 18%, rgba(0, 255, 135, .055), transparent 24%),
    radial-gradient(circle at 82% 36%, rgba(45, 227, 194, .045), transparent 27%),
    radial-gradient(circle at 54% 86%, rgba(124, 58, 237, .075), transparent 32%),
    linear-gradient(180deg, rgba(0,0,0,.28), transparent 24%, rgba(0,0,0,.20));
  mix-blend-mode: screen;
  opacity: .88;
}
.section-head-balanced {
  max-width: 980px;
  margin-bottom: clamp(1.65rem, 3vw, 2.25rem) !important;
}
.section-head-balanced h2 + .section-lede,
.page-hero h1 + .lede {
  margin-top: clamp(.85rem, 1.6vw, 1.15rem) !important;
}
.neural-observatory .page-hero h1 {
  margin-bottom: clamp(.8rem, 1.5vw, 1.15rem) !important;
}
.neural-observatory .page-hero .eyebrow {
  margin-bottom: clamp(1.75rem, 3.5vw, 2.4rem) !important;
}
.neural-observatory .page-hero + .section {
  padding-top: clamp(2.2rem, 4vw, 3.3rem) !important;
}
.neural-observatory .section-coming-soon .container > .research-note:first-child,
.neural-observatory .framework-vault-section + .section,
.neural-observatory .release-console-section + .section {
  margin-top: 0 !important;
}

/* Interactive Assurance Graph */
.assurance-graph-section,
.agentic-risk-section,
.release-console-section,
.framework-vault-section { overflow: hidden; }
.assurance-lab,
.risk-simulator,
.release-console {
  position: relative;
  border-radius: clamp(24px, 3vw, 34px);
  padding: clamp(1rem, 2.7vw, 1.8rem);
  background:
    linear-gradient(135deg, rgba(3, 6, 22, .86), rgba(7, 10, 32, .66)),
    radial-gradient(circle at 35% 28%, rgba(0, 255, 135, .055), transparent 38%),
    radial-gradient(circle at 76% 68%, rgba(124, 58, 237, .08), transparent 40%);
  border: 1px solid rgba(74, 144, 255, .18);
  box-shadow: 0 44px 140px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255,255,255,.045);
}
.assurance-lab::before,
.risk-simulator::before,
.release-console::before,
.framework-vault-section .container::before {
  content: '';
  position: absolute;
  inset: 1px;
  pointer-events: none;
  border-radius: inherit;
  background-image:
    linear-gradient(rgba(45, 227, 194, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(124, 58, 237, .045) 1px, transparent 1px);
  background-size: 34px 34px;
  opacity: .28;
  mask-image: radial-gradient(ellipse 72% 62% at 50% 50%, black, transparent 88%);
}
.assurance-tabs,
.risk-scenario-tabs {
  position: relative;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-bottom: clamp(1rem, 2.2vw, 1.5rem);
}
.assurance-tab,
.risk-tab {
  border: 1px solid rgba(148, 163, 184, .18);
  background: rgba(2, 6, 23, .58);
  color: rgba(218, 225, 255, .74);
  border-radius: 999px;
  padding: .62rem .9rem;
  font-size: .84rem;
  font-weight: 700;
  letter-spacing: -.01em;
  transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.assurance-tab span { font-family: var(--font-mono); color: var(--signal); margin-right: .45rem; font-size: .72rem; }
.assurance-tab.is-active,
.risk-tab.is-active,
.assurance-tab:hover,
.risk-tab:hover {
  color: var(--txt);
  border-color: rgba(0, 255, 135, .34);
  background: linear-gradient(135deg, rgba(0,255,135,.12), rgba(124,58,237,.12));
  box-shadow: 0 0 28px rgba(0,255,135,.08);
  transform: translateY(-1px);
}
.assurance-stage,
.risk-flow-wrap {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: stretch;
}
.assurance-graph {
  min-height: clamp(430px, 54vw, 610px);
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(74, 144, 255, .14);
  background:
    radial-gradient(circle at 50% 50%, rgba(0, 255, 135, .055), transparent 40%),
    radial-gradient(circle at 25% 22%, rgba(124, 58, 237, .10), transparent 26%),
    linear-gradient(rgba(74,144,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,255,135,.035) 1px, transparent 1px),
    rgba(1, 3, 12, .45);
  background-size: auto, auto, 42px 42px, 42px 42px, auto;
  box-shadow: inset 0 0 80px rgba(0,0,0,.32);
}
.assurance-svg { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .86; }
.assurance-svg line {
  stroke: var(--obs-violet);
  stroke-width: .65;
  stroke-linecap: round;
  filter: drop-shadow(0 0 6px currentColor);
  opacity: .62;
  stroke-dasharray: 3 3;
  animation: graphDash 15s linear infinite;
}
@keyframes graphDash { to { stroke-dashoffset: -90; } }
.ag-core {
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: clamp(124px, 17vw, 178px);
  aspect-ratio: 1;
  border-radius: 34px;
  border: 1px solid rgba(0,255,135,.34);
  background:
    radial-gradient(circle at 50% 42%, rgba(0,255,135,.22), transparent 48%),
    linear-gradient(145deg, rgba(4, 8, 25, .90), rgba(15, 19, 48, .54));
  box-shadow: 0 0 52px rgba(0,255,135,.16), inset 0 0 40px rgba(45,227,194,.08);
  display: grid;
  place-content: center;
  text-align: center;
  gap: .18rem;
}
.ag-core span { color: var(--txt); font-weight: 800; font-size: clamp(.85rem, 1.3vw, 1.05rem); }
.ag-core b { color: var(--txt-3); font-family: var(--font-mono); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }
.ag-node {
  position: absolute;
  width: clamp(128px, 15vw, 176px);
  min-height: 72px;
  transform: translate(-50%, -50%);
  border-radius: 18px;
  padding: .78rem .9rem;
  border: 1px solid rgba(148, 163, 184, .19);
  background: rgba(2, 6, 23, .64);
  box-shadow: 0 18px 45px rgba(0,0,0,.28);
  display: grid;
  align-content: center;
  gap: .16rem;
  transition: left .45s ease, top .45s ease, border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}
.ag-node::before {
  content: attr(data-index);
  color: var(--signal);
  font-family: var(--font-mono);
  font-size: .58rem;
  letter-spacing: .16em;
}
.ag-node b { color: var(--txt); font-size: .84rem; line-height: 1.18; }
.ag-node small { color: var(--txt-3); font-size: .70rem; line-height: 1.25; }
.ag-node.is-risk { border-color: rgba(255, 191, 91, .34); box-shadow: 0 0 34px rgba(255,191,91,.08); }
.ag-node.is-control { border-color: rgba(45, 227, 194, .36); box-shadow: 0 0 34px rgba(45,227,194,.09); }
.ag-node.is-evidence { border-color: rgba(0, 255, 135, .36); box-shadow: 0 0 34px rgba(0,255,135,.09); }
.ag-packet { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: var(--signal); box-shadow: 0 0 20px var(--signal); animation: packetOrbit 10s ease-in-out infinite; }
.ag-packet-b { background: var(--obs-cyan); box-shadow: 0 0 20px var(--obs-cyan); animation-delay: -4.8s; }
@keyframes packetOrbit { 0%,100%{ left: 18%; top: 22%; opacity:.25; } 25%{ left: 74%; top: 28%; opacity:.82; } 50%{ left: 78%; top: 74%; opacity:.48; } 75%{ left: 24%; top: 76%; opacity:.72; } }
.assurance-readout,
.risk-readout {
  border-radius: 24px;
  border: 1px solid rgba(74, 144, 255, .15);
  background: linear-gradient(145deg, rgba(3, 6, 22, .76), rgba(15, 19, 48, .48));
  padding: clamp(1.2rem, 2.5vw, 1.6rem);
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 300px;
}
.readout-kicker { color: var(--signal); font-size: .72rem; letter-spacing: .17em; text-transform: uppercase; margin-bottom: .8rem; }
.assurance-readout h3,
.risk-readout h3 { font-size: clamp(1.45rem, 2.8vw, 2.35rem); line-height: 1.03; letter-spacing: -.04em; margin-bottom: .8rem; }
.assurance-readout p,
.risk-readout p { color: var(--txt-2); line-height: 1.72; }
.signal-list { list-style: none; display: grid; gap: .62rem; margin: 1.1rem 0; }
.signal-list li { position: relative; padding-left: 1.2rem; color: var(--txt); font-size: .93rem; }
.signal-list li::before { content: ''; position: absolute; left: 0; top: .62em; width: .45rem; height: .45rem; border-radius: 50%; background: var(--signal); box-shadow: 0 0 14px rgba(0,255,135,.38); }
.readout-note { margin-top: auto; font-size: .78rem; color: var(--txt-3) !important; }
.sig-green { color: var(--obs-green); } .sig-violet { color: var(--obs-violet); } .sig-cyan { color: var(--obs-cyan); } .sig-amber { color: var(--obs-amber); }
body[data-observatory-layer="governance"] .assurance-svg line { stroke: var(--obs-violet); }
body[data-observatory-layer="assurance"] .assurance-svg line { stroke: var(--obs-green); }
body[data-observatory-layer="security"] .assurance-svg line { stroke: var(--obs-cyan); }
body[data-observatory-layer="resilience"] .assurance-svg line { stroke: var(--obs-blue); }
body[data-observatory-layer="agentic"] .assurance-svg line { stroke: var(--obs-amber); }

/* Agentic risk simulator */
.risk-simulator { padding: clamp(1rem, 2.5vw, 1.6rem); }
.risk-flow {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: .85rem;
  min-height: 395px;
  align-content: center;
  border-radius: 26px;
  border: 1px solid rgba(74,144,255,.14);
  padding: clamp(1rem, 2.4vw, 1.5rem);
  background:
    radial-gradient(circle at 52% 48%, rgba(45, 227, 194, .06), transparent 44%),
    linear-gradient(rgba(0,255,135,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(124,58,237,.045) 1px, transparent 1px);
  background-size: auto, 38px 38px, 38px 38px;
  overflow: hidden;
}
.risk-node {
  position: relative;
  min-height: 104px;
  z-index: 2;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 18px;
  padding: .9rem;
  background: rgba(2, 6, 23, .62);
  display: grid;
  gap: .18rem;
  align-content: start;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.risk-node span { color: var(--signal); font-family: var(--font-mono); font-size: .66rem; letter-spacing: .18em; }
.risk-node b { color: var(--txt); font-size: .92rem; }
.risk-node small { color: var(--txt-3); font-size: .76rem; line-height: 1.25; }
.risk-node.is-active { border-color: rgba(0,255,135,.38); box-shadow: 0 0 30px rgba(0,255,135,.09); }
.risk-node.is-warning { border-color: rgba(255,191,91,.52); box-shadow: 0 0 36px rgba(255,191,91,.12); background: rgba(40, 21, 5, .35); }
.risk-node.is-control { border-color: rgba(45,227,194,.42); box-shadow: 0 0 32px rgba(45,227,194,.11); }
.risk-node[data-risk-node="monitoring"] { grid-column: 2 / span 1; }
.risk-node[data-risk-node="human"] { grid-column: 3 / span 2; }
.risk-path { position:absolute; height:2px; background: linear-gradient(90deg, transparent, rgba(0,255,135,.54), transparent); filter: drop-shadow(0 0 8px rgba(0,255,135,.18)); z-index:1; }
.risk-path-a { left: 13%; right: 13%; top: 43%; }
.risk-path-b { left: 28%; width: 38%; top: 68%; transform: rotate(17deg); }
.risk-path-c { right: 17%; width: 34%; top: 58%; transform: rotate(-24deg); background: linear-gradient(90deg, transparent, rgba(45,227,194,.45), transparent); }
.risk-token { position:absolute; z-index:3; width:14px; height:14px; border-radius:50%; background: var(--signal); box-shadow:0 0 25px var(--signal); left: 10%; top: 42%; animation: riskToken 7s ease-in-out infinite; }
@keyframes riskToken { 0%,100%{ left:11%; top:42%; } 22%{ left:35%; top:42%; } 44%{ left:57%; top:42%; } 66%{ left:72%; top:54%; } 84%{ left:48%; top:69%; } }
body[data-risk-scenario="retrieval"] .risk-token,
body[data-risk-scenario="tools"] .risk-token,
body[data-risk-scenario="authority"] .risk-token,
body[data-risk-scenario="drift"] .risk-token { background: var(--obs-amber); box-shadow: 0 0 26px rgba(255,191,91,.65); }

/* Release console */
.release-console { display: grid; grid-template-columns: 1fr minmax(280px, .55fr); gap: clamp(1rem, 2.5vw, 1.6rem); }
.release-timeline { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; counter-reset: none; }
.release-timeline li {
  position: relative;
  min-height: 220px;
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 22px;
  padding: 1rem;
  background: rgba(2,6,23,.56);
  overflow: hidden;
}
.release-timeline li::after { content:''; position:absolute; left:0; right:0; bottom:0; height:2px; background: linear-gradient(90deg, rgba(0,255,135,.7), transparent); opacity:.38; }
.release-timeline li.is-current { border-color: rgba(0,255,135,.35); box-shadow: 0 0 38px rgba(0,255,135,.08); }
.release-index { display:inline-flex; align-items:center; justify-content:center; width:2.15rem; height:2.15rem; border-radius:50%; color:var(--signal); font-family:var(--font-mono); font-size:.72rem; border:1px solid rgba(0,255,135,.24); margin-bottom:1rem; }
.release-timeline h3 { font-size: 1rem; margin-bottom:.5rem; }
.release-timeline p { color: var(--txt-2); font-size:.86rem; line-height:1.55; }
.release-modules { display: grid; gap: .72rem; }
.release-modules article { border:1px solid rgba(74,144,255,.14); border-radius:18px; padding:.95rem; background:rgba(2,6,23,.52); }
.release-modules span { display:block; color:var(--signal); font-size:.62rem; font-family:var(--font-mono); letter-spacing:.18em; margin-bottom:.3rem; }
.release-modules b { display:block; color:var(--txt); font-size:.92rem; line-height:1.25; }
.release-modules small { color:var(--txt-3); }

/* Framework vault */
.framework-vault-section .container { position: relative; }
.vault-grid { display:grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: .9rem; }
.vault-card { position:relative; min-height: 260px; padding:1.2rem; border-radius:22px; overflow:hidden; }
.vault-card::after { content:''; position:absolute; inset:auto -20% -38% auto; width:150px; height:150px; border-radius:50%; background: radial-gradient(circle, rgba(0,255,135,.12), transparent 70%); }
.vault-lock { width: 42px; height: 42px; display:flex; align-items:center; justify-content:center; border-radius:14px; border:1px solid rgba(0,255,135,.22); background:rgba(0,255,135,.055); color:var(--signal); margin-bottom:1rem; }
.vault-status { display:block; color:var(--signal); font-family:var(--font-mono); font-size:.60rem; letter-spacing:.17em; margin-bottom:.7rem; }
.vault-card h3 { font-size:1rem; line-height:1.22; margin-bottom:.55rem; }
.vault-card p { color:var(--txt-2); font-size:.85rem; line-height:1.55; }
.vault-disclaimer { display:inline-flex; margin-top:1.2rem; padding:.55rem .85rem; border-radius:999px; border:1px solid rgba(0,255,135,.18); color:var(--signal); background:rgba(0,255,135,.045); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; }

/* Founder research console */
.founder-console { max-width: 980px; background: linear-gradient(135deg, rgba(3, 6, 22, .78), rgba(15, 19, 48, .55)) !important; border-color: rgba(74,144,255,.20) !important; }
.founder-console::after { content:'RESEARCH CONSOLE'; position:absolute; right:1.2rem; top:1rem; color:rgba(0,255,135,.24); font-family:var(--font-mono); font-size:.66rem; letter-spacing:.2em; }
.founder-console-strip { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:.5rem; margin:-.25rem 0 1rem; }
.founder-console-strip span { padding:.36rem .62rem; border:1px solid rgba(45,227,194,.18); border-radius:999px; color:rgba(218,225,255,.72); font-family:var(--font-mono); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; background:rgba(2,6,23,.42); }
.founder-console-matrix { position:relative; z-index:1; display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:.7rem; margin:1rem 0; }
.founder-console-matrix div { border:1px solid rgba(74,144,255,.14); border-radius:16px; padding:.85rem; background:rgba(2,6,23,.42); }
.founder-console-matrix span { display:block; color:var(--txt-3); font-family:var(--font-mono); font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; margin-bottom:.25rem; }
.founder-console-matrix b { color:var(--txt); font-size:.88rem; }

/* Security posture page */
.advanced-security-page { max-width: 1060px; }
.security-posture-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:.9rem; margin:1.4rem 0 2.2rem; }
.security-posture-card { padding:1.1rem; border-radius:18px; }
.security-posture-card span { display:inline-flex; color:var(--signal); font-family:var(--font-mono); font-size:.68rem; letter-spacing:.17em; margin-bottom:.75rem; }
.security-posture-card h3 { font-size:1rem; margin-bottom:.45rem; }
.security-posture-card p { color:var(--txt-2); font-size:.88rem; line-height:1.58; }

@media (max-width: 1100px) {
  .vault-grid { grid-template-columns: repeat(3, 1fr); }
  .release-console { grid-template-columns: 1fr; }
  .release-timeline { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .assurance-stage,
  .risk-flow-wrap { grid-template-columns: 1fr; }
  .assurance-graph { min-height: 520px; }
  .risk-flow { grid-template-columns: repeat(2, 1fr); }
  .risk-node[data-risk-node="monitoring"], .risk-node[data-risk-node="human"] { grid-column: auto; }
  .security-posture-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .assurance-tabs, .risk-scenario-tabs { overflow-x: auto; flex-wrap: nowrap; padding-bottom: .25rem; }
  .assurance-tab, .risk-tab { white-space: nowrap; }
  .assurance-graph { min-height: 620px; }
  .ag-node { width: 138px; }
  .risk-flow { grid-template-columns: 1fr; min-height: 0; }
  .risk-path, .risk-token { display: none; }
  .release-timeline, .vault-grid, .founder-console-matrix, .security-posture-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .ag-packet, .risk-token, .assurance-svg line { animation: none !important; }
}

/* v70 spacing polish - align page hero rhythm with following content */
.neural-observatory .page-hero {
  padding-bottom: clamp(.9rem, 1.8vw, 1.35rem) !important;
}
.neural-observatory .page-hero + .section {
  padding-top: clamp(1.35rem, 2.5vw, 2rem) !important;
}
.neural-observatory .page-hero .lede {
  margin-top: clamp(.95rem, 1.8vw, 1.3rem) !important;
  max-width: 940px;
}
.neural-observatory .section-head .section-lede {
  margin-top: clamp(.75rem, 1.4vw, 1rem) !important;
}
.neural-observatory .section-head-balanced + .assurance-lab,
.neural-observatory .section-head-balanced + .risk-simulator,
.neural-observatory .section-head-balanced + .release-console,
.neural-observatory .section-head-balanced + .vault-grid {
  margin-top: 0;
}

/* =========================================================
   L2ET Neural Observatory v82 - deterministic semantic graph/simulator
   ========================================================= */
.neural-observatory .page-hero {
  padding-top: clamp(5.25rem, 8.2vw, 6.8rem) !important;
  padding-bottom: clamp(.75rem, 1.6vw, 1.2rem) !important;
}
.neural-observatory .page-hero .eyebrow {
  margin-bottom: clamp(1.15rem, 2vw, 1.55rem) !important;
}
.neural-observatory .page-hero h1 {
  margin-bottom: clamp(1rem, 1.8vw, 1.35rem) !important;
}
.neural-observatory .page-hero h1 + .lede {
  margin-top: 0 !important;
  max-width: 940px;
}
.neural-observatory .page-hero + .section {
  padding-top: clamp(1.35rem, 2.4vw, 2.05rem) !important;
}
.neural-observatory .section {
  padding-top: clamp(3.4rem, 6.2vw, 5rem) !important;
  padding-bottom: clamp(3.4rem, 6.2vw, 5rem) !important;
}
.neural-observatory .section-head,
.neural-observatory .section-head-balanced {
  margin-bottom: clamp(1.45rem, 2.7vw, 2.05rem) !important;
}
.neural-observatory .section-head h2,
.neural-observatory .section-head-balanced h2 {
  margin-bottom: clamp(.75rem, 1.2vw, .95rem) !important;
}
.neural-observatory .section-head .section-lede,
.neural-observatory .section-head-balanced .section-lede {
  margin-top: 0 !important;
  line-height: 1.66;
}
.neural-observatory .section-coming-soon {
  padding-top: clamp(1.15rem, 2vw, 1.7rem) !important;
}
.neural-observatory .section-coming-soon .grid-3,
.neural-observatory .section-coming-soon .reveal-group {
  margin-top: clamp(1.45rem, 2.7vw, 2rem) !important;
}
.neural-observatory .research-note {
  line-height: 1.68;
}

.assurance-studio-v2,
.risk-studio-v2 {
  padding: clamp(1rem, 2vw, 1.45rem);
  border-radius: 30px;
  overflow: hidden;
  box-shadow: 0 30px 110px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.035);
}
.assurance-layer-tabs-v2,
.risk-tabs-v2 {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-bottom: clamp(1rem, 2vw, 1.35rem);
}
.assurance-layer-btn-v2,
.risk-tab-v2 {
  appearance: none;
  border: 1px solid rgba(148,163,184,.18);
  border-radius: 999px;
  background: rgba(2,6,23,.56);
  color: rgba(218,225,255,.76);
  padding: .62rem .86rem;
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .10em;
  text-transform: uppercase;
  cursor: pointer;
  transition: border-color .22s ease, background .22s ease, color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.assurance-layer-btn-v2 span {
  color: var(--signal);
  margin-right: .4rem;
}
.assurance-layer-btn-v2:hover,
.risk-tab-v2:hover,
.assurance-layer-btn-v2.is-active,
.risk-tab-v2.is-active {
  border-color: rgba(0,255,135,.34);
  background: rgba(0,255,135,.075);
  color: var(--txt);
  box-shadow: 0 0 28px rgba(0,255,135,.07);
  transform: translateY(-1px);
}
.assurance-v2-layout,
.risk-v2-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .58fr);
  gap: clamp(1rem, 2vw, 1.35rem);
  align-items: stretch;
}
.assurance-map-shell-v2,
.risk-map-shell-v2 {
  position: relative;
  border-radius: 26px;
  border: 1px solid rgba(74,144,255,.15);
  background:
    radial-gradient(circle at 52% 46%, rgba(45,227,194,.075), transparent 36%),
    radial-gradient(circle at 24% 22%, rgba(124,58,237,.095), transparent 28%),
    linear-gradient(180deg, rgba(2,6,23,.76), rgba(1,3,13,.52));
  overflow: hidden;
  min-height: 560px;
}
.assurance-map-shell-v2::before,
.risk-map-shell-v2::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(120deg, transparent 0%, rgba(0,255,135,.045) 42%, transparent 62%);
  transform: translateX(-100%);
  animation: l2etPanelScan 11s ease-in-out infinite;
}
@keyframes l2etPanelScan {
  0%, 48%, 100% { transform: translateX(-100%); opacity: 0; }
  55% { opacity: .8; }
  75% { transform: translateX(100%); opacity: 0; }
}
.assurance-map-svg-v2,
.risk-map-svg-v2 {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 560px;
  display: block;
}
.graph-grid-v2 path,
.risk-grid-v2 path {
  stroke: rgba(148,163,184,.075);
  stroke-width: 1;
  fill: none;
}
.semantic-edge-v2 {
  fill: none;
  stroke: rgba(45,227,194,.50);
  stroke-width: 2.05;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 8 10;
  animation: semanticEdgeFlow 4.8s linear infinite;
  marker-end: url(#arrowCyanV2);
}
.semantic-edge-v2.edge-governance { stroke: rgba(139,92,246,.64); marker-end: url(#arrowVioletV2); }
.semantic-edge-v2.edge-evidence { stroke: rgba(87,255,34,.62); marker-end: url(#arrowGreenV2); }
.semantic-edge-v2.edge-control { stroke: rgba(45,227,194,.66); marker-end: url(#arrowCyanV2); }
.semantic-edge-v2.edge-resilience { stroke: rgba(74,144,255,.62); marker-end: url(#arrowBlueV2); }
.semantic-edge-v2.edge-risk { stroke: rgba(255,191,91,.72); marker-end: url(#arrowAmberV2); }
@keyframes semanticEdgeFlow { to { stroke-dashoffset: -38; } }
.edge-label-v2 {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .09em;
  fill: rgba(226,232,255,.78);
  paint-order: stroke;
  stroke: #020617;
  stroke-width: 5px;
}
.semantic-node-v2 .node-occluder-v2,
.risk-node-v2 .node-occluder-v2 {
  fill: #020615;
  stroke: none;
}
.semantic-node-v2 rect:not(.node-occluder-v2) {
  fill: #04091c;
  stroke: rgba(148,163,184,.24);
  stroke-width: 1.35;
  rx: 18;
  filter: drop-shadow(0 18px 38px rgba(0,0,0,.28));
}
.semantic-node-v2.node-core rect:not(.node-occluder-v2) { fill: #051022; stroke: rgba(0,255,135,.50); }
.semantic-node-v2.node-governance rect:not(.node-occluder-v2) { stroke: rgba(139,92,246,.58); }
.semantic-node-v2.node-control rect:not(.node-occluder-v2) { stroke: rgba(45,227,194,.58); }
.semantic-node-v2.node-evidence rect:not(.node-occluder-v2) { stroke: rgba(87,255,34,.50); }
.semantic-node-v2.node-resilience rect:not(.node-occluder-v2) { stroke: rgba(74,144,255,.58); }
.semantic-node-v2.node-risk rect:not(.node-occluder-v2) { stroke: rgba(255,191,91,.72); fill: #1f1408; }
.semantic-node-v2.node-critical rect:not(.node-occluder-v2) { stroke: rgba(255,90,122,.72); fill: #210914; }
.semantic-node-v2 circle {
  fill: currentColor;
  filter: url(#l2etGlowV2);
}
.semantic-node-v2.node-governance { color: #8b5cf6; }
.semantic-node-v2.node-control { color: #2de3c2; }
.semantic-node-v2.node-evidence { color: #57ff22; }
.semantic-node-v2.node-resilience { color: #4a90ff; }
.semantic-node-v2.node-risk { color: #ffbf5b; }
.semantic-node-v2.node-critical { color: #ff5a7a; }
.semantic-node-v2.node-core { color: #57ff22; }
.node-title-v2 {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 700;
  fill: rgba(250,252,255,.94);
}
.node-sub-v2 {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .06em;
  fill: rgba(218,225,255,.58);
}
.assurance-readout-v2,
.risk-readout-v2 {
  border: 1px solid rgba(74,144,255,.15);
  border-radius: 24px;
  padding: clamp(1rem, 2.2vw, 1.35rem);
  background: rgba(2,6,23,.58);
}
.assurance-readout-v2 h3,
.risk-readout-v2 h3 {
  font-size: clamp(1.25rem, 2vw, 1.62rem);
  margin: .35rem 0 .7rem;
}
.assurance-readout-v2 p,
.risk-readout-v2 p {
  color: var(--txt-2);
  line-height: 1.65;
}
.assurance-layer-objective-v2,
.risk-current-step-v2 {
  margin: 1rem 0;
  padding: .85rem .9rem;
  border-radius: 18px;
  border: 1px solid rgba(0,255,135,.17);
  background: rgba(0,255,135,.045);
}
.assurance-layer-objective-v2 span,
.risk-current-step-v2 span {
  display: block;
  color: var(--txt-3);
  font-family: var(--font-mono);
  font-size: .62rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  margin-bottom: .25rem;
}
.assurance-layer-objective-v2 b,
.risk-current-step-v2 b {
  color: var(--txt);
  font-size: .92rem;
  line-height: 1.35;
}
.assurance-legend-v2 {
  position: absolute;
  z-index: 2;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: .55rem .8rem;
  padding: .62rem .75rem;
  border: 1px solid rgba(148,163,184,.12);
  border-radius: 18px;
  background: rgba(1,3,12,.66);
  color: rgba(218,225,255,.68);
  font-size: .68rem;
}
.assurance-legend-v2 span { display: inline-flex; align-items: center; gap: .35rem; }
.assurance-legend-v2 i { width: .58rem; height: .58rem; border-radius: 50%; display: inline-block; box-shadow: 0 0 13px currentColor; }
.legend-green { color: #57ff22; background: #57ff22; }
.legend-violet { color: #8b5cf6; background: #8b5cf6; }
.legend-cyan { color: #2de3c2; background: #2de3c2; }
.legend-blue { color: #4a90ff; background: #4a90ff; }
.legend-amber { color: #ffbf5b; background: #ffbf5b; }

.risk-map-shell-v2 { min-height: 540px; }
.risk-map-svg-v2 { height: 540px; }
.risk-edge-v2 {
  fill: none;
  stroke: rgba(45,227,194,.52);
  stroke-width: 2.15;
  stroke-linecap: round;
  stroke-linejoin: round;
  marker-end: url(#riskArrowV2);
}
.risk-edge-v2.edge-warning {
  stroke: rgba(255,191,91,.78);
  marker-end: url(#riskArrowWarnV2);
  stroke-dasharray: 8 9;
  animation: semanticEdgeFlow 3.7s linear infinite;
}
.risk-edge-v2.edge-control { stroke: rgba(87,255,34,.62); }
.risk-edge-v2.edge-observe { stroke: rgba(74,144,255,.58); stroke-dasharray: 4 8; }
.risk-node-v2 rect:not(.node-occluder-v2) {
  fill: #04091c;
  stroke: rgba(148,163,184,.24);
  stroke-width: 1.25;
  rx: 17;
  transition: stroke .25s ease, fill .25s ease;
}
.risk-node-v2.node-active rect:not(.node-occluder-v2) { stroke: rgba(0,255,135,.52); }
.risk-node-v2.node-control rect:not(.node-occluder-v2) { stroke: rgba(45,227,194,.58); }
.risk-node-v2.node-warning rect:not(.node-occluder-v2) { stroke: rgba(255,191,91,.76); fill: #211508; }
.risk-node-v2.node-blocked rect:not(.node-occluder-v2) { stroke: rgba(255,90,122,.78); fill: #230914; }
.risk-node-index-v2 {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .14em;
  fill: #57ff22;
}
.risk-node-title-v2 {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 700;
  fill: rgba(250,252,255,.94);
}
.risk-node-sub-v2 {
  font-family: var(--font-mono);
  font-size: 9.5px;
  letter-spacing: .05em;
  fill: rgba(218,225,255,.58);
}
.risk-token-v2 {
  fill: #57ff22;
  filter: url(#riskGlowV2);
  transition: transform .72s cubic-bezier(.2,.8,.2,1), fill .25s ease;
}
.risk-token-ring-v2 {
  fill: none;
  stroke: rgba(87,255,34,.30);
  stroke-width: 2;
  transform-origin: center;
  animation: riskTokenRing 1.6s ease-in-out infinite;
}
@keyframes riskTokenRing { 0%,100% { r: 12; opacity: .45; } 50% { r: 22; opacity: .12; } }
.risk-progress-v2 {
  position: absolute;
  z-index: 2;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  padding: .65rem .8rem;
  border-radius: 16px;
  border: 1px solid rgba(0,255,135,.15);
  background: rgba(1,3,12,.74);
  color: rgba(218,225,255,.76);
  letter-spacing: .08em;
  font-size: .72rem;
}
@media (max-width: 1120px) {
  .assurance-v2-layout,
  .risk-v2-layout { grid-template-columns: 1fr; }
  .assurance-map-shell-v2,
  .risk-map-shell-v2 { min-height: 520px; }
}
@media (max-width: 720px) {
  .assurance-map-svg-v2,
  .risk-map-svg-v2 { height: 680px; }
  .assurance-map-shell-v2,
  .risk-map-shell-v2 { min-height: 680px; }
  .assurance-layer-tabs-v2,
  .risk-tabs-v2 { overflow-x: auto; flex-wrap: nowrap; padding-bottom: .3rem; }
  .assurance-layer-btn-v2,
  .risk-tab-v2 { white-space: nowrap; }
  .assurance-legend-v2 { position: relative; left: auto; right: auto; bottom: auto; margin: 0 1rem 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .semantic-edge-v2,
  .risk-edge-v2,
  .risk-token-ring-v2,
  .assurance-map-shell-v2::before,
  .risk-map-shell-v2::before { animation: none !important; }
  .risk-token-v2 { transition: none !important; }
}

/* v82 mobile readability: keep semantic maps readable instead of shrinking labels to dust */
.assurance-map-shell-v2,
.risk-map-shell-v2 { overflow: auto; }
.assurance-map-svg-v2 { min-width: 880px; }
.risk-map-svg-v2 { min-width: 940px; }
@media (min-width: 1121px) {
  .assurance-map-svg-v2,
  .risk-map-svg-v2 { min-width: 0; }
}


/* L2ET v90 - selected concept suite: Trust Stack, Assurance Radar, Agentic Rail, Framework Vault logos */
.hero-concept-console {
  position: relative;
  border-radius: 34px;
  padding: clamp(1rem, 2vw, 1.35rem);
  min-height: 620px;
  overflow: hidden;
  background: radial-gradient(circle at 50% 24%, rgba(45,227,194,.10), transparent 34%), linear-gradient(180deg, rgba(3,9,26,.94), rgba(1,5,17,.86));
  border: 1px solid rgba(45,227,194,.22);
  box-shadow: 0 24px 90px rgba(0,0,0,.34), inset 0 0 0 1px rgba(255,255,255,.035);
}
.hero-concept-console::before {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(74,144,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(74,144,255,.03) 1px, transparent 1px);
  background-size: 70px 70px;
  mask-image: radial-gradient(circle at 50% 44%, rgba(0,0,0,.75), transparent 78%);
  -webkit-mask-image: radial-gradient(circle at 50% 44%, rgba(0,0,0,.75), transparent 78%);
}
.concept-console-head, .concept-tabbar, .concept-stage { position: relative; z-index: 1; }
.concept-console-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom: .9rem; }
.concept-console-head > span { color: rgba(235,241,255,.72); letter-spacing:.18em; font-size:.72rem; border:1px solid rgba(99,132,255,.14); padding:.5rem .75rem; border-radius:999px; background:rgba(1,5,18,.6); }
.concept-mini-status { color: var(--signal); font: 700 .72rem/1 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; display:flex; align-items:center; gap:.45rem; }
.concept-mini-status i { width:.52rem; height:.52rem; border-radius:999px; display:block; background:var(--signal); box-shadow:0 0 16px rgba(87,255,34,.85); }
.concept-tabbar { display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom: 1rem; }
.concept-tab { border:1px solid rgba(99,132,255,.18); background:rgba(3,9,26,.62); color:rgba(231,238,255,.72); border-radius:999px; padding:.55rem .72rem; font:700 .72rem/1 var(--font-mono); letter-spacing:.06em; text-transform:uppercase; }
.concept-tab.is-active { color:var(--signal); border-color:rgba(87,255,34,.55); background:rgba(87,255,34,.08); box-shadow:0 0 20px rgba(87,255,34,.09); }
.concept-stage { min-height: 520px; }
.concept-panel { display:none; min-height:520px; }
.concept-panel.is-active { display:block; animation: conceptPanelIn .35s var(--ease) both; }
@keyframes conceptPanelIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
.concept-caption { position:absolute; left:1.25rem; bottom:.9rem; color:rgba(202,213,255,.48); letter-spacing:.08em; font-size:.78rem; }
.trust-stack-v2 { position:absolute; inset:7.5rem 2rem 3.2rem; display:flex; flex-direction:column; justify-content:center; gap:.68rem; perspective:900px; }
.trust-layer { position:relative; display:grid; grid-template-columns: 1fr auto; align-items:center; gap:.75rem; padding:1rem 1.15rem; border-radius:22px; background:linear-gradient(180deg, rgba(5,12,30,.96), rgba(3,8,22,.91)); border:1px solid rgba(45,227,194,.17); box-shadow:0 18px 45px rgba(0,0,0,.22); transform:rotateX(2deg); }
.trust-layer::before { content:''; position:absolute; left:0; top:0; bottom:0; width:4px; border-radius:22px 0 0 22px; background:var(--signal); box-shadow:0 0 24px rgba(87,255,34,.65); }
.trust-layer b { color:var(--txt); font-size:clamp(.95rem, 1.8vw, 1.12rem); }
.trust-layer span { grid-column:1; color:var(--muted); font:600 .78rem/1.3 var(--font-mono); }
.trust-layer em { grid-column:2; grid-row:1 / span 2; align-self:center; color:var(--signal); font:800 .68rem/1 var(--font-mono); letter-spacing:.09em; text-transform:uppercase; font-style:normal; border:1px solid rgba(87,255,34,.22); border-radius:999px; padding:.45rem .55rem; background:rgba(87,255,34,.055); }
.layer-decision::before { background:#8b5cf6; box-shadow:0 0 24px rgba(139,92,246,.65); } .layer-decision em { color:#a78bfa; border-color:rgba(139,92,246,.28); background:rgba(139,92,246,.06); }
.layer-monitor::before { background:#4a90ff; box-shadow:0 0 24px rgba(74,144,255,.55); } .layer-monitor em { color:#8ab8ff; border-color:rgba(74,144,255,.28); background:rgba(74,144,255,.06); }
.layer-security::before { background:#2de3c2; box-shadow:0 0 24px rgba(45,227,194,.55); } .layer-security em { color:#7fffea; border-color:rgba(45,227,194,.28); background:rgba(45,227,194,.06); }
.layer-inventory::before { background:#ffbf5b; box-shadow:0 0 24px rgba(255,191,91,.42); } .layer-inventory em { color:#ffd38a; border-color:rgba(255,191,91,.28); background:rgba(255,191,91,.06); }
.reactor-core { position:absolute; inset:6.6rem 1.2rem 3rem; }
.reactor-ring { position:absolute; left:50%; top:48%; border-radius:50%; transform:translate(-50%,-50%); border:2px solid rgba(45,227,194,.3); animation: reactorSpin 18s linear infinite; }
.ring-a{width:82%; aspect-ratio:1;border-color:rgba(45,227,194,.32)} .ring-b{width:62%; aspect-ratio:1;border-color:rgba(139,92,246,.34); animation-duration:23s; animation-direction:reverse;} .ring-c{width:42%; aspect-ratio:1;border-color:rgba(87,255,34,.42); animation-duration:28s;}
@keyframes reactorSpin { to { transform:translate(-50%,-50%) rotate(360deg); } }
.reactor-center { position:absolute; left:50%; top:48%; transform:translate(-50%,-50%); width:230px; padding:1rem; border-radius:26px; text-align:center; background:rgba(4,12,28,.96); border:1px solid rgba(87,255,34,.42); box-shadow:0 0 50px rgba(87,255,34,.1); }
.reactor-center b { color:var(--signal); font:800 .82rem/1 var(--font-mono); letter-spacing:.08em; } .reactor-center small { display:block; margin-top:.45rem; color:var(--muted); }
.reactor-node { position:absolute; min-width:112px; text-align:center; padding:.6rem .8rem; border-radius:999px; background:rgba(3,9,26,.86); border:1px solid rgba(45,227,194,.24); color:rgba(234,240,255,.82); font:800 .66rem/1 var(--font-mono); text-transform:uppercase; letter-spacing:.08em; }
.rn-input{left:50%;top:3%;transform:translateX(-50%);color:#a78bfa;border-color:rgba(139,92,246,.38)} .rn-controls{right:6%;top:32%;color:#2de3c2}.rn-evidence{right:15%;bottom:16%;color:#57ff22}.rn-monitor{left:12%;bottom:16%;color:#4a90ff}.rn-risk{left:5%;top:32%;color:#ffbf5b;border-color:rgba(255,191,91,.38)}
.control-spine-mini { list-style:none; position:absolute; inset:6.8rem 2.2rem 3rem; display:flex; flex-direction:column; gap:.74rem; justify-content:center; }
.control-spine-mini li { position:relative; display:grid; grid-template-columns:3rem 1fr; gap:.85rem; align-items:center; padding:.82rem .95rem; border-radius:20px; background:rgba(5,12,30,.94); border:1px solid rgba(45,227,194,.18); }
.control-spine-mini li:not(:last-child)::after { content:''; position:absolute; left:2.15rem; bottom:-.75rem; width:2px; height:.75rem; background:linear-gradient(var(--signal), rgba(45,227,194,.45)); }
.control-spine-mini span { color:var(--signal); font:900 .8rem/1 var(--font-mono); } .control-spine-mini b{color:var(--txt)} .control-spine-mini em{display:block;color:var(--muted);font:600 .72rem var(--font-mono);font-style:normal;margin-top:.2rem;}
.cockpit-grid-mini { position:absolute; inset:8.2rem 2rem 4rem; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:1rem; place-items:center; }
.cockpit-meter { --clr:87,255,34; position:relative; display:grid; place-items:center; width:min(180px, 38vw); aspect-ratio:1; border-radius:50%; background:conic-gradient(rgba(var(--clr),.85) var(--p), rgba(28,42,80,.42) 0); box-shadow:0 0 38px rgba(var(--clr),.12); }
.cockpit-meter::before { content:''; position:absolute; inset:12px; border-radius:50%; background:rgba(4,10,26,.96); border:1px solid rgba(var(--clr),.28); }
.cockpit-meter b,.cockpit-meter small{position:relative;z-index:1}.cockpit-meter b{color:var(--txt);font-size:1.35rem}.cockpit-meter small{color:rgba(234,240,255,.68);font:800 .68rem var(--font-mono);text-transform:uppercase;letter-spacing:.07em}.cockpit-meter:nth-child(2){--clr:45,227,194}.cockpit-meter:nth-child(3){--clr:74,144,255}.cockpit-meter.amber{--clr:255,191,91}

.assurance-radar { position:relative; min-height:720px; overflow:hidden; border-radius:34px; padding:2rem; background:radial-gradient(circle at 50% 45%, rgba(45,227,194,.08), transparent 36%), linear-gradient(180deg, rgba(3,9,26,.88), rgba(1,5,17,.78)); border:1px solid rgba(45,227,194,.16); }
.radar-rings span { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); border:2px solid rgba(45,227,194,.16); border-radius:50%; aspect-ratio:1; }
.radar-rings span:nth-child(1){width:min(78%,640px)} .radar-rings span:nth-child(2){width:min(55%,440px);border-color:rgba(139,92,246,.18)} .radar-rings span:nth-child(3){width:min(32%,260px);border-color:rgba(87,255,34,.22)}
.radar-axis { position:absolute; left:50%; top:50%; width:min(78%,640px); height:1px; transform-origin:center; background:linear-gradient(90deg, transparent, rgba(74,144,255,.18), transparent); } .axis-b{transform:translateX(-50%) rotate(60deg)} .axis-c{transform:translateX(-50%) rotate(-60deg)} .axis-a{transform:translateX(-50%)}
.radar-core { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:260px; padding:1.15rem 1rem; border-radius:28px; text-align:center; background:rgba(3,9,26,.96); border:1px solid rgba(87,255,34,.42); box-shadow:0 0 60px rgba(87,255,34,.10); } .radar-core b{color:var(--signal);font:900 .9rem var(--font-mono);letter-spacing:.09em}.radar-core small{display:block;color:var(--muted);margin-top:.3rem;font:600 .78rem var(--font-mono)}
.radar-node { position:absolute; width:220px; padding:.9rem 1rem; border-radius:22px; background:rgba(4,10,25,.94); border:1px solid rgba(45,227,194,.22); box-shadow:0 16px 40px rgba(0,0,0,.22); } .radar-node b{display:block;color:var(--txt)} .radar-node small{display:block;color:var(--muted);margin-top:.2rem;font:600 .72rem var(--font-mono)}
.node-governance{left:50%;top:7%;transform:translateX(-50%);border-color:rgba(139,92,246,.42)} .node-evidence{right:10%;top:22%;border-color:rgba(87,255,34,.42)} .node-security{right:12%;bottom:18%;border-color:rgba(45,227,194,.42)} .node-resilience{left:50%;bottom:7%;transform:translateX(-50%);border-color:rgba(74,144,255,.42)} .node-agentic{left:10%;bottom:18%;border-color:rgba(255,191,91,.42)} .node-human{left:9%;top:22%;border-color:rgba(45,227,194,.42)}
.radar-readout { position:absolute; right:1.35rem; bottom:1.35rem; max-width:310px; padding:1rem; border-radius:22px; background:rgba(3,9,26,.86); border:1px solid rgba(99,132,255,.15); } .radar-readout span{color:var(--signal);letter-spacing:.09em}.radar-readout p,.radar-readout li{color:rgba(234,240,255,.70);font-size:.88rem}.radar-readout ul{margin:.65rem 0 0 1.1rem}
.workflow-rail-panel { border-radius:34px; padding:clamp(1rem,2.5vw,1.6rem); background:linear-gradient(180deg, rgba(3,9,26,.88), rgba(1,5,17,.78)); border:1px solid rgba(45,227,194,.16); overflow:hidden; }
.rail-tabs { display:flex; flex-wrap:wrap; gap:.55rem; margin-bottom:1.3rem; } .rail-tab{border:1px solid rgba(99,132,255,.18);background:rgba(4,10,25,.82);color:rgba(234,240,255,.72);border-radius:999px;padding:.62rem .8rem;font:800 .72rem var(--font-mono);letter-spacing:.04em}.rail-tab.is-active{color:var(--signal);border-color:rgba(87,255,34,.48);background:rgba(87,255,34,.08)}
.workflow-rail { position:relative; display:grid; grid-template-columns:repeat(9,minmax(110px,1fr)); gap:.55rem; align-items:stretch; padding:1.1rem 0; }
.workflow-rail::before { content:''; position:absolute; left:5%; right:5%; top:50%; height:3px; background:linear-gradient(90deg, rgba(87,255,34,.55), rgba(45,227,194,.46), rgba(74,144,255,.35)); box-shadow:0 0 24px rgba(45,227,194,.15); }
.rail-node { position:relative; z-index:1; min-height:116px; padding:.85rem .7rem; border-radius:22px; background:rgba(4,10,25,.96); border:1px solid rgba(45,227,194,.20); box-shadow:0 16px 40px rgba(0,0,0,.20); } .rail-node span{color:var(--signal);font:900 .75rem var(--font-mono)} .rail-node b{display:block;color:var(--txt);margin-top:.35rem;font-size:.9rem}.rail-node small{display:block;color:var(--muted);font:600 .68rem var(--font-mono);margin-top:.3rem}.rail-node.is-control{border-color:rgba(45,227,194,.48);box-shadow:0 0 30px rgba(45,227,194,.08)}.rail-node.is-risk{border-color:rgba(255,191,91,.62);background:rgba(32,18,8,.92)}.rail-node.is-muted{opacity:.45}.rail-node.is-stop{border-color:rgba(255,90,122,.65);background:rgba(38,8,16,.85)}
.rail-readout { margin-top:1.25rem; padding:1.2rem; border-radius:24px; background:rgba(3,9,26,.82); border:1px solid rgba(99,132,255,.15); } .rail-readout span{color:var(--signal);letter-spacing:.08em}.rail-readout h3{margin:.3rem 0 .25rem}.rail-readout p{color:rgba(234,240,255,.74);max-width:900px}
.vault-grid-logos { grid-template-columns:repeat(3,minmax(0,1fr)); } .vault-card-logo{position:relative;overflow:hidden;padding-top:1.4rem}.vault-card-logo::after{content:'';position:absolute;inset:auto -20% -45% -20%;height:80%;background:radial-gradient(circle, rgba(45,227,194,.08), transparent 55%);pointer-events:none}.vault-logo{width:76px;height:76px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(180deg, rgba(8,18,42,.95), rgba(4,10,25,.88));border:1px solid rgba(45,227,194,.28);box-shadow:0 0 34px rgba(45,227,194,.09);margin-bottom:1rem}.vault-logo svg{width:52px;height:52px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.vault-logo-governance{color:#a78bfa;border-color:rgba(139,92,246,.38)}.vault-logo-agentic{color:#57ff22;border-color:rgba(87,255,34,.38)}.vault-logo-rag{color:#2de3c2;border-color:rgba(45,227,194,.38)}.vault-logo-resilience{color:#4a90ff;border-color:rgba(74,144,255,.38)}.vault-logo-quantum{color:#ffbf5b;border-color:rgba(255,191,91,.40)}.vault-logo-trust{color:#57ff22;border-color:rgba(87,255,34,.38)}
@media (max-width: 1100px){ .workflow-rail{grid-template-columns:repeat(3,1fr)} .workflow-rail::before{display:none}.vault-grid-logos{grid-template-columns:repeat(2,1fr)} .hero-concept-console{min-height:580px}.radar-node{width:190px}.node-evidence{right:4%}.node-security{right:5%}.node-agentic{left:4%}.node-human{left:4%} }
@media (max-width: 720px){ .hero-concept-console{min-height:620px}.concept-stage{min-height:540px}.concept-tabbar{gap:.35rem}.concept-tab{font-size:.62rem;padding:.48rem .55rem}.trust-stack-v2{inset:7.6rem .9rem 3.2rem}.trust-layer{grid-template-columns:1fr;padding:.85rem}.trust-layer em{grid-column:1;grid-row:auto;justify-self:start;margin-top:.3rem}.workflow-rail{grid-template-columns:1fr}.vault-grid-logos{grid-template-columns:1fr}.assurance-radar{min-height:840px}.radar-rings,.radar-axis{display:none}.radar-core{top:16%;}.radar-node{left:50%!important;right:auto!important;transform:translateX(-50%)!important}.node-governance{top:30%}.node-evidence{top:39%}.node-security{top:48%}.node-resilience{top:57%;bottom:auto}.node-agentic{top:66%;bottom:auto}.node-human{top:75%}.radar-readout{left:1rem;right:1rem;bottom:1rem;max-width:none} }



/* =========================================================
   L2ET v91 - final homepage composition and visual system reset
   Goal: full-width hero copy, widgets below text, no overlaps, no cramped side panels.
   ========================================================= */

/* Hero: copy first, observatory below, no side-by-side dead space */
.neural-observatory .hero {
  min-height: auto !important;
  display: block !important;
  padding-top: clamp(5.8rem, 8vw, 7.2rem) !important;
  padding-bottom: clamp(3.6rem, 6vw, 5.8rem) !important;
  text-align: left !important;
}
.neural-observatory .hero-inner {
  display: block !important;
  max-width: min(1220px, calc(100vw - 2 * var(--container-pad))) !important;
  margin-inline: auto !important;
  perspective: none !important;
}
.neural-observatory .hero-inner > * {
  grid-column: auto !important;
  grid-row: auto !important;
}
.neural-observatory .hero .eyebrow {
  max-width: none !important;
  margin-bottom: clamp(1rem, 1.8vw, 1.35rem) !important;
}
.neural-observatory .display {
  max-width: 1180px !important;
  margin: 0 0 clamp(1.6rem, 2.4vw, 2.2rem) !important;
  font-size: clamp(3.15rem, 8vw, 7.45rem) !important;
  line-height: .96 !important;
  letter-spacing: -.055em !important;
}
.neural-observatory .hero-copy {
  max-width: 1080px !important;
  margin: 0 0 clamp(1.65rem, 2.6vw, 2.2rem) !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .9rem clamp(1.35rem, 3vw, 2.4rem) !important;
}
.neural-observatory .hero-copy p {
  font-size: clamp(1rem, 1.35vw, 1.15rem) !important;
  line-height: 1.68 !important;
}
.neural-observatory .cta-row,
.neural-observatory .trust-row {
  justify-content: flex-start !important;
  max-width: 1180px !important;
}
.neural-observatory .hero-concept-console {
  width: 100% !important;
  max-width: 1160px !important;
  margin: clamp(2.4rem, 4vw, 3.6rem) auto 0 !important;
}

/* Hero concept console: static, readable, centred. */
.hero-concept-console {
  min-height: auto !important;
  padding: clamp(1.1rem, 2vw, 1.5rem) !important;
  border-radius: 34px !important;
  overflow: hidden !important;
}
.concept-console-head {
  margin-bottom: 1rem !important;
}
.concept-tabbar {
  margin-bottom: clamp(1.1rem, 2vw, 1.5rem) !important;
}
.concept-stage {
  min-height: 0 !important;
  position: relative !important;
}
.concept-panel {
  position: relative !important;
  min-height: 0 !important;
  padding: clamp(1rem, 2vw, 1.4rem) 0 1.4rem !important;
}
.concept-caption {
  position: static !important;
  display: block !important;
  margin: 1rem auto 0 !important;
  text-align: center !important;
  width: fit-content !important;
}

/* Trust Stack console */
.trust-stack-v2 {
  position: relative !important;
  inset: auto !important;
  max-width: 880px !important;
  margin: 0 auto !important;
  gap: .85rem !important;
}
.trust-layer {
  min-height: 82px !important;
  padding: 1.05rem 1.18rem 1.05rem 1.35rem !important;
  background: linear-gradient(180deg, #050c1f, #030817) !important;
  transform: none !important;
}
.trust-layer b { font-size: clamp(1.05rem, 2vw, 1.28rem) !important; }
.trust-layer span { font-size: clamp(.72rem, 1.1vw, .82rem) !important; }

/* Evidence Reactor console */
.reactor-core {
  position: relative !important;
  inset: auto !important;
  width: min(820px, 100%) !important;
  min-height: 560px !important;
  margin: 0 auto !important;
}
.reactor-node {
  min-width: 130px !important;
  z-index: 3 !important;
  background: #03091a !important;
}
.reactor-center { z-index: 4 !important; }

/* Control Spine console */
.control-spine-mini {
  position: relative !important;
  inset: auto !important;
  width: min(860px, 100%) !important;
  margin: 0 auto !important;
  gap: .9rem !important;
}
.control-spine-mini li {
  min-height: 76px !important;
  background: #050c1f !important;
}

/* Assurance Cockpit console */
.cockpit-grid-mini {
  position: relative !important;
  inset: auto !important;
  width: min(760px, 100%) !important;
  min-height: 470px !important;
  margin: 0 auto !important;
}
.cockpit-meter {
  width: min(190px, 38vw) !important;
}

/* Assurance Radar module */
.assurance-radar {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(.9rem, 2vw, 1.25rem) !important;
  align-items: stretch !important;
  padding: clamp(1.1rem, 2vw, 1.7rem) !important;
  isolation: isolate !important;
}
.assurance-radar::after {
  content: '' !important;
  position: absolute !important;
  inset: 12% 18% 22% !important;
  border-radius: 999px !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(87,255,34,.12), transparent 18%),
    radial-gradient(circle at 50% 50%, transparent 0 28%, rgba(45,227,194,.08) 29% 30%, transparent 31% 46%, rgba(139,92,246,.07) 47% 48%, transparent 49%);
  pointer-events: none !important;
  z-index: 0 !important;
}
.radar-rings,
.radar-axis { display: none !important; }
.radar-core,
.radar-node,
.radar-readout {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: auto !important;
  max-width: none !important;
  z-index: 1 !important;
}
.radar-core {
  display: grid !important;
  place-content: center !important;
  min-height: 138px !important;
  padding: 1rem !important;
}
.radar-node {
  min-height: 112px !important;
  padding: 1rem !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.node-human { order: 1 !important; }
.node-governance { order: 2 !important; }
.node-evidence { order: 3 !important; }
.node-agentic { order: 4 !important; }
.radar-core { order: 5 !important; }
.node-security { order: 6 !important; }
.node-resilience { order: 7 !important; }
.radar-readout {
  order: 8 !important;
  grid-column: span 2 !important;
  padding: 1.15rem !important;
  background: #040b1d !important;
}

/* Workflow Rail module */
.workflow-rail-panel {
  padding: clamp(1.1rem, 2vw, 1.6rem) !important;
}
.workflow-rail {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .95rem !important;
  padding: .25rem 0 0 !important;
}
.workflow-rail::before { display: none !important; }
.rail-node {
  min-height: 132px !important;
  padding: 1rem !important;
  background: #050c1f !important;
  border-color: rgba(45,227,194,.22) !important;
}
.rail-node b { font-size: 1rem !important; }
.rail-readout {
  margin-top: 1rem !important;
}

/* Framework vault: maintain unique icons and prevent cramped content */
.vault-grid-logos {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(.95rem, 2vw, 1.2rem) !important;
}
.vault-card-logo {
  min-height: 300px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}
.vault-logo {
  flex: 0 0 auto !important;
}

/* Remove old difficult-to-debug SVG semantic modules from homepage if present */
.assurance-v2-layout,
.risk-v2-layout {
  display: none !important;
}

/* Mobile and medium screens */
@media (max-width: 980px) {
  .neural-observatory .display {
    font-size: clamp(2.7rem, 12vw, 5.2rem) !important;
  }
  .neural-observatory .hero-copy {
    grid-template-columns: 1fr !important;
  }
  .assurance-radar,
  .workflow-rail,
  .vault-grid-logos {
    grid-template-columns: 1fr !important;
  }
  .radar-readout {
    grid-column: auto !important;
  }
  .reactor-core {
    min-height: 480px !important;
  }
}
@media (max-width: 640px) {
  .concept-console-head {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  .hero-concept-console {
    border-radius: 26px !important;
  }
  .trust-layer {
    grid-template-columns: 1fr !important;
  }
  .trust-layer em {
    grid-column: 1 !important;
    grid-row: auto !important;
    justify-self: start !important;
  }
  .reactor-core {
    min-height: 430px !important;
  }
}

/* =========================================================
   L2ET v92 - clean, operational observatory system
   Replaces previous cramped/overlapping concept prototypes.
   ========================================================= */
.neural-observatory .hero {
  padding-bottom: clamp(2.8rem, 5vw, 4.6rem) !important;
}
.neural-observatory .hero-inner {
  max-width: min(1220px, calc(100vw - 2 * var(--container-pad))) !important;
}
.neural-observatory .display {
  max-width: 1220px !important;
}
.neural-observatory .hero-copy {
  grid-template-columns: 1fr !important;
  max-width: 1120px !important;
  gap: .82rem !important;
}
.neural-observatory .hero-copy p {
  max-width: 1060px !important;
}

.trust-observatory-v92-section,
.assurance-radar-v92-section,
.workflow-rail-v92-section {
  position: relative;
  z-index: 2;
}
.trust-observatory-v92-section {
  padding-top: clamp(1.8rem, 4vw, 3.2rem) !important;
}
.observatory-console-v92,
.radar-board-v92,
.rail-console-v92 {
  position: relative;
  overflow: hidden;
  border-radius: clamp(24px, 3vw, 36px);
  border: 1px solid rgba(74,144,255,.18);
  background:
    radial-gradient(circle at 50% 0%, rgba(45,227,194,.08), transparent 34%),
    radial-gradient(circle at 82% 22%, rgba(139,92,246,.10), transparent 34%),
    linear-gradient(180deg, rgba(4,11,30,.94), rgba(2,6,18,.86));
  box-shadow: 0 26px 90px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.045);
}
.observatory-console-v92::before,
.radar-board-v92::before,
.rail-console-v92::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(74,144,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(74,144,255,.030) 1px, transparent 1px);
  background-size: 74px 74px;
  opacity: .32;
  mask-image: radial-gradient(circle at 50% 34%, black 0 42%, transparent 78%);
  -webkit-mask-image: radial-gradient(circle at 50% 34%, black 0 42%, transparent 78%);
}
.observatory-console-v92::after,
.rail-console-v92::after,
.radar-board-v92::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 0 36%, rgba(87,255,34,.045) 47%, rgba(45,227,194,.04) 52%, transparent 66% 100%);
  transform: translateX(-110%);
  animation: l2etV92PanelSweep 9s ease-in-out infinite;
}
@keyframes l2etV92PanelSweep {
  0%, 45%, 100% { transform: translateX(-110%); opacity: 0; }
  55% { opacity: .75; }
  76% { transform: translateX(110%); opacity: 0; }
}

/* Main observatory console */
.observatory-console-v92 {
  padding: clamp(1.15rem, 2.2vw, 1.65rem);
}
.obs-topbar-v92,
.obs-tabs-v92,
.obs-stage-v92 { position: relative; z-index: 1; }
.obs-topbar-v92 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.obs-kicker-v92 {
  color: rgba(236,243,255,.78);
  letter-spacing: .17em;
  font-size: .75rem;
  border: 1px solid rgba(124,58,237,.18);
  background: rgba(2,7,20,.66);
  padding: .52rem .78rem;
  border-radius: 999px;
}
.obs-live-v92 {
  display: inline-flex;
  align-items: center;
  gap: .52rem;
  color: var(--signal);
  text-transform: uppercase;
  font: 800 .72rem/1 var(--font-mono);
  letter-spacing: .08em;
}
.obs-live-v92 i {
  width: .55rem;
  height: .55rem;
  border-radius: 999px;
  background: var(--signal);
  box-shadow: 0 0 0 0 rgba(87,255,34,.45), 0 0 18px rgba(87,255,34,.7);
  animation: l2etV92PulseDot 2.4s ease-out infinite;
}
@keyframes l2etV92PulseDot {
  0% { box-shadow: 0 0 0 0 rgba(87,255,34,.38), 0 0 18px rgba(87,255,34,.7); }
  80%,100% { box-shadow: 0 0 0 16px rgba(87,255,34,0), 0 0 18px rgba(87,255,34,.7); }
}
.obs-tabs-v92 {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-bottom: clamp(1.1rem, 2vw, 1.45rem);
}
.obs-tab-v92,
.rail-tabs-v92 button {
  appearance: none;
  border: 1px solid rgba(99,132,255,.22);
  background: rgba(3,9,26,.68);
  color: rgba(235,241,255,.74);
  border-radius: 999px;
  padding: .62rem .86rem;
  font: 800 .73rem/1 var(--font-mono);
  letter-spacing: .055em;
  text-transform: uppercase;
  transition: transform .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease), color .2s var(--ease);
}
.obs-tab-v92:hover,
.rail-tabs-v92 button:hover { transform: translateY(-1px); }
.obs-tab-v92.is-active,
.rail-tabs-v92 button.is-active {
  color: var(--signal);
  border-color: rgba(87,255,34,.58);
  background: rgba(87,255,34,.075);
  box-shadow: 0 0 24px rgba(87,255,34,.08);
}
.obs-stage-v92 { min-height: 640px; }
.obs-panel-v92 {
  display: none;
  grid-template-columns: minmax(280px, .42fr) minmax(0, 1fr);
  gap: clamp(1.2rem, 3vw, 2rem);
  align-items: stretch;
  min-height: 640px;
}
.obs-panel-v92.is-active {
  display: grid;
  animation: l2etV92PanelIn .34s var(--ease) both;
}
@keyframes l2etV92PanelIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}
.obs-panel-copy-v92 {
  align-self: stretch;
  border: 1px solid rgba(45,227,194,.14);
  background: rgba(2,7,20,.62);
  border-radius: 26px;
  padding: clamp(1rem, 2.2vw, 1.35rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.obs-panel-copy-v92 span {
  color: var(--signal);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .75rem;
  margin-bottom: .7rem;
}
.obs-panel-copy-v92 h3 {
  font-size: clamp(1.65rem, 3.4vw, 3.1rem);
  line-height: 1.02;
  margin-bottom: .9rem;
}
.obs-panel-copy-v92 p {
  color: var(--txt-muted);
  font-size: clamp(1rem, 1.35vw, 1.12rem);
  line-height: 1.68;
}

/* Trust Stack */
.trust-stack-pro-v92 {
  min-height: 600px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .9rem;
  padding: clamp(.5rem, 1vw, 1rem);
}
.trust-pro-layer {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .5rem 1rem;
  align-items: center;
  min-height: 96px;
  padding: 1.05rem 1.15rem 1.05rem 1.45rem;
  border-radius: 22px;
  border: 1px solid rgba(45,227,194,.18);
  background: linear-gradient(180deg, rgba(5,14,36,.98), rgba(3,9,24,.96));
  overflow: hidden;
}
.trust-pro-layer::before {
  content: '';
  position: absolute;
  left: 0;
  top: 14%;
  bottom: 14%;
  width: 5px;
  border-radius: 999px;
  background: var(--layer-color, var(--signal));
  box-shadow: 0 0 28px var(--layer-glow, rgba(87,255,34,.4));
  animation: l2etV92LayerGlow 4.8s ease-in-out infinite;
  animation-delay: var(--delay, 0s);
}
.trust-pro-layer::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.055), transparent);
  transform: translateX(-110%);
  animation: l2etV92LayerSweep 7.5s ease-in-out infinite;
  animation-delay: var(--delay, 0s);
}
@keyframes l2etV92LayerGlow {
  0%, 100% { opacity: .78; }
  45% { opacity: 1; filter: brightness(1.35); }
}
@keyframes l2etV92LayerSweep {
  0%, 55%, 100% { transform: translateX(-110%); opacity: 0; }
  62% { opacity: .8; }
  82% { transform: translateX(110%); opacity: 0; }
}
.trust-pro-layer.decision { --layer-color:#a78bfa; --layer-glow:rgba(167,139,250,.44); }
.trust-pro-layer.monitoring { --layer-color:#4a90ff; --layer-glow:rgba(74,144,255,.42); }
.trust-pro-layer.security { --layer-color:#2de3c2; --layer-glow:rgba(45,227,194,.42); }
.trust-pro-layer.evidence { --layer-color:#57ff22; --layer-glow:rgba(87,255,34,.42); }
.trust-pro-layer.inventory { --layer-color:#ffbf5b; --layer-glow:rgba(255,191,91,.36); }
.trust-pro-layer b,
.trust-pro-layer span,
.trust-pro-layer em { position: relative; z-index: 1; }
.trust-pro-layer b { font-size: clamp(1.1rem, 2.1vw, 1.5rem); }
.trust-pro-layer span { grid-column: 1; color: rgba(232,238,255,.72); font: 700 .9rem/1.3 var(--font-mono); }
.trust-pro-layer em {
  grid-column: 2;
  grid-row: 1 / span 2;
  justify-self: end;
  color: var(--layer-color, var(--signal));
  border: 1px solid color-mix(in srgb, var(--layer-color, #57ff22) 60%, transparent);
  background: rgba(4,10,24,.62);
  border-radius: 999px;
  padding: .52rem .72rem;
  font: 800 .75rem/1 var(--font-mono);
  letter-spacing: .05em;
  text-transform: uppercase;
}

/* Evidence reactor */
.reactor-pro-v92 {
  position: relative;
  min-height: 600px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(3, 1fr);
  gap: clamp(.8rem, 1.6vw, 1rem);
  padding: clamp(.5rem, 1vw, 1rem);
}
.reactor-pro-v92::before,
.reactor-pro-v92::after {
  content: '';
  position: absolute;
  inset: 10% 18%;
  border: 1px solid rgba(45,227,194,.26);
  border-radius: 999px;
  pointer-events: none;
  animation: l2etV92ReactorRotate 20s linear infinite;
}
.reactor-pro-v92::after {
  inset: 20% 28%;
  border-color: rgba(139,92,246,.28);
  animation-duration: 28s;
  animation-direction: reverse;
}
@keyframes l2etV92ReactorRotate {
  to { transform: rotate(360deg); }
}
.reactor-pro-core-v92,
.reactor-pro-node {
  position: relative;
  z-index: 1;
  border-radius: 24px;
  border: 1px solid rgba(45,227,194,.20);
  background: rgba(4,10,24,.95);
  padding: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 108px;
}
.reactor-pro-core-v92 {
  grid-column: 2;
  grid-row: 2;
  text-align: center;
  border-color: rgba(87,255,34,.5);
  box-shadow: 0 0 45px rgba(87,255,34,.10);
}
.reactor-pro-core-v92 b { color: var(--signal); text-transform: uppercase; letter-spacing: .06em; }
.reactor-pro-core-v92 small { color: var(--txt-muted); margin-top: .35rem; }
.reactor-pro-node b { color: var(--txt); }
.reactor-pro-node span { color: var(--txt-muted); font: 700 .8rem/1.3 var(--font-mono); margin-top: .35rem; }
.reactor-pro-node.inputs { grid-column: 2; grid-row: 1; border-color: rgba(139,92,246,.45); }
.reactor-pro-node.controls { grid-column: 3; grid-row: 2; border-color: rgba(45,227,194,.45); }
.reactor-pro-node.evidence { grid-column: 3; grid-row: 3; border-color: rgba(87,255,34,.45); }
.reactor-pro-node.monitoring { grid-column: 1; grid-row: 3; border-color: rgba(74,144,255,.45); }
.reactor-pro-node.decision { grid-column: 1; grid-row: 2; border-color: rgba(45,227,194,.45); }
.reactor-pro-node.risk { grid-column: 1; grid-row: 1; border-color: rgba(255,191,91,.50); }

/* Control spine */
.spine-pro-v92 {
  position: relative;
  display: grid;
  gap: .82rem;
  padding: .25rem 0 .25rem 1.1rem;
  margin: 0;
  list-style: none;
}
.spine-pro-v92::before {
  content: '';
  position: absolute;
  left: .22rem;
  top: 1.2rem;
  bottom: 1.2rem;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--signal), var(--accent-bright), #4a90ff);
  box-shadow: 0 0 26px rgba(45,227,194,.22);
}
.spine-pro-v92 li {
  position: relative;
  display: grid;
  grid-template-columns: 3.2rem minmax(0, 1fr);
  align-items: center;
  gap: .85rem;
  min-height: 96px;
  border: 1px solid rgba(45,227,194,.17);
  background: rgba(4,10,24,.94);
  border-radius: 22px;
  padding: 1rem;
  overflow: hidden;
}
.spine-pro-v92 li::after {
  content: '';
  position: absolute;
  left: 0;
  width: 4px;
  top: 14%;
  bottom: 14%;
  background: var(--signal);
  border-radius: 999px;
  animation: l2etV92LayerGlow 4.8s ease-in-out infinite;
}
.spine-pro-v92 span { color: var(--signal); font: 900 1rem/1 var(--font-mono); }
.spine-pro-v92 b { font-size: clamp(1rem, 1.7vw, 1.25rem); }
.spine-pro-v92 em { grid-column: 2; color: var(--txt-muted); font: 700 .8rem/1.3 var(--font-mono); font-style: normal; }

/* Cockpit */
.cockpit-pro-v92 {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: clamp(1rem, 2.2vw, 1.4rem);
  align-content: center;
  min-height: 600px;
}
.cockpit-pro-meter {
  position: relative;
  min-height: 250px;
  border: 1px solid rgba(45,227,194,.16);
  border-radius: 28px;
  background: rgba(4,10,24,.94);
  display: grid;
  place-items: center;
  overflow: hidden;
}
.cockpit-pro-meter::before {
  content: '';
  width: 132px;
  height: 132px;
  border-radius: 50%;
  background: conic-gradient(var(--meter-color, var(--signal)) calc(var(--value) * 1%), rgba(84,100,255,.14) 0);
  box-shadow: 0 0 38px color-mix(in srgb, var(--meter-color, #57ff22) 25%, transparent);
  animation: l2etV92MeterPulse 4.2s ease-in-out infinite;
}
.cockpit-pro-meter::after {
  content: '';
  position: absolute;
  width: 98px;
  height: 98px;
  border-radius: 50%;
  background: #030918;
}
@keyframes l2etV92MeterPulse {
  0%,100% { transform: scale(.98); filter: brightness(.95); }
  50% { transform: scale(1.03); filter: brightness(1.2); }
}
.cockpit-pro-meter b,
.cockpit-pro-meter em { position: absolute; z-index: 1; }
.cockpit-pro-meter b { top: calc(50% - 22px); font-size: 2rem; }
.cockpit-pro-meter em { top: calc(50% + 22px); font: 800 .78rem/1 var(--font-mono); text-transform: uppercase; color: var(--txt-muted); font-style: normal; letter-spacing: .06em; }
.cockpit-pro-meter.control { --meter-color:#57ff22; }
.cockpit-pro-meter.evidence { --meter-color:#2de3c2; }
.cockpit-pro-meter.resilience { --meter-color:#4a90ff; }
.cockpit-pro-meter.risk { --meter-color:#ffbf5b; }

/* Assurance radar board - no absolute overlaps */
.radar-board-v92 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(.9rem, 2vw, 1.15rem);
  padding: clamp(1.1rem, 2.4vw, 1.7rem);
}
.radar-card-v92,
.radar-core-v92,
.radar-legend-v92 {
  position: relative;
  z-index: 1;
  min-height: 150px;
  border: 1px solid rgba(45,227,194,.16);
  background: rgba(4,10,24,.95);
  border-radius: 24px;
  padding: 1.05rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
}
.radar-card-v92::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--radar-color, var(--signal));
  box-shadow: 0 0 20px var(--radar-color, var(--signal));
}
.radar-card-v92 span { color: var(--radar-color, var(--signal)); font: 900 .8rem/1 var(--font-mono); letter-spacing: .08em; }
.radar-card-v92 b { margin-top: .55rem; font-size: clamp(1.05rem, 1.8vw, 1.3rem); }
.radar-card-v92 small { color: var(--txt-muted); font: 700 .8rem/1.35 var(--font-mono); margin-top: .45rem; }
.radar-core-v92 {
  grid-column: span 2;
  text-align: center;
  border-color: rgba(87,255,34,.46);
  background:
    radial-gradient(circle at 50% 50%, rgba(87,255,34,.12), transparent 48%),
    rgba(4,10,24,.96);
}
.radar-core-v92 b { color: var(--signal); text-transform: uppercase; letter-spacing: .08em; }
.radar-core-v92 small { color: var(--txt-muted); margin-top:.45rem; }
.radar-legend-v92 { grid-column: span 2; }
.radar-legend-v92 span { color: var(--signal); letter-spacing:.1em; }
.radar-legend-v92 p { margin-top:.65rem; color: var(--txt-muted); line-height:1.62; }
.radar-card-v92.governance { --radar-color:#8b5cf6; }
.radar-card-v92.evidence { --radar-color:#57ff22; }
.radar-card-v92.security { --radar-color:#2de3c2; }
.radar-card-v92.human { --radar-color:#2de3c2; }
.radar-card-v92.resilience { --radar-color:#4a90ff; }
.radar-card-v92.agentic { --radar-color:#ffbf5b; }

/* Workflow rail - deterministic animated highlights */
.rail-console-v92 { padding: clamp(1.1rem, 2.4vw, 1.6rem); }
.rail-tabs-v92 { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:.55rem; margin-bottom:1.1rem; }
.rail-grid-v92 {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(.85rem, 2vw, 1rem);
}
.rail-grid-v92 article {
  min-height: 140px;
  border: 1px solid rgba(45,227,194,.17);
  background: rgba(4,10,24,.95);
  border-radius: 24px;
  padding: 1rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
  transition: transform .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease), opacity .2s var(--ease), box-shadow .2s var(--ease);
}
.rail-grid-v92 article span { color: var(--signal); font: 900 .78rem/1 var(--font-mono); letter-spacing:.08em; }
.rail-grid-v92 article b { margin-top:.55rem; font-size: clamp(1rem, 1.7vw, 1.25rem); }
.rail-grid-v92 article small { color: var(--txt-muted); font: 700 .8rem/1.35 var(--font-mono); margin-top:.45rem; }
.rail-grid-v92 article.is-path { border-color: rgba(45,227,194,.35); }
.rail-grid-v92 article.is-control { border-color: rgba(45,227,194,.58); box-shadow: inset 0 0 0 1px rgba(45,227,194,.10); }
.rail-grid-v92 article.is-risk { border-color: rgba(255,191,91,.70); background: rgba(36,18,4,.76); }
.rail-grid-v92 article.is-muted { opacity: .42; }
.rail-grid-v92 article.is-current {
  transform: translateY(-3px);
  border-color: rgba(87,255,34,.80);
  box-shadow: 0 0 34px rgba(87,255,34,.12), inset 0 0 0 1px rgba(87,255,34,.18);
}
.rail-readout-v92 {
  position:relative;
  z-index:1;
  margin-top:1.05rem;
  border-radius:24px;
  border:1px solid rgba(99,132,255,.16);
  background:rgba(3,9,26,.72);
  padding:1.1rem;
}
.rail-readout-v92 span { color:var(--signal); letter-spacing:.09em; }
.rail-readout-v92 h3 { margin:.45rem 0 .35rem; font-size:clamp(1.25rem,2.2vw,1.8rem); }
.rail-readout-v92 p { color:var(--txt-muted); line-height:1.65; }

/* Framework vault polish */
.vault-grid-logos { align-items: stretch !important; }
.vault-card-logo { overflow: hidden !important; }
.vault-card-logo::after {
  content:'';
  position:absolute;
  inset:0;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.035), transparent);
  transform: translateX(-110%);
  animation: l2etV92LayerSweep 10s ease-in-out infinite;
}
.vault-card-logo > * { position: relative; z-index: 1; }

/* Hide deprecated v91 prototype modules if markup remains anywhere */
.hero-concept-console,
.l2et-radar-section,
.l2et-rail-section,
.assurance-v2-layout,
.risk-v2-layout { display:none !important; }
.concept-caption { display:none !important; }

@media (max-width: 1050px) {
  .obs-panel-v92 { grid-template-columns: 1fr; }
  .obs-stage-v92, .obs-panel-v92, .trust-stack-pro-v92, .reactor-pro-v92, .cockpit-pro-v92 { min-height: 0; }
  .obs-panel-copy-v92 { min-height: 0; }
  .radar-board-v92 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .radar-core-v92, .radar-legend-v92 { grid-column: span 2; }
}
@media (max-width: 720px) {
  .obs-topbar-v92 { align-items:flex-start; flex-direction:column; }
  .obs-tabs-v92, .rail-tabs-v92 { gap:.42rem; }
  .obs-tab-v92, .rail-tabs-v92 button { font-size:.64rem; padding:.52rem .62rem; }
  .trust-pro-layer { grid-template-columns:1fr; }
  .trust-pro-layer em { grid-column:1; grid-row:auto; justify-self:start; }
  .reactor-pro-v92, .cockpit-pro-v92, .rail-grid-v92, .radar-board-v92 { grid-template-columns:1fr; }
  .reactor-pro-core-v92,
  .reactor-pro-node.inputs,
  .reactor-pro-node.controls,
  .reactor-pro-node.evidence,
  .reactor-pro-node.monitoring,
  .reactor-pro-node.decision,
  .reactor-pro-node.risk,
  .radar-core-v92,
  .radar-legend-v92 { grid-column:auto; grid-row:auto; }
}


/* v101 premium Assurance Radar and Evidence Reactor refinement */
.assurance-radar-v94-section { position: relative; }
.assurance-radar-pro-v94 {
  position: relative;
  display: grid;
  grid-template-columns: minmax(270px, .42fr) minmax(640px, 1fr);
  gap: clamp(1.4rem, 3vw, 2.4rem);
  align-items: center;
  padding: clamp(1.4rem, 3vw, 2.4rem);
  min-height: 760px;
  overflow: hidden;
  background:
    radial-gradient(circle at 66% 48%, rgba(45,227,194,.08), transparent 38%),
    radial-gradient(circle at 18% 18%, rgba(139,92,246,.10), transparent 35%),
    linear-gradient(180deg, rgba(3,9,26,.86), rgba(1,5,17,.74));
}
.assurance-radar-pro-v94::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(74,144,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(74,144,255,.016) 1px, transparent 1px);
  background-size: 74px 74px;
  opacity: .45;
  mask-image: radial-gradient(circle at 68% 48%, black 0 44%, transparent 82%);
  -webkit-mask-image: radial-gradient(circle at 68% 48%, black 0 44%, transparent 82%);
}
.radar-pro-intro-v94,
.radar-pro-map-v94 { position: relative; z-index: 1; }
.radar-pro-intro-v94 h2 {
  margin: .75rem 0 1.15rem;
  font-size: clamp(2.2rem, 4.8vw, 5.3rem);
  line-height: .98;
  letter-spacing: -.055em;
  max-width: 420px;
}
.radar-pro-intro-v94 h2::first-line { color: var(--txt); }
.radar-pro-intro-v94 h2 {
  color: var(--txt);
}
.radar-pro-intro-v94 p {
  max-width: 370px;
  color: var(--txt-2);
  font-size: clamp(1rem, 1.25vw, 1.14rem);
  line-height: 1.68;
  margin: 0 0 1.6rem;
}
.radar-legend-pro-v94 {
  max-width: 390px;
  padding: 1.15rem;
  border-radius: 24px;
  border: 1px solid rgba(99,132,255,.20);
  background: rgba(3,9,26,.72);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
}
.radar-legend-pro-v94 h3 {
  margin: 0 0 .85rem;
  font-size: .98rem;
  color: var(--txt);
}
.radar-legend-pro-v94 ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .78rem;
}
.radar-legend-pro-v94 li {
  display: grid;
  grid-template-columns: 1rem 1fr;
  align-items: start;
  gap: .78rem;
  color: var(--txt-2);
  font-size: .88rem;
  line-height: 1.35;
}
.radar-legend-pro-v94 i {
  width: .82rem;
  height: .82rem;
  border-radius: 999px;
  display: block;
  box-shadow: 0 0 18px currentColor;
  margin-top: .15rem;
}
.radar-legend-pro-v94 .dot-evidence { color: #57ff22; background: #57ff22; }
.radar-legend-pro-v94 .dot-control { color: #2de3c2; background: #2de3c2; }
.radar-legend-pro-v94 .dot-governance { color: #a78bfa; background: #a78bfa; }
.radar-legend-pro-v94 .dot-risk { color: #ffbf5b; background: #ffbf5b; }

.radar-pro-map-v94 {
  min-height: 740px;
  overflow: visible;
}
.radar-pro-rings-v94,
.radar-pro-rings-v94 span {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  pointer-events: none;
}
.radar-pro-rings-v94 {
  width: min(92%, 760px);
  aspect-ratio: 1;
  border: 1px dashed rgba(45,227,194,.25);
  animation: l2etV94RadarRotate 36s linear infinite;
}
.radar-pro-rings-v94 span:nth-child(1) { width: 74%; aspect-ratio:1; border:1px dashed rgba(139,92,246,.26); }
.radar-pro-rings-v94 span:nth-child(2) { width: 52%; aspect-ratio:1; border:1px dashed rgba(45,227,194,.23); }
.radar-pro-rings-v94 span:nth-child(3) { width: 31%; aspect-ratio:1; border:1px dashed rgba(87,255,34,.22); }
@keyframes l2etV94RadarRotate { to { transform: translate(-50%, -50%) rotate(360deg); } }
.radar-pro-rings-v94::before,
.radar-pro-rings-v94::after {
  content:'';
  position:absolute;
  width:.7rem;
  height:.7rem;
  border-radius:999px;
  background:#57ff22;
  box-shadow:0 0 20px #57ff22;
}
.radar-pro-rings-v94::before { left: 18%; top: 21%; }
.radar-pro-rings-v94::after { right: 19%; bottom: 22%; background:#2de3c2; box-shadow:0 0 20px #2de3c2; }
.radar-pro-core-v94,
.radar-pro-node-v94 {
  position: absolute;
  z-index: 3;
  border-radius: 24px;
  border: 1px solid rgba(45,227,194,.24);
  background: linear-gradient(180deg, rgba(5,12,32,.97), rgba(3,9,24,.94));
  box-shadow: 0 20px 54px rgba(0,0,0,.24), inset 0 0 0 1px rgba(255,255,255,.025);
  text-align: center;
}
.radar-pro-core-v94 {
  left: 50%;
  top: 50%;
  width: 240px;
  min-height: 180px;
  transform: translate(-50%, -50%);
  display: grid;
  place-content: center;
  padding: 1.15rem;
  border-color: rgba(87,255,34,.52);
  background:
    radial-gradient(circle at 50% 28%, rgba(87,255,34,.13), transparent 48%),
    linear-gradient(180deg, rgba(8,18,45,.98), rgba(3,9,24,.94));
}
.radar-pro-core-v94 i { color:#2de3c2; font-size:2.45rem; margin: 0 auto .7rem; }
.radar-pro-core-v94 b { color:var(--txt); font-size:1.45rem; letter-spacing:-.02em; }
.radar-pro-core-v94 small { color:var(--txt-2); margin-top:.55rem; line-height:1.45; }
.radar-pro-node-v94 {
  width: 220px;
  min-height: 150px;
  display: grid;
  align-content: center;
  justify-items: center;
  padding: 1.05rem;
}
.radar-pro-node-v94 i { display:block; font-size:2.25rem; margin-bottom:.55rem; color:var(--node-color, var(--signal)); filter: drop-shadow(0 0 16px currentColor); }
.radar-pro-node-v94 b { display:block; color:var(--txt); font-size:1.25rem; line-height:1.1; }
.radar-pro-node-v94 small { display:block; margin-top:.55rem; color:var(--txt-2); font-size:.78rem; line-height:1.35; max-width: 190px; }
.radar-pro-node-v94::after {
  content:'';
  position:absolute;
  width:.55rem;
  height:.55rem;
  border-radius:999px;
  background:var(--node-color, var(--signal));
  box-shadow:0 0 18px var(--node-color, var(--signal));
}
.radar-pro-node-v94.governance { --node-color:#a78bfa; left:50%; top:1%; transform:translateX(-50%); }
.radar-pro-node-v94.evidence { --node-color:#2de3c2; left:6%; top:25%; }
.radar-pro-node-v94.security { --node-color:#2de3c2; right:6%; top:25%; }
.radar-pro-node-v94.agentic { --node-color:#a855f7; left:6%; top:57%; bottom:auto; }
.radar-pro-node-v94.resilience { --node-color:#2de3c2; right:6%; top:57%; bottom:auto; }
.radar-pro-node-v94.human { --node-color:#ffbf5b; left:50%; bottom:0%; transform:translateX(-50%); }
.radar-pro-node-v94.governance::after { left:50%; bottom:-40px; transform:translateX(-50%); }
.radar-pro-node-v94.evidence::after { right:-34px; top:50%; }
.radar-pro-node-v94.security::after { left:-34px; top:50%; }
.radar-pro-node-v94.agentic::after { right:-34px; top:50%; }
.radar-pro-node-v94.resilience::after { left:-34px; top:50%; }
.radar-pro-node-v94.human::after { left:50%; top:-34px; transform:translateX(-50%); }

/* Evidence Reactor: ordered orbital assurance system. */
.evidence-reactor-v94 {
  position: relative;
  min-height: 660px;
  border-radius: 30px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 49%, rgba(87,255,34,.09), transparent 24%),
    radial-gradient(circle at 50% 50%, rgba(45,227,194,.055), transparent 48%);
}
.evidence-reactor-ring {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  pointer-events: none;
}
.evidence-reactor-ring.ring-a { width: 78%; aspect-ratio:1; border:1px solid rgba(45,227,194,.36); animation: l2etV94ReactorSpin 34s linear infinite; }
.evidence-reactor-ring.ring-b { width: 58%; aspect-ratio:1; border:1px solid rgba(139,92,246,.33); animation: l2etV94ReactorSpin 42s linear infinite reverse; }
.evidence-reactor-ring.ring-c { width: 35%; aspect-ratio:1; border:1px solid rgba(87,255,34,.30); }
@keyframes l2etV94ReactorSpin { to { transform: translate(-50%, -50%) rotate(360deg); } }
.evidence-reactor-scan {
  position:absolute;
  left:50%; top:50%;
  width: 46%; height: 2px;
  transform-origin:left center;
  background: linear-gradient(90deg, rgba(87,255,34,.0), rgba(87,255,34,.75), rgba(45,227,194,0));
  animation: l2etV94ReactorSweep 7.8s linear infinite;
  opacity:.8;
}
@keyframes l2etV94ReactorSweep { to { transform: rotate(360deg); } }
.reactor-core-v94,
.reactor-node-v94 {
  position: absolute;
  z-index: 2;
  border-radius: 24px;
  border: 1px solid rgba(45,227,194,.22);
  background: linear-gradient(180deg, rgba(5,12,32,.97), rgba(3,9,24,.94));
  box-shadow: 0 18px 46px rgba(0,0,0,.25), inset 0 0 0 1px rgba(255,255,255,.025);
}
.reactor-core-v94 {
  left:50%; top:50%; transform:translate(-50%,-50%);
  width: 200px; min-height: 136px;
  display:grid; place-content:center; text-align:center;
  border-color:rgba(87,255,34,.58);
  background: radial-gradient(circle at 50% 25%, rgba(87,255,34,.13), transparent 48%), rgba(4,10,25,.96);
}
.reactor-core-v94 i { color:#57ff22; font-size:2rem; margin:0 auto .55rem; filter:drop-shadow(0 0 16px currentColor); }
.reactor-core-v94 b { color:#57ff22; text-transform:uppercase; letter-spacing:.06em; font:900 .9rem/1 var(--font-mono); }
.reactor-core-v94 small { display:block; margin-top:.45rem; color:var(--txt-2); }
.reactor-node-v94 {
  width: 180px; min-height: 112px;
  display:grid; align-content:center;
  padding: 1rem;
}
.reactor-node-v94 i { color:var(--node-color, var(--signal)); font-size:1.6rem; margin-bottom:.45rem; filter:drop-shadow(0 0 14px currentColor); }
.reactor-node-v94 b { color:var(--txt); font-size:1.05rem; }
.reactor-node-v94 span { display:block; margin-top:.34rem; color:var(--txt-2); font:700 .74rem/1.35 var(--font-mono); }
.reactor-node-v94.inputs { --node-color:#a78bfa; left:50%; top:4%; transform:translateX(-50%); }
.reactor-node-v94.controls { --node-color:#2de3c2; right:4%; top:25%; }
.reactor-node-v94.evidence { --node-color:#57ff22; right:4%; top:57%; bottom:auto; }
.reactor-node-v94.monitoring { --node-color:#4a90ff; left:50%; bottom:4%; transform:translateX(-50%); }
.reactor-node-v94.decision { --node-color:#2de3c2; left:4%; top:57%; }
.reactor-node-v94.risk { --node-color:#ffbf5b; left:4%; top:25%; }

@media (max-width: 1100px) {
  .assurance-radar-pro-v94 { grid-template-columns: 1fr; min-height: 0; }
  .radar-pro-intro-v94 h2, .radar-pro-intro-v94 p, .radar-legend-pro-v94 { max-width: 820px; }
  .radar-pro-map-v94 { min-height: 760px; }
}
@media (max-width: 760px) {
  .neural-observatory .hero-display-v93 { line-height: 1.03 !important; }
  .radar-pro-map-v94 { min-height: 1080px; }
  .radar-pro-rings-v94 { display:none; }
  .radar-pro-core-v94, .radar-pro-node-v94 { left:50% !important; right:auto !important; transform:translateX(-50%) !important; width:min(92%, 300px); }
  .radar-pro-node-v94.governance { top:0; }
  .radar-pro-node-v94.evidence { top:160px; }
  .radar-pro-node-v94.security { top:320px; }
  .radar-pro-core-v94 { top:520px; transform:translate(-50%,0) !important; }
  .radar-pro-node-v94.agentic { top:735px; bottom:auto; }
  .radar-pro-node-v94.resilience { top:895px; bottom:auto; }
  .radar-pro-node-v94.human { top:1055px; bottom:auto; }
  .radar-pro-node-v94::after { display:none; }
  .evidence-reactor-v94 { min-height: 920px; }
  .evidence-reactor-ring, .evidence-reactor-scan { display:none; }
  .reactor-core-v94, .reactor-node-v94 { left:50% !important; right:auto !important; transform:translateX(-50%) !important; width:min(92%, 300px); }
  .reactor-node-v94.inputs { top:0; }
  .reactor-node-v94.risk { top:135px; }
  .reactor-node-v94.decision { top:270px; }
  .reactor-core-v94 { top:415px; }
  .reactor-node-v94.controls { top:570px; }
  .reactor-node-v94.evidence { top:705px; bottom:auto; }
  .reactor-node-v94.monitoring { top:840px; bottom:auto; }
}


/* v101 CSP-safe animation variables */
.trust-pro-layer.delay-0{--delay:0s}
.trust-pro-layer.delay-1{--delay:.22s}
.trust-pro-layer.delay-2{--delay:.44s}
.trust-pro-layer.delay-3{--delay:.66s}
.trust-pro-layer.delay-4{--delay:.88s}
.cockpit-pro-meter .value-78{--value:78}
.cockpit-pro-meter .value-63{--value:63}
.cockpit-pro-meter .value-54{--value:54}
.cockpit-pro-meter .value-21{--value:21}

/* v101 hero descender guard */
.neural-observatory .display { padding-bottom: .06em !important; }
.neural-observatory .grad-text { display: inline-block; padding-bottom: .05em; }


/* v108: tool-use notice */
.tool-use-notice {
  margin: 0;
  padding: 1rem 1.15rem;
  border: 1px solid rgba(45, 227, 194, .18);
  border-radius: 18px;
  background: rgba(4, 10, 26, .62);
  color: rgba(218, 225, 255, .78);
  font-size: .9rem;
  line-height: 1.65;
}
.section-tool-use { padding-top: 0; }


/* v108 performance hints */
.hero-particles,
.ai-holo-canvas {
  will-change: transform;
}

/* v108 stability pass: remove hero washout and desktop nav wrapping without changing layout. */
.nav-links {
  min-width: 0;
  gap: clamp(.45rem, .74vw, .95rem);
  align-items: center;
  flex-wrap: nowrap;
}
.nav-link {
  white-space: nowrap;
  flex: 0 0 auto;
  line-height: 1.15;
}
@media (min-width: 1161px) {
  .logo-img { width: clamp(198px, 15.2vw, 252px); }
  .nav-links { font-size: clamp(12px, .78vw, 13.5px); }
  .nav-inner { gap: clamp(.7rem, 1vw, 1.2rem); }
}
@media (min-width: 1161px) and (max-width: 1330px) {
  .btn-nav { display: none; }
}
.hero-research-led .hero-particles {
  display: none !important;
}
.neural-observatory .hero::before {
  animation: none !important;
  opacity: .42 !important;
  background:
    linear-gradient(100deg, transparent 0 14%, rgba(57,255,20,.018) 29%, transparent 43% 100%),
    radial-gradient(ellipse at 72% 48%, rgba(22, 42, 92, .18), transparent 52%) !important;
}
.neural-observatory .hero::after {
  opacity: .58;
}

/* v108: one contact entry only; consistent desktop navigation across all pages. */
.btn-nav { display: none !important; }
.mobile-nav .btn-block { display: none !important; }
.nav-links { flex-wrap: nowrap !important; white-space: nowrap; }
.nav-link { white-space: nowrap !important; line-height: 1.15; }
@media (min-width: 1161px) {
  .site-nav .logo-img { width: clamp(198px, 15.2vw, 252px); }
  .site-nav .nav-links { font-size: clamp(12px, .78vw, 13.5px); gap: clamp(.45rem, .74vw, .95rem); }
  .site-nav .nav-inner { gap: clamp(.65rem, .92vw, 1.05rem); }
}
@media (min-width: 1161px) and (max-width: 1420px) { .l2et-x-palette-hint { display: none !important; } }


/* v108 final navigation stability and duplicate CTA suppression */
.site-nav .nav-inner { display: grid; grid-template-columns: minmax(210px, 330px) minmax(0, max-content) auto auto; align-items: center; gap: clamp(.55rem, .9vw, 1.05rem); }
.site-nav .nav-links { display: flex; flex-wrap: nowrap !important; align-items: center; justify-content: flex-end; gap: clamp(.42rem, .72vw, .95rem); white-space: nowrap !important; min-width: 0; }
.site-nav .nav-link { white-space: nowrap !important; flex: 0 0 auto; line-height: 1.05; font-size: clamp(12px, .78vw, 15px); }
.site-nav .nav-link.active { white-space: nowrap !important; }
.site-nav .logo-img { display: block; max-width: clamp(205px, 20vw, 330px); height: auto; }
.site-nav .nav-lang { flex: 0 0 auto; }
.site-nav .btn-nav, .site-nav .nav-cta, .site-nav .header-cta, .site-nav a.btn-nav, .site-nav a[href$="/contact"].btn-nav { display: none !important; }
@media (max-width: 1420px) { .site-nav .l2et-x-palette-hint { display:none !important; } .site-nav .nav-links { gap: clamp(.36rem, .58vw, .72rem); } .site-nav .nav-link { font-size: clamp(11.5px, .72vw, 13px); } }
@media (max-width: 1180px) { .site-nav .nav-links { display:none !important; } }
/* v110 header glitch fix:
   - lock the logo overlay to the actual image box so it cannot stretch across the grid column;
   - keep the desktop top-menu font metrics identical on every page;
   - prevent accidental horizontal scroll from clipped hero/card content.
   The logo width values mirror the existing v108 breakpoints. */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.site-nav .logo {
  justify-self: start;
  align-self: center;
  width: max-content;
  max-width: clamp(220px, 18vw, 286px);
  line-height: 0;
}

.site-nav .logo-img {
  width: clamp(220px, 18vw, 286px);
  max-width: 100%;
  height: auto;
  max-height: 58px;
  object-fit: contain;
}

.site-nav .logo::before,
.site-nav .logo::after {
  inset: 0;
  width: 100%;
  height: 100%;
  background-size: 100% 100%;
}

@media (min-width: 1161px) {
  .site-nav .logo {
    max-width: clamp(198px, 15.2vw, 252px);
  }
  .site-nav .logo-img {
    width: clamp(198px, 15.2vw, 252px);
  }
}

@media (max-width: 620px) {
  .site-nav .logo {
    max-width: 190px;
  }
  .site-nav .logo-img {
    width: 190px;
    max-height: 46px;
  }
}

@media (min-width: 1181px) {
  .site-nav .nav-links {
    font-size: clamp(12px, .78vw, 13.5px);
    gap: clamp(.45rem, .74vw, .95rem);
  }
  .site-nav .nav-link,
  .site-nav .nav-link.active {
    font-size: inherit;
    font-weight: inherit;
    line-height: 1.05;
  }
}

@media (min-width: 1181px) and (max-width: 1420px) {
  .site-nav .nav-links {
    font-size: clamp(11.5px, .72vw, 13px);
    gap: clamp(.36rem, .58vw, .72rem);
  }
}

/* v112 command palette parity fix:
   The header jump trigger exists on every page, but enhancements.css is loaded only on tool/news/colloquium style pages.
   These shared command-palette rules keep the trigger and overlay identical across all top-menu sections without loading the full enhancements stylesheet everywhere. */
:root {
  --x-ink:        var(--ink, #e6e8ee);
  --x-ink-soft:   var(--ink-soft, rgba(230, 232, 238, 0.66));
  --x-ink-mute:   var(--ink-mute, rgba(230, 232, 238, 0.42));
  --x-line:       var(--line, rgba(255, 255, 255, 0.08));
  --x-line-strong:var(--line-strong, rgba(255, 255, 255, 0.16));
  --x-surface:    var(--surface, rgba(255, 255, 255, 0.03));
  --x-cyan:       var(--accent-cyan, #5fd0ff);
  --x-green:      var(--accent-green, #7CFFB2);
  --x-violet:     var(--accent-violet, #9b8cff);
  --x-amber:      var(--accent-amber, #ffc56b);
  --x-red:        var(--accent-red, #ff7085);
  --x-radius:     12px;
  --x-radius-sm:  8px;
  --x-mono:       var(--font-mono, ui-monospace, "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace);
}

.l2et-x-palette {
  position: fixed; inset: 0; z-index: 1000;
  display: flex; align-items: flex-start; justify-content: center;
  padding-top: 16vh;
}
.l2et-x-palette[hidden] { display: none; }
.l2et-x-palette-back {
  position: fixed; inset: 0;
  background: rgba(5,6,15,0.7);
  backdrop-filter: blur(6px);
}
.l2et-x-palette-card {
  position: relative; width: min(560px, 92vw);
  padding: 0; overflow: hidden;
  border-radius: var(--x-radius);
  box-shadow: 0 30px 80px rgba(0,0,0,0.6), 0 0 0 1px rgba(155,140,255,0.2);
}
.l2et-x-palette-input {
  display: block; width: 100%; box-sizing: border-box;
  padding: 16px 18px;
  font-family: var(--x-mono); font-size: 13px; letter-spacing: 0.02em;
  color: var(--x-ink); background: transparent;
  border: 0; border-bottom: 1px solid var(--x-line);
}
.l2et-x-palette-input:focus { outline: none; }
.l2et-x-palette-list {
  list-style: none; margin: 0; padding: 6px;
  max-height: 50vh; overflow: auto;
}
.l2et-x-palette-item {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  padding: 10px 12px; border-radius: var(--x-radius-sm);
  font-size: 13px; color: var(--x-ink); cursor: pointer;
}
.l2et-x-palette-item.is-active {
  background: rgba(155,140,255,0.12); color: var(--x-violet);
}
.l2et-x-palette-section {
  font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--x-ink-mute);
}
.l2et-x-palette-empty {
  padding: 20px; text-align: center; color: var(--x-ink-mute);
  font-family: var(--x-mono); font-size: 12px;
}
body.l2et-x-palette-open { overflow: hidden; }
.l2et-x-palette-hint {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 10px;
  font-family: var(--x-mono); font-size: 10px; letter-spacing: 0.05em;
  color: var(--x-ink-mute);
  background: rgba(255,255,255,0.02);
  border: 1px solid var(--x-line);
  border-radius: 999px; cursor: pointer; transition: all .15s;
}
.l2et-x-palette-hint:hover {
  color: var(--x-violet); border-color: var(--x-violet);
  background: rgba(155,140,255,0.08);
}
.l2et-x-palette-hint kbd {
  padding: 1px 5px; font-family: inherit; font-size: 9px;
  color: var(--x-ink-soft);
  background: rgba(255,255,255,0.06);
  border: 1px solid var(--x-line-strong);
  border-radius: 3px;
}

/* v126: homepage hero copy uses the available horizontal space without changing the design system. */
@media (min-width: 900px) {
  .hero-copy.hero-copy-wide {
    max-width: 1160px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(1.25rem, 4vw, 3rem);
    row-gap: .85rem;
    text-align: left;
  }
}

/* L2ET v126: homepage hero full-width guard.
   Prevents the homepage hero from inheriting the two-column orbital console grid
   when no right-side console is present. This keeps the existing visual language
   while allowing the title, copy, calls to action and trust pills to use the full
   available horizontal space. */
.orbital-design .hero.hero-research-led .hero-inner {
  display: block !important;
  max-width: min(1220px, calc(100vw - 2 * var(--container-pad))) !important;
  margin-inline: auto !important;
  perspective: none !important;
}
.orbital-design .hero.hero-research-led .hero-inner > * {
  grid-column: auto !important;
  grid-row: auto !important;
}
.orbital-design .hero.hero-research-led .display {
  max-width: min(1180px, 100%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.orbital-design .hero.hero-research-led .hero-copy.hero-copy-wide {
  max-width: min(1160px, 100%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.orbital-design .hero.hero-research-led .cta-row,
.orbital-design .hero.hero-research-led .trust-row {
  justify-content: center !important;
}
@media (max-width: 899px) {
  .orbital-design .hero.hero-research-led .hero-copy.hero-copy-wide {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }
}


/* ============================
   v126 research instrument library
   Visual-neutral extension using existing L2ET variables.
   ============================ */
.instrument-library-map { display: grid; gap: clamp(1rem, 2vw, 1.35rem); }
.instrument-filter-bar { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.2rem 0 1.6rem; }
.instrument-filter-bar button {
  appearance: none;
  border: 1px solid rgba(148,163,184,.18);
  border-radius: 999px;
  background: rgba(2,6,23,.55);
  color: rgba(226,232,255,.76);
  padding: .58rem .78rem;
  font-family: var(--font-mono);
  font-size: .66rem;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.instrument-filter-bar button:hover,
.instrument-filter-bar button.is-active {
  border-color: rgba(0,255,135,.36);
  color: var(--signal);
  background: rgba(0,255,135,.07);
}
.instrument-family-block { margin-top: clamp(1.4rem, 3vw, 2.6rem); }
.instrument-family-head { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom: 1rem; }
.instrument-family-head h3 { font-size: clamp(1.4rem, 2.3vw, 2rem); }
.instrument-family-head p { max-width: 720px; color: var(--txt-2); }
.instrument-tool-grid { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.8rem, 1.5vw, 1rem); }
.instrument-card { display:grid; gap:.65rem; min-height: 360px; padding: 1.05rem !important; }
.instrument-card-kicker { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; color:var(--signal); font-family:var(--font-mono); font-size:.62rem; letter-spacing:.13em; text-transform:uppercase; }
.instrument-card h4 { font-size: 1.05rem; line-height:1.25; }
.instrument-card p { color: var(--txt-2); font-size:.86rem; line-height:1.55; }
.instrument-card dl { display:grid; grid-template-columns: 96px 1fr; gap:.35rem .65rem; font-size:.76rem; color:var(--txt-2); margin:.25rem 0; }
.instrument-card dt { color:var(--txt-3); font-family:var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.instrument-card dd { color:rgba(236,241,255,.78); }
.instrument-chip-row { display:flex; flex-wrap:wrap; gap:.35rem; }
.instrument-chip-row span,
.instrument-badge {
  display:inline-flex; align-items:center; gap:.35rem;
  border:1px solid rgba(148,163,184,.16);
  border-radius:999px;
  padding:.35rem .52rem;
  color:rgba(226,232,255,.74);
  font-family:var(--font-mono);
  font-size:.62rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  background:rgba(2,6,23,.42);
}
.instrument-card .card-cta { margin-top:auto; }
.instrument-meta-strip { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.1rem; }
.instrument-detail-grid { display:grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: clamp(1rem, 2vw, 1.3rem); }
.instrument-detail-grid .card p,
.instrument-detail-grid .card li { color: var(--txt-2); }
.instrument-detail-grid ul { padding-left: 1rem; }
.instrument-list { list-style: none; display:grid; gap:.65rem; padding:0 !important; }
.instrument-list li { border:1px solid rgba(148,163,184,.13); border-radius:16px; padding:.75rem .82rem; background:rgba(2,6,23,.35); }
.instrument-method-columns { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:.85rem; }
.instrument-method-columns .card { min-height: 230px; }
.l2et-instrument-shell { padding: clamp(1rem, 2vw, 1.25rem); border-radius: 24px; }
.instrument-layout { display:grid; grid-template-columns: minmax(280px,.44fr) minmax(0,1fr); gap: clamp(1rem, 2vw, 1.25rem); align-items:start; }
.instrument-form-panel, .instrument-visual-panel {
  border:1px solid rgba(148,163,184,.14);
  border-radius:20px;
  padding:1rem;
  background:rgba(2,6,23,.42);
}
.instrument-panel-head { display:flex; justify-content:space-between; gap:.75rem; align-items:center; margin-bottom:.9rem; }
.instrument-panel-head span { color:var(--signal); font-family:var(--font-mono); font-size:.64rem; letter-spacing:.13em; text-transform:uppercase; }
.instrument-panel-head strong { color:rgba(235,241,255,.72); font-family:var(--font-mono); font-size:.64rem; letter-spacing:.1em; text-transform:uppercase; }
.instrument-form { display:grid; gap:.72rem; }
.instrument-field { display:grid; gap:.34rem; }
.instrument-field span { display:flex; justify-content:space-between; gap:.65rem; color:rgba(235,241,255,.88); font-size:.82rem; font-weight:700; }
.instrument-field small { color:var(--txt-3); font-family:var(--font-mono); font-size:.58rem; text-transform:uppercase; letter-spacing:.1em; }
.instrument-field input,
.instrument-field select,
.instrument-field textarea {
  width:100%;
  border:1px solid rgba(148,163,184,.16);
  border-radius:14px;
  background:rgba(1,4,14,.72);
  color:var(--txt);
  padding:.68rem .75rem;
  font: 500 .86rem/1.35 var(--font-sans);
}
.instrument-field textarea { resize: vertical; min-height: 92px; }
.instrument-data-note { margin-top:.9rem; color:var(--txt-3); font-size:.74rem; line-height:1.5; }
.instrument-visual { min-height: 270px; display:flex; align-items:center; justify-content:center; margin-bottom: 1rem; border:1px solid rgba(74,144,255,.10); border-radius:18px; background: radial-gradient(circle at 50% 30%, rgba(0,255,135,.055), transparent 48%), rgba(1,5,18,.35); overflow:hidden; }
.instrument-radar svg { width:min(100%, 360px); height:auto; }
.instrument-radar .rings polygon { fill:none; stroke:rgba(148,163,184,.18); stroke-width:1; }
.radar-fill { fill:rgba(0,255,135,.16); stroke:rgba(0,255,135,.72); stroke-width:2; }
.radar-labels text { fill:rgba(235,241,255,.7); font: 10px var(--font-mono); text-anchor:middle; }
.instrument-pipeline, .instrument-swimlane, .instrument-timeline { display:grid; gap:.55rem; width:100%; padding:.75rem; }
.instrument-pipeline { grid-template-columns: repeat(3, minmax(0,1fr)); }
.instrument-pipeline span, .instrument-swimlane div, .instrument-timeline div {
  border:1px solid rgba(0,255,135,.16);
  border-radius:15px;
  padding:.72rem;
  background:rgba(2,6,23,.55);
}
.instrument-pipeline b, .instrument-swimlane strong, .instrument-timeline b { display:block; color:var(--txt); font-size:.78rem; }
.instrument-pipeline small, .instrument-swimlane span, .instrument-timeline span { display:block; color:var(--txt-2); font-size:.7rem; line-height:1.4; margin-top:.3rem; }
.instrument-swimlane { grid-template-columns: repeat(3, minmax(0,1fr)); }
.instrument-graph { position:relative; width:100%; min-height:300px; }
.instrument-graph .graph-core { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); border:1px solid rgba(0,255,135,.35); border-radius:999px; padding:1rem 1.25rem; color:var(--signal); background:rgba(0,255,135,.08); font-family:var(--font-mono); }
.graph-node { position:absolute; border:1px solid rgba(148,163,184,.18); border-radius:16px; padding:.8rem; color:var(--txt); background:rgba(2,6,23,.65); font-size:.78rem; }
.graph-node.allow { left:8%; top:18%; } .graph-node.approve { right:8%; top:18%; } .graph-node.deny { left:10%; bottom:18%; } .graph-node.log { right:10%; bottom:18%; }
.instrument-console { width:100%; padding:1rem; font-family:var(--font-mono); }
.console-line { border-left:2px solid rgba(148,163,184,.28); padding:.55rem .7rem; margin:.45rem 0; background:rgba(2,6,23,.62); color:rgba(235,241,255,.78); }
.console-line.ok { border-color:var(--signal); } .console-line.warn { border-color:#ffc56b; } .console-line.risk { border-color:#ff6b6b; }
.instrument-tree { width:100%; display:grid; gap:.55rem; padding:.75rem; }
.instrument-tree div { display:grid; grid-template-columns:80px 1fr 140px; gap:.7rem; align-items:center; border:1px solid rgba(148,163,184,.14); border-radius:14px; padding:.65rem; background:rgba(2,6,23,.5); }
.instrument-matrix { width:100%; border-collapse:separate; border-spacing:0; font-size:.76rem; }
.instrument-matrix th, .instrument-matrix td { border-bottom:1px solid rgba(148,163,184,.12); padding:.6rem .55rem; vertical-align:top; text-align:left; }
.instrument-matrix th { color:var(--signal); font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.08em; font-size:.62rem; }
.instrument-bar { display:block; height:8px; border-radius:999px; background:rgba(148,163,184,.14); overflow:hidden; min-width:90px; }
.instrument-bar i { display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,var(--accent-bright),var(--signal)); }
.instrument-heatmap { width:100%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.55rem; padding:.75rem; }
.instrument-heatmap span { min-height:90px; border-radius:16px; padding:.7rem; border:1px solid rgba(148,163,184,.14); background:linear-gradient(180deg, rgba(2,6,23,.55), rgba(0,255,135,.10)); display:flex; flex-direction:column; justify-content:space-between; }
.instrument-heatmap b { font-size:.72rem; color:var(--txt); } .instrument-heatmap small { color:var(--signal); font-family:var(--font-mono); }
.instrument-envelope { position:relative; width:100%; min-height:320px; }
.instrument-envelope .envelope-core { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:190px; height:120px; border:1px solid rgba(0,255,135,.38); border-radius:50%; display:flex; align-items:center; justify-content:center; text-align:center; color:var(--signal); font-family:var(--font-mono); font-size:.7rem; padding:1rem; background:rgba(0,255,135,.06); }
.instrument-envelope span { position:relative; display:inline-flex; max-width:150px; border:1px solid rgba(148,163,184,.16); border-radius:999px; padding:.5rem .7rem; color:rgba(235,241,255,.72); background:rgba(2,6,23,.66); margin:.45rem; font-size:.7rem; }
.instrument-hazard { width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; padding:.75rem; }
.instrument-hazard div { border:1px solid rgba(255,197,107,.16); border-radius:16px; padding:.75rem; background:rgba(2,6,23,.55); }
.instrument-hazard b { display:block; color:var(--txt); font-size:.78rem; margin-bottom:.45rem; }
.instrument-hazard small { display:block; color:var(--txt-3); margin-top:.45rem; }
.instrument-notebook { width:100%; padding:1rem; display:grid; gap:.55rem; }
.instrument-notebook p { border:1px solid rgba(148,163,184,.12); border-radius:12px; padding:.62rem .72rem; background:rgba(2,6,23,.55); }
.instrument-notebook code { color:var(--signal); white-space:normal; font-family:var(--font-mono); }
.instrument-output { border:1px solid rgba(148,163,184,.13); border-radius:18px; padding:1rem; background:rgba(2,6,23,.42); }
.instrument-output-head { display:grid; gap:.25rem; margin-bottom:.8rem; }
.instrument-output-head strong { color:var(--txt); }
.instrument-output-head small { color:var(--txt-3); font-family:var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.instrument-status { display:inline-flex; width:max-content; border-radius:999px; padding:.32rem .55rem; font-family:var(--font-mono); font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; border:1px solid rgba(148,163,184,.16); }
.instrument-status.good { color:var(--signal); border-color:rgba(0,255,135,.25); }
.instrument-status.warn { color:#ffc56b; border-color:rgba(255,197,107,.28); }
.instrument-status.risk { color:#ff8a8a; border-color:rgba(255,107,107,.28); }
.instrument-status.calc { color:#8bdcff; border-color:rgba(139,220,255,.28); }
.instrument-output p { color:var(--txt-2); }
.instrument-output-grid { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; margin-top:.9rem; }
.instrument-output h4 { color:var(--signal); font-family:var(--font-mono); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; margin-bottom:.45rem; }
.instrument-output ul { padding-left:1rem; color:var(--txt-2); font-size:.82rem; }
.instrument-layer-stack { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin-top:1rem; }
.instrument-layer-card { border:1px solid rgba(148,163,184,.12); border-radius:14px; padding:.8rem; background:rgba(7,14,34,.45); min-width:0; }
.instrument-layer-card.wide { grid-column:1 / -1; }
.instrument-layer-card p { font-size:.82rem; line-height:1.55; margin:0; }
.instrument-layer-card ul { margin:0; padding-left:1rem; }
.instrument-layer-card li { margin:.25rem 0; overflow-wrap:anywhere; }
.instrument-layer-card li span { display:block; color:var(--txt-3); font-family:var(--font-mono); font-size:.68rem; letter-spacing:.04em; text-transform:uppercase; margin-top:.14rem; }
.instrument-artifact-table { width:100%; border-collapse:separate; border-spacing:0; font-size:.72rem; color:var(--txt-2); }
.instrument-artifact-table th, .instrument-artifact-table td { border-bottom:1px solid rgba(148,163,184,.1); padding:.48rem .45rem; text-align:left; vertical-align:top; }
.instrument-artifact-table th { color:var(--signal); font-family:var(--font-mono); font-size:.58rem; letter-spacing:.08em; text-transform:uppercase; }
.instrument-mini-timeline { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.55rem; }
.instrument-mini-timeline span { display:grid; gap:.25rem; border:1px solid rgba(45,227,194,.16); border-radius:12px; padding:.65rem; background:rgba(45,227,194,.04); min-width:0; }
.instrument-mini-timeline b { color:var(--signal); font-family:var(--font-mono); font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; }
.instrument-mini-timeline small, .instrument-mini-timeline em { color:var(--txt-2); font-size:.72rem; line-height:1.35; font-style:normal; overflow-wrap:anywhere; }
.instrument-mini-timeline em { color:var(--txt-3); }
.instrument-actions { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.8rem; }
.instrument-actions button {
  border:1px solid rgba(0,255,135,.20);
  background:rgba(0,255,135,.055);
  color:var(--signal);
  border-radius:999px;
  padding:.55rem .7rem;
  font-family:var(--font-mono);
  font-size:.62rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.instrument-actions button:hover { border-color:rgba(0,255,135,.45); background:rgba(0,255,135,.10); }
.instrument-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
@media (max-width: 1100px) {
  .instrument-tool-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .instrument-layout, .instrument-detail-grid { grid-template-columns:1fr; }
  .instrument-method-columns { grid-template-columns:1fr; }
}
@media (max-width: 720px) {
  .instrument-tool-grid, .instrument-related-grid, .instrument-output-grid, .instrument-layer-stack, .instrument-mini-timeline, .instrument-pipeline, .instrument-swimlane, .instrument-heatmap, .instrument-hazard { grid-template-columns:1fr; }
  .instrument-layer-card.wide { grid-column:auto; }
  .instrument-family-head { display:block; }
  .instrument-tree div { grid-template-columns:1fr; }
}
@media print {
  .site-nav, .bg-grid, .bg-aurora, .ai-depth-global, .instrument-actions, .l2et-x-palette { display:none !important; }
  body { background:#fff !important; color:#111 !important; }
  .glass, .l2et-instrument-shell, .instrument-output { border-color:#ccc !important; background:#fff !important; color:#111 !important; }
}

/* v126: restore neural background field and suppress geometric grid/plane artifacts */
.l2et-neural-field {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  contain: paint;
}
.l2et-neural-field .ai-holo-canvas,
.neural-observatory .ai-holo-canvas {
  opacity: .64;
  mix-blend-mode: screen;
  filter: saturate(118%) contrast(110%);
}
.neural-observatory::before {
  background:
    radial-gradient(circle at 22% 22%, rgba(124,58,237,.10), transparent 36%),
    radial-gradient(circle at 72% 18%, rgba(0,255,135,.055), transparent 30%),
    radial-gradient(circle at 66% 78%, rgba(45,227,194,.045), transparent 36%) !important;
  opacity: .72 !important;
  mix-blend-mode: screen;
}
.neural-observatory .bg-grid,
.neural-observatory .depth-plane,
.neural-observatory .depth-orb {
  display: none !important;
}
.neural-observatory .page-hero::after,
.neural-observatory .hero::before,
.neural-observatory .hero::after {
  display: none !important;
  animation: none !important;
}
.neural-observatory main,
.neural-observatory .site-nav,
.neural-observatory .site-foot {
  position: relative;
}
.neural-observatory main,
.neural-observatory .site-foot {
  z-index: 1;
}
.neural-observatory .site-nav {
  z-index: 20;
}


/* v127 footer brand banner correction: keep the scope strip transparent and remove the old boxed-banner impression. */
.footer-tech-band {
  background: transparent !important;
}
.footer-tech-band::before {
  opacity: 0.18;
}
.footer-tech-band::after {
  opacity: 0.55;
}
.footer-tech-copy {
  background: transparent !important;
  box-shadow: none !important;
}
.foot-logo-img {
  background: transparent !important;
}

/* v128: robust tool-library filter visibility */
.instrument-family-block[hidden],
.instrument-card[hidden],
[data-tool-card][hidden],
[data-tool-filter-empty][hidden] {
  display: none !important;
}
.instrument-filter-bar button[aria-pressed="true"] {
  border-color: rgba(0,255,135,.36);
  color: var(--signal);
  background: rgba(0,255,135,.07);
}


/* v132 - About affiliations with provided organization logos */
.founder-affiliations {
  position: relative;
  z-index: 1;
  display: grid;
  gap: .9rem;
  margin-top: 1.1rem;
}
.affiliation-card {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  padding: .95rem 1rem;
  border-color: rgba(0, 255, 135, .16);
  background: rgba(2, 6, 23, .38);
}
.affiliation-logo-wrap {
  width: 132px;
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(218, 225, 255, .16);
  border-radius: 16px;
  background: rgba(255, 255, 255, .94);
  overflow: hidden;
}
.affiliation-logo {
  display: block;
  max-width: 104px;
  max-height: 56px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.affiliation-logo-ai2030 { max-width: 118px; max-height: 42px; }
.affiliation-logo-aaai { max-width: 72px; max-height: 68px; }
.affiliation-logo-owasp { max-width: 112px; max-height: 44px; }
.affiliation-card h4 {
  margin: 0 0 .35rem;
  color: var(--txt);
  font-size: .98rem;
  line-height: 1.25;
}
.affiliation-card p {
  margin: 0;
  color: var(--txt-2);
  font-size: .89rem;
  line-height: 1.55;
}
@media (max-width: 620px) {
  .affiliation-card {
    grid-template-columns: 1fr;
    gap: .8rem;
  }
  .affiliation-logo-wrap {
    width: 100%;
    max-width: 180px;
    justify-content: center;
  }
}


/* L2ET v133.1 protected instrument visual patch.
   CSP-safe: dynamic instrument visuals use classes, SVG attributes and <meter>,
   not inline style attributes. */
.instrument-score-wrap {
  display:grid;
  grid-template-columns:minmax(88px, 1fr) auto;
  gap:.45rem;
  align-items:center;
  min-width:130px;
}
.instrument-meter {
  width:100%;
  height:10px;
  border:0;
  border-radius:999px;
  background:rgba(148,163,184,.14);
}
.instrument-meter::-webkit-meter-bar {
  border:0;
  border-radius:999px;
  background:rgba(148,163,184,.14);
}
.instrument-meter::-webkit-meter-optimum-value,
.instrument-meter::-webkit-meter-suboptimum-value,
.instrument-meter::-webkit-meter-even-less-good-value {
  border-radius:999px;
  background:linear-gradient(90deg,var(--accent-bright),var(--signal));
}
.instrument-meter::-moz-meter-bar {
  border-radius:999px;
  background:linear-gradient(90deg,var(--accent-bright),var(--signal));
}
.instrument-score-label {
  color:var(--txt-3);
  font-family:var(--font-mono);
  font-size:.65rem;
  white-space:nowrap;
}
.score-good .instrument-score-label,
.score-good .env-value,
.score-good .env-core-score,
.score-good small { color:var(--signal); }
.score-warn .instrument-score-label,
.score-warn .env-value,
.score-warn small { color:#ffc56b; }
.score-risk .instrument-score-label,
.score-risk .env-value,
.score-risk small { color:#ff8a8a; }
.score-calc .instrument-score-label,
.score-calc small { color:#8bdcff; }

.instrument-dynamic-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.55rem;
  width:100%;
  padding:.75rem;
}
.instrument-node-card {
  border:1px solid rgba(148,163,184,.14);
  border-radius:14px;
  padding:.65rem;
  background:rgba(2,6,23,.52);
  display:grid;
  gap:.35rem;
}
.instrument-node-card b {
  color:var(--txt);
  font-size:.75rem;
}
.instrument-node-card small {
  color:var(--txt-3);
  font-size:.66rem;
  line-height:1.35;
}

.instrument-radar {
  display:grid;
  gap:.75rem;
  justify-items:center;
}
.instrument-radar .instrument-dynamic-grid {
  padding:0;
}

.instrument-tree div span small {
  display:block;
  color:var(--txt-3);
  font-size:.66rem;
  margin-top:.15rem;
}
.instrument-matrix tr.score-risk td { background:rgba(255,107,107,.045); }
.instrument-matrix tr.score-warn td { background:rgba(255,197,107,.04); }
.instrument-matrix tr.score-good td { background:rgba(0,255,135,.035); }
.instrument-matrix td small {
  display:block;
  color:var(--txt-3);
  font-size:.66rem;
  margin-top:.15rem;
}

.instrument-heat-cell.score-good {
  border-color:rgba(0,255,135,.22);
  background:linear-gradient(180deg, rgba(2,6,23,.55), rgba(0,255,135,.10));
}
.instrument-heat-cell.score-warn {
  border-color:rgba(255,197,107,.24);
  background:linear-gradient(180deg, rgba(2,6,23,.55), rgba(255,197,107,.10));
}
.instrument-heat-cell.score-risk {
  border-color:rgba(255,107,107,.24);
  background:linear-gradient(180deg, rgba(2,6,23,.55), rgba(255,107,107,.10));
}
.instrument-heat-cell.score-calc {
  border-color:rgba(139,220,255,.24);
  background:linear-gradient(180deg, rgba(2,6,23,.55), rgba(139,220,255,.10));
}

.instrument-envelope-v2 {
  min-height:auto;
  display:grid;
  gap:.55rem;
}
.instrument-envelope-v2 svg {
  width:100%;
  height:auto;
  max-height:430px;
}
.env-band {
  fill:none;
  stroke:rgba(148,163,184,.14);
  stroke-width:1.25;
}
.env-band-mid { stroke-dasharray:6 8; }
.env-core-shape {
  fill:rgba(0,255,135,.06);
  stroke:rgba(0,255,135,.38);
  stroke-width:1.4;
}
.env-link {
  stroke:rgba(148,163,184,.22);
  stroke-width:1.2;
}
.env-dot {
  fill:rgba(2,6,23,.92);
  stroke:rgba(148,163,184,.32);
  stroke-width:2;
}
.env-label {
  fill:rgba(235,241,255,.82);
  font:600 12px var(--font-sans);
}
.env-value,
.env-core-score {
  fill:rgba(168,181,214,.84);
  font:10px var(--font-mono);
}
.env-core-title {
  fill:var(--signal);
  font:700 12px var(--font-mono);
}
.env-node.score-good .env-dot { stroke:rgba(0,255,135,.72); fill:rgba(0,255,135,.08); }
.env-node.score-warn .env-dot { stroke:rgba(255,197,107,.72); fill:rgba(255,197,107,.08); }
.env-node.score-risk .env-dot { stroke:rgba(255,107,107,.72); fill:rgba(255,107,107,.08); }
.env-node.score-calc .env-dot { stroke:rgba(139,220,255,.72); fill:rgba(139,220,255,.08); }
.instrument-envelope-legend {
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  justify-content:center;
}
.instrument-envelope-legend span {
  border:1px solid rgba(148,163,184,.14);
  border-radius:999px;
  padding:.32rem .55rem;
  font-family:var(--font-mono);
  font-size:.62rem;
  background:rgba(2,6,23,.58);
}
.instrument-envelope-legend .score-good { color:var(--signal); border-color:rgba(0,255,135,.2); }
.instrument-envelope-legend .score-warn { color:#ffc56b; border-color:rgba(255,197,107,.2); }
.instrument-envelope-legend .score-risk { color:#ff8a8a; border-color:rgba(255,107,107,.2); }

.instrument-graph-v2 {
  position:static;
  min-height:0;
  display:grid;
  gap:.8rem;
  padding:.75rem;
}
.instrument-graph-v2 .graph-core {
  position:static;
  transform:none;
  justify-self:center;
  display:grid;
  gap:.15rem;
  text-align:center;
}
.instrument-graph-v2 .graph-core small {
  color:var(--txt-3);
  font-family:var(--font-mono);
  font-size:.65rem;
}
.instrument-graph-v2 .instrument-dynamic-grid {
  padding:0;
}
.instrument-console-v2 .console-line {
  display:grid;
  gap:.2rem;
}
.instrument-console-v2 .console-line b {
  color:var(--txt);
  font-size:.7rem;
}
.instrument-console-v2 .console-line span {
  color:var(--txt-2);
  font-size:.72rem;
  line-height:1.4;
}
.instrument-console-v2 .console-line.score-good { border-color:var(--signal); }
.instrument-console-v2 .console-line.score-warn { border-color:#ffc56b; }
.instrument-console-v2 .console-line.score-risk { border-color:#ff6b6b; }
.instrument-console-v2 .console-line.score-calc { border-color:#8bdcff; }

.instrument-input-snapshot {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.45rem;
  margin-top:.4rem;
}
.instrument-input-snapshot span {
  display:grid;
  gap:.15rem;
  border:1px solid rgba(148,163,184,.12);
  border-radius:12px;
  padding:.55rem;
  background:rgba(2,6,23,.5);
}
.instrument-input-snapshot b {
  color:var(--txt);
  font-size:.68rem;
}
.instrument-input-snapshot small {
  color:var(--txt-3);
  font-size:.64rem;
}

@media (max-width: 760px) {
  .instrument-dynamic-grid,
  .instrument-input-snapshot {
    grid-template-columns:1fr;
  }
  .instrument-score-wrap {
    grid-template-columns:1fr auto;
  }
  .env-label { font-size:10px; }
  .env-value { font-size:8px; }
  .env-core-title { font-size:10px; }
}


/* L2ET v133.2: CSP-safe self-contained SVG visual hardening.
   This CSS complements SVG presentation attributes from the Worker.
   It avoids unsafe-inline and prevents the legacy envelope rules from
   turning SVG labels/shapes into black blobs if a stale cache is present. */
.instrument-envelope-v3 {
  position: relative;
  width: 100%;
  min-height: 0;
  display: grid;
  gap: .65rem;
  padding: .2rem;
}
.instrument-envelope-v3 svg {
  width: 100%;
  height: auto;
  max-height: min(58vh, 520px);
  display: block;
  overflow: visible;
  border-radius: 24px;
}
.instrument-envelope-v3 text {
  paint-order: stroke;
  stroke: rgba(2,6,23,.72);
  stroke-width: 2px;
  stroke-linejoin: round;
}
.instrument-envelope-v3 .env-pressure-poly {
  filter: drop-shadow(0 0 18px rgba(0,255,135,.08));
}
.instrument-envelope-v3 .env-node.score-risk .env-dot,
.instrument-envelope-v3.score-risk .env-pressure-poly {
  filter: drop-shadow(0 0 16px rgba(255,107,107,.16));
}
.instrument-envelope-v3 .env-node.score-warn .env-dot,
.instrument-envelope-v3.score-warn .env-pressure-poly {
  filter: drop-shadow(0 0 14px rgba(255,197,107,.14));
}
.instrument-envelope-v3 .env-node.score-good .env-dot,
.instrument-envelope-v3.score-good .env-pressure-poly {
  filter: drop-shadow(0 0 14px rgba(0,255,135,.12));
}
.instrument-envelope-v3 .instrument-envelope-legend {
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  justify-content:center;
}
.instrument-envelope-v3 .instrument-envelope-legend span {
  border:1px solid rgba(148,163,184,.14);
  border-radius:999px;
  padding:.32rem .55rem;
  font-family:var(--font-mono);
  font-size:.62rem;
  background:rgba(2,6,23,.58);
}
.instrument-envelope-v3 .instrument-envelope-legend .score-good { color:var(--signal); border-color:rgba(0,255,135,.2); }
.instrument-envelope-v3 .instrument-envelope-legend .score-warn { color:#ffc56b; border-color:rgba(255,197,107,.2); }
.instrument-envelope-v3 .instrument-envelope-legend .score-risk { color:#ff8a8a; border-color:rgba(255,107,107,.2); }

@media (max-width: 760px) {
  .instrument-envelope-v3 svg {
    max-height: none;
  }
  .instrument-envelope-v3 text {
    stroke-width: 2.8px;
  }
}


/* L2ET v133.3 visual layout audit patch.
   Goal: keep strict CSP, eliminate clipped SVG labels, and prevent oversized center overlays. */
.instrument-envelope-v4 {
  position: relative;
  width: 100%;
  min-height: 0;
  display: grid;
  gap: .65rem;
  padding: .2rem;
}
.instrument-envelope-v4 svg {
  width: 100%;
  height: auto;
  max-height: min(56vh, 500px);
  display: block;
  overflow: visible;
  border-radius: 24px;
}
.instrument-envelope-v4 text {
  paint-order: stroke;
  stroke: rgba(2, 6, 23, .74);
  stroke-width: 2px;
  stroke-linejoin: round;
}
.instrument-envelope-v4 .env-label text {
  stroke-width: 1.8px;
}
.instrument-envelope-v4 .env-pressure-poly {
  filter: drop-shadow(0 0 16px rgba(0, 255, 135, .08));
}
.instrument-envelope-v4 .env-node.score-risk .env-dot,
.instrument-envelope-v4.score-risk .env-pressure-poly {
  filter: drop-shadow(0 0 14px rgba(255,107,107,.16));
}
.instrument-envelope-v4 .env-node.score-warn .env-dot,
.instrument-envelope-v4.score-warn .env-pressure-poly {
  filter: drop-shadow(0 0 12px rgba(255,197,107,.14));
}
.instrument-envelope-v4 .env-node.score-good .env-dot,
.instrument-envelope-v4.score-good .env-pressure-poly {
  filter: drop-shadow(0 0 12px rgba(0,255,135,.12));
}
.instrument-envelope-v4 .instrument-envelope-legend {
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  justify-content:center;
}
.instrument-envelope-v4 .instrument-envelope-legend span {
  border:1px solid rgba(148,163,184,.14);
  border-radius:999px;
  padding:.32rem .55rem;
  font-family:var(--font-mono);
  font-size:.62rem;
  background:rgba(2,6,23,.58);
}
.instrument-envelope-v4 .instrument-envelope-legend .score-good { color:var(--signal); border-color:rgba(0,255,135,.2); }
.instrument-envelope-v4 .instrument-envelope-legend .score-warn { color:#ffc56b; border-color:rgba(255,197,107,.2); }
.instrument-envelope-v4 .instrument-envelope-legend .score-risk { color:#ff8a8a; border-color:rgba(255,107,107,.2); }

.instrument-radar-v2 .radar-labels text {
  paint-order: stroke;
  stroke: rgba(2, 6, 23, .72);
  stroke-width: 2px;
  stroke-linejoin: round;
}
.instrument-radar-v2 .radar-labels .radar-label-start { text-anchor:start; }
.instrument-radar-v2 .radar-labels .radar-label-middle { text-anchor:middle; }
.instrument-radar-v2 .radar-labels .radar-label-end { text-anchor:end; }

@media (max-width: 760px) {
  .instrument-envelope-v4 svg {
    max-height: none;
  }
  .instrument-envelope-v4 text {
    stroke-width: 2.6px;
  }
}


/* L2ET v133.4 visual clarity patch.
   Design rule: summary badges must live outside the analytical plot area, not on top of the chart geometry.
   Security rule: no unsafe-inline CSS is required; Worker visuals use classes and SVG presentation attributes. */

.instrument-visual {
  overflow: visible;
}

.instrument-envelope-v5 {
  position: relative;
  width: 100%;
  min-height: 0;
  display: grid;
  gap: .65rem;
  padding: .2rem;
}

.instrument-envelope-v5 svg {
  width: 100%;
  height: auto;
  max-height: min(56vh, 500px);
  display: block;
  overflow: visible;
  border-radius: 24px;
}

.instrument-envelope-v5 text {
  paint-order: stroke;
  stroke: rgba(2, 6, 23, .74);
  stroke-width: 1.8px;
  stroke-linejoin: round;
}

.instrument-envelope-v5 .env-summary-card text {
  stroke-width: 1.3px;
}

.instrument-envelope-v5 .env-summary-card rect {
  filter: drop-shadow(0 10px 22px rgba(0, 0, 0, .20));
}

.instrument-envelope-v5 .env-label text {
  stroke-width: 1.75px;
}

.instrument-envelope-v5 .env-pressure-poly {
  filter: drop-shadow(0 0 14px rgba(0, 255, 135, .08));
}

.instrument-envelope-v5 .env-node.score-risk .env-dot,
.instrument-envelope-v5.score-risk .env-pressure-poly {
  filter: drop-shadow(0 0 14px rgba(255,107,107,.16));
}

.instrument-envelope-v5 .env-node.score-warn .env-dot,
.instrument-envelope-v5.score-warn .env-pressure-poly {
  filter: drop-shadow(0 0 12px rgba(255,197,107,.14));
}

.instrument-envelope-v5 .env-node.score-good .env-dot,
.instrument-envelope-v5.score-good .env-pressure-poly {
  filter: drop-shadow(0 0 12px rgba(0,255,135,.12));
}

.instrument-envelope-v5 .instrument-envelope-legend {
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  justify-content:center;
}

.instrument-envelope-v5 .instrument-envelope-legend span {
  border:1px solid rgba(148,163,184,.14);
  border-radius:999px;
  padding:.32rem .55rem;
  font-family:var(--font-mono);
  font-size:.62rem;
  background:rgba(2,6,23,.58);
}

.instrument-envelope-v5 .instrument-envelope-legend .score-good { color:var(--signal); border-color:rgba(0,255,135,.2); }
.instrument-envelope-v5 .instrument-envelope-legend .score-warn { color:#ffc56b; border-color:rgba(255,197,107,.2); }
.instrument-envelope-v5 .instrument-envelope-legend .score-risk { color:#ff8a8a; border-color:rgba(255,107,107,.2); }

.instrument-graph-v4 {
  position: static;
  min-height: 0;
  display: grid;
  gap: .75rem;
  padding: .75rem;
  align-items: start;
}

.instrument-graph-v4 .graph-summary-card,
.instrument-graph .graph-core,
.instrument-envelope .envelope-core {
  position: static !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  justify-self: start;
  width: auto;
  max-width: min(100%, 280px);
  min-height: 0;
  height: auto;
  border: 1px solid rgba(0,255,135,.25);
  border-radius: 16px;
  padding: .62rem .75rem;
  color: var(--signal);
  background: rgba(2, 6, 23, .72);
  font-family: var(--font-mono);
  text-align: left;
  display: grid;
  gap: .18rem;
}

.instrument-graph-v4 .graph-summary-card b,
.instrument-graph .graph-core b {
  color: var(--signal);
  font-size: .72rem;
  line-height: 1.25;
}

.instrument-graph-v4 .graph-summary-card small,
.instrument-graph .graph-core small {
  color: var(--txt-3);
  font-family: var(--font-mono);
  font-size: .64rem;
}

.instrument-graph-v4 .instrument-dynamic-grid {
  padding: 0;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

@media (max-width: 760px) {
  .instrument-envelope-v5 svg {
    max-height: none;
  }
  .instrument-envelope-v5 text {
    stroke-width: 2.4px;
  }
  .instrument-graph-v4 .instrument-dynamic-grid {
    grid-template-columns: 1fr;
  }
}


/* L2ET v133.5 visual polish patch.
   Rule: summary/status cards live outside analytical plot geometry.
   Fixes: no decorative line above the summary card, no clipped/truncated title text,
   and shared styling for mission-envelope and permission-graph summary cards. */

.instrument-visual {
  overflow: visible;
}

.visual-summary-card,
.instrument-envelope-v6 .visual-summary-card,
.instrument-graph-v5 .visual-summary-card {
  position: static !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  justify-self: start;
  align-self: start;
  width: fit-content;
  max-width: min(100%, 34rem);
  min-width: min(100%, 15rem);
  min-height: 0;
  height: auto;
  border: 1px solid rgba(0,255,135,.28);
  border-radius: 16px;
  padding: .68rem .82rem;
  color: var(--signal);
  background: linear-gradient(180deg, rgba(2, 6, 23, .86), rgba(2, 6, 23, .66));
  box-shadow: 0 12px 28px rgba(0, 0, 0, .20);
  font-family: var(--font-mono);
  text-align: left;
  display: grid;
  gap: .22rem;
  white-space: normal;
  overflow: visible;
}

.visual-summary-card::before,
.visual-summary-card::after,
.instrument-envelope-v6 .visual-summary-card::before,
.instrument-envelope-v6 .visual-summary-card::after,
.instrument-graph-v5 .visual-summary-card::before,
.instrument-graph-v5 .visual-summary-card::after {
  content: none !important;
  display: none !important;
}

.visual-summary-card b,
.instrument-envelope-v6 .visual-summary-card b,
.instrument-graph-v5 .visual-summary-card b {
  color: var(--signal);
  display: block;
  max-width: 100%;
  font-size: .76rem;
  line-height: 1.28;
  letter-spacing: -.01em;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: anywhere;
}

.visual-summary-card small,
.instrument-envelope-v6 .visual-summary-card small,
.instrument-graph-v5 .visual-summary-card small {
  color: var(--txt-3);
  display: block;
  max-width: 100%;
  font-family: var(--font-mono);
  font-size: .64rem;
  line-height: 1.35;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}

.instrument-envelope-v6 {
  position: relative;
  width: 100%;
  min-height: 0;
  display: grid;
  gap: .72rem;
  padding: .2rem;
  align-items: start;
}

.instrument-envelope-v6 svg {
  width: 100%;
  height: auto;
  max-height: min(56vh, 500px);
  display: block;
  overflow: visible;
  border-radius: 24px;
}

.instrument-envelope-v6 text {
  paint-order: stroke;
  stroke: rgba(2, 6, 23, .74);
  stroke-width: 1.8px;
  stroke-linejoin: round;
}

.instrument-envelope-v6 .env-label text {
  stroke-width: 1.75px;
}

.instrument-envelope-v6 .env-pressure-poly {
  filter: drop-shadow(0 0 14px rgba(0, 255, 135, .08));
}

.instrument-envelope-v6 .env-node.score-risk .env-dot,
.instrument-envelope-v6.score-risk .env-pressure-poly {
  filter: drop-shadow(0 0 14px rgba(255,107,107,.16));
}

.instrument-envelope-v6 .env-node.score-warn .env-dot,
.instrument-envelope-v6.score-warn .env-pressure-poly {
  filter: drop-shadow(0 0 12px rgba(255,197,107,.14));
}

.instrument-envelope-v6 .env-node.score-good .env-dot,
.instrument-envelope-v6.score-good .env-pressure-poly {
  filter: drop-shadow(0 0 12px rgba(0,255,135,.12));
}

.instrument-envelope-v6 .instrument-envelope-legend {
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  justify-content:center;
}

.instrument-envelope-v6 .instrument-envelope-legend span {
  border:1px solid rgba(148,163,184,.14);
  border-radius:999px;
  padding:.32rem .55rem;
  font-family:var(--font-mono);
  font-size:.62rem;
  background:rgba(2,6,23,.58);
}

.instrument-envelope-v6 .instrument-envelope-legend .score-good { color:var(--signal); border-color:rgba(0,255,135,.2); }
.instrument-envelope-v6 .instrument-envelope-legend .score-warn { color:#ffc56b; border-color:rgba(255,197,107,.2); }
.instrument-envelope-v6 .instrument-envelope-legend .score-risk { color:#ff8a8a; border-color:rgba(255,107,107,.2); }

.instrument-graph-v5 {
  position: static;
  min-height: 0;
  display: grid;
  gap: .75rem;
  padding: .75rem;
  align-items: start;
}

.instrument-graph-v5 .instrument-dynamic-grid {
  padding: 0;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

@media (max-width: 760px) {
  .visual-summary-card,
  .instrument-envelope-v6 .visual-summary-card,
  .instrument-graph-v5 .visual-summary-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  .instrument-envelope-v6 svg {
    max-height: none;
  }
  .instrument-envelope-v6 text {
    stroke-width: 2.45px;
  }
}


/* L2ET v133.9 multilingual layout guard.
 * Keeps long localized words and translated hero copy within the existing visual system.
 */
html[lang="de"] .page-hero h1,
html[lang="fi"] .page-hero h1,
html[lang="sv"] .page-hero h1,
html[lang="da"] .page-hero h1,
html[lang="cs"] .page-hero h1,
html[lang="es"] .page-hero h1,
html[lang="it"] .page-hero h1,
html[lang="fr"] .page-hero h1 {
  max-width: min(980px, 92vw);
  font-size: clamp(2.65rem, 8.2vw, 6.6rem);
  line-height: 0.96;
  letter-spacing: -0.065em;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
  text-wrap: balance;
}

html[lang="de"] .hero h1,
html[lang="fi"] .hero h1,
html[lang="sv"] .hero h1,
html[lang="da"] .hero h1,
html[lang="cs"] .hero h1,
html[lang="es"] .hero h1,
html[lang="it"] .hero h1,
html[lang="fr"] .hero h1 {
  max-width: min(1120px, 94vw);
  font-size: clamp(3.2rem, 9vw, 8.6rem);
  line-height: 0.94;
  overflow-wrap: anywhere;
  hyphens: auto;
  text-wrap: balance;
}

html[lang] .btn,
html[lang] .instrument-badge,
html[lang] .tag,
html[lang] .nav-link,
html[lang] .language-option {
  overflow-wrap: anywhere;
  hyphens: auto;
}

html[lang] .card h2,
html[lang] .card h3,
html[lang] .section-head h2,
html[lang] .instrument-detail-grid h2,
html[lang] .instrument-detail-grid h3 {
  overflow-wrap: anywhere;
  hyphens: auto;
  text-wrap: balance;
}

html[lang] .hero-actions,
html[lang] .instrument-chip-row,
html[lang] .tag-row {
  flex-wrap: wrap;
}

@media (max-width: 760px) {
  html[lang] .page-hero h1,
  html[lang] .hero h1 {
    font-size: clamp(2.25rem, 13vw, 4.8rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
  }
}


/* === v1340 language selector repair: stable labels and non-wrapping codes === */
.language-options {
  width: max-content;
  min-width: 11rem;
  max-width: min(92vw, 16rem);
}
.language-option {
  min-width: 9.75rem;
}
.language-option span {
  flex: 0 0 2.15rem;
  min-width: 2.15rem;
  white-space: nowrap;
  text-align: left;
}
.language-option small {
  flex: 1 1 auto;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: right;
}




/* v1342 English-only navigation cleanup and localization fallback
   Keep navigation clean: no header/footer language pill while translations are under review.
*/
.language-soon-pill,
.language-menu,
.language-options,
.language-option {
  display: none !important;
}

.locale-soon-page {
  overflow-x: hidden;
}

.locale-soon-page .hero-section {
  min-height: min(78vh, 760px);
  display: flex;
  align-items: center;
}

.locale-soon-page .hero-copy {
  max-width: 980px;
}

.locale-soon-page .hero-title {
  max-width: 960px;
  font-size: clamp(2.55rem, 7.5vw, 6.4rem);
  line-height: .96;
  letter-spacing: -.055em;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.locale-soon-page .hero-lede,
.locale-soon-note {
  max-width: 780px;
  color: var(--text-muted, #aeb4d6);
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  line-height: 1.65;
}

.locale-soon-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
}

.site-foot .foot-city,
.foot-city {
  margin-bottom: 0;
}

@media (max-width: 760px) {
  .locale-soon-page .hero-section {
    min-height: auto;
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  .locale-soon-page .hero-title {
    font-size: clamp(2.35rem, 12vw, 4.25rem);
    line-height: .98;
    letter-spacing: -.045em;
  }
  .locale-soon-actions .btn {
    width: 100%;
    justify-content: center;
  }
}


/* ==========================================================================
   L2ET v1345 emergency recovery accessibility and stability layer.
   Purpose: fix AudioEye-reported label/listbox/contrast/heading issues without
   altering the approved visual identity or instrument runtime.
   ========================================================================== */

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

.foot-cols .foot-heading {
  display: block;
  text-transform: none;
}

.language-soon-pill,
.language-menu,
.language-options,
.language-option,
.lang-dropdown,
.lang-menu,
.lang-option,
.locale-switcher,
.locale-selector {
  display: none !important;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible,
[role="option"]:focus-visible {
  outline: 2px solid rgba(51, 255, 166, .96) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 4px rgba(51, 255, 166, .16) !important;
}

.btn,
.nav-toggle,
.l2et-x-palette-hint,
.contact-form input,
.contact-form textarea,
.contact-form select,
.instrument-shell input,
.instrument-shell select,
.instrument-shell textarea,
.tool-panel input,
.tool-panel select,
.tool-panel textarea,
.pill,
.chip,
.glass,
.card,
.tool-card,
.framework-card,
.research-card,
.industry-card {
  border-color: rgba(173, 164, 255, .40);
}

.btn-primary,
.btn-ghost:hover,
.nav-link:hover,
.l2et-x-palette-item.is-active {
  border-color: rgba(51, 255, 166, .72);
}

.l2et-x-palette-list[role="listbox"] {
  border: 1px solid rgba(173, 164, 255, .38);
}

.botcheck {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}


/* ==========================================================================
   L2ET v1350 - Hostinger deployable polish
   Scope: visual identity preserved; strengthens accessibility, clean URL UI,
   card readability and long-word resilience. No tool logic is changed.
   ========================================================================== */
:root {
  --l2et-a11y-border-soft: rgba(167, 139, 250, 0.42);
  --l2et-a11y-border-green: rgba(0, 255, 135, 0.62);
  --l2et-a11y-focus: rgba(0, 255, 135, 0.96);
}
a.card.glass,
a.instrument-card,
button,
input,
select,
textarea,
.l2et-x-palette-card {
  border-color: var(--l2et-a11y-border-soft);
}
a.card.glass:hover,
a.instrument-card:hover,
button:hover,
select:hover,
input:hover,
textarea:hover {
  border-color: var(--l2et-a11y-border-green);
}
:focus-visible {
  outline: 2px solid var(--l2et-a11y-focus) !important;
  outline-offset: 3px !important;
}
.instrument-card h4,
.card h3,
.hero-title,
.page-hero h1,
.section-head h2 {
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
}
.instrument-card-kicker,
.card-cta,
.instrument-chip-row span {
  overflow-wrap: anywhere;
  white-space: normal;
}
.language-soon-pill,
.language-menu,
.language-options,
.language-option {
  display: none !important;
}
