/* ==========================================================================
   The Longevity Health Company — Design System
   Layers: reset → tokens → base → layout → components → sections → utilities
   Documentation: docs/DESIGN-SYSTEM.md
   ========================================================================== */
@layer reset, tokens, base, layout, components, sections, utilities;

/* ------------------------------------------------------------------ reset */
@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  * { margin: 0; }
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  body { min-height: 100vh; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
  img, picture, svg, video { display: block; max-width: 100%; }
  img { height: auto; }
  input, button, textarea, select { font: inherit; color: inherit; }
  button { background: none; border: 0; padding: 0; cursor: pointer; }
  ul[role="list"], ol[role="list"] { list-style: none; padding: 0; }
  table { border-collapse: collapse; }
  [hidden] { display: none !important; }
}

/* ----------------------------------------------------------------- tokens */
@layer tokens {
  :root {
    /* Brand colour — from brand direction + logo */
    --c-navy: #0b2a5b;          /* logo wordmark */
    --c-deep: #082f49;          /* bg_dark */
    --c-deeper: #051f31;
    --c-teal: #0e7490;          /* primary — trust anchor */
    --c-teal-600: #0a5f77;
    --c-teal-100: #dcf0f4;
    --c-mint: #14b8a6;          /* secondary — intelligence / health signal */
    --c-mint-100: #d3f4ef;
    --c-gold: #c39a3f;          /* logo gold — rules, dots, decoration */
    --c-gold-700: #8a6417;      /* gold for text on light (AA) */
    --c-amber: #f59e0b;         /* accent — metrics on dark, sparingly */

    /* Neutrals */
    --c-paper: #f7fbfc;         /* bg_light */
    --c-paper-2: #eef5f7;
    --c-white: #ffffff;
    --c-ink: #1e293b;           /* text_dark */
    --c-ink-2: #334155;
    --c-muted: #526074;         /* text_muted, darkened for AA on paper */
    --c-line: #d7e4e9;
    --c-line-2: #bccfd7;

    /* Subsidiary accents (mirror src/data/companies.json) */
    --co-longwave-media: #7f5c14;  --co-longwave-media-soft: #f4ead3;
    --co-longevity-health-app: #a3303b;      --co-longevity-health-app-soft: #f7e1e3;
    --co-clinical-intelligence: #0a6f64;      --co-clinical-intelligence-soft: #d5f2ee;
    --co-emporio-health: #3a64a8;  --co-emporio-health-soft: #e0e8f5;
    --co: var(--c-teal);
    --co-soft: var(--c-teal-100);

    /* Type */
    --f-display: "Newsreader", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
    --f-sans: "Hanken Grotesk", "Aptos", "Segoe UI", system-ui, -apple-system, sans-serif;
    --f-mono: "IBM Plex Mono", "Cascadia Mono", ui-monospace, "SFMono-Regular", monospace;

    --t-2xs: 0.6875rem;
    --t-xs: 0.75rem;
    --t-sm: 0.875rem;
    --t-base: 1.0625rem;
    --t-md: clamp(1.0625rem, 1rem + 0.25vw, 1.1875rem);
    --t-lg: clamp(1.1875rem, 1.08rem + 0.45vw, 1.4375rem);
    --t-xl: clamp(1.4rem, 1.2rem + 0.9vw, 1.875rem);
    --t-2xl: clamp(1.85rem, 1.45rem + 1.7vw, 2.75rem);
    --t-3xl: clamp(2.35rem, 1.65rem + 3vw, 4rem);
    --t-4xl: clamp(2.75rem, 1.7rem + 4.6vw, 5.75rem);

    /* Space — 4px base */
    --s-1: 0.25rem; --s-2: 0.5rem; --s-3: 0.75rem; --s-4: 1rem; --s-5: 1.5rem;
    --s-6: 2rem; --s-7: 3rem; --s-8: 4rem; --s-9: 6rem; --s-10: 8rem;
    --gutter: clamp(1.25rem, 0.6rem + 3vw, 3.5rem);
    --section: clamp(4.5rem, 2.8rem + 6.5vw, 9.5rem);
    --maxw: 80rem;
    --measure: 38rem;

    /* Shape & depth */
    --r-xs: 6px; --r-sm: 10px; --r: 14px; --r-lg: 22px; --r-pill: 999px;
    --accent-w: 3px; /* card left-border accent */
    --sh-1: 0 1px 2px rgb(8 47 73 / .06), 0 2px 10px rgb(8 47 73 / .04);
    --sh-2: 0 14px 34px -16px rgb(8 47 73 / .22), 0 2px 8px rgb(8 47 73 / .05);
    --sh-3: 0 40px 80px -32px rgb(8 47 73 / .35), 0 8px 20px -8px rgb(8 47 73 / .10);

    /* Motion */
    --ease-out: cubic-bezier(.16, 1, .3, 1);
    --ease-in-out: cubic-bezier(.65, 0, .35, 1);
    --d-1: 160ms; --d-2: 320ms; --d-3: 600ms; --d-4: 1000ms;

    --header-h: 76px;
  }

  [data-company="longwave-media"]  { --co: var(--co-longwave-media);  --co-soft: var(--co-longwave-media-soft); }
  [data-company="longevity-health-app"]      { --co: var(--co-longevity-health-app);      --co-soft: var(--co-longevity-health-app-soft); }
  [data-company="clinical-intelligence"]      { --co: var(--co-clinical-intelligence);      --co-soft: var(--co-clinical-intelligence-soft); }
  [data-company="emporio-health"]  { --co: var(--co-emporio-health);  --co-soft: var(--co-emporio-health-soft); }
  [data-company=""]                { --co: var(--c-teal); --co-soft: var(--c-teal-100); }
}

/* ------------------------------------------------------------------- base */
@layer base {
  html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 1rem); }
  @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

  body {
    font-family: var(--f-sans);
    font-size: var(--t-base);
    line-height: 1.65;
    color: var(--c-ink);
    background: var(--c-paper);
    font-feature-settings: "ss01", "kern";
  }

  h1, h2, h3, h4 { font-weight: 400; line-height: 1.1; color: var(--c-deep); text-wrap: balance; }
  p { text-wrap: pretty; }
  a { color: var(--c-teal); text-decoration-thickness: 1px; text-underline-offset: .2em; }
  a:hover { color: var(--c-teal-600); }
  strong { font-weight: 600; }
  ::selection { background: var(--c-mint-100); color: var(--c-deep); }

  :focus-visible { outline: 2px solid var(--c-teal); outline-offset: 3px; border-radius: 4px; }
  .on-dark :focus-visible { outline-color: var(--c-mint); }
  main:focus { outline: none; }

  .skip-link {
    position: fixed; left: 1rem; top: -4rem; z-index: 200;
    background: var(--c-deep); color: #fff; padding: .75rem 1.1rem; border-radius: var(--r-sm);
    transition: top var(--d-2) var(--ease-out);
  }
  .skip-link:focus { top: 1rem; color: #fff; }

  .sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
}

/* ----------------------------------------------------------------- layout */
@layer layout {
  .container { width: min(100% - 2 * var(--gutter), var(--maxw)); margin-inline: auto; }
  .container--narrow { width: min(100% - 2 * var(--gutter), 52rem); margin-inline: auto; }

  .section { padding-block: var(--section); position: relative; }
  .section--tight { padding-block: calc(var(--section) * .6); }
  .section--flush-top { padding-top: 0; }
  .section--alt { background: var(--c-paper-2); }
  .section--white { background: var(--c-white); }
  .section__head { display: grid; gap: var(--s-4); margin-bottom: clamp(2.5rem, 1.5rem + 3vw, 4.5rem); max-width: 50rem; }
  .section__head--split { max-width: none; grid-template-columns: 1fr; align-items: end; }
  @media (min-width: 60em) { .section__head--split { grid-template-columns: 1.1fr .9fr; gap: var(--s-8); } }

  .grid-2 { display: grid; gap: clamp(2rem, 1rem + 4vw, 5rem); }
  @media (min-width: 56em) {
    .grid-2 { grid-template-columns: 1fr 1fr; align-items: center; }
    .grid-2--wide-left { grid-template-columns: 1.15fr .85fr; }
    .grid-2--wide-right { grid-template-columns: .85fr 1.15fr; }
    .grid-2--top { align-items: start; }
  }
  .grid-3 { display: grid; gap: var(--s-5); }
  @media (min-width: 48em) { .grid-3 { grid-template-columns: repeat(3, 1fr); } }
  .stack > * + * { margin-top: var(--s-4); }
  .stack-lg > * + * { margin-top: var(--s-6); }

  .on-dark {
    --c-line: rgb(255 255 255 / .12);
    color: rgb(255 255 255 / .82);
    background: var(--c-deep);
  }
  .on-dark h1, .on-dark h2, .on-dark h3, .on-dark h4 { color: #fff; }
  .on-dark a { color: var(--c-mint); }
}

/* ------------------------------------------------------------- components */
@layer components {

  /* --- Icons & marks ---------------------------------------------------- */
  .icon { width: 1.25em; height: 1.25em; flex: none; display: inline-block; vertical-align: -0.25em; }
  .icon--lg { width: 2rem; height: 2rem; }
  .mark { width: 2.5rem; height: 2.5rem; color: var(--co); flex: none; }
  .mono { font-family: var(--f-mono); font-feature-settings: "zero"; letter-spacing: 0; }

  /* --- Typography ------------------------------------------------------- */
  .display, .h1, .h2, .h3 { font-family: var(--f-display); font-optical-sizing: auto; letter-spacing: -0.012em; }
  .display { font-size: var(--t-4xl); font-weight: 300; line-height: 1.02; letter-spacing: -0.025em; }
  .h1 { font-size: var(--t-3xl); font-weight: 300; line-height: 1.05; letter-spacing: -0.02em; }
  .h2 { font-size: var(--t-2xl); font-weight: 400; line-height: 1.12; }
  .h3 { font-size: var(--t-xl); font-weight: 400; line-height: 1.2; }
  .h4 { font-family: var(--f-sans); font-size: var(--t-md); font-weight: 600; line-height: 1.35; letter-spacing: -0.005em; color: var(--c-deep); }
  .display em, .h1 em, .h2 em { font-style: italic; color: var(--c-teal); }
  .on-dark .display em, .on-dark .h1 em, .on-dark .h2 em { color: var(--c-mint); }
  .lead { font-size: var(--t-lg); line-height: 1.55; color: var(--c-ink-2); max-width: var(--measure); }
  .on-dark .lead { color: rgb(255 255 255 / .78); }
  .muted { color: var(--c-muted); }
  .prose { max-width: var(--measure); }
  .prose > * + * { margin-top: 1.1em; }
  .prose h2 { font-family: var(--f-display); font-size: var(--t-xl); margin-top: 2.2em; }
  .prose h3 { font-size: var(--t-md); font-weight: 600; margin-top: 1.8em; }
  .prose ul { padding-left: 1.2em; }
  .prose li + li { margin-top: .4em; }

  /* Headline treatment: animated underline on a key phrase */
  .u { position: relative; white-space: nowrap; display: inline-block; }
  .u::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: .02em; height: .07em; min-height: 2px;
    background: var(--c-gold); border-radius: 2px;
    transform-origin: left center; transform: scaleX(1);
    transition: transform 1.1s var(--ease-out) .35s;
  }
  .js .u:not(.is-drawn)::after { transform: scaleX(0); }

  /* Section label: small uppercase, top-left, with index "01 / 06" */
  .eyebrow {
    display: inline-flex; align-items: center; gap: .75rem;
    font-family: var(--f-mono); font-size: var(--t-xs); font-weight: 500;
    letter-spacing: .14em; text-transform: uppercase; color: var(--c-teal);
  }
  .eyebrow::before { content: ""; width: 1.75rem; height: 1px; background: currentColor; opacity: .6; }
  .eyebrow b { font-weight: 500; color: var(--c-muted); letter-spacing: .06em; }
  .on-dark .eyebrow { color: var(--c-mint); }
  .on-dark .eyebrow b { color: rgb(255 255 255 / .5); }
  [data-company]:not([data-company=""]) .eyebrow--co { color: var(--co); }

  /* --- Buttons & links --------------------------------------------------- */
  .btn {
    --btn-bg: var(--c-teal); --btn-fg: #fff; --btn-bd: var(--btn-bg);
    display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
    min-height: 3rem; padding: .8rem 1.4rem;
    font-weight: 600; font-size: var(--t-sm); letter-spacing: .01em; line-height: 1.1;
    color: var(--btn-fg); background: var(--btn-bg); border: 1px solid var(--btn-bd);
    border-radius: var(--r-pill); text-decoration: none;
    transition: background-color var(--d-2) var(--ease-out), color var(--d-2) var(--ease-out), border-color var(--d-2), transform var(--d-2) var(--ease-out), box-shadow var(--d-2);
  }
  .btn .icon { transition: transform var(--d-2) var(--ease-out); }
  .btn:hover { color: var(--btn-fg); box-shadow: var(--sh-2); transform: translateY(-1px); }
  .btn:hover .icon { transform: translateX(3px); }
  .btn:active { transform: translateY(0); }
  .btn--primary:hover { --btn-bg: var(--c-teal-600); }
  .btn--ghost { --btn-bg: transparent; --btn-fg: var(--c-deep); --btn-bd: var(--c-line-2); }
  .btn--ghost:hover { --btn-bg: var(--c-white); --btn-bd: var(--c-deep); }
  .btn--co { --btn-bg: var(--co); }
  .btn--co:hover { filter: brightness(.92); }
  .btn--light { --btn-bg: #fff; --btn-fg: var(--c-deep); }
  .btn--outline-light { --btn-bg: transparent; --btn-fg: #fff; --btn-bd: rgb(255 255 255 / .35); }
  .btn--outline-light:hover { --btn-bd: #fff; --btn-bg: rgb(255 255 255 / .06); }
  .btn--sm { min-height: 2.5rem; padding: .55rem 1.1rem; }
  .btn-row { display: flex; flex-wrap: wrap; gap: var(--s-3); align-items: center; }
  .btn-row--center { justify-content: center; }

  .link-arrow {
    display: inline-flex; align-items: center; gap: .45rem;
    font-weight: 600; font-size: var(--t-sm); text-decoration: none; color: var(--c-teal);
  }
  .link-arrow .icon { transition: transform var(--d-2) var(--ease-out); }
  .link-arrow:hover .icon { transform: translateX(4px); }
  .link-arrow:hover { text-decoration: underline; }

  .badge { display: inline-block; padding: .1rem .5rem; border-radius: var(--r-pill); font-size: var(--t-2xs); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; vertical-align: .15em; }
  .badge--draft { background: #fff1d6; color: #7a4a00; border: 1px dashed #d99a2b; }
  .tag { display: inline-block; padding: .15rem .55rem; border-radius: var(--r-xs); background: var(--c-teal-100); color: var(--c-teal-600); font-family: var(--f-mono); font-size: var(--t-xs); }

  /* --- Utility bar + header --------------------------------------------- */
  .utility { background: var(--c-deep); color: rgb(255 255 255 / .72); font-size: var(--t-xs); }
  .utility__inner { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 2.25rem; }
  .utility p { display: flex; gap: .9rem; align-items: center; }
  .utility strong { color: var(--c-amber); font-weight: 500; letter-spacing: .06em; }
  .utility a { color: #fff; text-decoration: none; }
  .utility a:hover { color: var(--c-mint); text-decoration: underline; }
  .utility__market { letter-spacing: .08em; text-transform: uppercase; font-size: var(--t-2xs); }
  .utility__patient { display: inline-flex; gap: .35rem; align-items: center; }
  @media (max-width: 40em) { .utility__links { display: none !important; } }

  .site-header {
    position: sticky; top: 0; z-index: 100;
    background: rgb(247 251 252 / .86);
    backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px);
    border-bottom: 1px solid transparent;
    transition: border-color var(--d-2), box-shadow var(--d-2), background-color var(--d-2);
  }
  .site-header.is-scrolled { border-bottom-color: var(--c-line); box-shadow: 0 6px 24px -18px rgb(8 47 73 / .4); background: rgb(247 251 252 / .94); }
  .site-header__inner { display: flex; align-items: center; gap: var(--s-5); height: var(--header-h); }
  .brand { flex: none; display: block; }
  .brand img { width: 148px; height: auto; }
  .site-header__actions { margin-left: auto; display: flex; align-items: center; gap: .5rem; }

  .nav { display: none; margin-left: auto; }
  @media (min-width: 68em) { .nav { display: block; } .menu-btn[data-menu-open] { display: none; } }
  .nav__list { list-style: none; padding: 0; display: flex; gap: .15rem; align-items: center; }
  .nav__link {
    position: relative; display: inline-flex; align-items: center; gap: .25rem;
    padding: .6rem .8rem; font-size: var(--t-sm); font-weight: 500; color: var(--c-ink); text-decoration: none; border-radius: var(--r-xs);
  }
  .nav__link::after {
    content: ""; position: absolute; left: .8rem; right: .8rem; bottom: .3rem; height: 1.5px; background: var(--c-gold);
    transform: scaleX(0); transform-origin: left; transition: transform var(--d-2) var(--ease-out);
  }
  .nav__link:hover { color: var(--c-deep); }
  .nav__link:hover::after, .nav__link[aria-current="page"]::after, .nav__link.is-current::after, .nav__toggle[aria-expanded="true"]::after { transform: scaleX(1); }
  .nav__link[aria-current="page"], .nav__link.is-current { color: var(--c-deep); font-weight: 600; }
  .nav__chev { width: 1rem; height: 1rem; transition: transform var(--d-2) var(--ease-out); }
  .nav__toggle[aria-expanded="true"] .nav__chev { transform: rotate(180deg); }
  .site-header__contact { display: none; }
  @media (min-width: 40em) { .site-header__contact { display: inline-flex; } }

  /* Mega panel */
  .nav__item--mega { position: static; }
  .mega {
    position: absolute; left: 0; right: 0; top: 100%;
    background: var(--c-white); border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line);
    box-shadow: var(--sh-3);
    display: grid; grid-template-columns: minmax(16rem, 1fr) 3fr; gap: var(--s-7);
    padding: var(--s-7) max(var(--gutter), calc((100vw - var(--maxw)) / 2));
    animation: megaIn var(--d-2) var(--ease-out);
  }
  @keyframes megaIn { from { opacity: 0; transform: translateY(-6px); } }
  .mega__lead { font-family: var(--f-display); font-size: var(--t-xl); line-height: 1.25; color: var(--c-deep); margin: .75rem 0 1.25rem; }
  .mega__list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--s-3); }
  .mega__co {
    display: grid; gap: .35rem; height: 100%; padding: 1.25rem; border-radius: var(--r);
    border: 1px solid var(--c-line); border-left: var(--accent-w) solid var(--co);
    text-decoration: none; color: var(--c-ink); background: var(--c-paper);
    transition: transform var(--d-2) var(--ease-out), box-shadow var(--d-2), background-color var(--d-2);
  }
  .mega__co:hover { transform: translateY(-3px); box-shadow: var(--sh-2); background: #fff; color: var(--c-ink); }
  .mega__co .mark { margin-bottom: .5rem; }
  .mega__stage { font-family: var(--f-mono); font-size: var(--t-2xs); letter-spacing: .12em; text-transform: uppercase; color: var(--co); }
  .mega__name { font-family: var(--f-display); font-size: var(--t-lg); color: var(--c-deep); }
  .mega__role { font-size: var(--t-sm); color: var(--c-muted); line-height: 1.45; }

  /* Mobile drawer */
  .menu-btn { display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; color: var(--c-deep); border: 1px solid var(--c-line); background: #fff; }
  .menu-btn:hover { border-color: var(--c-deep); }
  .drawer { position: fixed; inset: 0; z-index: 150; }
  .drawer__scrim { position: absolute; inset: 0; background: rgb(5 31 49 / .45); animation: fadeIn var(--d-2) var(--ease-out); }
  .drawer__panel {
    position: absolute; top: 0; right: 0; bottom: 0; width: min(26rem, 100%);
    background: var(--c-paper); padding: var(--s-5); overflow-y: auto; display: flex; flex-direction: column; gap: var(--s-5);
    box-shadow: var(--sh-3); animation: slideIn var(--d-3) var(--ease-out);
  }
  @keyframes fadeIn { from { opacity: 0; } }
  @keyframes slideIn { from { transform: translateX(100%); } }
  .drawer__top { display: flex; justify-content: space-between; align-items: center; }
  .drawer__list { list-style: none; padding: 0; border-top: 1px solid var(--c-line); }
  .drawer__link { display: block; padding: .9rem 0; font-family: var(--f-display); font-size: var(--t-xl); color: var(--c-deep); text-decoration: none; border-bottom: 1px solid var(--c-line); }
  .drawer__link[aria-current="page"] { color: var(--c-teal); }
  .drawer__heading { font-family: var(--f-mono); font-size: var(--t-xs); letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); }
  .drawer__cos { list-style: none; padding: 0; display: grid; gap: .5rem; }
  .drawer__co { display: flex; gap: .85rem; align-items: center; padding: .75rem; border-radius: var(--r-sm); background: #fff; border-left: var(--accent-w) solid var(--co); text-decoration: none; color: var(--c-deep); font-weight: 600; }
  .drawer__co small { display: block; font-family: var(--f-mono); font-weight: 400; font-size: var(--t-2xs); letter-spacing: .1em; text-transform: uppercase; color: var(--co); }
  .drawer__co .mark { width: 2rem; height: 2rem; }
  .drawer__foot { margin-top: auto; display: grid; gap: var(--s-4); }
  .drawer__ticker { font-size: var(--t-sm); color: var(--c-muted); }
  body.has-drawer { overflow: hidden; }

  /* --- Breadcrumbs ------------------------------------------------------- */
  .crumbs ol { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; font-size: var(--t-xs); color: var(--c-muted); }
  .crumbs li + li::before { content: "/"; margin-right: .4rem; opacity: .5; }
  .crumbs a { color: var(--c-muted); text-decoration: none; }
  .crumbs a:hover { color: var(--c-teal); text-decoration: underline; }
  .crumbs [aria-current] { color: var(--c-ink); }

  /* --- Cards ------------------------------------------------------------- */
  .card {
    position: relative; background: var(--c-white); border: 1px solid var(--c-line); border-left: var(--accent-w) solid var(--co);
    border-radius: var(--r); padding: clamp(1.4rem, 1rem + 1.2vw, 2rem); box-shadow: var(--sh-1);
  }
  .card--plain { border-left-width: 1px; }
  .card__icon { width: 2.75rem; height: 2.75rem; display: grid; place-items: center; border-radius: var(--r-sm); background: var(--co-soft); color: var(--co); margin-bottom: var(--s-4); }
  .card__icon .icon { width: 1.5rem; height: 1.5rem; }
  .card h3 { font-family: var(--f-sans); font-size: var(--t-md); font-weight: 600; line-height: 1.35; margin-bottom: .5rem; }
  .card p { color: var(--c-ink-2); font-size: var(--t-sm); line-height: 1.6; }
  .card__num { position: absolute; top: 1.25rem; right: 1.4rem; font-family: var(--f-mono); font-size: var(--t-xs); color: var(--c-muted); }

  /* --- Stats (balanced metric cards) ------------------------------------ */
  .stats { list-style: none; padding: 0; display: grid; gap: var(--s-4); grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); }
  .stat { padding: 1.5rem 1.5rem 1.35rem; border-radius: var(--r); background: var(--c-white); border: 1px solid var(--c-line); border-left: var(--accent-w) solid var(--co); box-shadow: var(--sh-1); }
  .stat__value { display: block; font-family: var(--f-display); font-size: var(--t-3xl); font-weight: 300; line-height: 1; color: var(--c-deep); letter-spacing: -0.02em; font-variant-numeric: lining-nums tabular-nums; }
  .stat__value small { font-size: .45em; letter-spacing: 0; margin-left: .1em; color: var(--c-muted); }
  .stat__label { display: block; margin-top: .6rem; font-size: var(--t-sm); color: var(--c-ink-2); line-height: 1.45; }
  .on-dark .stat { background: rgb(255 255 255 / .04); border-color: rgb(255 255 255 / .1); border-left-color: var(--c-amber); box-shadow: none; }
  .on-dark .stat__value { color: #fff; }
  .on-dark .stat__value small { color: rgb(255 255 255 / .6); }
  .on-dark .stat__label { color: rgb(255 255 255 / .72); }
  .fn { font-size: .7em; vertical-align: super; color: var(--c-gold); text-decoration: none; margin-left: .1em; }

  /* --- Range instrument (normal vs optimal) ----------------------------- */
  .range { --pos: 38%; --opt-l: 58%; --opt-r: 82%; --std-l: 12%; --std-r: 94%; display: grid; gap: .55rem; }
  .range__head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
  .range__name { font-weight: 600; font-size: var(--t-sm); letter-spacing: .02em; }
  .range__value { font-family: var(--f-mono); font-size: var(--t-sm); color: var(--c-muted); }
  .range__track { position: relative; height: 12px; border-radius: 99px; background: rgb(8 47 73 / .08); }
  .range__std { position: absolute; top: 0; bottom: 0; left: var(--std-l); right: calc(100% - var(--std-r)); border-radius: 99px; background: rgb(14 116 144 / .18); }
  .range__opt { position: absolute; top: -3px; bottom: -3px; left: var(--opt-l); right: calc(100% - var(--opt-r)); border-radius: 99px; background: var(--c-mint); box-shadow: 0 0 0 3px rgb(20 184 166 / .18); }
  .range__you {
    position: absolute; top: 50%; left: var(--pos); width: 20px; height: 20px; margin: -10px 0 0 -10px; border-radius: 50%;
    background: var(--c-amber); border: 3px solid #fff; box-shadow: 0 2px 8px rgb(8 47 73 / .35);
  }
  .range--low  { --pos: 27%; }
  .range--mid  { --pos: 41%; }
  .range--high { --pos: 50%; }
  .range--opt  { --pos: 70%; }
  .range__legend { display: flex; justify-content: space-between; font-family: var(--f-mono); font-size: var(--t-2xs); letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); }
  .range__legend .is-opt { color: var(--c-teal); }
  .on-dark .range__track { background: rgb(255 255 255 / .1); }
  .on-dark .range__std { background: rgb(255 255 255 / .22); }
  .on-dark .range__value, .on-dark .range__legend { color: rgb(255 255 255 / .6); }
  .on-dark .range__legend .is-opt { color: var(--c-mint); }
  .on-dark .range__you { border-color: var(--c-deep); }

  /* --- Stage rail (value chain) ----------------------------------------- */
  .rail { position: relative; }
  .rail__list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); position: relative; z-index: 1; }
  .rail__line { position: absolute; left: 12.5%; right: 12.5%; top: 1.05rem; height: 1px; background: var(--c-line-2); overflow: hidden; }
  .rail__pulse { position: absolute; top: -1px; left: 0; width: 22%; height: 3px; background: linear-gradient(90deg, transparent, var(--c-mint), transparent); transform: translateX(-100%); }
  @media (prefers-reduced-motion: no-preference) { .rail__pulse { animation: railPulse 4.5s var(--ease-in-out) infinite; } }
  @keyframes railPulse { to { transform: translateX(560%); } }
  .rail__step a { display: grid; justify-items: center; text-align: center; gap: .2rem; padding: 0 .5rem .5rem; text-decoration: none; color: var(--c-ink); border-radius: var(--r-sm); }
  .rail__dot { width: 2.1rem; height: 2.1rem; border-radius: 50%; background: var(--c-paper); border: 1px solid var(--c-line-2); display: grid; place-items: center; margin-bottom: .6rem; transition: transform var(--d-2) var(--ease-out), background-color var(--d-2), border-color var(--d-2); }
  .rail__dot::after { content: ""; width: .55rem; height: .55rem; border-radius: 50%; background: var(--co); }
  .rail__num { font-size: var(--t-2xs); color: var(--c-muted); letter-spacing: .1em; }
  .rail__verb { font-family: var(--f-mono); font-size: var(--t-2xs); letter-spacing: .14em; text-transform: uppercase; color: var(--co); }
  .rail__name { font-family: var(--f-display); font-size: var(--t-lg); line-height: 1.2; color: var(--c-deep); }
  .rail__step a:hover .rail__dot { transform: scale(1.12); border-color: var(--co); }
  .rail__step.is-active .rail__dot { background: var(--co); border-color: var(--co); box-shadow: 0 0 0 6px var(--co-soft); }
  .rail__step.is-active .rail__dot::after { background: #fff; }
  .rail__step.is-active .rail__name { font-weight: 500; }
  @media (max-width: 40em) {
    .rail__name { font-size: var(--t-sm); font-family: var(--f-sans); font-weight: 600; }
    .rail__verb { font-size: .6rem; letter-spacing: .08em; }
    .rail__step a { padding-inline: .15rem; }
  }
  .on-dark .rail__dot { background: var(--c-deep); border-color: rgb(255 255 255 / .25); }
  .on-dark .rail__name { color: #fff; }
  .on-dark .rail__line { background: rgb(255 255 255 / .2); }

  /* --- Company cards ----------------------------------------------------- */
  .co-grid { display: grid; gap: var(--s-4); grid-template-columns: repeat(auto-fit, minmax(15.5rem, 1fr)); }
  .co-card__link {
    position: relative; display: flex; flex-direction: column; gap: .5rem; height: 100%;
    padding: 1.75rem 1.6rem 1.5rem; border-radius: var(--r); text-decoration: none; color: var(--c-ink);
    background: var(--c-white); border: 1px solid var(--c-line); border-left: var(--accent-w) solid var(--co); box-shadow: var(--sh-1);
    overflow: hidden; isolation: isolate;
    transition: transform var(--d-3) var(--ease-out), box-shadow var(--d-3) var(--ease-out);
  }
  .co-card__link::before {
    content: ""; position: absolute; inset: auto -30% -60% auto; width: 18rem; height: 18rem; border-radius: 50%;
    background: radial-gradient(closest-side, var(--co-soft), transparent); z-index: -1; opacity: .0;
    transition: opacity var(--d-3) var(--ease-out), transform var(--d-3) var(--ease-out); transform: scale(.7);
  }
  .co-card__link:hover { transform: translateY(-4px); box-shadow: var(--sh-2); color: var(--c-ink); }
  .co-card__link:hover::before { opacity: 1; transform: scale(1); }
  .co-card__top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 1.25rem; }
  .co-card__mark { width: 3rem; height: 3rem; }
  .co-card__stage { font-family: var(--f-mono); font-size: var(--t-2xs); letter-spacing: .12em; text-transform: uppercase; color: var(--co); text-align: right; display: grid; }
  .co-card__stage .mono { color: var(--c-muted); }
  .co-card__name { font-family: var(--f-display); font-size: var(--t-xl); color: var(--c-deep); line-height: 1.15; }
  .co-card__role { font-size: var(--t-sm); font-weight: 600; color: var(--c-ink-2); }
  .co-card__line { font-size: var(--t-sm); color: var(--c-muted); line-height: 1.55; }
  .co-card__cta { margin-top: auto; padding-top: 1.25rem; display: inline-flex; gap: .4rem; align-items: center; font-size: var(--t-sm); font-weight: 600; color: var(--co); }
  .co-card__cta .icon { transition: transform var(--d-2) var(--ease-out); }
  .co-card__link:hover .co-card__cta .icon { transform: translateX(4px); }

  /* --- Flywheel ---------------------------------------------------------- */
  .flywheel { position: relative; width: 100%; max-width: 38rem; aspect-ratio: 1; margin-inline: auto; container-type: inline-size; }
  .flywheel__svg { width: 100%; height: 100%; overflow: visible; }
  .fw-grid { fill: none; stroke: var(--c-line); stroke-dasharray: 2 6; }
  .fw-track { fill: none; stroke: var(--c-line-2); stroke-width: 1.5; }
  .fw-inner { fill: none; stroke: var(--c-teal); stroke-opacity: .25; stroke-width: 1; stroke-dasharray: 3 9; transform-origin: 300px 300px; }
  .fw-arc { fill: none; stroke: var(--co); stroke-width: 4; stroke-linecap: round; }
  .fw-chev { fill: none; stroke: var(--c-deep); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; opacity: .55; }
  .fw-pulse { fill: var(--c-amber); filter: drop-shadow(0 0 6px rgb(245 158 11 / .8)); }
  .fw-pulse--2 { fill: #fff; filter: none; }
  .fw-orbit { transform-origin: 300px 300px; }
  .fw-node__halo { fill: var(--co-soft); opacity: 0; transform-box: fill-box; transform-origin: center; transform: scale(.7); transition: opacity var(--d-3) var(--ease-out), transform var(--d-3) var(--ease-out); }
  .fw-node__bg { fill: #fff; stroke: var(--co); stroke-width: 2; }
  .fw-node__mark { color: var(--co); }
  .fw-node.is-active .fw-node__halo, .flywheel--home .fw-node .fw-node__halo { opacity: 1; transform: scale(1); }

  .flywheel__labels { position: absolute; inset: 0; list-style: none; padding: 0; pointer-events: none; }
  .fw-label { position: absolute; transform: translate(-50%, 0); pointer-events: auto; }
  .fw-label a {
    display: grid; justify-items: center; gap: .1rem; padding: .45em .95em; border-radius: var(--r-sm);
    background: rgb(255 255 255 / .92); border: 1px solid var(--c-line); box-shadow: var(--sh-1);
    text-decoration: none; white-space: nowrap; transition: border-color var(--d-2), transform var(--d-2) var(--ease-out);
    font-size: clamp(10px, 2.5cqi, 15px);
  }
  .fw-label a:hover { border-color: var(--co); transform: translateY(-2px); }
  .fw-label__stage { font-size: .72em; letter-spacing: .12em; text-transform: uppercase; color: var(--co); }
  .fw-label__name { font-family: var(--f-display); font-size: 1.15em; color: var(--c-deep); line-height: 1.15; }
  .fw-label--1 { left: 50%; top: 0; transform: translate(-50%, -30%); }
  .fw-label--2 { left: 83.3%; top: 58.5%; }
  .fw-label--3 { left: 50%; bottom: 0; transform: translate(-50%, 30%); }
  .fw-label--4 { left: 16.7%; top: 58.5%; }
  .fw-label.is-active a { border-color: var(--co); box-shadow: 0 0 0 3px var(--co-soft), var(--sh-2); }
  .flywheel__hub { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; justify-items: center; gap: .5rem; text-align: center; width: 36%; }
  .flywheel__hub img { width: 22cqi; max-width: 5.5rem; height: auto; }
  .flywheel__hub-title { font-family: var(--f-display); font-style: italic; font-size: clamp(12px, 3.3cqi, 1.3rem); line-height: 1.2; color: var(--c-deep); }

  @media (prefers-reduced-motion: no-preference) {
    .flywheel--home .fw-orbit { animation: orbit 12s linear infinite; }
    .flywheel--home .fw-inner { animation: orbit 60s linear infinite reverse; }
  }
  @keyframes orbit { to { transform: rotate(360deg); } }

  /* --- Connections (sends / receives) ----------------------------------- */
  .connections { display: grid; gap: var(--s-6); align-items: center; }
  @media (min-width: 64em) { .connections { grid-template-columns: 1fr auto 1fr; gap: var(--s-6); } }
  .connections__title { display: flex; align-items: center; gap: .5rem; font-family: var(--f-mono); font-size: var(--t-xs); font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin-bottom: var(--s-4); }
  .connections__hub { display: none; }
  @media (min-width: 64em) {
    .connections__hub { display: grid; place-items: center; width: 9rem; height: 9rem; border-radius: 50%; position: relative; background: radial-gradient(closest-side, var(--co-soft), transparent 72%); }
    .connections__hub::before, .connections__hub::after { content: ""; position: absolute; top: 50%; width: 3rem; height: 1px; background: var(--c-line-2); }
    .connections__hub::before { right: 100%; } .connections__hub::after { left: 100%; }
  }
  .connections__core { display: grid; place-items: center; width: 5.5rem; height: 5.5rem; border-radius: 50%; background: #fff; border: 2px solid var(--co); box-shadow: 0 0 0 10px rgb(255 255 255 / .6), var(--sh-2); }
  .connections__core .mark { width: 3rem; height: 3rem; }
  .flows { display: grid; gap: .75rem; }
  .flow__link {
    display: grid; grid-template-columns: auto auto 1fr auto; align-items: center; gap: 1rem;
    padding: 1rem 1.15rem; border-radius: var(--r); background: #fff; border: 1px solid var(--c-line); border-left: var(--accent-w) solid var(--co);
    text-decoration: none; color: var(--c-ink); transition: transform var(--d-2) var(--ease-out), box-shadow var(--d-2);
  }
  .flow__link:hover { transform: translateX(4px); box-shadow: var(--sh-2); color: var(--c-ink); }
  .flow__dir { font-size: var(--t-2xs); letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); width: 2.2rem; }
  .flow__mark { width: 2.25rem; height: 2.25rem; }
  .flow__body { display: grid; gap: .1rem; }
  .flow__name { font-weight: 600; font-size: var(--t-sm); color: var(--c-deep); }
  .flow__stage { font-weight: 400; color: var(--co); }
  .flow__what { font-size: var(--t-sm); color: var(--c-ink-2); line-height: 1.45; }
  .flow__arrow { color: var(--co); }

  /* --- Sibling nav ------------------------------------------------------- */
  .siblings { display: grid; gap: var(--s-4); }
  @media (min-width: 48em) { .siblings { grid-template-columns: 1fr 1fr; } }
  .sib { display: grid; gap: .4rem; padding: 1.5rem 1.75rem; border-radius: var(--r); background: #fff; border: 1px solid var(--c-line); text-decoration: none; color: var(--c-ink); transition: box-shadow var(--d-2), border-color var(--d-2); }
  .sib--next { text-align: right; justify-items: end; }
  .sib:hover { box-shadow: var(--sh-2); border-color: var(--co); color: var(--c-ink); }
  .sib__dir { font-size: var(--t-2xs); letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); }
  .sib__name { display: inline-flex; align-items: center; gap: .6rem; font-family: var(--f-display); font-size: var(--t-xl); color: var(--c-deep); }
  .sib__name .mark { width: 2rem; height: 2rem; }
  .sib__role { font-size: var(--t-sm); color: var(--c-muted); }

  /* --- Doors (audience pathways) ---------------------------------------- */
  .doors { display: grid; gap: var(--s-3); grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
  .door a {
    position: relative; display: grid; gap: .5rem; align-content: start; min-height: 13rem; height: 100%;
    padding: 1.6rem 1.6rem 4.75rem; border-radius: var(--r); border: 1px solid var(--c-line); background: var(--c-white);
    color: var(--c-ink); text-decoration: none; transition: background-color var(--d-3) var(--ease-out), color var(--d-3), transform var(--d-3) var(--ease-out);
  }
  .door .icon--lg { color: var(--c-teal); margin-bottom: .75rem; transition: color var(--d-3); }
  .door__who { font-family: var(--f-display); font-size: var(--t-xl); color: var(--c-deep); transition: color var(--d-3); }
  .door__what { font-size: var(--t-sm); color: var(--c-muted); transition: color var(--d-3); }
  .door__go { position: absolute; right: 1.4rem; bottom: 1.4rem; width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--c-line-2); transition: transform var(--d-3) var(--ease-out), border-color var(--d-3); }
  .door a:hover { background: var(--c-deep); color: #fff; transform: translateY(-3px); }
  .door a:hover .door__who { color: #fff; }
  .door a:hover .door__what { color: rgb(255 255 255 / .75); }
  .door a:hover .icon--lg { color: var(--c-mint); }
  .door a:hover .door__go { transform: rotate(-45deg); border-color: var(--c-mint); color: var(--c-mint); }

  /* --- News list --------------------------------------------------------- */
  .chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: var(--s-6); }
  .chip { padding: .5rem 1rem; border-radius: var(--r-pill); border: 1px solid var(--c-line-2); background: #fff; font-size: var(--t-sm); font-weight: 500; color: var(--c-ink-2); transition: background-color var(--d-1), color var(--d-1), border-color var(--d-1); min-height: 2.5rem; }
  .chip:hover { border-color: var(--c-deep); }
  .chip[aria-pressed="true"] { background: var(--c-deep); color: #fff; border-color: var(--c-deep); }
  .news { list-style: none; padding: 0; border-top: 1px solid var(--c-line); }
  .news__item { border-bottom: 1px solid var(--c-line); }
  .news__article { display: grid; gap: .5rem; padding: 1.6rem 0; }
  @media (min-width: 56em) { .news:not(.news--compact) .news__article { grid-template-columns: 14rem 1fr; column-gap: var(--s-7); } .news:not(.news--compact) .news__meta { grid-row: span 2; } }
  .news__meta { display: flex; flex-wrap: wrap; gap: .35rem .9rem; align-items: center; font-size: var(--t-xs); color: var(--c-muted); }
  @media (min-width: 56em) { .news:not(.news--compact) .news__meta { flex-direction: column; align-items: flex-start; } }
  .news__meta time { font-family: var(--f-mono); color: var(--c-ink-2); }
  .news__cat { font-weight: 600; letter-spacing: .06em; text-transform: uppercase; font-size: var(--t-2xs); color: var(--c-teal); }
  .news__title { font-family: var(--f-display); font-size: var(--t-xl); line-height: 1.25; }
  .news--compact .news__title { font-size: var(--t-lg); }
  .news__title a { color: var(--c-deep); text-decoration: none; background: linear-gradient(var(--c-gold), var(--c-gold)) 0 100% / 0 1px no-repeat; transition: background-size var(--d-3) var(--ease-out); }
  .news__title a:hover { background-size: 100% 1px; }
  .news__ext { width: .8em; height: .8em; margin-left: .3em; color: var(--c-muted); }
  .news__summary { color: var(--c-ink-2); max-width: 44rem; }
  .filter-empty { padding: var(--s-6) 0; color: var(--c-muted); }

  /* --- Events ------------------------------------------------------------ */
  .events { list-style: none; padding: 0; display: grid; gap: var(--s-4); }
  .event__card { display: grid; grid-template-columns: auto 1fr; gap: var(--s-5); padding: 1.6rem; border-radius: var(--r); background: #fff; border: 1px solid var(--c-line); box-shadow: var(--sh-1); align-items: start; }
  @media (min-width: 56em) { .event__card { grid-template-columns: 6.5rem 1fr auto; align-items: center; padding: 1.75rem 2rem; } }
  .event__date { display: grid; justify-items: center; width: 5.5rem; padding: .85rem .5rem; border-radius: var(--r-sm); background: var(--c-deep); color: #fff; line-height: 1; }
  .event__mon { font-family: var(--f-mono); font-size: var(--t-xs); letter-spacing: .14em; text-transform: uppercase; color: var(--c-mint); }
  .event__day { font-family: var(--f-display); font-size: 2.4rem; font-weight: 300; margin: .2rem 0; }
  .event__yr { font-size: var(--t-2xs); color: rgb(255 255 255 / .55); }
  .event__type { font-size: var(--t-2xs); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--c-teal); margin-bottom: .35rem; }
  .event__title { font-family: var(--f-display); font-size: var(--t-xl); line-height: 1.2; }
  .event__summary { color: var(--c-ink-2); font-size: var(--t-sm); margin-top: .5rem; max-width: 40rem; }
  .event__facts { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; margin-top: .85rem; font-size: var(--t-sm); color: var(--c-muted); }
  .event__facts li { display: inline-flex; gap: .4rem; align-items: center; }
  .event__facts .icon { color: var(--c-teal); }
  .event__cta { grid-column: 1 / -1; justify-self: start; }
  @media (min-width: 56em) { .event__cta { grid-column: auto; } }

  /* --- Jobs -------------------------------------------------------------- */
  .jobs { list-style: none; padding: 0; border-top: 1px solid var(--c-line); }
  .job__link { display: grid; gap: .3rem 1.5rem; padding: 1.35rem .25rem; border-bottom: 1px solid var(--c-line); text-decoration: none; color: var(--c-ink); transition: background-color var(--d-2), padding var(--d-2) var(--ease-out); }
  @media (min-width: 56em) { .job__link { grid-template-columns: 2.2fr 1.5fr 1.2fr .8fr auto; align-items: center; } }
  .job__link:hover { background: #fff; padding-inline: 1rem; color: var(--c-ink); }
  .job__title { font-family: var(--f-display); font-size: var(--t-lg); color: var(--c-deep); }
  .job__team, .job__loc, .job__type { font-size: var(--t-sm); color: var(--c-muted); }
  .job__go { display: inline-flex; gap: .4rem; align-items: center; font-weight: 600; font-size: var(--t-sm); color: var(--c-teal); }

  /* --- Tables & documents ------------------------------------------------ */
  .table-wrap { overflow-x: auto; border: 1px solid var(--c-line); border-radius: var(--r); background: #fff; }
  .table { width: 100%; font-size: var(--t-sm); }
  .table th, .table td { padding: 1rem 1.25rem; text-align: left; border-bottom: 1px solid var(--c-line); vertical-align: top; }
  .table thead th { font-family: var(--f-mono); font-size: var(--t-2xs); font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); background: var(--c-paper); }
  .table tbody tr:last-child > * { border-bottom: 0; }
  .table tbody tr:hover { background: var(--c-paper); }
  .t-right { text-align: right !important; }
  .doc-link { display: inline-grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; border: 1px solid var(--c-line-2); color: var(--c-teal); }
  .doc-link:hover { background: var(--c-teal); color: #fff; border-color: var(--c-teal); }
  .table--matrix th[scope="row"], .table--matrix thead th[data-company] { color: var(--co); font-family: var(--f-sans); font-size: var(--t-sm); letter-spacing: 0; text-transform: none; font-weight: 600; white-space: nowrap; }
  .table--matrix td { min-width: 12rem; color: var(--c-ink-2); }
  .matrix__self { background: repeating-linear-gradient(45deg, var(--c-paper), var(--c-paper) 6px, #fff 6px, #fff 12px); }
  .matrix__none { color: var(--c-line-2); text-align: center !important; }

  .docs { list-style: none; padding: 0; border-top: 1px solid var(--c-line); }
  .doc { display: flex; align-items: center; gap: 1rem; padding: 1.05rem 0; border-bottom: 1px solid var(--c-line); }
  .doc__icon { color: var(--c-teal); }
  .doc__title { flex: 1; font-weight: 500; }
  .doc__action { display: inline-flex; gap: .4rem; align-items: center; font-weight: 600; font-size: var(--t-sm); text-decoration: none; }
  .doc__status { font-family: var(--f-mono); font-size: var(--t-2xs); letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); padding: .25rem .6rem; border: 1px dashed var(--c-line-2); border-radius: var(--r-pill); }

  /* --- Empty states ------------------------------------------------------ */
  .empty { display: grid; justify-items: start; gap: .5rem; padding: clamp(1.75rem, 1rem + 2vw, 2.75rem); border-radius: var(--r); border: 1px dashed var(--c-line-2); background: rgb(255 255 255 / .6); }
  .empty--inline { grid-template-columns: auto 1fr; gap: 1.25rem; align-items: start; }
  .empty__icon { width: 2.25rem; height: 2.25rem; color: var(--c-teal); }
  .empty__title { font-family: var(--f-display); font-size: var(--t-lg); color: var(--c-deep); line-height: 1.3; }
  .empty__text { color: var(--c-muted); font-size: var(--t-sm); max-width: 40rem; }
  .empty__links { display: flex; flex-wrap: wrap; gap: 1.5rem; margin-top: .5rem; }

  /* --- Leaders ----------------------------------------------------------- */
  .leaders { list-style: none; padding: 0; display: grid; gap: var(--s-6); grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); }
  .leader { display: grid; gap: 1.25rem; align-content: start; }
  .leader__photo { position: relative; aspect-ratio: 5 / 6; border-radius: var(--r); overflow: hidden; background: var(--c-paper-2); }
  .leader__photo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.9); transition: transform 1.2s var(--ease-out); }
  .leader:hover .leader__photo img { transform: scale(1.03); }
  .leader__photo--mono {
    display: grid; place-items: center;
    background:
      radial-gradient(circle at 30% 20%, rgb(20 184 166 / .22), transparent 55%),
      radial-gradient(circle at 80% 90%, rgb(195 154 63 / .18), transparent 50%),
      linear-gradient(160deg, var(--c-deep), var(--c-navy));
  }
  .leader__photo--mono::after { content: ""; position: absolute; inset: 1rem; border: 1px solid rgb(255 255 255 / .12); border-radius: calc(var(--r) - 6px); }
  .leader__mono { font-family: var(--f-display); font-weight: 300; font-size: 5rem; color: rgb(255 255 255 / .9); letter-spacing: .02em; }
  .leader__title { font-family: var(--f-mono); font-size: var(--t-2xs); letter-spacing: .12em; text-transform: uppercase; color: var(--c-teal); }
  .leader__name { font-family: var(--f-display); font-size: var(--t-xl); margin: .35rem 0 .6rem; }
  .leader__bio { font-size: var(--t-sm); color: var(--c-ink-2); }
  .board { list-style: none; padding: 0; border-top: 1px solid var(--c-line); }
  .board__item { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--c-line); }
  .board__name { font-weight: 600; }
  .board__title { color: var(--c-muted); font-size: var(--t-sm); }

  /* --- Notices ----------------------------------------------------------- */
  .notice { display: grid; grid-template-columns: auto 1fr; gap: 1rem; padding: 1.25rem 1.4rem; border-radius: var(--r); background: var(--c-white); border: 1px solid var(--c-line); border-left: var(--accent-w) solid var(--c-gold); font-size: var(--t-sm); color: var(--c-ink-2); }
  .notice .icon { color: var(--c-gold-700); margin-top: .1rem; }
  .notice strong { color: var(--c-deep); }
  .fine { font-size: var(--t-xs); line-height: 1.6; color: var(--c-muted); }
  .fine + .fine { margin-top: .75rem; }

  /* --- Quote ------------------------------------------------------------- */
  .quote { position: relative; }
  .quote .icon { width: 2.5rem; height: 2.5rem; color: var(--c-gold); margin-bottom: var(--s-4); }
  .quote blockquote p { font-family: var(--f-display); font-weight: 300; font-size: var(--t-2xl); line-height: 1.25; color: var(--c-deep); letter-spacing: -0.01em; }
  .on-dark .quote blockquote p { color: #fff; }
  .quote figcaption { margin-top: var(--s-5); display: grid; gap: .1rem; font-size: var(--t-sm); }
  .quote figcaption strong { color: var(--c-deep); }
  .on-dark .quote figcaption strong { color: #fff; }

  /* --- Media frames ------------------------------------------------------ */
  .frame { position: relative; border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--sh-3); background: var(--c-paper-2); isolation: isolate; }
  .frame img { width: 100%; height: 100%; object-fit: cover; }
  .frame--tall { aspect-ratio: 4 / 5; }
  .frame--wide { aspect-ratio: 16 / 10; }
  .frame__cap { position: absolute; left: 1rem; bottom: 1rem; right: 1rem; display: flex; gap: .5rem; align-items: center; padding: .6rem .9rem; border-radius: var(--r-sm); background: rgb(255 255 255 / .9); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); font-size: var(--t-xs); color: var(--c-ink-2); }
  .phone { width: 100%; max-width: 15rem; border-radius: 2rem; box-shadow: var(--sh-3); }

  /* --- Forms ------------------------------------------------------------- */
  .form { display: grid; gap: var(--s-5); }
  .form__row { display: grid; gap: var(--s-5); }
  @media (min-width: 40em) { .form__row--2 { grid-template-columns: 1fr 1fr; } }
  .field { display: grid; gap: .45rem; }
  .field label, .field legend { font-size: var(--t-sm); font-weight: 600; color: var(--c-deep); }
  .field .req { color: var(--co-longevity-health-app); }
  .field input, .field select, .field textarea {
    width: 100%; padding: .85rem 1rem; border-radius: var(--r-sm); border: 1px solid var(--c-line-2); background: #fff; color: var(--c-ink);
    transition: border-color var(--d-1), box-shadow var(--d-1);
  }
  .field textarea { min-height: 9rem; resize: vertical; }
  .field input:focus-visible, .field select:focus-visible, .field textarea:focus-visible { outline: none; border-color: var(--c-teal); box-shadow: 0 0 0 4px rgb(14 116 144 / .15); }
  .field [aria-invalid="true"] { border-color: var(--co-longevity-health-app); }
  .field__hint { font-size: var(--t-xs); color: var(--c-muted); }
  .field__error { font-size: var(--t-xs); color: var(--co-longevity-health-app); font-weight: 600; }
  .check { display: grid; grid-template-columns: auto 1fr; gap: .75rem; align-items: start; font-size: var(--t-sm); color: var(--c-ink-2); }
  .check input { width: 1.15rem; height: 1.15rem; margin-top: .2rem; accent-color: var(--c-teal); }
  .hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
  .form__status { padding: 1rem 1.25rem; border-radius: var(--r-sm); font-size: var(--t-sm); }
  .form__status.is-ok { background: var(--c-mint-100); color: #0b5148; }
  .form__status.is-err { background: var(--co-longevity-health-app-soft); color: #7c1d27; }

  .segments { display: grid; gap: .6rem; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); border: 0; padding: 0; }
  .segments legend { margin-bottom: .6rem; }
  .segment { position: relative; }
  .segment input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
  .segment label { display: grid; gap: .25rem; height: 100%; padding: 1rem 1.1rem; border-radius: var(--r-sm); border: 1px solid var(--c-line-2); background: #fff; cursor: pointer; font-weight: 600; font-size: var(--t-sm); color: var(--c-deep); transition: border-color var(--d-1), box-shadow var(--d-1), background-color var(--d-1); }
  .segment label span { font-weight: 400; font-size: var(--t-xs); color: var(--c-muted); }
  .segment label .icon { color: var(--c-teal); margin-bottom: .25rem; }
  .segment input:checked + label { border-color: var(--c-teal); background: var(--c-teal-100); box-shadow: inset 0 0 0 1px var(--c-teal); }
  .segment input:focus-visible + label { outline: 2px solid var(--c-teal); outline-offset: 2px; }

  /* --- Footer ------------------------------------------------------------ */
  .site-footer { background: var(--c-deeper); color: rgb(255 255 255 / .7); padding-block: var(--s-9) var(--s-6); position: relative; overflow: hidden; }
  .site-footer::before { content: ""; position: absolute; inset: 0 0 auto; height: 1px; background: linear-gradient(90deg, transparent, var(--c-gold), transparent); opacity: .6; }
  .site-footer a { color: rgb(255 255 255 / .82); text-decoration: none; }
  .site-footer a:hover { color: var(--c-mint); text-decoration: underline; }
  .site-footer__top { display: grid; gap: var(--s-7); padding-bottom: var(--s-7); border-bottom: 1px solid rgb(255 255 255 / .1); }
  @media (min-width: 60em) { .site-footer__top { grid-template-columns: 1fr 2.4fr; } }
  .site-footer__brand img { width: 180px; }
  .site-footer__tag { font-family: var(--f-display); font-style: italic; font-size: var(--t-lg); color: #fff; margin-top: var(--s-4); }
  .site-footer__ticker { margin-top: var(--s-3); font-size: var(--t-sm); }
  .site-footer__ticker strong { color: var(--c-amber); font-weight: 500; }
  .site-footer__nav { display: grid; gap: var(--s-6); grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr)); }
  .site-footer__h { font-family: var(--f-mono); font-size: var(--t-2xs); font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: rgb(255 255 255 / .5); margin-bottom: var(--s-4); }
  .site-footer__nav li + li { margin-top: .55rem; }
  .site-footer__nav a { font-size: var(--t-sm); }
  .site-footer__legal { padding-top: var(--s-5); display: grid; gap: .6rem; font-size: var(--t-xs); line-height: 1.6; color: rgb(255 255 255 / .55); max-width: 70rem; }
}

/* --------------------------------------------------------------- sections */
@layer sections {

  /* Atmosphere: gradient mesh + fine diagnostic grid + pathway lines */
  .atmos { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
  .atmos::before {
    content: ""; position: absolute; inset: -20% -10% auto -10%; height: 140%;
    background:
      radial-gradient(40% 35% at 85% 20%, rgb(20 184 166 / .16), transparent 70%),
      radial-gradient(35% 30% at 10% 70%, rgb(14 116 144 / .10), transparent 70%),
      radial-gradient(30% 25% at 60% 95%, rgb(195 154 63 / .10), transparent 70%);
  }
  .atmos::after {
    content: ""; position: absolute; inset: 0;
    background-image: linear-gradient(rgb(8 47 73 / .045) 1px, transparent 1px), linear-gradient(90deg, rgb(8 47 73 / .045) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: radial-gradient(70% 60% at 70% 30%, #000 20%, transparent 75%);
    -webkit-mask-image: radial-gradient(70% 60% at 70% 30%, #000 20%, transparent 75%);
  }
  .pathways-svg { position: absolute; right: -6%; top: 0; width: 70%; height: 100%; z-index: -1; pointer-events: none; }
  .pathways-svg path { fill: none; stroke: var(--c-teal); stroke-width: 1; stroke-opacity: .22; }
  .pathways-svg path.is-mint { stroke: var(--c-mint); stroke-opacity: .5; stroke-width: 1.4; }
  .pathways-svg circle { fill: var(--c-gold); }
  .on-dark .pathways-svg path { stroke: var(--c-mint); stroke-opacity: .18; }
  @media (max-width: 48em) { .pathways-svg { display: none; } }

  /* --- Home hero --------------------------------------------------------- */
  .hero { position: relative; isolation: isolate; padding-block: clamp(3rem, 2rem + 5vw, 7rem) clamp(3rem, 2rem + 4vw, 6rem); overflow: hidden; }
  .hero__grid { display: grid; gap: clamp(2.5rem, 1rem + 5vw, 5rem); align-items: center; }
  @media (min-width: 62em) { .hero__grid { grid-template-columns: 1.08fr .92fr; } }
  .hero__copy { display: grid; gap: var(--s-5); justify-items: start; }
  .hero__copy .display { margin-top: var(--s-2); }
  .hero__visual { position: relative; }
  .hero__visual .frame { aspect-ratio: 5 / 5.2; }
  .hero__visual .frame img { object-position: 30% center; }
  .hero__chip {
    position: absolute; z-index: 2; background: rgb(255 255 255 / .94); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    border: 1px solid var(--c-line); border-radius: var(--r); box-shadow: var(--sh-3); padding: 1rem 1.15rem;
  }
  .hero__chip--range { left: -8%; bottom: 12%; width: min(20rem, 78%); }
  .hero__chip--status { right: -4%; top: 7%; display: flex; align-items: center; gap: .7rem; font-size: var(--t-sm); padding: .75rem 1rem; }
  .hero__chip--status .dot { width: .6rem; height: .6rem; border-radius: 50%; background: var(--c-mint); box-shadow: 0 0 0 5px rgb(20 184 166 / .2); }
  .hero__chip--status strong { display: block; color: var(--c-deep); font-size: var(--t-sm); }
  .hero__chip--status span { color: var(--c-muted); font-size: var(--t-xs); }
  @media (max-width: 62em) { .hero__chip--range { left: 4%; } .hero__chip--status { right: 4%; } }
  .hero__meta { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; font-size: var(--t-sm); color: var(--c-muted); margin-top: var(--s-2); }
  .hero__meta li { display: inline-flex; gap: .45rem; align-items: center; }
  .hero__meta .icon { color: var(--c-teal); }
  .hero__rail { margin-top: clamp(3rem, 2rem + 4vw, 5.5rem); padding-top: var(--s-6); border-top: 1px solid var(--c-line); }
  .hero__rail-label { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: var(--s-5); }

  /* --- Page hero (inner pages) ------------------------------------------ */
  .page-hero { position: relative; isolation: isolate; overflow: hidden; padding-block: clamp(2.5rem, 1.5rem + 4vw, 5.5rem) clamp(3rem, 2rem + 4vw, 6rem); border-bottom: 1px solid var(--c-line); }
  .page-hero__inner { display: grid; gap: var(--s-5); max-width: 58rem; }
  .page-hero .crumbs { margin-bottom: var(--s-4); }
  .page-hero--split .page-hero__inner { max-width: none; }
  @media (min-width: 62em) { .page-hero--split .page-hero__inner { grid-template-columns: 1.2fr .8fr; align-items: end; gap: var(--s-8); } }

  /* --- Subsidiary hero --------------------------------------------------- */
  .co-hero { position: relative; isolation: isolate; overflow: hidden; padding-block: clamp(2rem, 1rem + 3vw, 4rem) 0; background: linear-gradient(180deg, var(--c-paper) 0%, #fff 100%); }
  .co-hero::before {
    content: ""; position: absolute; inset: 0; z-index: -1;
    background: radial-gradient(45% 55% at 88% 30%, var(--co-soft), transparent 70%), radial-gradient(30% 40% at 0% 100%, rgb(14 116 144 / .08), transparent 70%);
  }
  .co-hero__parent {
    display: inline-flex; align-items: center; gap: .6rem; padding: .35rem .9rem .35rem .4rem; border-radius: var(--r-pill);
    background: #fff; border: 1px solid var(--c-line); font-size: var(--t-xs); color: var(--c-ink-2); text-decoration: none; box-shadow: var(--sh-1);
  }
  .co-hero__parent img { width: 1.6rem; height: 1.6rem; }
  .co-hero__parent:hover { border-color: var(--c-teal); color: var(--c-deep); }
  .co-hero__grid { display: grid; gap: clamp(2rem, 1rem + 4vw, 4.5rem); align-items: center; padding-block: clamp(2rem, 1rem + 3vw, 3.5rem) clamp(2.5rem, 1.5rem + 3vw, 4rem); }
  @media (min-width: 62em) { .co-hero__grid { grid-template-columns: 1.1fr .9fr; } }
  .co-hero__id { display: flex; align-items: center; gap: 1rem; }
  .co-hero__id .mark { width: 3.75rem; height: 3.75rem; }
  .co-hero__name { font-family: var(--f-display); font-size: var(--t-xl); color: var(--c-deep); line-height: 1.1; }
  .co-hero__stage { font-family: var(--f-mono); font-size: var(--t-2xs); letter-spacing: .14em; text-transform: uppercase; color: var(--co); display: block; margin-top: .2rem; }
  .co-hero__copy { display: grid; gap: var(--s-5); justify-items: start; }
  .co-hero__copy .h1 em { color: var(--co); }
  .co-hero .btn--primary { --btn-bg: var(--co); }
  .co-hero .btn--primary:hover { --btn-bg: var(--co); filter: brightness(.9); }
  .co-hero__visual { position: relative; }
  .co-hero__band { border-top: 1px solid var(--c-line); background: rgb(255 255 255 / .7); padding-block: var(--s-5) var(--s-4); }
  .co-hero__band-label { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .5rem; font-size: var(--t-xs); color: var(--c-muted); margin-bottom: var(--s-4); }
  .co-hero__band-label a { font-weight: 600; }

  /* Company-specific visual compositions */
  .comp { position: relative; aspect-ratio: 1 / 1.02; }
  .comp__main { position: absolute; inset: 0 8% 8% 0; }
  .comp__main .frame { height: 100%; }
  .comp__float { position: absolute; right: 0; bottom: 0; width: 46%; }
  .comp__card { left: -5%; bottom: 7%; width: min(19rem, 62%); }
  @media (max-width: 62em) { .comp__card { left: 3%; } }
  .comp__card { position: absolute; background: #fff; border-radius: var(--r); box-shadow: var(--sh-3); border: 1px solid var(--c-line); border-left: var(--accent-w) solid var(--co); padding: 1rem 1.15rem; }

  /* Protocol composition (Emporio) */
  .rx { position: relative; display: grid; gap: .75rem; padding: clamp(1.25rem, 1rem + 1.5vw, 2rem); border-radius: var(--r-lg); background: #fff; box-shadow: var(--sh-3); border: 1px solid var(--c-line); }
  .rx__head { display: flex; justify-content: space-between; align-items: center; padding-bottom: .75rem; border-bottom: 1px solid var(--c-line); }
  .rx__title { font-family: var(--f-display); font-size: var(--t-lg); color: var(--c-deep); }
  .rx__meta { font-family: var(--f-mono); font-size: var(--t-2xs); color: var(--c-muted); letter-spacing: .08em; }
  .rx__item { display: grid; grid-template-columns: auto 1fr auto; gap: .9rem; align-items: center; padding: .8rem .9rem; border-radius: var(--r-sm); background: var(--c-paper); }
  .rx__item .icon { color: var(--co); width: 1.4rem; height: 1.4rem; }
  .rx__item strong { display: block; font-size: var(--t-sm); color: var(--c-deep); }
  .rx__item span { font-size: var(--t-xs); color: var(--c-muted); }
  .rx__tick { width: 1.6rem; height: 1.6rem; border-radius: 50%; display: grid; place-items: center; background: var(--co-soft); color: var(--co); }
  .rx__tick .icon { width: 1rem; height: 1rem; }
  .rx__foot { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-top: .5rem; font-size: var(--t-xs); color: var(--c-muted); }
  .rx__progress { flex: 1; height: 6px; border-radius: 99px; background: var(--c-paper-2); overflow: hidden; }
  .rx__progress span { display: block; height: 100%; width: 72%; background: linear-gradient(90deg, var(--co), var(--c-mint)); border-radius: inherit; transform-origin: left; }

  /* Data composition (Clinical Intelligence) */
  .datacard { position: relative; border-radius: var(--r-lg); overflow: hidden; background: var(--c-deep); box-shadow: var(--sh-3); aspect-ratio: 1 / 1.05; isolation: isolate; }
  .datacard > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .55; z-index: -1; }
  .datacard__panel { position: absolute; left: 6%; right: 6%; bottom: 6%; padding: 1.25rem; border-radius: var(--r); background: rgb(5 31 49 / .78); border: 1px solid rgb(255 255 255 / .12); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: rgb(255 255 255 / .8); }
  .datacard__row { display: grid; grid-template-columns: 1fr auto; gap: .5rem; padding: .55rem 0; border-bottom: 1px solid rgb(255 255 255 / .08); font-size: var(--t-sm); }
  .datacard__row:last-child { border-bottom: 0; }
  .datacard__row .mono { color: var(--c-mint); font-size: var(--t-xs); }
  .datacard__label { font-family: var(--f-mono); font-size: var(--t-2xs); letter-spacing: .14em; text-transform: uppercase; color: var(--c-mint); margin-bottom: .5rem; }
  .datacard__top { position: absolute; left: 6%; top: 6%; display: inline-flex; gap: .5rem; align-items: center; padding: .45rem .8rem; border-radius: var(--r-pill); background: rgb(255 255 255 / .1); border: 1px solid rgb(255 255 255 / .16); color: #fff; font-size: var(--t-xs); }
  .datacard__top .dot { width: .5rem; height: .5rem; border-radius: 50%; background: var(--c-mint); }

  /* --- Philosophy (dark) ------------------------------------------------- */
  .philosophy { position: relative; overflow: hidden; isolation: isolate; }
  .philosophy::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(50% 60% at 90% 10%, rgb(20 184 166 / .16), transparent 70%), radial-gradient(40% 50% at 0% 100%, rgb(14 116 144 / .25), transparent 70%); }
  .philosophy__instrument { display: grid; gap: 1.75rem; padding: clamp(1.5rem, 1rem + 2vw, 2.5rem); border-radius: var(--r-lg); background: rgb(255 255 255 / .04); border: 1px solid rgb(255 255 255 / .1); }
  .philosophy__caption { font-family: var(--f-display); font-style: italic; font-size: var(--t-lg); color: #fff; line-height: 1.3; }
  .philosophy__caption span { color: var(--c-amber); font-style: normal; }
  .statement { margin-top: clamp(3rem, 2rem + 4vw, 6rem); padding-top: clamp(2.5rem, 2rem + 2vw, 4rem); border-top: 1px solid rgb(255 255 255 / .12); display: grid; gap: var(--s-6); }
  @media (min-width: 56em) { .statement { grid-template-columns: 1.4fr 1fr; align-items: end; } }
  .statement__big { font-family: var(--f-display); font-weight: 300; font-size: var(--t-3xl); line-height: 1.05; letter-spacing: -0.02em; color: #fff; }
  .statement__big s { text-decoration-thickness: 2px; text-decoration-color: rgb(255 255 255 / .45); color: rgb(255 255 255 / .5); }

  /* --- Journey ----------------------------------------------------------- */
  .journey { list-style: none; padding: 0; display: grid; gap: var(--s-4); counter-reset: j; }
  @media (min-width: 62em) { .journey { grid-template-columns: repeat(4, 1fr); gap: var(--s-3); } }
  .journey__step { position: relative; display: flex; flex-direction: column; gap: .75rem; padding: 1.6rem 1.5rem 1.5rem; background: #fff; border-radius: var(--r); border: 1px solid var(--c-line); border-top: var(--accent-w) solid var(--co); box-shadow: var(--sh-1); }
  .journey__num { font-family: var(--f-mono); font-size: var(--t-xs); color: var(--c-muted); display: flex; justify-content: space-between; align-items: center; }
  .journey__num .mark { width: 2.25rem; height: 2.25rem; }
  .journey__step h3 { font-family: var(--f-display); font-size: var(--t-xl); line-height: 1.15; }
  .journey__who { font-size: var(--t-2xs); letter-spacing: .12em; text-transform: uppercase; font-weight: 600; color: var(--co); }
  .journey__step p { font-size: var(--t-sm); color: var(--c-ink-2); }
  .journey__step img { border-radius: var(--r-sm); margin-top: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 22%; background: var(--c-deep); }
  @media (min-width: 62em) {
    .journey__step:not(:last-child)::after { content: ""; position: absolute; top: 2.2rem; right: -0.95rem; width: 1rem; height: 1rem; border-top: 1.5px solid var(--c-line-2); border-right: 1.5px solid var(--c-line-2); transform: rotate(45deg); background: var(--c-paper); z-index: 1; }
  }
  .journey-loop { margin-top: var(--s-5); display: flex; gap: .75rem; align-items: center; justify-content: center; font-size: var(--t-sm); color: var(--c-muted); text-align: center; }
  .journey-loop .icon { color: var(--c-teal); }

  /* --- Ecosystem scroll sequence ---------------------------------------- */
  .fw-seq { display: grid; gap: var(--s-6); }
  @media (min-width: 62em) {
    .fw-seq { grid-template-columns: 1.05fr .95fr; gap: var(--s-8); align-items: start; }
    .fw-seq__stage { position: sticky; top: calc(var(--header-h) + 3vh); height: calc(100vh - var(--header-h) - 6vh); display: grid; place-items: center; }
    .fw-seq__stage .flywheel { max-height: 100%; width: auto; height: min(100%, 38rem); }
  }
  .fw-steps { list-style: none; padding: 0; display: grid; }
  .fw-step { padding-block: clamp(2rem, 8vh, 5rem); border-bottom: 1px solid var(--c-line); }
  @media (min-width: 62em) { .fw-step { min-height: 78vh; display: flex; flex-direction: column; justify-content: center; } .fw-step:first-child { min-height: 60vh; } }
  .fw-step__eyebrow { display: flex; gap: .75rem; align-items: center; font-family: var(--f-mono); font-size: var(--t-xs); letter-spacing: .14em; text-transform: uppercase; color: var(--co); margin-bottom: var(--s-4); }
  .fw-step__eyebrow .mark { width: 2.25rem; height: 2.25rem; }
  .fw-step h3 { font-family: var(--f-display); font-size: var(--t-2xl); line-height: 1.15; margin-bottom: var(--s-4); }
  .fw-step p { color: var(--c-ink-2); max-width: 34rem; }
  .fw-step ul { margin-top: var(--s-4); display: grid; gap: .5rem; font-size: var(--t-sm); color: var(--c-ink-2); }
  .fw-step ul li { display: grid; grid-template-columns: auto 1fr; gap: .6rem; }
  .fw-step ul .icon { color: var(--co); margin-top: .15rem; }
  .js .fw-step { opacity: .35; transition: opacity var(--d-3) var(--ease-out); }
  .js .fw-step.is-active { opacity: 1; }
  .reduced .fw-step, .no-gsap .fw-step { opacity: 1 !important; }
  @media (max-width: 61.99em) { .fw-seq__stage { max-width: 30rem; margin-inline: auto; width: 100%; } }

  /* Exchange map */
  .xmap { display: grid; gap: var(--s-5); }
  @media (min-width: 62em) { .xmap { grid-template-columns: 18rem 1fr; gap: var(--s-6); } }
  .xmap__tabs { display: grid; gap: .5rem; align-content: start; }
  @media (max-width: 61.99em) { .xmap__tabs { grid-template-columns: repeat(2, 1fr); } }
  .xmap__tab { display: flex; gap: .85rem; align-items: center; text-align: left; padding: .9rem 1rem; border-radius: var(--r); border: 1px solid var(--c-line); background: #fff; font-weight: 600; color: var(--c-deep); transition: border-color var(--d-2), box-shadow var(--d-2), background-color var(--d-2); }
  .xmap__tab small { display: block; font-family: var(--f-mono); font-size: var(--t-2xs); font-weight: 400; letter-spacing: .12em; text-transform: uppercase; color: var(--co); }
  .xmap__tab .mark { width: 2.25rem; height: 2.25rem; }
  .xmap__tab:hover { border-color: var(--co); }
  .xmap__tab[aria-selected="true"] { border-color: var(--co); background: var(--co-soft); box-shadow: inset var(--accent-w) 0 0 var(--co); }
  .xmap__panel { display: grid; gap: var(--s-5); padding: clamp(1.4rem, 1rem + 1.5vw, 2.25rem); border-radius: var(--r-lg); background: #fff; border: 1px solid var(--c-line); box-shadow: var(--sh-2); animation: fadeUp var(--d-3) var(--ease-out); }
  @keyframes fadeUp { from { opacity: 0; transform: translateY(8px); } }
  .xmap__role { font-family: var(--f-mono); font-size: var(--t-xs); letter-spacing: .12em; text-transform: uppercase; color: var(--co); }
  .xmap__summary { font-family: var(--f-display); font-size: var(--t-lg); line-height: 1.4; color: var(--c-deep); margin-top: .5rem; max-width: 44rem; }
  .xmap__flows { display: grid; gap: var(--s-4); align-items: center; }
  @media (min-width: 48em) { .xmap__flows { grid-template-columns: 1fr auto 1fr; } }
  .xmap__h { font-family: var(--f-mono); font-size: var(--t-2xs); font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin-bottom: .75rem; }
  .xmap__col ul { display: grid; gap: .5rem; }
  .xmap__col a { display: grid; grid-template-columns: auto 1fr; gap: .75rem; align-items: start; padding: .8rem .9rem; border-radius: var(--r-sm); background: var(--c-paper); border-left: var(--accent-w) solid var(--co); text-decoration: none; color: var(--c-ink-2); font-size: var(--t-sm); line-height: 1.45; transition: background-color var(--d-2); }
  .xmap__col a:hover { background: var(--co-soft); color: var(--c-ink); }
  .xmap__col a strong { display: block; color: var(--c-deep); }
  .xmap__col .mark { width: 1.75rem; height: 1.75rem; }
  .xmap__core { display: none; }
  @media (min-width: 48em) { .xmap__core { display: grid; place-items: center; width: 4.5rem; height: 4.5rem; border-radius: 50%; border: 2px solid var(--co); background: var(--co-soft); } .xmap__core .mark { width: 2.5rem; height: 2.5rem; } }
  .matrix { margin-top: var(--s-6); }
  .matrix summary { cursor: pointer; font-weight: 600; color: var(--c-teal); padding: .75rem 0; list-style-position: inside; }
  .matrix .table-wrap { margin-top: var(--s-3); }

  /* Org structure */
  .org { display: grid; gap: var(--s-5); justify-items: center; }
  .org__parent { display: flex; flex-direction: column; align-items: center; gap: .75rem; padding: 1.5rem 2rem; border-radius: var(--r-lg); background: #fff; border: 1px solid var(--c-line); box-shadow: var(--sh-2); text-align: center; }
  .org__parent img { width: 12rem; }
  .org__parent span { font-family: var(--f-mono); font-size: var(--t-2xs); letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); }
  .org__stem { width: 1px; height: 2.5rem; background: var(--c-line-2); }
  .org .co-grid { width: 100%; position: relative; }
  @media (min-width: 62em) { .org .co-grid { grid-template-columns: repeat(4, 1fr); } .org .co-grid::before { content: ""; position: absolute; top: -1.25rem; left: 12.5%; right: 12.5%; height: 1.25rem; border: 1px solid var(--c-line-2); border-bottom: 0; border-radius: 10px 10px 0 0; } }

  /* Principles */
  .principles { list-style: none; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--c-line); }
  .principle { display: grid; gap: .5rem 2rem; padding: 2rem 0; border-bottom: 1px solid var(--c-line); }
  @media (min-width: 56em) { .principle { grid-template-columns: 5rem 1fr 1.4fr; align-items: baseline; } }
  .principle__num { font-family: var(--f-mono); font-size: var(--t-sm); color: var(--c-gold-700); }
  .principle h3 { font-family: var(--f-display); font-size: var(--t-xl); }
  .principle p { color: var(--c-ink-2); }
  .on-dark .principle p { color: rgb(255 255 255 / .74); }
  .on-dark .principle__num { color: var(--c-amber); }

  /* IR */
  .ir-glance { display: grid; gap: var(--s-4); }
  @media (min-width: 56em) { .ir-glance { grid-template-columns: 1.2fr 1fr; } .ir-glance:has(> :nth-child(3)) { grid-template-columns: 1.1fr 1fr 1fr; } }
  .ticker-card { display: grid; gap: .6rem; padding: 1.75rem; border-radius: var(--r-lg); color: rgb(255 255 255 / .8); background: linear-gradient(150deg, var(--c-deep), var(--c-navy)); box-shadow: var(--sh-3); position: relative; overflow: hidden; isolation: isolate; }
  .ticker-card::after { content: ""; position: absolute; right: -4rem; top: -4rem; width: 14rem; height: 14rem; border-radius: 50%; border: 1px solid rgb(255 255 255 / .1); box-shadow: 0 0 0 2rem rgb(255 255 255 / .02), 0 0 0 4rem rgb(255 255 255 / .02); z-index: -1; }
  .ticker-card__label { font-family: var(--f-mono); font-size: var(--t-2xs); letter-spacing: .14em; text-transform: uppercase; color: var(--c-mint); }
  .ticker-card__symbol { font-family: var(--f-mono); font-size: var(--t-3xl); font-weight: 500; color: #fff; letter-spacing: .04em; line-height: 1; }
  .ticker-card__market { color: rgb(255 255 255 / .7); }
  .ticker-card__pending { margin-top: .5rem; padding-top: .9rem; border-top: 1px solid rgb(255 255 255 / .14); font-size: var(--t-sm); }
  .ticker-card__pending strong { color: var(--c-amber); font-family: var(--f-mono); font-weight: 500; }
  .ticker-card a { color: #fff; }
  .ir-fact { display: grid; gap: .35rem; align-content: start; padding: 1.5rem; border-radius: var(--r); background: #fff; border: 1px solid var(--c-line); border-left: var(--accent-w) solid var(--c-teal); }
  .ir-fact dt { font-family: var(--f-mono); font-size: var(--t-2xs); letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); }
  .ir-fact dd { margin: 0 0 .75rem; font-weight: 500; color: var(--c-deep); }
  .ir-fact dd:last-child { margin-bottom: 0; }
  .ir-nav { position: sticky; top: var(--header-h); z-index: 20; background: rgb(247 251 252 / .92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--c-line); }
  .ir-nav ul { display: flex; gap: .25rem; overflow-x: auto; padding-block: .5rem; scrollbar-width: none; }
  .ir-nav a { display: block; white-space: nowrap; padding: .55rem .9rem; font-size: var(--t-sm); font-weight: 500; color: var(--c-ink-2); text-decoration: none; border-radius: var(--r-pill); }
  .ir-nav a:hover, .ir-nav a.is-active { background: var(--c-deep); color: #fff; }
  .ir-block { padding-block: var(--s-8); border-bottom: 1px solid var(--c-line); }
  .ir-block:last-of-type { border-bottom: 0; }
  .ir-block__head { display: grid; gap: .75rem; margin-bottom: var(--s-6); }
  @media (min-width: 56em) { .ir-block__head { grid-template-columns: 1fr auto; align-items: end; } }
  .contact-cards { display: grid; gap: var(--s-4); grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
  .contact-card { display: grid; gap: .4rem; align-content: start; padding: 1.5rem; border-radius: var(--r); background: #fff; border: 1px solid var(--c-line); }
  .contact-card .icon { color: var(--c-teal); width: 1.6rem; height: 1.6rem; margin-bottom: .4rem; }
  .contact-card h3 { font-family: var(--f-sans); font-size: var(--t-md); font-weight: 600; }
  .contact-card p { font-size: var(--t-sm); color: var(--c-muted); }
  .contact-card a { font-weight: 600; font-size: var(--t-sm); word-break: break-word; }

  /* Feature split w/ list */
  .ticks { list-style: none; padding: 0; display: grid; gap: .8rem; }
  .ticks li { display: grid; grid-template-columns: auto 1fr; gap: .75rem; align-items: start; }
  .ticks .icon { color: var(--co); margin-top: .2rem; }
  .on-dark .ticks .icon { color: var(--c-mint); }

  .phones { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(.75rem, .5rem + 1vw, 1.5rem); align-items: end; }
  .phones img { border-radius: clamp(1rem, .6rem + 1.2vw, 1.75rem); box-shadow: var(--sh-3); background: var(--c-deep); }
  .phones img:nth-child(2) { transform: translateY(-8%); }
  .phones figcaption { grid-column: 1 / -1; }

  .formats { display: grid; gap: var(--s-4); grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
  .format { padding: 1.5rem; border-radius: var(--r); background: rgb(255 255 255 / .05); border: 1px solid rgb(255 255 255 / .1); display: grid; gap: .5rem; align-content: start; }
  .format__cad { font-family: var(--f-mono); font-size: var(--t-2xs); letter-spacing: .14em; text-transform: uppercase; color: var(--c-amber); }
  .format h3 { font-family: var(--f-display); font-size: var(--t-xl); }
  .format p { font-size: var(--t-sm); }

  .cta-band { position: relative; overflow: hidden; isolation: isolate; border-radius: var(--r-lg); padding: clamp(2rem, 1.5rem + 3vw, 4rem); display: grid; gap: var(--s-5); background: linear-gradient(135deg, var(--c-deep), var(--c-navy)); color: rgb(255 255 255 / .8); }
  @media (min-width: 56em) { .cta-band { grid-template-columns: 1.4fr auto; align-items: center; } }
  .cta-band::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(40% 80% at 100% 0%, rgb(20 184 166 / .25), transparent 70%); }
  .cta-band h2 { color: #fff; }

  .legal-page .prose { max-width: 46rem; }

  /* 404 */
  .nf { min-height: 60vh; display: grid; place-items: center; text-align: center; }
  .nf .range { width: min(26rem, 90vw); margin: var(--s-6) auto; }
}

/* -------------------------------------------------------------- utilities */
@layer utilities {
  .sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
  .mt-0 { margin-top: 0 !important; } .mt-4 { margin-top: var(--s-4); } .mt-5 { margin-top: var(--s-5); } .mt-6 { margin-top: var(--s-6); } .mt-7 { margin-top: var(--s-7); } .mt-8 { margin-top: var(--s-8); }
  .center { text-align: center; margin-inline: auto; justify-items: center; }
  .max-measure { max-width: var(--measure); }

  /* Reveal system — content is visible by default; hidden only when JS + motion are available */
  .js:not(.reduced) [data-reveal] { opacity: 0; transform: translate3d(0, 24px, 0); }
  .js:not(.reduced) [data-reveal].is-in { opacity: 1; transform: none; transition: opacity .9s var(--ease-out), transform .9s var(--ease-out); }
  .no-gsap [data-reveal] { transition-delay: calc(var(--i, 0) * 70ms) !important; }
  /* Hero elements are revealed by the GSAP intro timeline only */
  .js:not(.reduced):not(.no-gsap) :is([data-hero-item], [data-hero-media], [data-hero-chip]) { opacity: 0; }

  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  }
  @media print {
    .utility, .site-header, .drawer, .pathways, .site-footer__nav, .pathways-svg, .atmos { display: none !important; }
    body { background: #fff; }
    [data-reveal] { opacity: 1 !important; transform: none !important; }
  }
}

.launch-banner{background:#e7f4f3;border-bottom:1px solid #c8e5e4;color:#174d59;font-size:.8rem;line-height:1.6;padding:.75rem 0}.launch-banner strong{color:#082f49;margin-right:.35em}.hero__visual--ecosystem{padding:2rem 0 2rem 1rem}.launch-visual-note{font-size:.8rem;text-align:center;color:#546e7a;margin-top:2rem}.planned-visual{display:grid;place-items:center;gap:1.5rem;min-height:24rem;padding:3rem;background:#edf6f6;border-radius:1.5rem;border:1px solid #d3e5e9;text-align:center}.planned-visual .mark{width:6rem;height:6rem;color:var(--co,#0e7490)}.planned-visual p{font-family:var(--f-display);font-size:2rem}.planned-visual small{max-width:22rem;color:#536c79;line-height:1.7}.hero .hero__visual--ecosystem .flywheel{max-width:35rem}@media(max-width:760px){.launch-banner{font-size:.73rem}.hero__visual--ecosystem{padding:1.5rem .5rem 2rem}.planned-visual{min-height:18rem;padding:2rem}}

.launch-banner{background:#e7f4f3;border-bottom:1px solid #c8e5e4;color:#174d59;font-size:.8rem;line-height:1.6;padding:.75rem 0}.launch-banner strong{color:#082f49;margin-right:.35em}.hero__visual--ecosystem{padding:2rem 0 2rem 1rem}.launch-visual-note{font-size:.8rem;text-align:center;color:#546e7a;margin-top:2rem}.planned-visual{display:grid;place-items:center;gap:1.5rem;min-height:24rem;padding:3rem;background:#edf6f6;border-radius:1.5rem;border:1px solid #d3e5e9;text-align:center}.planned-visual .mark{width:6rem;height:6rem;color:var(--co,#0e7490)}.planned-visual p{font-family:var(--f-display);font-size:2rem}.planned-visual small{max-width:22rem;color:#536c79;line-height:1.7}.hero .hero__visual--ecosystem .flywheel{max-width:35rem}@media(max-width:760px){.launch-banner{font-size:.73rem}.hero__visual--ecosystem{padding:1.5rem .5rem 2rem}.planned-visual{min-height:18rem;padding:2rem}}

/* Accommodate temporary descriptive names in the ecosystem wheel. */
.fw-label a{white-space:normal;max-width:32cqi;text-align:center}.fw-label__name{white-space:normal}

.launch-banner a{display:inline-block;margin-left:.65em;font-weight:600;text-underline-offset:3px;color:#0b5266}.launch-updates{background:#edf6f6;border-top:1px solid #d2e6e9;scroll-margin-top:6rem}.updates-form{display:grid;gap:1.3rem;max-width:34rem}.updates-form .btn{justify-self:start}.updates-form .check{font-size:.85rem;line-height:1.6;font-weight:400}.updates-form .fine{font-size:.75rem;line-height:1.7;overflow-wrap:anywhere}.updates-status{padding:1rem 1.2rem;border-radius:.5rem;font-size:.9rem;line-height:1.6}.updates-status.is-ok{background:#d9f0e7;color:#154f42}.updates-status.is-err{background:#fbe8e8;color:#7c2831}.updates-form button:disabled{opacity:.7;cursor:wait}@media(max-width:760px){.launch-banner a{margin-left:0;margin-top:.25em}.updates-form{max-width:none}.launch-updates .h1{font-size:2.4rem}}
