
/* Prevent horizontal scroll on mobile */
html, body { overflow-x: hidden; max-width: 100vw; }
/* ==========================================================================
   Corveil — marketing site
   styles.css : design tokens, layout primitives, components, page sections
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Tokens
   -------------------------------------------------------------------------- */
:root {
  /* Palette */
  --black:        #000000;
  --ink-900:      #0A060B;   /* page background (reference spec §2) */
  --ink-850:      #0D090E;   /* raised surface */
  --ink-800:      #141413;
  --plum-900:     #190713;   /* deep maroon section */
  --plum-800:     #250B1C;
  --paper:        #FFFFFF;
  --paper-soft:   #F2F0EB;

  --text:         #FFF7FB;   /* off-white body text */
  --text-dim:     rgba(255, 247, 251, 0.72);
  --text-faint:   rgba(255, 247, 251, 0.52);
  --text-invert:  #0A0A0A;

  --pink:         #E60073;
  --pink-bright:  #FF2D7A;
  --pink-deep:    #C6005B;
  --pink-flat:    #F00078;

  --line:         #FFFFFF;
  --line-strong:  #FFFFFF;
  --line-dark:    rgba(10, 6, 11, 0.16);

  /* Type */
  --font: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  --fs-display:   clamp(3rem, 6.2vw, 5.5rem);   /* 88px */
  --fs-hero:      clamp(2.75rem, 5.1vw, 4.5rem); /* 72px */
  --fs-h2:        clamp(2.125rem, 3.7vw, 3.25rem); /* 52px */
  --fs-h3:        clamp(1.5rem, 2.2vw, 1.875rem);  /* 30px */
  --fs-h4:        1.25rem;   /* 20px */
  --fs-lead:      clamp(1.0625rem, 1.45vw, 1.25rem); /* 20px */
  --fs-body:      1rem;
  --fs-sm:        0.875rem;
  --fs-xs:        0.75rem;
  --fs-eyebrow:   0.8125rem;

  /* Layout */
  --container:    1104px;
  --container-sm: 1104px;
  --gutter:       40px;
  --nav-h:        72px;
  --section-y:    clamp(88px, 10vw, 160px);

  /* Motion */
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* ======================================================================
   Builder deep-dive interior sections — live Framer parity
   Hero and closing/footer intentionally remain on the shared local system.
   ====================================================================== */
.page-builder {
  --bd-ink: #09060a;
  --bd-surface: #190713;
  --bd-accent: #e60073;
}

.page-builder .bd-container {
  width: 100%; max-width: var(--container);
  margin-inline: auto;
}

.page-builder .bd-kicker {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: 6px 10px;
  border-radius: 3px;
  background: #fff;
  color: var(--bd-ink) !important;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: none;
  text-shadow: none;
  filter: none;
}

.page-builder .bd-category {
  padding: 120px 0;
  background: #f2f0eb;
  color: var(--bd-ink);
}

.page-builder .bd-category-grid {
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  gap: 88px;
  align-items: start;
}

.page-builder .bd-category h2,
.page-builder .bd-heading-grid h2,
.page-builder .bd-lifecycle h2,
.page-builder .bd-capabilities h2,
.page-builder .bd-proof h2,
.page-builder .bd-boundary h2 {
  margin: 18px 0 24px;
  font-size: clamp(48px, 6vw, 76px);
  line-height: .96;
  letter-spacing: -.05em;
  font-weight: 600;
}

.page-builder .bd-category-copy > p:last-of-type {
  margin: 0;
  font-size: 20px;
  line-height: 1.55;
}

.page-builder .bd-system-line {
  border-top: 1px solid var(--bd-ink);
}

.page-builder .bd-system-node {
  display: grid;
  grid-template-columns: 58px 170px 1fr;
  gap: 20px;
  align-items: center;
  min-height: 112px;
  padding: 20px 0;
  border-bottom: 1px solid var(--bd-ink);
}

.page-builder .bd-system-number {
  color: var(--bd-accent);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
}

.page-builder .bd-system-node strong {
  font-size: 22px;
  letter-spacing: -.02em;
}

.page-builder .bd-system-node > span:last-child {
  font-size: 15px;
  line-height: 1.45;
}

.page-builder .bd-category-rule {
  margin-top: 34px;
  padding-top: 24px;
  border-top: 4px solid var(--bd-accent);
  font-size: 27px;
  line-height: 1.25;
  letter-spacing: -.03em;
}

.page-builder .bd-modes,
.page-builder .bd-proof {
  padding: 120px 0;
  background: var(--ink-900);
  color: #fff;
}

.page-builder .bd-heading-grid,
.page-builder .bd-proof-heading {
  display: grid;
  grid-template-columns: .84fr 1.16fr;
  gap: 88px;
  align-items: end;
  margin-bottom: 64px;
}

.page-builder .bd-heading-grid h2,
.page-builder .bd-proof h2 {
  margin-bottom: 0;
}

.page-builder .bd-heading-grid > p,
.page-builder .bd-proof-heading > p {
  margin: 0;
  color: #fff;
  font-size: 20px;
  line-height: 1.55;
}

.page-builder .bd-mode-rails,
.page-builder .bd-proof-list {
  border-top: 1px solid rgba(255,255,255,.78);
}

.page-builder .bd-mode {
  display: grid;
  grid-template-columns: 64px 260px minmax(0,1fr) 200px;
  gap: 28px;
  align-items: center;
  padding: 34px 0;
  border-bottom: 1px solid rgba(255,255,255,.78);
}

.page-builder .bd-mode-number {
  color: var(--bd-accent);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .14em;
}

.page-builder .bd-mode h3 {
  margin: 0;
  font-size: 29px;
  line-height: 1.05;
  letter-spacing: -.035em;
}

.page-builder .bd-mode p {
  margin: 0;
  color: #fff;
  font-size: 16px;
  line-height: 1.5;
}

.page-builder .bd-mode-fit {
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.52);
  font-size: 11px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.page-builder .bd-mode[data-accent="true"] .bd-mode-fit {
  border-color: var(--bd-accent);
  color: var(--bd-accent);
}

.page-builder .bd-mode-rule {
  margin-top: 28px;
  color: rgba(255,255,255,.7);
  font-size: 13px;
  line-height: 1.5;
}

.page-builder .bd-lifecycle {
  padding: 120px 0;
  background: var(--bd-surface);
  color: #fff;
}

.page-builder .bd-lifecycle h2 {
  max-width: 880px;
}

.page-builder .bd-lifecycle-intro {
  max-width: 820px;
  margin: 0 0 58px;
  color: #fff;
  font-size: 20px;
  line-height: 1.55;
}

.page-builder .bd-ledger {
  position: relative;
  border-top: 1px solid #fff;
}

.page-builder .bd-ledger::before {
  content: "";
  position: absolute;
  left: 38px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--bd-accent);
}

.page-builder .bd-step {
  display: grid;
  grid-template-columns: 78px 190px minmax(0,1fr) 160px;
  gap: 26px;
  align-items: center;
  min-height: 104px;
  padding: 20px 0;
  border-bottom: 1px solid rgba(255,255,255,.65);
}

.page-builder .bd-step-number {
  position: relative;
  z-index: 2;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  margin-left: 17px;
  border: 1px solid var(--bd-accent);
  background: var(--bd-surface);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

.page-builder .bd-step h3 {
  margin: 0;
  font-size: 24px;
  line-height: 1.1;
}

.page-builder .bd-step p {
  margin: 0;
  color: #fff;
  font-size: 15px;
  line-height: 1.45;
}

.page-builder .bd-evidence {
  color: var(--bd-accent);
  font-size: 10px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
  text-align: right;
}

.page-builder .bd-capabilities {
  padding: 120px 0;
  background: #f2f0eb;
  color: var(--bd-ink);
}

.page-builder .bd-capabilities h2 {
  max-width: 920px;
  margin-bottom: 26px;
}

.page-builder .bd-capabilities-intro {
  max-width: 780px;
  margin: 0 0 58px;
  font-size: 20px;
  line-height: 1.55;
}

.page-builder .bd-cap-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  border-top: 1px solid var(--bd-ink);
  border-left: 1px solid var(--bd-ink);
}

.page-builder .bd-cap {
  min-height: 280px;
  padding: 30px;
  border-right: 1px solid var(--bd-ink);
  border-bottom: 1px solid var(--bd-ink);
}

.page-builder .bd-cap-number {
  color: var(--bd-accent);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
}

.page-builder .bd-cap h3 {
  margin: 26px 0 16px;
  font-size: 32px;
  line-height: 1.05;
  letter-spacing: -.04em;
}

.page-builder .bd-cap p {
  margin: 0;
  color: var(--bd-ink);
  font-size: 17px;
  line-height: 1.52;
}

.page-builder .bd-proof-heading {
  grid-template-columns: .9fr 1.1fr;
  margin-bottom: 58px;
}

.page-builder .bd-proof-row {
  display: grid;
  grid-template-columns: 72px 260px minmax(0,1fr);
  gap: 28px;
  align-items: start;
  padding: 30px 0;
  border-bottom: 1px solid rgba(255,255,255,.7);
}

.page-builder .bd-proof-row span {
  color: var(--bd-accent);
  font-size: 13px;
  font-weight: 800;
}

.page-builder .bd-proof-row h3 {
  margin: 0;
  font-size: 25px;
  line-height: 1.1;
}

.page-builder .bd-proof-row p {
  margin: 0;
  color: #fff;
  font-size: 16px;
  line-height: 1.5;
}

.page-builder .bd-proof-actions { margin-top: 36px; }

.page-builder .bd-boundary {
  padding: 112px 0;
  background: var(--bd-accent);
  color: #fff;
}

.page-builder .bd-boundary-heading {
  max-width: 920px;
  margin-bottom: 58px;
}

.page-builder .bd-boundary-heading > p:last-child {
  max-width: 790px;
  margin: 0;
  font-size: 20px;
  line-height: 1.55;
}

.page-builder .bd-boundary-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.page-builder .bd-boundary-col {
  min-height: 420px;
  padding: 30px;
  border: 1px solid rgba(255,255,255,.85);
}

.page-builder .bd-boundary-label {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.page-builder .bd-boundary-col h3 {
  margin: 24px 0 20px;
  font-size: 33px;
  line-height: 1;
  letter-spacing: -.04em;
}

.page-builder .bd-boundary-col ul {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255,255,255,.72);
}

.page-builder .bd-boundary-col li {
  padding: 13px 0;
  border-bottom: 1px solid rgba(255,255,255,.55);
  font-size: 15px;
  line-height: 1.42;
}

.page-builder .bd-boundary-note {
  margin-top: 26px;
  padding: 22px;
  border: 1px solid #fff;
  font-size: 16px;
  line-height: 1.5;
}

@media (min-width: 810px) {
  .page-builder .bd-category h2,
  .page-builder .bd-heading-grid h2,
  .page-builder .bd-lifecycle h2,
  .page-builder .bd-capabilities h2,
  .page-builder .bd-proof h2,
  .page-builder .bd-boundary h2 {
    font-size: clamp(38px,4vw,52px);
    line-height: 1.05;
  }
}

@media (max-width: 980px) {
  .page-builder .bd-category-grid,
  .page-builder .bd-heading-grid,
  .page-builder .bd-proof-heading { grid-template-columns: 1fr; gap: 42px; }
  .page-builder .bd-mode { grid-template-columns: 58px 220px minmax(0,1fr); }
  .page-builder .bd-mode-fit { grid-column: 2/-1; width: fit-content; }
  .page-builder .bd-step { grid-template-columns: 72px 160px minmax(0,1fr); }
  .page-builder .bd-evidence { grid-column: 2/-1; text-align: left; }
}

@media (max-width: 809px) {
  .page-builder .bd-container { width: calc(100% - 40px); }
  .page-builder .bd-category,
  .page-builder .bd-modes,
  .page-builder .bd-lifecycle,
  .page-builder .bd-capabilities,
  .page-builder .bd-proof,
  .page-builder .bd-boundary { padding: 82px 0; }
  .page-builder .bd-category h2,
  .page-builder .bd-heading-grid h2,
  .page-builder .bd-lifecycle h2,
  .page-builder .bd-capabilities h2,
  .page-builder .bd-proof h2,
  .page-builder .bd-boundary h2 { font-size: clamp(34px,10vw,46px); line-height: 1.05; }
  .page-builder .bd-kicker { white-space: normal; }
  .page-builder .bd-system-node { grid-template-columns: 42px 1fr; gap: 14px; }
  .page-builder .bd-system-node > span:last-child { grid-column: 2; }
  .page-builder .bd-category-rule { font-size: 23px; }
  .page-builder .bd-mode { grid-template-columns: 44px 1fr; gap: 14px; align-items: start; }
  .page-builder .bd-mode p,
  .page-builder .bd-mode-fit { grid-column: 2; }
  .page-builder .bd-step { grid-template-columns: 62px 1fr; gap: 14px; }
  .page-builder .bd-step p,
  .page-builder .bd-evidence { grid-column: 2; }
  .page-builder .bd-step-number { margin-left: 10px; }
  .page-builder .bd-ledger::before { left: 31px; }
  .page-builder .bd-cap-grid,
  .page-builder .bd-boundary-grid { grid-template-columns: 1fr; }
  .page-builder .bd-cap,
  .page-builder .bd-boundary-col { min-height: 0; }
  .page-builder .bd-proof-row { grid-template-columns: 44px 1fr; gap: 14px; }
  .page-builder .bd-proof-row p { grid-column: 2; }
}

/* ========================================================================
   Use Cases — exact live editorial system
   ======================================================================== */
.page-use-cases .uc-root {
  width: 100%; min-height: 100%; overflow: clip; background: #0a060b;
  color: #fff7fb; font-family: "IBM Plex Sans", Inter, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
.page-use-cases .uc-container,
.page-use-cases main > .section > .container,
.page-use-cases .subnav__inner { width: min(var(--container), calc(100% - 80px)); max-width: none; margin-inline: auto; }
.page-use-cases .uc-kicker,
.page-use-cases .uc-eyebrow,
.page-use-cases main > .section:not(:is(#executive,#product,#engineering,#sales,#marketing,#operations,#finance)) .eyebrow {
  display: inline-flex; width: fit-content; padding: 6px 10px; border-radius: 3px;
  background: #fff; color: #09060a !important; font-size: 13px; line-height: 1.2;
  font-weight: 800; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap;
  box-shadow: none; text-shadow: none; filter: none;
}

/* Hero, proof and function index */
.page-use-cases main > .section:first-child { min-height: 700px; display: grid; align-items: center; padding: 90px 0 72px !important; }
.page-use-cases main > .section:first-child .split { grid-template-columns: minmax(0,1.05fr) minmax(380px,.95fr); gap: 72px; align-items: center; }
.page-use-cases main > .section:first-child .hero-title { max-width: 760px; margin: 24px 0; font-size: clamp(56px,6vw,82px); line-height: .98; letter-spacing: -.05em; font-weight: 600; }
.page-use-cases main > .section:first-child .lead { max-width: 670px; margin: 0; color: #fff; font-size: 20px; line-height: 1.55; letter-spacing: -.02em; }
.page-use-cases main > .section:first-child .btn-row { margin-top: 30px; }
.page-use-cases .usecase-org-map { width: min(100%,400px); margin-left: auto; }
.page-use-cases .usecase-org-map canvas { inset: 10%; width: 80%; height: 80%; }
.page-use-cases .usecase-org-map__ring { position: absolute; z-index: 1; border-radius: 50%; pointer-events: none; }
.page-use-cases .usecase-org-map__ring--middle { inset: 18.6%; border: 1px solid rgba(255,0,122,.44); }
.page-use-cases .usecase-org-map__ring--outer { inset: 2.6%; border: 1px solid rgba(255,255,255,.14); }
.page-use-cases .usecase-org-map__core {
  inset: 31%; display: grid; min-width: 0; padding: 0; place-items: center;
  transform: none; border: 1px solid #fff; border-radius: 50%;
  background: rgba(10,6,11,.28); font-size: 12px; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
}
.page-use-cases .usecase-org-map .figure__pin { min-height: 34px; padding: 8px 12px; background: #0a060b; font-size: 12px; letter-spacing: .06em; }
.page-use-cases main > .section:nth-child(2) { padding: 0; background: #ff007a; color: #fff; }
.page-use-cases main > .section:nth-child(2) > .container { min-height: 270px; display: grid; grid-template-columns: 1.15fr .7fr .7fr; gap: 42px; align-items: center; padding-block: 42px; }
.page-use-cases main > .section:nth-child(2) > .container > .split { display: contents; }
.page-use-cases main > .section:nth-child(2) .grid { display: contents; }
.page-use-cases main > .section:nth-child(2) .h2 { margin: 12px 0 0; max-width: 520px; font-size: clamp(34px,4vw,52px); line-height: 1.02; letter-spacing: -.04em; font-weight: 600; }
.page-use-cases main > .section:nth-child(2) .stat { border: 0; border-left: 1px solid rgba(255,255,255,.7); padding: 0 0 0 28px; }
.page-use-cases main > .section:nth-child(2) .stat__value { font-size: clamp(64px,7vw,96px); line-height: .9; letter-spacing: -.06em; }
.page-use-cases main > .section:nth-child(2) .stat__label { margin-top: 14px; font-size: 15px; line-height: 1.35; font-weight: 600; }
.page-use-cases main > .section:nth-child(2) > .container > .body-sm { grid-column: 1/-1; margin: -20px 0 0 !important; color: #fff; font-size: 12px; }
.page-use-cases .subnav { position: relative; top: auto; z-index: auto; min-height: 58px; border-color: rgba(255,255,255,.15); background: #0a060b; }
.page-use-cases .subnav__inner { min-height: 58px; gap: 26px; }
.page-use-cases .subnav__label { color: #ff007a; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.page-use-cases .subnav a { color: #fff; font-size: 13px; font-weight: 600; opacity: .76; }

/* Departmental case chapters */
.page-use-cases :is(#executive,#product,#engineering,#sales,#marketing,#operations,#finance) {
  scroll-margin-top: 134px; border-bottom: 0; padding: 112px 0;
}
.page-use-cases :is(#executive,#product,#engineering,#sales,#marketing,#operations,#finance) > .container {
  display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: 80px; align-items: start;
}
.page-use-cases :is(#executive,#product,#engineering,#sales,#marketing,#operations,#finance) > .container > .split { display: contents; }
.page-use-cases :is(#executive,#product,#engineering,#sales,#marketing,#operations,#finance) .split > .stack { position: sticky; top: 164px; gap: 0; }
.page-use-cases .usecase-chapter__eyebrow { display: block; padding: 0 !important; background: transparent !important; color: #ff007a !important; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: none; }
.page-use-cases :is(#executive,#product,#engineering,#sales,#marketing,#operations,#finance) .display { margin: 16px 0 24px; font-size: clamp(44px,5vw,66px) !important; line-height: .95; letter-spacing: -.05em; font-weight: 600; }
.page-use-cases :is(#executive,#product,#engineering,#sales,#marketing,#operations,#finance) .stack > .rule { display: none; }
.page-use-cases .usecase-question { margin: 0 0 28px; padding: 20px 0; border-top: 1px solid #fff; border-bottom: 1px solid #fff; color: #fff; font-size: 20px !important; line-height: 1.38; font-weight: 500; }
.page-use-cases .usecase-question__ask { margin-right: 10px; color: #ff007a; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.page-use-cases .usecase-config { gap: 0; }
.page-use-cases .usecase-config__label { margin: 0 0 10px; padding: 0 !important; background: transparent !important; color: rgba(255,255,255,.66) !important; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.page-use-cases .usecase-config .chip-row { gap: 8px; }
.page-use-cases .usecase-config .chip { padding: 7px 9px; border: 1px solid #fff; background: transparent; color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.page-use-cases .usecase-config .chip--pink { border-color: #ff007a; color: #fff; }
.page-use-cases .usecase-config__governance { width: 100%; margin: 10px 0 0; padding: 8px 0 0 !important; border-top: 1px solid #ff007a; background: transparent !important; color: #fff !important; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.page-use-cases :is(#executive,#product,#engineering,#sales,#marketing,#operations,#finance) .deflist { border-top: 1px solid #fff; }
.page-use-cases :is(#executive,#product,#engineering,#sales,#marketing,#operations,#finance) .deflist__item { display: grid; grid-template-columns: 148px minmax(0,1fr); gap: 30px; padding: 32px 0; border-bottom: 1px solid rgba(255,255,255,.56); }
.page-use-cases :is(#executive,#product,#engineering,#sales,#marketing,#operations,#finance) .deflist__label { color: #ff007a; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.page-use-cases :is(#executive,#product,#engineering,#sales,#marketing,#operations,#finance) .deflist__hint { display: block; margin-top: 8px; color: rgba(255,255,255,.48); font-size: 9px; line-height: 1.4; letter-spacing: .08em; }
.page-use-cases :is(#executive,#product,#engineering,#sales,#marketing,#operations,#finance) .deflist__value { margin: 0; color: #fff; font-size: 21px; line-height: 1.52; letter-spacing: -.018em; }

/* Context in motion */
.page-use-cases .uc-cross { padding: 120px 0; background: #f2f0eb; color: #0a060b; }
.page-use-cases .uc-cross-heading { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: end; margin-bottom: 70px; }
.page-use-cases .uc-cross h2 { margin: 18px 0 0; font-size: clamp(48px,6vw,76px); line-height: .96; letter-spacing: -.05em; font-weight: 600; }
.page-use-cases .uc-cross-heading p { margin: 0; color: #0a060b; font-size: 21px; line-height: 1.5; }
.page-use-cases .uc-context-flows { border-top: 1px solid #0a060b; }
.page-use-cases .uc-flow { display: grid; grid-template-columns: 170px 50px 170px minmax(0,1fr); gap: 22px; align-items: center; padding: 28px 0; border-bottom: 1px solid #0a060b; }
.page-use-cases .uc-flow-node { font-size: 14px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.page-use-cases .uc-flow-arrow { color: #ff007a; font-size: 24px; font-weight: 700; }
.page-use-cases .uc-flow p { margin: 0; color: #0a060b; font-size: 18px; line-height: 1.45; }

/* Finite primitives comparison */
.page-use-cases .uc-transform { padding: 120px 0; }
.page-use-cases .uc-transform h2 { max-width: 900px; margin: 20px 0 62px; font-size: clamp(48px,6vw,76px); line-height: .96; letter-spacing: -.05em; font-weight: 600; }
.page-use-cases .uc-before-after { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #fff; }
.page-use-cases .uc-column:first-child { border-right: 1px solid #fff; padding-right: 40px; }
.page-use-cases .uc-column:last-child { padding-left: 40px; }
.page-use-cases .uc-column h3 { margin: 24px 0; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; }
.page-use-cases .uc-column:first-child h3 { color: rgba(255,255,255,.46); }
.page-use-cases .uc-column:last-child h3 { color: #ff007a; }
.page-use-cases .uc-row { min-height: 78px; display: flex; align-items: center; border-top: 1px solid rgba(255,255,255,.22); color: #fff; font-size: 18px; line-height: 1.35; }

/* Governance */
.page-use-cases .uc-governance { padding: 100px 0; border-top: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.page-use-cases .uc-governance-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; }
.page-use-cases .uc-governance h2 { margin: 18px 0 0; font-size: clamp(44px,5vw,66px); line-height: .98; letter-spacing: -.045em; }
.page-use-cases .uc-governance-copy { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid #fff; }
.page-use-cases .uc-control { min-height: 120px; padding: 22px 18px 22px 0; border-bottom: 1px solid rgba(255,255,255,.5); color: #fff; font-size: 17px; line-height: 1.4; }
.page-use-cases .uc-control:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.5); }
.page-use-cases .uc-control:nth-child(even) { padding-left: 18px; }

/* Operating superstructure */
.page-use-cases .uc-emergence { padding: 120px 0; background: #190713; border-bottom: 1px solid rgba(255,255,255,.16); }
.page-use-cases .uc-emergence-heading { display: grid; grid-template-columns: 1.05fr .95fr; gap: 86px; align-items: end; margin-bottom: 68px; }
.page-use-cases .uc-emergence h2 { max-width: 720px; margin: 18px 0 0; font-size: clamp(48px,6vw,76px); line-height: .96; letter-spacing: -.05em; font-weight: 600; }
.page-use-cases .uc-emergence-heading p { margin: 0; color: #fff; font-size: 20px; line-height: 1.55; }
.page-use-cases .uc-emergence-map { display: grid; grid-template-columns: .82fr 1.05fr 1.13fr; border-top: 1px solid #fff; border-bottom: 1px solid #fff; }
.page-use-cases .uc-emergence-stage { position: relative; min-width: 0; padding: 26px 28px 30px 0; }
.page-use-cases .uc-emergence-stage + .uc-emergence-stage { padding-left: 28px; border-left: 1px solid rgba(255,255,255,.5); }
.page-use-cases .uc-emergence-stage:not(:last-child)::after { content: "→"; position: absolute; z-index: 2; top: 50%; right: -17px; display: grid; width: 34px; height: 34px; place-items: center; transform: translateY(-50%); background: #190713; color: #ff007a; font-size: 22px; font-weight: 800; }
.page-use-cases .uc-emergence-label { min-height: 42px; color: #ff007a; font-size: 11px; line-height: 1.35; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.page-use-cases .uc-emergence-nodes { display: grid; gap: 10px; }
.page-use-cases .uc-emergence-node { min-height: 64px; display: flex; align-items: flex-start; flex-direction: column; justify-content: center; padding: 10px 12px; border: 1px solid rgba(255,255,255,.56); color: #fff; font-size: 13px; line-height: 1.3; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.page-use-cases .uc-emergence-stage:nth-child(2) .uc-emergence-node:nth-child(-n+3) { border-color: #ff007a; }
.page-use-cases .uc-emergence-node span { display: block; margin-top: 4px; color: rgba(255,255,255,.64); font-size: 10px; line-height: 1.4; font-weight: 500; letter-spacing: .03em; text-transform: none; }
.page-use-cases .uc-emergence-outcomes { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-top: 52px; }
.page-use-cases .uc-emergence-outcome { min-height: 156px; padding: 22px; border: 1px solid rgba(255,255,255,.56); }
.page-use-cases .uc-emergence-outcome strong { display: block; margin-bottom: 14px; color: #fff; font-size: 17px; line-height: 1.2; letter-spacing: .02em; text-transform: uppercase; }
.page-use-cases .uc-emergence-outcome span { color: rgba(255,255,255,.72); font-size: 14px; line-height: 1.48; }
.page-use-cases .uc-emergence-close { display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; padding: 28px 0 0; }
.page-use-cases .uc-emergence-close strong { max-width: 800px; font-size: 27px; line-height: 1.25; letter-spacing: -.025em; }
.page-use-cases .uc-emergence-close span { color: #ff007a; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }

/* Closing */
.page-use-cases .uc-final { min-height: 640px; display: grid; align-items: center; text-align: center; }
.page-use-cases .uc-final-inner { max-width: 900px; margin: 0 auto; }
.page-use-cases .uc-final h2 { margin: 20px 0 26px; font-size: clamp(52px,7vw,88px); line-height: .95; letter-spacing: -.055em; font-weight: 600; }
.page-use-cases .uc-final p { max-width: 720px; margin: 0 auto 34px; color: #fff; font-size: 20px; line-height: 1.52; }
.page-use-cases .uc-button { display: inline-flex; min-width: 260px; min-height: 48px; align-items: center; justify-content: center; padding: 12px 22px; border: 1px solid rgba(255,255,255,.42); border-radius: 999px; color: #fff; font-size: 14px; font-weight: 700; text-decoration: none; }
.page-use-cases .uc-button-primary { border-color: #ff007a; background: #ff007a; color: #fff; }

@media (max-width: 900px) {
  .page-use-cases .uc-container,
  .page-use-cases main > .section > .container,
  .page-use-cases .subnav__inner { width: min(calc(100% - 48px),760px); }
  .page-use-cases main > .section:first-child .split { grid-template-columns: 1fr; gap: 46px; }
  .page-use-cases .usecase-org-map { width: min(100%,480px); margin-inline: auto; }
  .page-use-cases main > .section:nth-child(2) > .container { grid-template-columns: 1fr 1fr; }
  .page-use-cases main > .section:nth-child(2) .stack { grid-column: 1/-1; }
  .page-use-cases :is(#executive,#product,#engineering,#sales,#marketing,#operations,#finance) > .container { grid-template-columns: 1fr; gap: 46px; }
  .page-use-cases :is(#executive,#product,#engineering,#sales,#marketing,#operations,#finance) .split > .stack { position: relative; top: auto; }
  .page-use-cases .uc-cross-heading,.page-use-cases .uc-emergence-heading,.page-use-cases .uc-governance-grid { grid-template-columns: 1fr; gap: 36px; }
  .page-use-cases .uc-emergence-map { grid-template-columns: 1fr; }
  .page-use-cases .uc-emergence-stage,.page-use-cases .uc-emergence-stage + .uc-emergence-stage { padding: 26px 0 30px; border-left: 0; border-top: 1px solid rgba(255,255,255,.42); }
  .page-use-cases .uc-emergence-stage:first-child { border-top: 0; }
  .page-use-cases .uc-emergence-stage:not(:last-child)::after { top: auto; right: 50%; bottom: -17px; transform: translateX(50%) rotate(90deg); }
  .page-use-cases .uc-emergence-outcomes { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .page-use-cases .uc-flow { grid-template-columns: 130px 30px 130px minmax(0,1fr); }
}

@media (min-width: 810px) {
  .page-use-cases main > .section:first-child .hero-title {
    font-size: clamp(50px,5vw,72px) !important;
    line-height: .98;
  }
  .page-use-cases :is(#executive,#product,#engineering,#sales,#marketing,#operations,#finance) .display,
  .page-use-cases .uc-cross h2,
  .page-use-cases .uc-emergence h2,
  .page-use-cases .uc-transform h2,
  .page-use-cases .uc-governance h2,
  .page-use-cases .uc-final h2 {
    font-size: clamp(38px,4vw,52px) !important;
    line-height: 1.05;
  }
}

@media (max-width: 809px) {
  .page-use-cases .uc-container,
  .page-use-cases main > .section > .container,
  .page-use-cases .subnav__inner { width: calc(100% - 40px); }
  .page-use-cases main > .section:first-child { min-height: auto; padding: calc(var(--nav-h) + 54px) 0 74px !important; }
  .page-use-cases main > .section:first-child .hero-title { font-size: clamp(45px,13vw,62px); }
  .page-use-cases .usecase-org-map { width: min(100%,390px); margin-inline: auto; }
  .page-use-cases .usecase-org-map .figure__pin { min-height: 29px; padding: 0 8px; font-size: 9px; }
  .page-use-cases .usecase-org-map__core { font-size: 11px; }
  .page-use-cases main > .section:nth-child(2) > .container { grid-template-columns: 1fr; }
  .page-use-cases :is(#executive,#product,#engineering,#sales,#marketing,#operations,#finance) { padding: 74px 0; }
  .page-use-cases :is(#executive,#product,#engineering,#sales,#marketing,#operations,#finance) > .container { gap: 34px; }
  .page-use-cases :is(#executive,#product,#engineering,#sales,#marketing,#operations,#finance) .display { font-size: 48px !important; }
  .page-use-cases .usecase-question { font-size: 19px !important; }
  .page-use-cases :is(#executive,#product,#engineering,#sales,#marketing,#operations,#finance) .deflist__item { grid-template-columns: 1fr; gap: 12px; padding: 26px 0; }
  .page-use-cases :is(#executive,#product,#engineering,#sales,#marketing,#operations,#finance) .deflist__value { font-size: 18px; }
  .page-use-cases .uc-cross,.page-use-cases .uc-emergence,.page-use-cases .uc-transform { padding: 82px 0; }
  .page-use-cases .uc-cross h2,.page-use-cases .uc-emergence h2,.page-use-cases .uc-transform h2,.page-use-cases .uc-governance h2,.page-use-cases .uc-final h2 { font-size: clamp(34px,10vw,46px); line-height: 1.05; }
  .page-use-cases .uc-emergence-outcomes { grid-template-columns: 1fr; margin-top: 38px; }
  .page-use-cases .uc-emergence-close { grid-template-columns: 1fr; gap: 14px; }
  .page-use-cases .uc-flow { grid-template-columns: 1fr auto 1fr; gap: 12px; align-items: start; }
  .page-use-cases .uc-flow p { grid-column: 1/-1; padding-top: 8px; font-size: 16px; }
  .page-use-cases .uc-before-after { grid-template-columns: 1fr; }
  .page-use-cases .uc-column:first-child { border-right: 0; padding-right: 0; }
  .page-use-cases .uc-column:last-child { padding-left: 0; }
  .page-use-cases .uc-column:last-child h3 { margin-top: 54px; }
  .page-use-cases .uc-governance { padding: 78px 0; }
  .page-use-cases .uc-governance-copy { grid-template-columns: 1fr; }
  .page-use-cases .uc-control:nth-child(odd) { border-right: 0; }
  .page-use-cases .uc-control:nth-child(even) { padding-left: 0; }
  .page-use-cases .uc-final { min-height: 570px; padding: 80px 0; }
}

/* Pillar identity diagrams use quiet framing geometry instead of pointer
   callouts. The frames sit above the particles and below every glass label. */
:is(.page-corvus, .page-workforce, .page-builder, .page-trust)
  .figure--diagram .figure__pin::before,
:is(.page-corvus, .page-workforce, .page-builder, .page-trust)
  .figure--diagram .figure__pin::after {
  content: none;
}

.page-corvus .figure__label { min-width: 170px; }

.page-workforce .figure--diagram::before,
.page-builder .figure--diagram::before {
  content: "";
  position: absolute;
  z-index: 1;
  pointer-events: none;
  border: 1px solid rgba(255, 247, 251, .34);
}
.page-workforce .figure--diagram::before {
  inset: 13%;
  border-radius: 50%;
}
.page-builder .figure--diagram::before {
  inset: 22%;
  transform: rotate(45deg);
}

.page-workforce .figure--diagram .figure__pin:has(br) {
  width: 130px;
  padding: 9px 10px;
  font-size: .5rem;
  line-height: 1.25;
}
.page-workforce .figure__pin strong { margin-bottom: 5px; font-size: .5rem; }
.page-workforce .figure__pin--tl,
.page-workforce .figure__pin--tr { top: 7%; }
.page-workforce .figure__pin--bl,
.page-workforce .figure__pin--br { bottom: 7%; }
.page-workforce .figure__pin--tl,
.page-workforce .figure__pin--bl { left: 0; }
.page-workforce .figure__pin--tr,
.page-workforce .figure__pin--br { right: 0; }
.page-workforce .figure__label { min-width: 152px; padding: 15px 15px 16px; }

.page-builder .figure__pin { width: 100px; min-height: 32px; padding: 8px 10px; text-align: center; }
.page-builder .figure__pin--tl,
.page-builder .figure__pin--tr { top: 12%; }
.page-builder .figure__pin--bl,
.page-builder .figure__pin--br { bottom: 12%; }
.page-builder .figure__pin--tl,
.page-builder .figure__pin--bl { left: 7%; }
.page-builder .figure__pin--tr,
.page-builder .figure__pin--br { right: 7%; }

.page-trust .figure__pin--tl,
.page-trust .figure__pin--tr { top: 12%; }
.page-trust .figure__pin--bl,
.page-trust .figure__pin--br { bottom: 12%; }
.page-trust .figure__pin--tl,
.page-trust .figure__pin--bl { left: 7%; }
.page-trust .figure__pin--tr,
.page-trust .figure__pin--br { right: 7%; }
.page-builder .figure__label { min-width: 160px; padding: 16px 15px 17px; }

/* Pillar identity diagrams */
.figure--diagram { overflow: visible; }
.figure__orbit,
.figure__diamond {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}
.figure__orbit { border: 1px solid rgba(255, 247, 251, 0.22); border-radius: 50%; }
.figure__orbit--outer { inset: 2%; }
.figure__orbit--middle { inset: 18%; border-color: rgba(255, 247, 251, 0.34); }
.figure__orbit--inner { inset: 34%; border-color: rgba(255, 247, 251, 0.46); }
.figure__diamond {
  inset: 14%;
  border: 1px solid rgba(255, 247, 251, 0.30);
  transform: rotate(45deg);
}
.figure__label--glass,
.figure__pin--glass {
  background: rgba(9, 6, 10, .44);
  border-color: #fff;
  backdrop-filter: blur(14px) saturate(1.35);
  -webkit-backdrop-filter: blur(14px) saturate(1.35);
}
.figure__label strong {
  display:block;
  font-size: 0.6875rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform: uppercase;
}
.figure__label span {
  display:block;
  margin-top: 4px;
  font-size: 0.6875rem;
  font-weight:400;
  letter-spacing: 0;
  text-transform: none;
}

/* --------------------------------------------------------------------------
   2. Reset
   -------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--nav-h) + 16px);
}

body {
  margin: 0;
  background: var(--ink-900);
  color: var(--text);
  font-family: var(--font);
  font-size: var(--fs-body);
  font-weight: 400;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

img, svg, canvas { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
ul { margin: 0; padding: 0; list-style: none; }

h1, h2, h3, h4, p { margin: 0; }

::selection { background: var(--pink); color: #fff; }

:focus-visible {
  outline: 2px solid var(--pink-bright);
  outline-offset: 3px;
}

/* --------------------------------------------------------------------------
   3. Typography primitives
   -------------------------------------------------------------------------- */
.display {
  font-size: var(--fs-display);
  font-weight: 800;
  letter-spacing: -0.055em;
  line-height: 0.95;
}

.hero-title {
  font-size: var(--fs-hero);
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

.h2 {
  font-size: var(--fs-h2);
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 1.05;
}

.h3 {
  font-size: var(--fs-h3);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.12;
}

.h4 {
  font-size: var(--fs-h4);
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

.lead {
  font-size: var(--fs-lead);
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.55;
  color: var(--text);
}

.body       { font-size: var(--fs-body); line-height: 1.55; color: var(--text-dim); }
.body-sm    { font-size: var(--fs-sm); line-height: 1.5; color: var(--text-dim); }
.measure    { max-width: 34em; }
.measure-sm { max-width: 26em; }

/* Eyebrow: small uppercase label */
.eyebrow {
  display: inline-block;
  align-self: flex-start;
  font-size: var(--fs-eyebrow);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1.2;
  color: var(--pink-bright);
}

/* Eyebrow rendered as a solid chip (white on dark) */
.badge {
  display: inline-block;
  align-self: flex-start;
  padding: 7px 12px 6px;
  background: var(--paper);
  color: var(--text-invert);
  font-size: var(--fs-eyebrow);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1;
  border-radius: 3px;
}

/* Structural section labels use the same flat white lozenge as the homepage.
   Small labels inside cards, tables, diagrams, and forms remain plain text. */
.section > .container > .eyebrow,
.section > .container > .stack > .eyebrow,
.section > .container > .stack > .stack > .eyebrow,
.section > .container > .split > .eyebrow,
.section > .container > .split > .stack > .eyebrow,
.section > .container > .center > .eyebrow,
.section > .container > .stack > .split > .stack > .eyebrow {
  padding: 7px 12px 6px;
  background: var(--paper);
  color: var(--text-invert);
  border-radius: 3px;
  line-height: 1;
  text-shadow: none;
  box-shadow: none;
}

.section--pink > .container > .eyebrow,
.section--pink > .container > .stack > .eyebrow,
.section--pink > .container > .stack > .stack > .eyebrow,
.section--pink > .container > .split > .eyebrow,
.section--pink > .container > .split > .stack > .eyebrow,
.section--pink > .container > .center > .eyebrow,
.section--pink > .container > .stack > .split > .stack > .eyebrow {
  color: var(--pink-deep);
}

.badge--outline {
  background: transparent;
  color: var(--text);
  border: 1px solid var(--line-strong);
}

.num {
  font-size: var(--fs-xs);
  font-weight: 800;
  letter-spacing: 0.04em; /* live 0.48px at 12px */
  color: #fff;
  font-variant-numeric: tabular-nums;
}

.pink   { color: var(--pink-bright); }
.strong { font-weight: 700; color: var(--text); }

/* --------------------------------------------------------------------------
   4. Layout
   -------------------------------------------------------------------------- */
.container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
}

.container--sm { max-width: var(--container-sm); }
.container--text { max-width: 860px; }

.section {
  position: relative;
  padding: var(--section-y) var(--gutter);
  z-index: 1;
}

/* Full-viewport sections used on the home page */
.section--full {
  min-height: 100vh;
  display: flex;
  align-items: center;
}

/* Home hero: match live's lower-third vertical rhythm (content sits below
   centre so the particle cloud reads above/behind it, not pinned to top). */
.home #top {
  padding-top: clamp(235px, 36vh, 365px);
  padding-bottom: 48px;
  align-items: flex-start; /* padding owns the H1 detent; cue is absolute */
}

/* Company display type — live 8vw / 600 at 1440 = 115.2px, tracking −0.055em. */
.page-company .hero-title {
  font-size: clamp(3.5rem, 8vw, 7.2rem);
  letter-spacing: -0.055em;
  line-height: 0.92;
  max-width: 900px;
}
.page-company .container--text { max-width: var(--container); }
.page-company .container--text > .stack { max-width: 900px; }
.page-company .h2 {
  font-size: clamp(2.75rem, 5.1vw, 4.5rem);
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 1;
}
.page-company > main > .section:first-of-type .lead {
  font-size: 1.72rem;
  letter-spacing: -0.02em;
  line-height: 1.56;
  max-width: 820px;
}

/* Pricing display type — live 7vw / 600 at 1440 = 100.8px. */
.page-pricing .hero-title {
  font-size: clamp(3rem, 7vw, 6.3rem);
  letter-spacing: -0.055em;
  line-height: 0.94;
}
.page-pricing > main > .section:first-of-type .lead {
  font-size: 1.6875rem; /* 27px */
  letter-spacing: -0.025em;
  line-height: 1.48;
  max-width: 820px;
}

/* Inner-page Particle Background sits behind the hero; later sections stay opaque. */
.page-company > main > .section:first-of-type,
.page-pricing > main > .section:first-of-type,
.page-workforce > main > .section:first-of-type,
.page-builder > main > .section:first-of-type,
.page-trust > main > .section:first-of-type {
  background: transparent;
}

/* Hero framing: the entire opening composition lands in the first viewport. */
.page-corvus main > .section:first-child,
.page-workforce main > .section:first-child,
.page-builder main > .section:first-child,
.page-trust main > .section:first-child,
.page-use-cases main > .section:first-child,
.page-pricing main > .section:first-child {
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding-top: calc(var(--nav-h) + 32px) !important;
  padding-bottom: 32px;
}

/* Corvus hero copy column + circular identity figure. */
.page-corvus .split--hero > .stack { max-width: 470px; }
.page-corvus .split--hero { align-items: center; overflow: hidden; gap: 48px; }
.page-corvus .figure {
  width: 100%;
  max-width: none;
  aspect-ratio: 1 / 1;
  left: 0;
}
.page-corvus .figure canvas { transform: scale(.86); transform-origin: center; }
.page-corvus .figure__orbit--outer { inset: 0; border-color: rgba(255, 247, 251, .18); }
.page-corvus .figure__orbit--middle { inset: 12%; border-color: rgba(230, 0, 115, .62); }
.page-corvus .figure__orbit--inner { inset: 24%; border-color: rgba(255, 247, 251, .82); }
.page-corvus .figure__pin--tl,
.page-corvus .figure__pin--bl { left: 2%; }
.page-corvus .figure__pin--tr,
.page-corvus .figure__pin--br { right: 2%; }
.page-corvus .figure__pin--tl,
.page-corvus .figure__pin--tr { top: 20%; }
.page-corvus .figure__pin--bl,
.page-corvus .figure__pin--br { bottom: 10%; }

/* Getting started: form sits high (live H2 y≈259); H1 sits lower (y≈484). */
.page-getting-started main > .section:first-child {
  padding-top: calc(var(--nav-h) + 32px) !important;
  padding-bottom: clamp(72px, 8vw, 112px);
}
.page-getting-started main > .section:first-child > .container { max-width: var(--container-sm); }
.page-getting-started .split--hero {
  min-height: calc(100svh - var(--nav-h) - 64px);
  align-items: center;
  grid-template-columns: minmax(0, 600px) minmax(0, 437px);
  gap: 83px;
}
.page-getting-started .getting-started__copy {
  padding-top: 112px;
  max-width: 611px;
}
.page-getting-started .hero-title { letter-spacing: -0.06em; }
.page-getting-started .getting-started__steps { margin-top: clamp(56px, 7vw, 96px); }
.page-getting-started #apply {
  min-height: 0;
  align-self: center;
  border-color: #fff;
  background: rgba(25, 7, 19, .76);
  backdrop-filter: blur(14px) saturate(1.35);
  -webkit-backdrop-filter: blur(14px) saturate(1.35);
}
.page-getting-started #apply .btn { width: 100%; }
.page-getting-started #apply input { min-height: 52px; }

/* Live pillar H1 tracking: Workforce −3.96px, Builder/Trust −4.104px at 72. */
.page-workforce .hero-title { letter-spacing: -0.055em; }
.page-builder .hero-title,
.page-trust .hero-title { letter-spacing: -0.057em; }
.page-corvus main > .section:first-child .container,
.page-workforce main > .section:first-child .container,
.page-builder main > .section:first-child .container,
.page-trust main > .section:first-child .container,
.page-use-cases main > .section:first-child .container { max-width: var(--container-sm); }
.page-corvus main > .section:first-child .container,
.page-workforce main > .section:first-child .container,
.page-builder main > .section:first-child .container,
.page-trust main > .section:first-child .container,
.page-use-cases main > .section:first-child .container { max-width: var(--container-sm); }

.page-workforce .h2,
.page-builder .h2,
.page-trust .h2,
.page-corvus .h2,
.page-use-cases .h2 {
  font-weight: 600;
  letter-spacing: -0.05em;
}

.page-workforce .workforce-emergence {
  font-size: 56px;
  max-width: 426px;
  line-height: 1.02;
  letter-spacing: -0.045em;
}

.page-company #origin .h2 { max-width: 415px; }

/* Scroll-height: live inner pages use taller (or shorter) section rhythm. */
.page-company { --section-y: clamp(110px, 12.5vw, 188px); }
.page-corvus { --section-y: clamp(120px, 13.6vw, 196px); }
.page-workforce { --section-y: clamp(120px, 13.8vw, 198px); }

/* Workforce inner sections mirror the live editorial scale without changing
   the already-tuned hero or particle diagram. */
@media (min-width: 901px) {
  .page-workforce main > .section:not(:first-child) .split {
    grid-template-columns: minmax(0, 40.5fr) minmax(0, 59.5fr);
    gap: 88px;
  }

  .page-workforce .workforce-composition .split {
    grid-template-columns: minmax(0, 44fr) minmax(0, 56fr);
  }
}

.page-workforce main > .section:not(:first-child) .h2 {
  font-size: clamp(2.25rem, 4vw, 3.2rem);
  line-height: 1.05;
}

.page-workforce main > .section:not(:first-child) .lead {
  font-size: 1.3125rem;
  line-height: 1.52;
}

.page-workforce .workforce-difference {
  padding-block: 110px;
}

.page-workforce .section--pink {
  background: #e22572;
}

.page-workforce .workforce-difference :is(.lead, .card__body) {
  color: #fff;
}

.page-workforce .workforce-promises {
  gap: 12px;
}

.page-workforce .workforce-promises .card {
  min-height: 188px;
  padding: 24px;
  gap: 12px;
}

.page-workforce .workforce-promises .card__body {
  line-height: 1.46;
}

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

.page-workforce .workforce-composition .flow__step {
  border-color: var(--text-invert) !important;
}

.page-workforce .workforce-composition .flow__step::after {
  background: var(--paper-soft);
}

.page-workforce .workforce-composition .flow :is(.eyebrow, .flow__body) {
  color: var(--text-invert) !important;
}

.page-workforce .workforce-composition .stack > div[style*="border-top"] {
  border-color: var(--text-invert) !important;
}

.page-workforce .workforce-composition .stack > div[style*="border-top"] .num {
  color: var(--pink-bright);
}

.page-workforce .workforce-composition .strip--pink {
  border-color: var(--pink);
  background: var(--pink);
  color: #fff;
}

.page-workforce .workforce-composition .strip--pink span {
  color: #fff !important;
}

@media (min-width: 901px) {
  .page-workforce .workforce-departments .h2 {
    max-width: 650px;
  }

  .page-workforce .workforce-departments .row {
    grid-template-columns: 100px 250px minmax(0, 1fr);
  }

  .page-workforce main > .section.workforce-loop .split {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 96px;
  }
}

.page-workforce .workforce-loop .grid-4 {
  gap: 52px;
}

.page-workforce .workforce-loop .card {
  position: relative;
  min-height: 150px;
}

.page-workforce .workforce-loop .card:not(:last-child)::after {
  content: "→";
  position: absolute;
  top: 50%;
  right: -39px;
  z-index: 2;
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  transform: translateY(-50%);
  background: var(--ink-900);
  color: var(--pink-bright);
  font-size: 20px;
  font-weight: 800;
}

@media (max-width: 900px) {
  .page-workforce .workforce-loop .grid-4 {
    gap: 16px;
  }

  .page-workforce .workforce-loop .card:not(:last-child)::after {
    content: "↓";
    top: auto;
    right: 18px;
    bottom: -22px;
    transform: none;
  }
}
.page-builder { --section-y: clamp(100px, 11.5vw, 176px); }
.page-use-cases { --section-y: clamp(64px, 7vw, 112px); }

/* Use-case chapters: keep the functional premise in view while its maturity
   sequence scrolls, matching the live editorial behavior. */
@media (min-width: 901px) {
  .page-use-cases :is(#executive, #product, #engineering, #sales, #marketing, #operations, #finance) .split {
    align-items: start;
  }
  .page-use-cases :is(#executive, #product, #engineering, #sales, #marketing, #operations, #finance) .split > .stack {
    position: sticky;
    top: calc(var(--nav-h) + 72px);
  }
}

.page-use-cases :is(#executive, #product, #engineering, #sales, #marketing, #operations, #finance) .display {
  font-size: 3.25rem !important;
  line-height: 1.05;
  font-weight: 600;
  letter-spacing: -0.05em;
}

.page-use-cases :is(#executive, #product, #engineering, #sales, #marketing, #operations, #finance) .h3 {
  font-size: 1.25rem;
  line-height: 1.38;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

/* Functional use-case chapters use a deliberately editorial treatment rather
   than the boxed section eyebrow used elsewhere on the site. */
.page-use-cases .usecase-chapter__eyebrow {
  padding: 0 !important;
  background: transparent !important;
  color: var(--pink-bright) !important;
  border-radius: 0 !important;
  line-height: 1.2 !important;
}

.page-use-cases .usecase-question {
  font-weight: 500;
  letter-spacing: 0;
}

.page-use-cases .usecase-question__ask {
  display: inline;
  margin-right: 10px;
  color: var(--pink-bright);
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.page-use-cases .usecase-config__label {
  padding: 0 !important;
  background: transparent !important;
  color: var(--text-faint) !important;
  border-radius: 0 !important;
}

.page-use-cases .usecase-config .chip {
  background: transparent;
  color: #fff;
}

.page-use-cases .usecase-config__governance {
  display: block;
  width: 100%;
  padding: 12px 0 0 !important;
  border-top: 1px solid var(--pink-bright);
  background: transparent !important;
  color: #fff !important;
  border-radius: 0 !important;
}

/* The paper section is intentionally flatter and quieter than content rules. */
.page-use-cases .section--paper .transfer {
  border-color: rgba(10, 10, 10, .28);
}
.page-use-cases .section--paper .transfer__note {
  color: #0a0a0a;
  font-size: 1.125rem;
  line-height: 1.45;
}
.page-use-cases .subnav {
  border-color: rgba(255, 247, 251, .18);
}

.figure--slot {
  width: 100%;
  max-width: 520px;
  aspect-ratio: 1 / 1;
  margin-inline: auto;
}

.section--tight { padding-block: clamp(64px, 7vw, 112px); }

/* Section colour treatments */
.section--pink {
  background: linear-gradient(135deg, #E4006E 0%, #F0007A 45%, #D1005F 100%);
  color: #fff;
}
.section--pink .eyebrow { color: rgba(255, 255, 255, 0.86); }
.section--pink .body,
.section--pink .body-sm { color: rgba(255, 255, 255, 0.88); }
.section--pink .badge { background: #fff; color: var(--pink-deep); }
.section--pink .num { color: #fff; }

.home .section--pink {
  background: linear-gradient(135deg, rgba(228, 0, 110, 0.88) 0%, rgba(255, 45, 122, 0.78) 45%, rgba(209, 0, 95, 0.88) 100%);
}

.section--paper {
  background: var(--paper-soft);
  color: var(--text-invert);
}
.section--paper .eyebrow { color: var(--text-invert); }
.section--paper .body,
.section--paper .body-sm,
.section--paper .lead,
.section--paper .row__body,
.section--paper .card__body,
.section--paper .pair__val,
.section--paper .flow__body,
.section--paper .compare__list li,
.section--paper .footer__links,
.section--paper .footer__legal { color: var(--text-invert); }
.section--paper .card {
  border-color: var(--text-invert);
  background: var(--paper-soft);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.section--paper .rule { background: var(--text-invert); }
.section--paper .rows,
.section--paper .row,
.section--paper .deflist,
.section--paper .deflist__item,
.section--paper .pairs,
.section--paper .pair,
.section--paper .flow,
.section--paper .flow__step,
.section--paper .compare,
.section--paper .compare__col,
.section--paper .compare__list li,
.section--paper .transfer,
.section--paper .strip { border-color: var(--text-invert); }
.section--paper .num { color: var(--text-invert); }

.section--plum { background: var(--plum-900); }
.section--surface { background: var(--ink-850); }
.section--solid { background: var(--ink-900); }

/* Homepage product overview: three primitives, then the two shared layers. */
.stack.stack-24.overview-stack > * + * { margin-top: 20px; }
.overview-layer {
  width: 100%;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  font-size: var(--fs-eyebrow);
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.15;
  text-transform: uppercase;
  text-align: center;
}
.overview-layer--governance {
  border: 1px solid rgba(255,255,255,.72);
  background: rgba(155,0,71,.18);
  color: #fff;
}
.overview-layer--gateway {
  background: #fff;
  color: var(--pink-deep);
}

/* Homepage product overview: three primitives, then the two shared layers. */
.stack.stack-24.overview-stack > * + * { margin-top: 20px; }
.overview-layer {
  width: 100%;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  font-size: var(--fs-eyebrow);
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.15;
  text-transform: uppercase;
  text-align: center;
}
.overview-layer--governance {
  border: 1px solid rgba(255,255,255,.72);
  background: rgba(155,0,71,.18);
  color: #fff;
}
.overview-layer--gateway {
  background: #fff;
  color: var(--pink-deep);
}

/* Grids */
.grid { display: grid; gap: 24px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Two column: heading left, supporting copy right */
.split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(32px, 5vw, 80px);
  align-items: start;
}
.split--hero { align-items: center; }

.stack   { display: flex; flex-direction: column; }
.stack-8  > * + * { margin-top: 8px; }
.stack-12 > * + * { margin-top: 12px; }
.stack-16 > * + * { margin-top: 16px; }
.stack-24 > * + * { margin-top: 24px; }
.stack-32 > * + * { margin-top: 32px; }
.stack-48 > * + * { margin-top: 48px; }
.stack-64 > * + * { margin-top: 64px; }

.center { text-align: center; }
.center .badge, .center .eyebrow, .badge.center-x, .eyebrow.center-x { align-self: center; }
.center-x { margin-inline: auto; }

.rule { height: 1px; background: var(--line); border: 0; margin: 0; }

/* --------------------------------------------------------------------------
   5. Buttons
   -------------------------------------------------------------------------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 26px;
  border-radius: 999px;
  font-size: var(--fs-sm);
  font-weight: 600;
  letter-spacing: -0.005em;
  line-height: 1;
  border: 1px solid transparent;
  transition: background-color 0.2s var(--ease), border-color 0.2s var(--ease),
              color 0.2s var(--ease), transform 0.2s var(--ease);
  white-space: nowrap;
}
.figure--diagram .figure__pin:has(br) {
  width: 152px;
  white-space: normal;
  line-height: 1.35;
}
.figure--diagram .figure__pin::after {
  content: "";
  position: absolute;
  width: 66px;
  border-top: 1px solid rgba(255, 247, 251, 0.42);
  transform-origin: left center;
  opacity: 1;
}
.figure--diagram .figure__pin::before {
  content: "";
  position: absolute;
  z-index: 4;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
}
.figure--diagram .figure__pin--tl::after { left: 100%; top: 100%; transform: rotate(38deg); }
.figure--diagram .figure__pin--tr::after { right: 100%; top: 100%; transform: rotate(142deg); transform-origin:right center; }
.figure--diagram .figure__pin--bl::after { left: 100%; bottom: 100%; transform: rotate(-38deg); }
.figure--diagram .figure__pin--br::after { right: 100%; bottom: 100%; transform: rotate(-142deg); transform-origin:right center; }
.figure--diagram .figure__pin--tl::before { left: calc(100% + 49px); top: calc(100% + 37px); }
.figure--diagram .figure__pin--tr::before { right: calc(100% + 49px); top: calc(100% + 37px); }
.figure--diagram .figure__pin--bl::before { left: calc(100% + 49px); bottom: calc(100% + 37px); }
.figure--diagram .figure__pin--br::before { right: calc(100% + 49px); bottom: calc(100% + 37px); }

.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }

.btn--primary {
  background: var(--pink-flat);
  color: #fff;
  box-shadow: none;
  text-shadow: none;
}
.btn--primary:hover { background: var(--pink-bright); }

.btn--ghost {
  border-color: var(--line-strong);
  color: var(--text);
}
.btn--ghost:hover { border-color: var(--text); background: rgba(255, 255, 255, 0.06); }

.section--pink .btn--ghost { border-color: rgba(255, 255, 255, 0.7); color: #fff; }
.section--pink .btn--primary { background: #fff; color: var(--pink-deep); box-shadow: none; }

.section--paper .btn--ghost { border-color: rgba(10, 6, 11, 0.3); color: var(--text-invert); }
.section--paper .btn--ghost:hover { background: rgba(10, 6, 11, 0.05); border-color: var(--text-invert); }

.btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
}

/* Text link with arrow */
.link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: var(--fs-sm);
  font-weight: 600;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s var(--ease), color 0.2s var(--ease), gap 0.2s var(--ease);
}
.link:hover { border-color: currentColor; gap: 12px; }
.link--pink { color: var(--pink-bright); }

.scroll-cue {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: var(--fs-xs);
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff; /* live cue is solid white, same family as the wordmark — not ALPHA pink */
}
.scroll-cue span[aria-hidden] { color: #fff; }
.home__cue,
.home__cue.is-visible {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 100%;
  position: absolute;
  left: 0;
  right: 0;
  bottom: clamp(72px, 13vh, 140px); /* live cue top ≈744 at 1440×900 */
  opacity: var(--cue-opacity, 1);
  transition: opacity .18s linear;
  will-change: opacity;
}

/* The moving particles can cross behind free-flowing copy. Keep that copy
   optically white and give only the reading text a restrained separation
   shadow. Chips, headings, controls, and the solid pink stage stay flat. */
.home .section:not(.section--pink) :is(
  .lead, .body, .body-sm, .row__body, .card__body, .pair__val,
  .flow__body, .compare__list li
) {
  color: #fff;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .72);
}
.home :is(.badge, .eyebrow, .btn, .section--pink *) { text-shadow: none; }

/* At the physical end of the page, the complete closing argument remains
   framed above the footer rather than being clipped below the fold. */
.home #closing {
  min-height: calc(100svh - 72px);
  padding-block: clamp(72px, 8vh, 112px);
}

/* --------------------------------------------------------------------------
   6. Cards, rows, tiles
   -------------------------------------------------------------------------- */
.card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 22px 22px 28px;
  border: 1px solid #fff;
  background: rgba(9, 6, 10, 0.44);
  backdrop-filter: blur(14px) saturate(1.35);
  -webkit-backdrop-filter: blur(14px) saturate(1.35);
  min-height: 100%;
  transition: border-color 0.25s var(--ease), background-color 0.25s var(--ease),
              transform 0.25s var(--ease);
}
.card:hover { border-color: #fff; transform: translateY(-2px); }
.card__title,
.card__name { font-size: 1.25rem; font-weight: 600; letter-spacing: -0.02em; line-height: 1.15; }
.card__body  { font-size: clamp(0.9375rem, 1.1vw, 1rem); line-height: 1.55; color: var(--text-dim); }
.card--accent { background: linear-gradient(160deg, rgba(230, 0, 115, 0.18), rgba(230, 0, 115, 0.02)); border-color: #fff; }
.card--flush { padding: 0; border: 0; background: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.card--flush:hover { transform: none; }

.section--pink .card {
  border-color: #fff;
  background: transparent;
  backdrop-filter: blur(14px) saturate(1.35);
  -webkit-backdrop-filter: blur(14px) saturate(1.35);
}
.section--pink .card__body { color: rgba(255, 255, 255, 0.9); }

/* Numbered row list: 01 | title | description */
.rows { border-top: 1px solid var(--line); }
.row {
  display: grid;
  grid-template-columns: 64px minmax(160px, 0.9fr) minmax(0, 1.6fr);
  gap: 24px;
  align-items: start;
  padding: 26px 0;
  border-bottom: 1px solid var(--line);
}
.row__title,
.kicker { font-size: clamp(1.125rem, 1.7vw, 1.375rem); font-weight: 600; letter-spacing: -0.02em; line-height: 1.15; }
.row__body  { font-size: clamp(0.9375rem, 1.15vw, 1rem); line-height: 1.5; color: var(--text-dim); }
.row--2col { grid-template-columns: 64px minmax(0, 1fr); }
.row--tag  { grid-template-columns: 64px minmax(160px, 0.85fr) minmax(0, 1.4fr) 200px; }
@media (min-width: 1041px) {
  .row--tag > :last-child { justify-self: end; text-align: right; }
}
@media (min-width: 1041px) {
  .row--tag > :last-child { justify-self: end; text-align: right; }
}

/* Definition list style: label above value, divided */
.deflist { border-top: 1px solid var(--line); }
.deflist__item {
  display: grid;
  grid-template-columns: minmax(140px, 0.5fr) minmax(0, 1.5fr);
  gap: 24px;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
}
.deflist__label {
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pink-bright);
}
.deflist__hint {
  display: block;
  margin-top: 6px;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-faint);
}
.deflist__value { font-size: clamp(1rem, 1.45vw, 1.25rem); line-height: 1.5; letter-spacing: -0.015em; }

/* Small labelled pair list inside a card */
.pairs { border-top: 1px solid var(--line); }
.pair {
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.pair__key  { font-size: var(--fs-sm); font-weight: 600; }
.pair__val  { font-size: var(--fs-xs); color: var(--text-faint); margin-top: 2px; }
.pair--inline { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.pair--inline .pair__val { margin-top: 0; letter-spacing: 0.1em; text-transform: uppercase; }

/* Chip / tag */
.chip {
  display: inline-block;
  padding: 6px 11px;
  border: 1px solid var(--line-strong);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1;
  border-radius: 3px;
}

/* Structural section labels use the same flat white lozenge as the homepage.
   Small labels inside cards, tables, diagrams, and forms remain plain text. */
.section > .container > .eyebrow,
.section > .container > .stack > .eyebrow,
.section > .container > .stack > .stack > .eyebrow,
.section > .container > .split > .eyebrow,
.section > .container > .split > .stack > .eyebrow,
.section > .container > .center > .eyebrow,
.section > .container > .stack > .split > .stack > .eyebrow {
  padding: 7px 12px 6px;
  background: var(--paper);
  color: var(--text-invert);
  border-radius: 3px;
  line-height: 1;
  text-shadow: none;
  box-shadow: none;
}

.section--pink > .container > .eyebrow,
.section--pink > .container > .stack > .eyebrow,
.section--pink > .container > .stack > .stack > .eyebrow,
.section--pink > .container > .split > .eyebrow,
.section--pink > .container > .split > .stack > .eyebrow,
.section--pink > .container > .center > .eyebrow,
.section--pink > .container > .stack > .split > .stack > .eyebrow {
  color: var(--pink-deep);
}
.chip--solid { background: var(--paper); color: var(--text-invert); border-color: var(--paper); }
.chip--pink  { border-color: var(--pink-bright); color: var(--pink-bright); }
.chip-row { display: flex; flex-wrap: wrap; gap: 8px; }

/* Stat */
.stat__value {
  font-size: clamp(3.25rem, 7vw, 5.5rem);
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 0.95;
}
.stat__label { margin-top: 12px; font-size: var(--fs-sm); line-height: 1.45; }
.stat--ruled { padding-left: 28px; border-left: 1px solid #fff; }

/* Pull quote with pink bar */
.pullquote {
  border-left: 3px solid var(--pink);
  padding-left: 28px;
  font-size: clamp(1.5rem, 2.9vw, 2.5rem);
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 1.2;
}
.pullquote strong { font-weight: 700; }

/* Banner strip */
.strip {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
  justify-content: center;
  padding: 18px 24px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 14px;
  font-size: var(--fs-eyebrow);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-align: center;
}
.strip--solid { background: var(--paper); color: var(--text-invert); border-color: var(--paper); }
.strip--pink { background: rgba(230, 0, 115, 0.14); border-color: #fff; color: var(--text); }

/* Flow: horizontal steps with arrows */
.flow {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0;
  border-top: 0;
  border-bottom: 1px solid var(--line);
}
.flow__step {
  position: relative;
  padding: 26px 24px 30px;
  border-left: 1px solid var(--line);
}
.flow__step:first-child { border-left: 0; }
.flow__step::after {
  content: "→";
  position: absolute;
  right: -9px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--pink-bright);
  font-size: 14px;
  background: var(--ink-900);
  padding: 2px 1px;
}
.flow__step:last-child::after { content: none; }
.flow__step--hl { background: linear-gradient(180deg, rgba(230,0,115,0.16), rgba(230,0,115,0.02)); }
.flow__title,
.flow__kicker { margin-top: 14px; font-size: clamp(1.0625rem, 1.4vw, 1.25rem); font-weight: 600; letter-spacing: -0.02em; }
.flow__body  { margin-top: 8px; font-size: clamp(0.875rem, 1.05vw, 1rem); color: var(--text-dim); }

.section--paper .flow__step::after { background: var(--paper); }
.section--pink  .flow__step::after { background: #E7006F; color: #fff; }

/* Compare table (fragmented vs corveil) */
.compare { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 14px; }
.compare__col { padding: 28px 26px 32px; }
.compare__col + .compare__col { border-left: 1px solid var(--line); }
.compare__col--good { background: linear-gradient(180deg, rgba(230,0,115,0.12), transparent 70%); }
.compare__head { font-size: var(--fs-eyebrow); font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
.compare__list { margin-top: 20px; }
.compare__list li {
  padding: 13px 0;
  border-top: 1px solid var(--line);
  font-size: var(--fs-sm);
  line-height: 1.45;
  color: var(--text-dim);
}

/* Transfer card: learned in → delivered to */
.transfer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
}
.transfer__arrow { text-align: center; color: var(--pink-bright); font-size: 18px; }
.transfer__kicker { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-faint); }
.transfer__name { margin-top: 4px; font-size: 1.125rem; font-weight: 600; letter-spacing: -0.01em; }
.transfer__note { margin-top: 4px; font-size: var(--fs-sm); color: var(--text-dim); }
.transfer__foot { grid-column: 1 / -1; font-size: var(--fs-sm); color: var(--text-faint); }

/* Gateway diagram */
.gateway { display: grid; gap: 10px; text-align: center; }
.gateway__tier {
  padding: 16px 20px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 14px;
  font-size: var(--fs-eyebrow);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.gateway__tier--clients { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; border: 0; padding: 0; }
.gateway__tier--main { background: var(--paper); color: var(--text-invert); border-color: var(--paper); }
.gateway__tier--pink { border-color: #fff; color: var(--pink-bright); }
.gateway__link { color: var(--pink-bright); font-size: 18px; }

/* --------------------------------------------------------------------------
   7. Navigation
   -------------------------------------------------------------------------- */
.nav {
  position: fixed;
  inset: 0 0 auto 0;
  height: var(--nav-h);
  z-index: 100;
  display: flex;
  align-items: center;
  padding-inline: var(--gutter);
  transition: background-color 0.3s var(--ease), backdrop-filter 0.3s var(--ease);
  border: 0;
}
.nav.is-stuck {
  background: rgba(10, 6, 11, 0.42);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.nav__inner {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
}

.nav__logo {
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.nav__links {
  display: flex;
  align-items: center;
  gap: 28px;
  font-size: var(--fs-sm);
  font-weight: 500;
}
.nav__links a, .nav__links button { color: var(--text); transition: color 0.2s var(--ease); }
.nav__links a:hover, .nav__links button:hover, .nav__links a[aria-current="page"] { color: var(--text); }

.nav__end { display: flex; justify-content: flex-end; align-items: center; gap: 20px; font-size: var(--fs-sm); font-weight: 500; }

/* Platform dropdown */
.dropdown { position: relative; }
.dropdown__trigger {
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding: 12px 0;
  line-height: 1;
}
.dropdown__caret { display: none; }
.dropdown[data-open="true"] .dropdown__caret { transform: rotate(180deg); }
.dropdown__menu {
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  transform: translateY(-6px);
  min-width: 208px;
  padding: 8px;
  background: rgba(15, 10, 17, 0.78);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 14px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.18s var(--ease), transform 0.18s var(--ease), visibility 0.18s;
}
.dropdown[data-open="true"] .dropdown__trigger { color: var(--accent); }
.dropdown[data-open="true"] .dropdown__menu { opacity: 1; visibility: visible; transform: translateY(0); }
.dropdown__menu a {
  display: block;
  padding: 10px 12px;
  font-size: var(--fs-sm);
  color: var(--text);
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}
.dropdown__menu a:last-child { border-bottom: 0; }
.dropdown__menu a:hover { color: var(--accent); background: transparent; }

/* Mobile menu toggle */
.nav__toggle {
  display: none;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  margin-right: -8px;
}
.nav__toggle span {
  display: block;
  position: relative;
  width: 20px;
  height: 1.5px;
  background: var(--text);
  transition: background-color 0.2s var(--ease);
}
.nav__toggle span::before,
.nav__toggle span::after {
  content: "";
  position: absolute;
  left: 0;
  width: 20px;
  height: 1.5px;
  background: var(--text);
  transition: transform 0.25s var(--ease);
}
.nav__toggle span::before { top: -6px; }
.nav__toggle span::after  { top: 6px; }
body.menu-open .nav__toggle span,
body.menu-open .nav__toggle span::before,
body.menu-open .nav__toggle span::after { background: var(--pink-bright); }

/* Mobile and tablet drawer */
.menu-backdrop {
  position: fixed;
  inset: 0;
  z-index: 105;
  display: block;
  border: 0;
  background: rgba(9, 6, 10, 0.28);
  opacity: 0;
  visibility: hidden;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: opacity 0.28s var(--ease), visibility 0.28s;
}
.menu {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 110;
  width: min(460px, 72vw);
  height: 100dvh;
  background: rgba(9, 6, 10, 0.96);
  padding: calc(var(--nav-h) + 20px) 28px 40px;
  overflow-y: auto;
  visibility: hidden;
  transform: translateX(-101%);
  transition: transform 0.3s var(--ease), visibility 0.3s;
}
body.menu-open .menu { visibility: visible; transform: translateX(0); }
body.menu-open .menu-backdrop { opacity: 1; visibility: visible; }
body.menu-open { overflow: hidden; }
.menu__close {
  position: absolute;
  top: 22px;
  right: 28px;
  color: var(--text);
  font-size: 30px;
  font-weight: 300;
  line-height: 1;
}
.menu__nav { border-top: 1px solid rgba(255,255,255,.72); }
.menu__nav > a,
.menu__platform {
  display: block;
  border-bottom: 1px solid rgba(255,255,255,.72);
}
.menu__nav > a {
  padding: 18px 0;
  color: var(--text);
  font-size: 1.0625rem;
  font-weight: 500;
}
.menu__label {
  padding: 18px 0 10px;
  color: var(--text);
  font-size: 1.0625rem;
  font-weight: 600;
}
.menu__nested {
  display: block;
  padding: 8px 0 8px 24px;
  color: var(--text);
  font-size: 1rem;
}
.menu__nested:last-child { padding-bottom: 18px; }

/* --------------------------------------------------------------------------
   8. Particle canvases
   -------------------------------------------------------------------------- */
.field {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.field canvas { width: 100%; height: 100%; }

.figure {
  position: relative;
  aspect-ratio: 1 / 1;
  width: 100%;
  max-width: 520px;
  margin-inline: auto;
}
.figure canvas { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; }
.figure__label {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  min-width: 160px;
  padding: 11px 15px 12px;
  border: 1px solid #fff;
  background: rgba(9, 6, 10, 0.44);
  backdrop-filter: blur(14px) saturate(1.35);
  -webkit-backdrop-filter: blur(14px) saturate(1.35);
  text-align: center;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.25;
}
.figure__pin {
  position: absolute;
  z-index: 3;
  width: 152px;
  padding: 10px 12px;
  border: 1px solid #fff;
  background: rgba(9, 6, 10, 0.44);
  font-size: 9px;
  font-weight: 400;
  letter-spacing: normal;
  text-transform: none;
  line-height: 1.35;
  white-space: normal;
}
.figure__pin strong {
  display: block;
  margin-bottom: 4px;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 1.17px;
  line-height: 1.1;
  text-transform: uppercase;
}
.figure__pin:not(:has(br)) {
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 1.17px;
  text-transform: uppercase;
}
.figure--diagram .figure__pin:has(br) {
  width: 152px;
  white-space: normal;
  line-height: 1.35;
}
.figure--diagram .figure__pin::after {
  content: "";
  position: absolute;
  width: 66px;
  border-top: 1px solid rgba(255, 247, 251, 0.42);
  transform-origin: left center;
  opacity: 1;
}
.figure--diagram .figure__pin::before {
  content: "";
  position: absolute;
  z-index: 4;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
}
.figure--diagram .figure__pin--tl::after { left: 100%; top: 100%; transform: rotate(38deg); }
.figure--diagram .figure__pin--tr::after { right: 100%; top: 100%; transform: rotate(142deg); transform-origin:right center; }
.figure--diagram .figure__pin--bl::after { left: 100%; bottom: 100%; transform: rotate(-38deg); }
.figure--diagram .figure__pin--br::after { right: 100%; bottom: 100%; transform: rotate(-142deg); transform-origin:right center; }
.figure--diagram .figure__pin--tl::before { left: calc(100% + 49px); top: calc(100% + 37px); }
.figure--diagram .figure__pin--tr::before { right: calc(100% + 49px); top: calc(100% + 37px); }
.figure--diagram .figure__pin--bl::before { left: calc(100% + 49px); bottom: calc(100% + 37px); }
.figure--diagram .figure__pin--br::before { right: calc(100% + 49px); bottom: calc(100% + 37px); }
.figure__pin--tl { top: 6%;  left: -4%; }
.figure__pin--tr { top: 16%; right: -6%; }
.figure__pin--bl { bottom: 18%; left: -8%; }
.figure__pin--br { bottom: 4%;  right: -2%; }
.figure__caption {
  margin-top: 18px;
  text-align: center;
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-faint);
}

/* Pillar identity diagrams */
.figure--diagram { overflow: visible; }
.figure__orbit,
.figure__diamond {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}
.figure__orbit { border: 1px solid rgba(255, 247, 251, 0.22); border-radius: 50%; }
.figure__orbit--outer { inset: 2%; }
.figure__orbit--middle { inset: 18%; border-color: rgba(255, 247, 251, 0.34); }
.figure__orbit--inner { inset: 34%; border-color: rgba(255, 247, 251, 0.46); }
.figure__diamond {
  inset: 14%;
  border: 1px solid rgba(255, 247, 251, 0.30);
  transform: rotate(45deg);
}
.figure__label--glass,
.figure__pin--glass {
  background: rgba(9, 6, 10, .44);
  border-color: #fff;
  backdrop-filter: blur(14px) saturate(1.35);
  -webkit-backdrop-filter: blur(14px) saturate(1.35);
}
.figure__label strong {
  display:block;
  font-size: 0.6875rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform: uppercase;
}
.figure__label span {
  display:block;
  margin-top: 4px;
  font-size: 0.6875rem;
  font-weight:400;
  letter-spacing: 0;
  text-transform: none;
}

/* Pillar identity diagrams use quiet framing geometry instead of pointer
   callouts. The frames sit above the particles and below every glass label. */
:is(.page-corvus, .page-workforce, .page-builder, .page-trust)
  .figure--diagram .figure__pin::before,
:is(.page-corvus, .page-workforce, .page-builder, .page-trust)
  .figure--diagram .figure__pin::after {
  content: none;
}

.page-workforce .figure--diagram::before,
.page-builder .figure--diagram::before {
  content: "";
  position: absolute;
  z-index: 1;
  pointer-events: none;
  border: 1px solid rgba(255, 247, 251, .34);
}
.page-workforce .figure--diagram::before {
  inset: 13%;
  border-radius: 50%;
}
.page-builder .figure--diagram::before {
  inset: 22%;
  transform: rotate(45deg);
}
.page-corvus .figure__label { min-width: 170px; }
.page-corvus .figure--diagram .figure__pin::after { width: 120px; }
.page-corvus .figure--diagram .figure__pin--tl::before { left: calc(100% + 92px); top: calc(100% + 72px); }
.page-corvus .figure--diagram .figure__pin--tr::before { right: calc(100% + 92px); top: calc(100% + 72px); }
.page-corvus .figure--diagram .figure__pin--bl::before { left: calc(100% + 92px); bottom: calc(100% + 72px); }
.page-corvus .figure--diagram .figure__pin--br::before { right: calc(100% + 92px); bottom: calc(100% + 72px); }

.page-workforce .figure--diagram .figure__pin:has(br) {
  width: 130px;
  padding: 9px 10px;
  font-size: .5rem;
  line-height: 1.25;
}
.page-workforce .figure__pin strong { margin-bottom: 5px; font-size: .5rem; }
.page-workforce .figure__pin--tl,
.page-workforce .figure__pin--tr { top: 7%; }
.page-workforce .figure__pin--bl,
.page-workforce .figure__pin--br { bottom: 7%; }
.page-workforce .figure__pin--tl,
.page-workforce .figure__pin--bl { left: 0; }
.page-workforce .figure__pin--tr,
.page-workforce .figure__pin--br { right: 0; }
.page-workforce .figure__label { min-width: 152px; padding: 15px 15px 16px; }
.page-workforce .figure--diagram .figure__pin::after {
  width: 110px;
  border: 0;
  height: 1px;
  background: repeating-linear-gradient(90deg, rgba(230,0,115,.42) 0 2px, transparent 2px 7px);
}
.page-workforce .figure--diagram .figure__pin::before { background: var(--pink); }
.page-workforce .figure--diagram .figure__pin--tl::before { left: calc(100% + 84px); top: calc(100% + 65px); }
.page-workforce .figure--diagram .figure__pin--tr::before { right: calc(100% + 84px); top: calc(100% + 65px); }
.page-workforce .figure--diagram .figure__pin--bl::before { left: calc(100% + 84px); bottom: calc(100% + 65px); }
.page-workforce .figure--diagram .figure__pin--br::before { right: calc(100% + 84px); bottom: calc(100% + 65px); }

.page-builder .figure__pin { width: 100px; min-height: 32px; padding: 8px 10px; text-align: center; }
.page-builder .figure__pin--tl,
.page-builder .figure__pin--tr { top: 8%; }
.page-builder .figure__pin--bl,
.page-builder .figure__pin--br { bottom: 8%; }
.page-builder .figure__pin--tl,
.page-builder .figure__pin--bl { left: 0; }
.page-builder .figure__pin--tr,
.page-builder .figure__pin--br { right: 0; }
.page-builder .figure--diagram .figure__pin::before,
.page-builder .figure--diagram .figure__pin::after { content: none; }

.page-trust .figure--diagram .figure__pin::before,
.page-trust .figure--diagram .figure__pin::after { content: none; }
.page-builder .figure__label { min-width: 160px; padding: 16px 15px 17px; }

/* --------------------------------------------------------------------------
   9. Function index (Use Cases sticky sub-nav)
   -------------------------------------------------------------------------- */
.subnav {
  position: sticky;
  top: var(--nav-h);
  z-index: 40;
  background: rgba(9, 6, 10, 0.9);
  backdrop-filter: blur(12px);
  border-block: 1px solid var(--line);
}
.subnav__inner {
  max-width: var(--container);
  margin-inline: auto;
  padding: 16px var(--gutter);
  display: flex;
  align-items: center;
  gap: 26px;
  overflow-x: auto;
  scrollbar-width: none;
}
.subnav__inner::-webkit-scrollbar { display: none; }
.subnav__label {
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pink-bright);
  white-space: nowrap;
}
.subnav a { font-size: var(--fs-sm); font-weight: 500; color: var(--text-dim); white-space: nowrap; }
.subnav a:hover, .subnav a.is-active { color: var(--text); }

/* --------------------------------------------------------------------------
   10. Form (design partner application)
   -------------------------------------------------------------------------- */
.form { display: grid; gap: 22px; }
.form__legend {
  font-size: var(--fs-eyebrow);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pink-bright);
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}
.field-group { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.field-row { display: flex; flex-direction: column; gap: 8px; }
.field-row label { font-size: var(--fs-sm); font-weight: 600; }
.field-row input,
.field-row select {
  padding: 13px 14px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 14px;
  color: var(--text);
  font: inherit;
  font-size: var(--fs-sm);
  border-radius: 0;
}
.field-row input:focus,
.field-row select:focus { border-color: var(--pink-bright); outline: none; }
.field-row select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--text-faint) 50%), linear-gradient(135deg, var(--text-faint) 50%, transparent 50%); background-position: calc(100% - 18px) 55%, calc(100% - 13px) 55%; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
.checks { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.check { display: flex; align-items: center; gap: 10px; font-size: var(--fs-sm); cursor: pointer; }
.check input { accent-color: var(--pink); width: 16px; height: 16px; }
.form__note { font-size: var(--fs-xs); color: var(--text-faint); line-height: 1.5; }

/* --------------------------------------------------------------------------
   11. Footer
   -------------------------------------------------------------------------- */
.footer {
  position: relative;
  z-index: 1;
  padding: 72px var(--gutter) 40px;
  border-top: 0;
  background: var(--ink-900);
}
.footer__inner {
  max-width: var(--container);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 40px;
}
.footer__links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px 48px;
  font-size: var(--fs-sm);
  color: var(--text-dim);
}
.footer__col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.footer__heading {
  margin: 0 0 4px;
  font-size: var(--fs-eyebrow);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-faint);
}
.footer__col a { color: var(--text-dim); transition: color 0.2s var(--ease); }
.footer__col a:hover,
.footer__col a[aria-current="page"] { color: var(--text); }
.footer__legal {
  margin: 0;
  padding-top: 24px;
  border-top: 1px solid var(--line);
  font-size: var(--fs-xs);
  color: var(--text-faint);
}

/* Thin footer — matches nav frosted glass treatment */
/* Final section viewport framing — dark bg, centered between nav and footer */
main > section:last-child,
main > .uc-final {
  min-height: calc(100svh - 60px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: var(--nav-h);
}
main > section:last-child:not(.section--pink):not(.section--plum) {
  background: rgba(10, 6, 11, 0.82);
}
main > section:last-child > .container,
main > section:last-child > div {
  width: 100%;
}

.footer--thin {
  position: relative;
  padding: 0;
  border: 0;
  background: transparent;
}
.footer--thin .footer__inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 20px 0;
  border: 0;
}
.footer__tagline {
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--text);
  white-space: nowrap;
}
.footer__center {
  display: flex;
  gap: 28px;
  font-size: 0.8125rem;
}
.footer__center a { color: var(--text-dim); transition: color 0.2s var(--ease); }
.footer__center a:hover { color: var(--text); }
.footer--thin .footer__legal {
  padding: 0;
  border: 0;
  white-space: nowrap;
  text-align: right;
}




/* Corvus interior parity — scoped; hero, closing CTA, navigation and footer excluded. */
.page-corvus .corvus-deep-dive{--corvus-ink:#09060a;--corvus-ink-2:#0d0910;--corvus-white:#fff;--corvus-pink:#f00072;--corvus-line:rgba(255,255,255,.72);width:100%;overflow:hidden;background:var(--corvus-ink);color:var(--corvus-white);font-family:Inter,"IBM Plex Sans",ui-sans-serif,system-ui,sans-serif}
.page-corvus .corvus-deep-dive *,.page-corvus .corvus-deep-dive ::before,.page-corvus .corvus-deep-dive ::after{box-sizing:border-box}
.page-corvus .corvus-section{position:relative;padding:clamp(96px,11vw,168px) 40px;background:var(--corvus-ink)}
.page-corvus .corvus-section:nth-child(2n){background:var(--corvus-ink-2)}
.page-corvus .corvus-wrap{width:100%;max-width:var(--container);margin-inline:auto}
.page-corvus .corvus-eyebrow{display:inline-flex;width:fit-content;max-width:100%;padding:7px 11px;background:#fff;color:#09060a;border-radius:3px;font-size:13px;line-height:1.2;font-weight:800;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.page-corvus .corvus-title{max-width:940px;margin:28px 0 22px;color:#fffafc;font-size:52px;line-height:1.05;letter-spacing:-.045em;font-weight:520}
.page-corvus .corvus-lede{max-width:780px;margin:0;color:#fff;font-size:23px;line-height:1.55}
.page-corvus .corvus-kicker{color:var(--corvus-pink);font-weight:800}
.page-corvus .corvus-system{display:grid;grid-template-columns:1fr 48px 1fr 48px 1fr;align-items:stretch;margin-top:64px}
.page-corvus .corvus-system__stage{min-height:420px;padding:28px;border:1px solid var(--corvus-line);background:rgba(9,6,10,.62);display:flex;flex-direction:column}
.page-corvus .corvus-system__stage--core{background:linear-gradient(rgba(240,0,114,.18),rgba(9,6,10,.72));border-color:#fff}
.page-corvus .corvus-system__num{color:#fff;font-size:13px;font-weight:800;letter-spacing:1.56px}
.page-corvus .corvus-system__stage h3{margin:40px 0 12px;font-size:32px;line-height:1;letter-spacing:-0.8px;font-weight:700}
.page-corvus .corvus-system__stage p{margin:0;color:#fff;font-size:17px;font-weight:400;line-height:1.55}
.page-corvus .corvus-system__arrow{display:grid;place-items:center;color:var(--corvus-pink);font-size:26px;font-weight:800}
.page-corvus .corvus-modality-list,.page-corvus .corvus-output-list{margin-top:30px;border-top:1px solid rgba(255,255,255,.72)}
.page-corvus .corvus-modality-row,.page-corvus .corvus-output-list>div{display:grid;gap:6px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.72)}
.page-corvus .corvus-modality-row strong,.page-corvus .corvus-output-list strong{color:#fff;font-size:14px;line-height:1.2}
.page-corvus .corvus-modality-row span,.page-corvus .corvus-output-list span{color:#fff;font-size:12px;line-height:1.35}
.page-corvus .corvus-memory-layers{margin-top:28px;border:1px solid #fff}
.page-corvus .corvus-memory-layer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 13px;border-bottom:1px solid rgba(255,255,255,.72)}
.page-corvus .corvus-memory-layer:last-child{border-bottom:0}.page-corvus .corvus-memory-layer span{color:#fff;font-size:13px;font-weight:750}.page-corvus .corvus-memory-layer small{color:#fff;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.page-corvus .corvus-memory-operations{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.page-corvus .corvus-memory-operations span{padding:6px 8px;border:1px solid rgba(255,255,255,.68);color:#fff;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.page-corvus .corvus-proof{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(48px,8vw,116px);align-items:center}.page-corvus .corvus-proof .corvus-title{font-size:52px}
.page-corvus .corvus-context-map{border-top:1px solid #fff;border-bottom:1px solid #fff}.page-corvus .corvus-context-map__bar{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #fff;color:#fff;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.page-corvus .corvus-context-flow{display:grid;grid-template-columns:1fr 92px 1fr;gap:18px;align-items:center;padding:25px 0 19px;border-bottom:1px solid rgba(255,255,255,.72)}.page-corvus .corvus-context-node{display:grid;gap:7px}.page-corvus .corvus-context-node small{color:#fff;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.page-corvus .corvus-context-node strong{color:#fff;font-size:19px;line-height:1.15}.page-corvus .corvus-context-node span{color:#fff;font-size:14px;line-height:1.4}.page-corvus .corvus-context-bridge{display:grid;justify-items:center;gap:6px;color:#fff;text-align:center}.page-corvus .corvus-context-bridge span{font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.page-corvus .corvus-context-bridge b{font-size:24px;line-height:1}.page-corvus .corvus-context-source{grid-column:1/-1;margin:8px 0 0;color:#fff;font-size:12px;line-height:1.4}.page-corvus .corvus-context-close{margin:0;padding:19px 0;color:#fff;font-size:17px;font-weight:750;line-height:1.4}
.page-corvus .corvus-section--technical{background:#0d090e}.page-corvus .corvus-tech__intro{max-width:980px}.page-corvus .corvus-tech__closer{max-width:800px;margin:26px 0 0;color:#fff;font-size:23px;font-weight:400;line-height:1.55}.page-corvus .corvus-tech-stack{margin-top:64px;border-bottom:1px solid #fff}.page-corvus .corvus-tech-row{display:grid;grid-template-columns:48px minmax(210px,.72fr) 1.28fr;gap:26px;align-items:baseline;padding:23px 0;border-top:1px solid #fff}.page-corvus .corvus-tech-row>span{color:#fff;font-size:13px;font-weight:850;letter-spacing:.1em}.page-corvus .corvus-tech-row h3{margin:0;color:#fff;font-size:22px;font-weight:700;line-height:1.2;letter-spacing:normal}.page-corvus .corvus-tech-row p{margin:0;color:#fff;font-size:17px;font-weight:400;line-height:1.5}.page-corvus .corvus-tech-aside{max-width:1080px;margin:72px 0 0;padding-left:28px;border-left:4px solid var(--corvus-pink);color:#fff;font-size:clamp(22px,2.5vw,32px);font-weight:400;line-height:1.35;letter-spacing:-0.5px}.page-corvus .corvus-tech-aside strong{font-weight:750}
.page-corvus .corvus-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:58px}.page-corvus .corvus-trust-card{min-height:290px;padding:28px;border:1px solid #fff;background:transparent}.page-corvus .corvus-trust-card__num{font-size:13px;font-weight:800}.page-corvus .corvus-trust-card h3{margin:50px 0 16px;font-size:26px;font-weight:700;line-height:1.15}.page-corvus .corvus-trust-card p{margin:0;color:#fff;font-size:17px;font-weight:400;line-height:1.55}
.page-corvus .corvus-path{display:grid;grid-template-columns:repeat(4,1fr);margin-top:62px;border-top:1px solid #fff;border-bottom:1px solid #fff}.page-corvus .corvus-path__step{position:relative;min-height:230px;padding:26px 24px;border-right:1px solid #fff}.page-corvus .corvus-path__step:last-child{border-right:0;background:rgba(240,0,114,.16)}.page-corvus .corvus-path__step span{font-size:13px;font-weight:800}.page-corvus .corvus-path__step h3{margin:68px 0 0;font-size:23px;font-weight:700;line-height:1.2}.page-corvus .corvus-path__step:not(:last-child)::after{content:"→";position:absolute;right:-15px;top:50%;z-index:2;width:30px;height:30px;display:grid;place-items:center;transform:translateY(-50%);background:var(--corvus-ink);color:var(--corvus-pink);font-weight:800}
.page-corvus .corvus-handoff{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(48px,8vw,100px);align-items:start}.page-corvus .corvus-handoff__cards{display:grid;gap:16px}.page-corvus .corvus-handoff-card{display:block;padding:28px;border:1px solid #fff;color:inherit;text-decoration:none;transition:background .2s,color .2s}.page-corvus .corvus-handoff-card:hover{background:#fff;color:#09060a}.page-corvus .corvus-handoff-card span{font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.page-corvus .corvus-handoff-card h3{margin:34px 0 10px;font-size:26px;font-weight:700;line-height:1.15}.page-corvus .corvus-handoff-card p{margin:0;font-size:17px;line-height:1.5}.page-corvus .corvus-loopline{margin-top:18px;color:#fff;font-size:16px;line-height:1.55}
@media(max-width:809px){.page-corvus .corvus-section{padding:88px 20px}.page-corvus .corvus-eyebrow{font-size:10px;letter-spacing:.09em}.page-corvus .corvus-title,.page-corvus .corvus-proof .corvus-title{font-size:clamp(34px,10vw,52px);line-height:1.05;margin-top:22px}.page-corvus .corvus-lede{font-size:18px}.page-corvus .corvus-system{grid-template-columns:1fr;margin-top:42px}.page-corvus .corvus-system__stage{min-height:0;padding:24px}.page-corvus .corvus-system__stage h3{margin-top:32px}.page-corvus .corvus-system__arrow{min-height:52px;transform:rotate(90deg)}.page-corvus .corvus-proof,.page-corvus .corvus-handoff{grid-template-columns:1fr;gap:42px}.page-corvus .corvus-context-flow{grid-template-columns:1fr;gap:14px}.page-corvus .corvus-context-bridge{grid-template-columns:auto auto;justify-content:start;justify-items:start}.page-corvus .corvus-context-bridge b{transform:rotate(90deg)}.page-corvus .corvus-tech-row{grid-template-columns:36px 1fr;gap:10px 18px;padding:20px 0}.page-corvus .corvus-tech-row p{grid-column:2;font-size:16px}.page-corvus .corvus-tech__closer{font-size:18px}.page-corvus .corvus-tech-aside{margin-top:52px;padding-left:20px;font-size:28px}.page-corvus .corvus-trust-grid{grid-template-columns:1fr}.page-corvus .corvus-trust-card{min-height:0}.page-corvus .corvus-path{grid-template-columns:1fr}.page-corvus .corvus-path__step{min-height:150px;border-right:0;border-bottom:1px solid #fff}.page-corvus .corvus-path__step:last-child{border-bottom:0}.page-corvus .corvus-path__step h3{margin-top:40px}.page-corvus .corvus-path__step:not(:last-child)::after{content:"↓";right:24px;top:auto;bottom:-15px;transform:none}}
.page-corvus .corvus-section.corvus-section--pink{background:var(--pink-flat);color:#fff}
.page-corvus .corvus-section.corvus-section--pink .corvus-eyebrow{background:#fff;color:var(--pink-deep)}
.page-corvus .corvus-section.corvus-section--pink .corvus-context-card{background:rgba(69,0,31,.28);border-color:#fff}
.page-corvus .corvus-section.corvus-section--pink .corvus-context-bridge{color:#fff}


/* Corvus section rhythm — cream/plum breathing inspired by trust-governance */
.page-corvus .corvus-section { background: var(--ink-900); }
.page-corvus .corvus-section:nth-child(2n) { background: var(--ink-900); }
.page-corvus .corvus-section.corvus-section--pink {
  background: linear-gradient(112deg, #ff087f 0%, #d90069 56%, #b80056 100%);
}
.page-corvus .corvus-section--cream {
  background: #f2f0eb !important;
  color: #09060a;
}
.page-corvus .corvus-section--cream .corvus-eyebrow {
  background: #09060a;
  color: #f2f0eb;
}
.page-corvus .corvus-section--cream .corvus-title,
.page-corvus .corvus-section--cream h2,
.page-corvus .corvus-section--cream h3,
.page-corvus .corvus-section--cream strong { color: #09060a; }
.page-corvus .corvus-section--cream p,
.page-corvus .corvus-section--cream span:not(.corvus-eyebrow):not(.corvus-memory-layer small) { color: #09060a; }
.page-corvus .corvus-section--cream .corvus-tech-aside,
.page-corvus .corvus-section--cream .corvus-tech-aside strong,
.page-corvus .corvus-section--cream .corvus-tech__closer,
.page-corvus .corvus-section--cream .corvus-tech-row h3,
.page-corvus .corvus-section--cream .corvus-tech-row p,
.page-corvus .corvus-section--cream .corvus-tech-row > span,
.page-corvus .corvus-section--cream .corvus-lede,
.page-corvus .corvus-section--cream blockquote { color: #09060a; }
.page-corvus .corvus-section--cream .corvus-tech-row,
.page-corvus .corvus-section--cream .corvus-tech-stack,
.page-corvus .corvus-section--cream .corvus-memory-layer,
.page-corvus .corvus-section--cream .corvus-memory-layers { border-color: #09060a; }
.page-corvus .corvus-section--cream .corvus-tech-aside { border-left-color: var(--corvus-pink); }
.page-corvus .corvus-section--plum {
  background: #190713 !important;
}


/* Workforce card sizing — match Framer */
.page-workforce .card {
  min-height: 360px;
  padding: 30px;
  border: 1px solid rgba(255, 255, 255, 0.72);
}
.page-workforce .card__title { font-size: 30px; font-weight: 700; line-height: 1.2; letter-spacing: -0.6px; }
.page-workforce .lead { font-size: 21px; font-weight: 400; line-height: 1.55; letter-spacing: -0.42px; }

/* Workforce flow steps — match Framer */
.page-workforce .flow__step { min-height: 104px; padding: 16px; }
.page-workforce .flow__title { font-size: 18px; font-weight: 700; line-height: 1; }

/* Builder section backgrounds — match Framer */
.bd-lifecycle { background: #190713; }
.bd-boundary {
  background: linear-gradient(112deg, #ff087f 0%, #d90069 56%, #b80056 100%);
  color: #fff;
}
.bd-boundary .bd-kicker { background: #fff; color: var(--pink-deep); }

/* Builder component sizes — match Framer */
.bd-category h2, .bd-modes h2, .bd-lifecycle h2,
.bd-capabilities h2, .bd-proof h2, .bd-boundary h2 {
  font-size: 52px; font-weight: 600; line-height: 1.05; letter-spacing: -2.6px;
}
.bd-mode h3 { font-size: 29px; font-weight: 700; line-height: 1.05; letter-spacing: -1.015px; }
.bd-step h3 { font-size: 20px; font-weight: 700; line-height: 1; }
.bd-cap h3 { font-size: 26px; font-weight: 700; line-height: 1.15; }
.bd-proof-row h3 { font-size: 22px; font-weight: 700; line-height: 1.2; }
.bd-boundary-col h3 { font-size: 26px; font-weight: 700; line-height: 1.15; }
.bd-category p, .bd-modes p, .bd-lifecycle p,
.bd-capabilities p, .bd-proof p, .bd-boundary p,
.bd-mode p, .bd-step p, .bd-cap p, .bd-proof-row p,
.bd-boundary-col li { font-size: 17px; font-weight: 400; line-height: 1.55; }
.bd-kicker {
  display: inline-flex; width: fit-content; padding: 7px 11px;
  background: #fff; color: #09060a; border-radius: 3px;
  font-size: 13px; font-weight: 800; letter-spacing: 1.56px;
  text-transform: uppercase; line-height: 1.2;
}
.bd-mode { padding: 28px; }


/* Homepage inner section sizes — match Framer */
.home .h2 { font-size: 52px; font-weight: 500; line-height: 1.05; letter-spacing: -1.82px; }
.home .card__title { font-size: 20px; font-weight: 700; line-height: 1.3; letter-spacing: 0.2px; }
.home .card__body { font-size: 16px; font-weight: 400; line-height: 1.55; letter-spacing: -0.32px; }
.home .lead { font-size: 20px; font-weight: 400; line-height: 1.55; letter-spacing: -0.4px; }
.home .stat__value { font-size: 88px; font-weight: 800; line-height: 0.95; letter-spacing: -4.84px; }
.home .badge { font-size: 14px; font-weight: 600; letter-spacing: 1.96px; }
.home .chip { font-size: 14px; font-weight: 800; letter-spacing: 1.12px; text-transform: uppercase; }

/* Getting-started inner section sizes — match Framer */
.page-getting-started .h2 { font-size: 52px; font-weight: 600; line-height: 1.05; letter-spacing: -2.7px; }
.page-getting-started .card__title { font-size: 25px; font-weight: 700; line-height: 1.08; }
.page-getting-started #apply .card__title { font-size: 32px; font-weight: 700; line-height: 1.05; letter-spacing: -1.12px; }
.page-getting-started .card__body { font-size: 17px; font-weight: 400; line-height: 1.55; }
.page-getting-started .lead { font-size: 20px; font-weight: 400; line-height: 1.55; }
.page-getting-started .badge { font-size: 13px; font-weight: 750; letter-spacing: 1.82px; }
.page-getting-started .h4 { font-size: 28px; font-weight: 700; }
.page-getting-started .row__body { font-size: 17px; font-weight: 400; line-height: 1.55; }

/* Workforce flow steps — white top border, gap at arrow */
.page-workforce .flow {
  border-top: 1px solid #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
.page-workforce .flow__step {
  border-right: 1px solid rgba(255, 255, 255, 0.3);
  position: relative;
}
.page-workforce .flow__step:last-child { border-right: 0; }


/* Use-cases inner section sizes — match Framer */
.page-use-cases .h2 { font-size: 52px; font-weight: 600; line-height: 1.05; letter-spacing: -2.6px; }
.page-use-cases .stat__value { font-size: 96px; font-weight: 700; line-height: 0.9; letter-spacing: -5.76px; }
.page-use-cases .stat__label { font-size: 15px; font-weight: 600; line-height: 1.35; }
.page-use-cases .lead { font-size: 20px; font-weight: 400; line-height: 1.55; letter-spacing: -0.4px; }
.uc-before-after .uc-row { font-size: 18px; font-weight: 400; line-height: 1.35; }

/* Company page — match Framer (no hero, large statement opening) */
.page-company .h2 { font-size: 72px; font-weight: 600; line-height: 1; letter-spacing: -3.24px; }
.page-company .hero-title { font-size: 116px; font-weight: 600; line-height: 0.92; letter-spacing: -6.38px; }
.page-company .lead { font-size: 20px; font-weight: 400; line-height: 1.55; }
.page-company .card__body { font-size: 17px; font-weight: 400; line-height: 1.5; }
.page-company .card__title { font-size: 28px; font-weight: 700; line-height: 1.15; letter-spacing: -0.7px; }

/* Pricing page — match Framer */
.page-pricing .hero-title { font-size: 102px; font-weight: 600; line-height: 0.94; letter-spacing: -5.61px; }
.page-pricing .h2 { font-size: 72px; font-weight: 600; line-height: 1; letter-spacing: -3.24px; }
.page-pricing .card__title { font-size: 29px; font-weight: 700; line-height: 1.1; letter-spacing: -0.87px; }
.page-pricing .lead { font-size: 20px; font-weight: 400; line-height: 1.55; }
.page-pricing .card__body { font-size: 17px; font-weight: 400; line-height: 1.5; }

/* Global eyebrow consistency — match Framer */
.eyebrow { font-size: 13px; font-weight: 800; letter-spacing: 1.82px; text-transform: uppercase; }
.badge { font-size: 13px; font-weight: 700; letter-spacing: 1.82px; text-transform: uppercase; }


/* Pricing cards — align features and buttons across cards */
.page-pricing .grid-3 { align-items: stretch; }
.page-pricing .grid-3 > .card {
  display: flex;
  flex-direction: column;
  padding: 24px;
}
.page-pricing .grid-3 > .card .card__body {
  flex: 1;
}
.page-pricing .grid-3 > .card .body-sm[style*="margin-top:20px"] {
  margin-top: auto !important;
  padding-top: 20px;
}
.page-pricing .grid-3 > .card .btn {
  margin-top: auto;
}
/* Tighten pricing card spacing to fit viewport */
.page-pricing .grid-3 > .card .stat__value { margin-top: 4px; }
.page-pricing .grid-3 > .card .rule { margin: 12px 0; }
.page-pricing .grid-3 > .card .eyebrow { margin-top: 12px; }
.page-pricing .grid-3 > .card .card__body { font-size: 15px; line-height: 1.45; }


/* Pool panel — subtle internal lines, white outer border */
.pool-panel { border: 1px solid #fff; }
.pool-panel__divider {
  background: rgba(255, 247, 251, 0.22) !important;
  height: 1px;
  border: 0;
}
.pool-panel .pool-table p { border-color: rgba(255, 247, 251, 0.22); }
.pool-panel .pool-panel__breakdown p { border-color: rgba(255, 247, 251, 0.22); }
.pool-panel .rule { background: rgba(255, 247, 251, 0.22); }
.pool-panel__summary { display: none; }


/* Homepage hero: content in upper portion, cue at bottom */
.home main > .section:first-child {
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  padding-top: calc(var(--nav-h) + 24px) !important;
}
.home main > .section:first-child > .container {
  display: flex;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  padding-bottom: 0;
}
.home main > .section:first-child { position: relative; }
.home .home__cue {
  position: absolute;
  bottom: 28px;
  left: 0;
  right: 0;
  text-align: center;
  margin: 0;
}


/* Tablet + Mobile hero: centered, diagram between heading and copy */
@media (max-width: 1024px) {
  .split--hero {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 32px;
  }
  .split--hero > .stack {
    display: contents;
  }
  .split--hero .badge { order: 1; align-self: center; }
  .split--hero .hero-title { order: 2; margin-bottom: 8px; font-size: clamp(48px, 9vw, 72px); }
  .split--hero > div:not(.stack):not(.btn-row),
  .split--hero > .figure,
  .split--hero > [data-reveal]:not(.stack) { order: 3; width: 100%; max-width: 100%; }
  .split--hero .lead { order: 4; max-width: 560px; }
  .split--hero .scroll-cue { order: 5; }
  .split--hero .btn-row { order: 6; justify-content: center; }
  .split--hero .body-sm { order: 4; }
  .split--hero .getting-started__copy { display: contents; }
}



@media (max-width: 1024px) {
  .page-corvus .figure canvas { transform: none; }
  .page-corvus .split--hero { overflow: visible; }
  .figure { width: 100% !important; max-width: none !important; min-height: 300px; }
  .figure--diagram { aspect-ratio: 1 / 1; }
}




/* Mobile fixes — nav logo centering, badge sizing, spacing */









/* ============ MOBILE (max-width: 600px) ============ */
@media (max-width: 600px) {
  /* Nav: logo truly centered, hamburger absolute left */
  .nav__inner {
    display: flex !important;
    justify-content: center !important;
    position: relative;
  }
  .nav__logo {
    text-align: center;
    margin: 0 auto;
  }
  .nav__links { display: none !important; }
  .nav__end { display: none !important; }
  .nav__toggle {
    position: absolute !important;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }

  /* Badge: single line, readable */
  .badge {
    font-size: 11px;
    letter-spacing: 1.2px;
    padding: 5px 10px;
    white-space: nowrap;
  }

  /* Hero: stacked, centered */
  .split--hero { gap: 20px !important; }
  .hero-title { font-size: clamp(36px, 10vw, 52px) !important; line-height: 1.02; }
  .lead { font-size: 16px !important; line-height: 1.5; }

  /* Diagram: full width, particles fill circle */
  .split--hero > div:not(.stack):not(.btn-row),
  .split--hero > .figure,
  .split--hero > [data-reveal]:not(.stack) {
    max-width: 100% !important;
    width: 100% !important;
  }
  .figure canvas,
  .figure--diagram canvas {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
  }

  /* General */
  .section { padding-inline: 20px !important; }
  .home__cue { font-size: 10px; }
  /* Homepage: fix cue overlap with button */
  .home main > .section:first-child { position: relative; }
  .home .home__cue {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    margin-top: 16px;
    text-align: center;
  }

  /* Last section: don't force full viewport on mobile */
  main > section:last-child,
  main > .uc-final {
    min-height: auto !important;
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  /* Company page: scale down the massive heading */
  .page-company .hero-title {
    font-size: clamp(52px, 14vw, 72px) !important;
    letter-spacing: -2.5px !important;
    line-height: 0.98 !important;
  }

  /* Footer: three centered rows on mobile */
  .footer--thin .footer__inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 16px 0 !important;
  }
  .footer__tagline { text-align: center !important; }
  .footer__center { justify-content: center !important; gap: 16px !important; font-size: 11px !important; }
  .footer--thin .footer__legal { text-align: center !important; font-size: 10px !important; }

  /* All kicker/eyebrow variants: consistent small size on mobile */
  .tg-kicker,
  .bd-kicker,
  .uc-kicker,
  .corvus-eyebrow,
  .eyebrow {
    font-size: 10px !important;
    letter-spacing: 1.2px !important;
    padding: 5px 8px !important;
    white-space: nowrap !important;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}








/* Use-cases org-map: hide on mobile, contain on tablet */
@media (max-width: 600px) {
  .page-use-cases .usecase-org-map { display: none !important; }
}
@media (max-width: 1024px) and (min-width: 601px) {
  .page-use-cases .usecase-org-map { width: min(100%, 380px) !important; overflow: hidden; }
}


/* Mobile pillar heroes: pure rotating shape — no pins, orbits, or labels.
   Scoped to pillar pages; the homepage field is untouched. */
@media (max-width: 600px) {
  :is(.page-corvus, .page-workforce, .page-builder, .page-trust, .page-use-cases) .split--hero .figure__pin,
  :is(.page-corvus, .page-workforce, .page-builder, .page-trust, .page-use-cases) .split--hero .figure__orbit,
  :is(.page-corvus, .page-workforce, .page-builder, .page-trust, .page-use-cases) .split--hero .figure__diamond,
  :is(.page-corvus, .page-workforce, .page-builder, .page-trust, .page-use-cases) .split--hero .figure__label {
    display: none !important;
  }
}


/* Mobile type hierarchy — pillar pages: hero dominates, sections step down. */
@media (max-width: 600px) {
  :is(.page-corvus, .page-workforce, .page-builder, .page-trust, .page-use-cases, .page-getting-started, .page-pricing) .hero-title {
    font-size: clamp(42px, 11vw, 48px) !important;
    line-height: 1.02 !important;
    letter-spacing: -1.6px !important;
  }
  :is(.page-corvus, .page-workforce, .page-builder, .page-trust, .page-use-cases) :is(.h2, .corvus-title, .uc-transform h2, .uc-emergence h2, .uc-cross h2, .uc-governance h2, .uc-final h2, .tg-thesis h2, .tg-heading-grid h2, .tg-path h2, .tg-proof h2, .tg-controls h2, .tg-interface h2, .tg-sovereignty h2, .bd-category h2, .bd-heading-grid h2, .bd-lifecycle h2, .bd-capabilities h2, .bd-proof h2, .bd-boundary h2) {
    font-size: clamp(27px, 7.5vw, 32px) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.8px !important;
  }
  :is(.page-corvus, .page-workforce, .page-builder, .page-trust, .page-use-cases) :is(h3, .card__title) {
    font-size: 20px !important; line-height: 1.2 !important; letter-spacing: -0.3px !important;
  }
  :is(.page-corvus, .page-workforce, .page-builder, .page-trust, .page-use-cases) :is(.lead, .corvus-lede) {
    font-size: 16px !important; line-height: 1.5 !important;
  }
}


/* Mobile: prevent numbers/content from touching edges on pillar interior sections */
@media (max-width: 600px) {
  :is(.page-builder, .page-workforce, .page-corvus, .page-trust, .page-use-cases) :is(.bd-mode, .bd-step, .bd-cap, .bd-proof-row, .bd-boundary-col, .bd-system-node, .corvus-system__stage, .corvus-tech-row, .corvus-trust-card, .corvus-path__step, .tg-rail-step, .tg-domain, .tg-control, .tg-proof-row, .tg-sovereignty-row, .flow__step, .card, .row) {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}


/* Tablet: pricing cards stay 3 columns */
@media (max-width: 1024px) and (min-width: 601px) {
  .page-pricing .grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .page-pricing .grid-3 > .card {
    padding: 18px !important;
    font-size: 14px;
  }
  .page-pricing .grid-3 > .card .stat__value { font-size: 2rem !important; }
  .page-pricing .grid-3 > .card .card__title { font-size: 1.25rem !important; }
}


/* Mobile only: all grids to single column */
@media (max-width: 600px) {
  :is(.page-corvus, .page-workforce, .page-builder, .page-trust, .page-use-cases, .page-getting-started, .page-pricing, .page-company) .grid-3 {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}


@media (max-width: 600px) {
  :is(.page-corvus, .page-workforce, .page-builder, .page-trust, .page-use-cases, .page-getting-started, .page-pricing, .page-company) :is(.split, .grid-2) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}


/* Pricing + Company responsive heading scale */
@media (max-width: 1024px) {
  .page-pricing .hero-title { font-size: clamp(42px, 8vw, 64px) !important; letter-spacing: -2px !important; }
  .page-pricing .h2 { font-size: clamp(32px, 5vw, 48px) !important; letter-spacing: -1.5px !important; }
  .page-company .hero-title { font-size: clamp(42px, 8vw, 64px) !important; letter-spacing: -2px !important; }
  .page-company .h2 { font-size: clamp(32px, 5vw, 48px) !important; letter-spacing: -1.5px !important; }
}


/* Homepage tablet type hierarchy — hero dominates, sections step down */
@media (max-width: 900px) {
  .home .hero-title {
    font-size: clamp(56px, 14vw, 72px) !important;
    line-height: 0.98 !important;
    letter-spacing: -2.5px !important;
  }
  .home .h2 {
    font-size: clamp(32px, 5.5vw, 42px) !important;
    line-height: 1.08 !important;
  }
  .home .display {
    font-size: clamp(38px, 7vw, 52px) !important;
    line-height: 1.08 !important;
  }
  .home .lead {
    font-size: 18px !important;
    line-height: 1.5 !important;
  }
}


/* Homepage category statement — bigger than body-sm on all devices */
.home main > .section:first-child .body-sm {
  font-size: clamp(17px, 3.5vw, 20px) !important;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.4;
}


/* Mobile pillar heroes: hide orbit lines + tighten spacing */
@media (max-width: 600px) {
  :is(.page-corvus, .page-workforce, .page-builder, .page-trust, .page-use-cases) .split--hero .figure__orbit,
  :is(.page-corvus, .page-workforce, .page-builder, .page-trust, .page-use-cases) .split--hero .figure--diagram::before,
  :is(.page-corvus, .page-workforce, .page-builder, .page-trust, .page-use-cases) .split--hero .figure__diamond {
    display: none !important;
  }
  :is(.page-corvus, .page-workforce, .page-builder, .page-trust, .page-use-cases) .split--hero {
    gap: 8px !important;
  }
  :is(.page-corvus, .page-workforce, .page-builder, .page-trust, .page-use-cases) .split--hero .figure {
    margin: -16px 0 !important;
  }
}


/* Ruled aside — magenta left border blockquote */
.aside-ruled {
  max-width: 900px;
  margin: 48px 0 0;
  padding-left: 24px;
  border-left: 4px solid var(--pink-bright, #f00072);
  color: #fff;
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: -0.5px;
}


/* Homepage hero: center text block on mobile only */
@media (max-width: 600px) {
  .home main > .section:first-child .container {
    text-align: center;
  }
  .home main > .section:first-child .stack {
    align-items: center;
  }
  .home main > .section:first-child .badge {
    align-self: center;
  }
  .home main > .section:first-child .btn-row {
    justify-content: center;
  }
}


/* Tablet + Mobile: hide use-cases org-map diagram */
@media (max-width: 1024px) {
  .page-use-cases .usecase-org-map {
    display: none !important;
  }
}


/* Company mobile: maintain proportional size advantage over pillar pages */
@media (max-width: 600px) {
  .page-company .lead {
    font-size: 19px !important;
    line-height: 1.55 !important;
  }
  .page-company .body {
    font-size: 18px !important;
    line-height: 1.55 !important;
  }
  .page-company .h2 {
    font-size: clamp(38px, 10vw, 52px) !important;
    letter-spacing: -1.5px !important;
  }
}


/* Use-cases tablet: tighten hero spacing with diagram hidden */
@media (max-width: 1024px) {
  .page-use-cases .split--hero { gap: 16px !important; }
  .page-use-cases .split--hero > div:not(.stack):not(.btn-row) { display: none; }
}


/* Footer: respect page gutter on all devices */
.footer--thin .footer__inner {
  padding-inline: var(--gutter, 40px);
}








/* Homepage problem section: stat aligns to bottom of rows list */
.home-problem {
  align-items: end;
}
.home-problem .home-problem__stat {
  align-self: end;
  margin-bottom: 48px;
}

@media (max-width: 600px) {
  .home-problem .home-problem__stat { order: 2; }
}


/* Homepage operating section: stat right-aligned, bottom of text block */
.home-operating {
  align-items: end;
  grid-template-columns: 1.6fr 0.4fr;
}
.home-operating__stat {
  text-align: right;
}
.home-operating__stat .stat__label,
.home-operating__stat .body-sm {
  text-align: right;
}
@media (max-width: 900px) {
  .home-operating .home-operating__stat { order: 2; text-align: left; }
}

/* --------------------------------------------------------------------------
   12. Scroll reveal
   -------------------------------------------------------------------------- */
[data-reveal] {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.7s var(--ease), transform 0.7s var(--ease);
}
[data-reveal].is-visible { opacity: 1; transform: none; }
.home__cue.is-visible { opacity: var(--cue-opacity, 1); }
[data-reveal-delay="1"] { transition-delay: 0.08s; }
[data-reveal-delay="2"] { transition-delay: 0.16s; }
[data-reveal-delay="3"] { transition-delay: 0.24s; }
[data-reveal-delay="4"] { transition-delay: 0.32s; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  [data-reveal] { opacity: 1; transform: none; transition: none; }
  .btn:hover, .card:hover { transform: none; }
}

/* --------------------------------------------------------------------------
   13. Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1040px) {
  .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .row--tag { grid-template-columns: 48px minmax(0, 1fr); }
  .row--tag > :last-child { grid-column: 2; }
}

@media (max-width: 900px) {
  :root { --gutter: 24px; }

  .nav { z-index: 120; }
  .nav__inner { grid-template-columns: 40px 1fr 40px; }
  .nav__links, .nav__end { display: none; }
  .nav__toggle { display: flex; grid-column:1; grid-row:1; justify-self:start; margin:0 0 0 -10px; }
  .nav__logo { grid-column:2; grid-row:1; justify-self:center; transition:opacity .2s var(--ease); }
  body.menu-open .nav__logo { opacity:0; pointer-events:none; }

  .compare, .home .split, .home .grid-2, .home .grid-3 { grid-template-columns: minmax(0, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-getting-started .split--hero { min-height: auto; grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .compare__col + .compare__col { border-left: 0; border-top: 1px solid var(--line); }

  .section--full { min-height: 100svh; }

  .row, .row--2col, .row--tag { grid-template-columns: 44px minmax(0, 1fr); }
  .row > :nth-child(3), .row > :nth-child(4) { grid-column: 2; }

  .deflist__item { grid-template-columns: minmax(0, 1fr); gap: 10px; }

  .flow { grid-template-columns: minmax(0, 1fr); }
  .flow__step { border-left: 0; border-top: 1px solid var(--line); }
  .flow__step:first-child { border-top: 0; }
  .flow__step::after { content: none; }

  .transfer { grid-template-columns: minmax(0, 1fr); }
  .transfer__arrow { text-align: left; }

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

  .figure--diagram .figure__pin { font-size: .5625rem; padding: 7px 8px 8px; }
  .figure--diagram .figure__pin strong { font-size: .53125rem; }
  :is(.page-corvus, .page-workforce) .figure--diagram .figure__pin:has(br) { width: 112px; }
  :is(.page-builder, .page-trust) .figure__pin { width: 86px; }
  .figure { max-width: 340px; }
  .page-corvus .figure { width: 100%; max-width: 340px; }
  .page-getting-started .getting-started__copy { padding-top: 0; }
}

@media (min-width: 561px) and (max-width: 900px) {
  .home #operating-layer .grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }
}

/* Tablet heroes retain the two-column composition so the complete narrative
   and its identity graphic arrive together inside the opening viewport. */
@media (min-width: 810px) and (max-width: 900px) {
  .page-corvus main > .section:first-child .split--hero,
  .page-workforce main > .section:first-child .split--hero,
  .page-builder main > .section:first-child .split--hero,
  .page-trust main > .section:first-child .split--hero,
  .page-use-cases main > .section:first-child .split--hero {
    grid-template-columns: minmax(0, 1fr) minmax(300px, .86fr);
    gap: 28px;
    align-items: center;
  }
  .page-corvus main > .section:first-child .hero-title,
  .page-workforce main > .section:first-child .hero-title,
  .page-builder main > .section:first-child .hero-title,
  .page-trust main > .section:first-child .hero-title,
  .page-use-cases main > .section:first-child .hero-title {
    font-size: clamp(2.55rem, 5.4vw, 3.25rem);
  }
  .page-corvus main > .section:first-child .lead,
  .page-workforce main > .section:first-child .lead,
  .page-builder main > .section:first-child .lead,
  .page-trust main > .section:first-child .lead,
  .page-use-cases main > .section:first-child .lead {
    font-size: 1rem;
    line-height: 1.5;
  }
  .page-corvus main > .section:first-child .figure,
  .page-workforce main > .section:first-child .figure,
  .page-builder main > .section:first-child .figure,
  .page-trust main > .section:first-child .figure,
  .page-use-cases main > .section:first-child .figure {
    width: 100%;
    max-width: 330px;
  }
  .page-getting-started .split--hero {
    grid-template-columns: minmax(0, 1fr) minmax(340px, .8fr);
    gap: 32px;
    align-items: center;
  }
}

@media (max-width: 560px) {
  .menu { width: 82vw; padding-inline:22px; }
  .menu__close { right:22px; }
  .grid-4 { grid-template-columns: minmax(0, 1fr); }
  .stat--ruled { padding-left: 18px; }
  .pullquote { padding-left: 18px; }
  .footer__links { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .page-corvus main > .section:first-child,
  .page-workforce main > .section:first-child,
  .page-builder main > .section:first-child,
  .page-trust main > .section:first-child,
  .page-use-cases main > .section:first-child,
  .page-company main > .section:first-child,
  .page-pricing main > .section:first-child {
    min-height: auto;
    padding-top: calc(var(--nav-h) + 28px) !important;
    padding-bottom: 40px;
  }
  main > .section:first-child .split--hero { gap: 24px; }
  main > .section:first-child .hero-title { font-size: clamp(2.35rem, 11vw, 3rem); }
  main > .section:first-child .lead { font-size: 1rem; line-height: 1.48; }
  main > .section:first-child .figure { max-width: 250px; }
  .page-corvus main > .section:first-child .figure { max-width: 250px; }

  :is(.page-corvus, .page-workforce) .figure--diagram .figure__pin:has(br) {
    width: 92px;
    padding: 6px 7px 7px;
    font-size: .46875rem;
    line-height: 1.18;
  }
  :is(.page-corvus, .page-workforce) .figure--diagram .figure__pin strong {
    margin-bottom: 3px;
    font-size: .46875rem;
    line-height: 1.05;
  }
  :is(.page-builder, .page-trust) .figure__pin {
    width: 72px;
    min-height: 28px;
    padding: 6px 7px;
    font-size: .46875rem;
  }
  :is(.page-corvus, .page-workforce, .page-builder, .page-trust) .figure__label {
    min-width: 112px;
    padding: 9px 10px 10px;
  }
  :is(.page-corvus, .page-workforce, .page-builder, .page-trust) .figure__label strong,
  :is(.page-corvus, .page-workforce, .page-builder, .page-trust) .figure__label span {
    font-size: .53125rem;
  }
  .page-corvus .figure__pin--tl,
  .page-corvus .figure__pin--tr { top: 17%; }
  .page-corvus .figure__pin--bl,
  .page-corvus .figure__pin--br { bottom: 9%; }
  .page-workforce .figure__pin--tl,
  .page-workforce .figure__pin--tr { top: 6%; }
  .page-workforce .figure__pin--bl,
  .page-workforce .figure__pin--br { bottom: 6%; }
  :is(.page-builder, .page-trust) .figure__pin--tl,
  :is(.page-builder, .page-trust) .figure__pin--tr { top: 11%; }
  :is(.page-builder, .page-trust) .figure__pin--bl,
  :is(.page-builder, .page-trust) .figure__pin--br { bottom: 11%; }
  :is(.page-builder, .page-trust) .figure__pin--tl,
  :is(.page-builder, .page-trust) .figure__pin--bl { left: 5%; }
  :is(.page-builder, .page-trust) .figure__pin--tr,
  :is(.page-builder, .page-trust) .figure__pin--br { right: 5%; }

  /* Phone hero framing: keep each complete pillar/use-case identity inside
     the opening viewport without changing the editorial flow below it. */
  .page-corvus main > .section:first-child,
  .page-workforce main > .section:first-child,
  .page-builder main > .section:first-child,
  .page-trust main > .section:first-child,
  .page-use-cases main > .section:first-child {
    padding-top: calc(var(--nav-h) + 18px) !important;
    padding-bottom: 20px;
  }
  .page-corvus main > .section:first-child .split--hero,
  .page-workforce main > .section:first-child .split--hero,
  .page-builder main > .section:first-child .split--hero,
  .page-trust main > .section:first-child .split--hero,
  .page-use-cases main > .section:first-child .split--hero {
    gap: 12px;
  }
  .page-corvus main > .section:first-child .hero-title,
  .page-workforce main > .section:first-child .hero-title,
  .page-builder main > .section:first-child .hero-title,
  .page-trust main > .section:first-child .hero-title,
  .page-use-cases main > .section:first-child .hero-title {
    font-size: clamp(2.05rem, 10vw, 2.5rem);
  }
  .page-corvus main > .section:first-child .lead,
  .page-workforce main > .section:first-child .lead,
  .page-builder main > .section:first-child .lead,
  .page-trust main > .section:first-child .lead,
  .page-use-cases main > .section:first-child .lead {
    font-size: .9375rem;
    line-height: 1.42;
  }
  .page-corvus main > .section:first-child .actions,
  .page-workforce main > .section:first-child .actions,
  .page-builder main > .section:first-child .actions,
  .page-trust main > .section:first-child .actions,
  .page-use-cases main > .section:first-child .actions {
    margin-top: 18px;
    gap: 10px;
  }
  .page-corvus main > .section:first-child .figure,
  .page-workforce main > .section:first-child .figure,
  .page-builder main > .section:first-child .figure,
  .page-trust main > .section:first-child .figure {
    max-width: 250px;
  }
  .page-use-cases main > .section:first-child .figure {
    max-width: 210px;
  }
}

/* Alpha tag beside the wordmark — matches the live "CORVEIL ALPHA". */
.nav__alpha {
  color: #FF007A; /* live CORVEIL::after ALPHA */
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.13em;
  margin-left: 0.5em;
  vertical-align: 0.32em;
}

/* Usage / expansion meter bars (pricing pool panel). */
.meter {
  position: relative;
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.09);
  overflow: hidden;
}
.meter__fill {
  position: absolute;
  inset: 0 auto 0 0;
  height: 100%;
  border-radius: 999px;
  background: var(--pink);
}

/* Pricing pool panel: neutral (not pink) eyebrow labels, matching the live panel. */
.pool-panel .eyebrow { color: var(--text); }

.pool-panel {
  padding: 0;
  text-align: left;
  overflow: hidden;
}
.pool-panel__tabs {
  display: flex;
  min-height: 56px;
  border-bottom: 1px solid var(--line-strong);
  padding-inline: 28px;
}
.pool-panel__tab {
  position: relative;
  padding: 0 18px;
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-faint);
}
.pool-panel__tab.is-active { color: var(--text); }
.pool-panel__tab.is-active::after {
  content: "";
  position: absolute;
  inset: auto 0 -1px;
  height: 2px;
  background: var(--pink-bright);
}
.pool-panel__body { padding: 30px; }
.pool-panel__summary {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
  margin-bottom: 28px;
}
.pool-panel__summary > div {
  border: 1px solid var(--line-strong);
  padding: 18px;
}
.pool-panel__summary .eyebrow,
.pool-panel__summary .h4,
.pool-panel__heading .eyebrow,
.pool-panel__heading .h4 { margin: 0; }
.pool-panel__summary .h4 { margin-top: 8px; }
.pool-panel__heading {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 18px;
}
.pool-panel .meter {
  margin: 15px 0 16px;
  height: 10px;
  border: 1px solid var(--line-strong);
  border-radius: 0;
  background: rgba(255,255,255,.035);
}
.pool-panel .meter__fill { border-radius: 0; }
.pool-panel__breakdown {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
}
.pool-panel__breakdown p {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding-top: 10px;
  border-top: 1px solid var(--line-strong);
}
.pool-panel__note { opacity: .7; margin: 10px 0 0; }
.pool-panel .rule { margin: 30px 0; }
.pool-panel__view { height: 214px; margin-top: 28px; }
.pool-panel__view[hidden] { display: none; }
.pool-table {
  display: grid;
  grid-template-columns: minmax(0,1.6fr) minmax(110px,.7fr) minmax(112px,.32fr) minmax(112px,.32fr);
  align-items: center;
}
.pool-table > * {
  min-width: 0;
  margin: 0;
  padding: 12px 8px;
  border-top: 1px solid var(--line);
}
.pool-table > :nth-child(4n+1) { padding-left: 0; }
.pool-table > :nth-child(4n+3),
.pool-table > :nth-child(4n+4) { text-align: right; }
.pool-table > .eyebrow { color: var(--text-faint); }
.pool-table > .body-sm:not(.strong) { color: var(--text-dim); }
.pool-panel__total {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 16px;
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.pool-panel__footnote { margin-top: 22px; opacity: .7; }
.workforce-destination {
  max-width: 820px;
  font-weight: 600;
  letter-spacing: -.025em;
}

@media (max-width: 700px) {
  .pool-panel__tabs { padding-inline: 16px; }
  .pool-panel__body { padding: 20px 16px; }
  .pool-panel__summary { grid-template-columns: 1fr 1fr; }
  .pool-panel__heading { align-items: flex-start; }
  .pool-table { grid-template-columns: minmax(0,1.35fr) minmax(70px,.72fr) 70px 70px; font-size: .72rem; }
  .pool-table > * { padding: 10px 5px; }
  .pool-panel__total { flex-direction: column; gap: 6px; }
  .pool-panel__view { height: auto; min-height: 214px; }
}

/* Trust & Governance interior parity — hero, closing CTA, nav and footer excluded. */
.page-trust {
  --tg-ink: #09060a;
  --tg-paper: #f2f0eb;
  --tg-surface: #190713;
  --tg-accent: #f00072;
}
.page-trust .tg-container {
  width: 100%; max-width: var(--container);
  margin: 0 auto;
}
.page-trust .tg-kicker {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: 6px 10px;
  border-radius: 3px;
  background: #fff;
  color: var(--tg-ink) !important;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: none;
  text-shadow: none;
  filter: none;
}
.page-trust .tg-thesis {
  padding: 112px 0;
  background: linear-gradient(112deg, #ff087f 0%, #d90069 56%, #b80056 100%);
}
.page-trust .tg-thesis-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 84px;
  align-items: start;
}
.page-trust .tg-thesis h2 {
  max-width: 700px;
  margin: 18px 0 0;
  font-size: clamp(32px, 3.4vw, 48px);
  line-height: 1.02;
  letter-spacing: -.04em;
  font-weight: 600;
}
.page-trust .tg-domains {
  background: var(--tg-ink); color: #fff;
  padding: 124px 0 136px;
}
.page-trust .tg-heading-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .62fr);
  gap: 72px;
  align-items: end;
  margin-bottom: 60px;
}
.page-trust .tg-heading-grid h2 {
  max-width: 780px;
  margin: 18px 0 0;
  font-size: clamp(32px, 3.4vw, 48px);
  line-height: 1.02;
  letter-spacing: -.04em;
  font-weight: 600;
}
.page-trust .tg-heading-grid > p {
  margin: 0;
  color: #fff;
  font-size: 19px;
  line-height: 1.55;
}
.page-trust .tg-domain-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.page-trust .tg-domain {
  min-height: 420px;
  display: flex;
  flex-direction: column;
  padding: 30px;
  border: 1px solid rgba(255, 255, 255, .72);
  background: rgba(10, 6, 11, .42);
}
.page-trust .tg-domain-number {
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .12em;
}
.page-trust .tg-domain h3 {
  margin: 44px 0 20px;
  font-size: 34px;
  line-height: 1.03;
  letter-spacing: -.035em;
}
.page-trust .tg-domain p {
  margin: 0 0 8px;
  color: #fff;
  font-size: 17px;
  line-height: 1.55;
}
.page-trust .tg-domain-outcome {
  margin-top: auto;
  padding-top: 24px;
  margin-top: auto;
  border-top: 1px solid rgba(255, 255, 255, .32);
  margin-block-start: 28px;
  color: #fff;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.45;
}
.page-trust .tg-path {
  padding: 124px 0;
  background: var(--tg-paper);
  color: var(--tg-ink);
}
.page-trust .tg-path h2 {
  max-width: 900px;
  margin: 18px 0 54px;
  font-size: clamp(32px, 3.4vw, 48px);
  line-height: .98;
  letter-spacing: -.05em;
  font-weight: 600;
}
.page-trust .tg-rail {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid var(--tg-ink);
  border-bottom: 1px solid var(--tg-ink);
}
.page-trust .tg-rail-step {
  display: flex;
  flex-direction: column;
  min-height: 260px;
  padding: 24px 22px 28px;
  border-right: 1px solid var(--tg-ink);
}
.page-trust .tg-rail-step:last-child { border-right: 0; }
.page-trust .tg-rail-step .num {
  color: var(--tg-accent);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
}
.page-trust .tg-rail-step .flow__kicker {
  margin: 32px 0 12px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.15;
  color: var(--tg-ink);
}
.page-trust .tg-rail-step .flow__body {
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
  color: var(--tg-ink);
  opacity: .72;
}
.page-trust .tg-proof { padding: 126px 0; background: var(--tg-ink); color: #fff; }
.page-trust .tg-proof-grid {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: 80px;
  align-items: start;
}
.page-trust .tg-proof h2 {
  max-width: 620px;
  margin: 18px 0 24px;
  font-size: clamp(32px, 3.4vw, 48px);
  line-height: .98;
  letter-spacing: -.052em;
  font-weight: 600;
}
.page-trust .tg-proof-intro {
  margin: 0;
  color: #fff;
  font-size: 20px;
  line-height: 1.55;
}
.page-trust .tg-proof-flow {
  display: grid;
  gap: 0;
  align-self: end;
  border-top: 1px solid rgba(255, 255, 255, .7);
}
.page-trust .tg-proof-row {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 24px;
  padding: 28px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .7);
}
.page-trust .tg-proof-row strong {
  display: block;
  margin-bottom: 8px;
  font-size: 24px;
}
.page-trust .tg-proof-row p {
  margin: 0;
  color: #fff;
  font-size: 17px;
  line-height: 1.55;
}
.page-trust .tg-proof-row[data-accent="true"] strong { color: var(--tg-accent); }
.page-trust .tg-controls {
  padding: 124px 0;
  background: var(--tg-surface);
}
.page-trust .tg-controls h2 {
  max-width: 880px;
  margin: 18px 0 54px;
  font-size: clamp(32px, 3.4vw, 48px);
  line-height: 1;
  letter-spacing: -.05em;
  font-weight: 600;
}
.page-trust .tg-control-list { border-top: 1px solid #fff; }
.page-trust .tg-control {
  display: grid;
  grid-template-columns: 74px minmax(230px, .8fr) minmax(0, 1.2fr);
  gap: 28px;
  padding: 26px 0;
  border-bottom: 1px solid #fff;
  align-items: start;
}
.page-trust .tg-control span {
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .12em;
}
.page-trust .tg-control h3 { margin: 0; font-size: 24px; }
.page-trust .tg-control p {
  margin: 0;
  color: #fff;
  font-size: 17px;
  line-height: 1.55;
}
.page-trust .tg-interface { padding: 124px 0; background: var(--tg-ink); color: #fff; }
.page-trust .tg-interface-grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: 82px;
  align-items: center;
}
.page-trust .tg-interface h2 {
  margin: 18px 0 24px;
  font-size: clamp(32px, 3.4vw, 48px);
  line-height: 1;
  letter-spacing: -.05em;
  font-weight: 600;
}
.page-trust .tg-interface p {
  margin: 0;
  color: #fff;
  font-size: 20px;
  line-height: 1.55;
}
.page-trust .tg-stack { display: grid; gap: 12px; }
.page-trust .tg-stack-clients {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.page-trust .tg-stack-clients span {
  display: grid;
  min-height: 54px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .48);
  font-size: 12px;
  font-weight: 750;
}
.page-trust .tg-stack-row {
  min-height: 76px;
  display: grid;
  place-items: center;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, .7);
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .1em;
  text-align: center;
  text-transform: uppercase;
}
.page-trust .tg-stack-row[data-accent="true"] {
  border-color: var(--tg-accent);
  background: var(--tg-accent);
}
.page-trust .tg-sovereignty {
  padding: 126px 0;
  background: var(--tg-paper);
  color: var(--tg-ink);
}
.page-trust .tg-sovereignty-grid {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: 84px;
  align-items: start;
}
.page-trust .tg-sovereignty h2 {
  margin: 18px 0 0;
  font-size: clamp(32px, 3.4vw, 48px);
  line-height: .95;
  letter-spacing: -.055em;
  font-weight: 600;
}
.page-trust .tg-sovereignty-list { border-top: 1px solid var(--tg-ink); }
.page-trust .tg-sovereignty-row {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 24px;
  padding: 25px 0;
  border-bottom: 1px solid var(--tg-ink);
}
.page-trust .tg-sovereignty-row span {
  color: var(--tg-accent);
  font-size: 14px;
  font-weight: 800;
}
.page-trust .tg-sovereignty-row strong {
  display: block;
  margin-bottom: 7px;
  font-size: 22px;
}
.page-trust .tg-sovereignty-row p {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
}
@media (max-width: 1000px) {
  .page-trust .tg-thesis-grid,
  .page-trust .tg-heading-grid,
  .page-trust .tg-proof-grid,
  .page-trust .tg-interface-grid,
  .page-trust .tg-sovereignty-grid {
    grid-template-columns: 1fr;
    gap: 42px;
  }
  .page-trust .tg-domain-grid { grid-template-columns: 1fr; }
  .page-trust .tg-domain { min-height: 0; }
  .page-trust .tg-rail { grid-template-columns: 1fr; }
  .page-trust .tg-rail-step {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid var(--tg-ink);
  }
  .page-trust .tg-rail-step:last-child { border-bottom: 0; }
  .page-trust .tg-rail-step strong { margin-top: 28px; }
  .page-trust .tg-control { grid-template-columns: 54px minmax(190px, .7fr) 1fr; }
}
@media (max-width: 809px) {
  .page-trust .tg-container { width: calc(100% - 40px); }
  .page-trust .tg-thesis,
  .page-trust .tg-domains,
  .page-trust .tg-path,
  .page-trust .tg-proof,
  .page-trust .tg-controls,
  .page-trust .tg-interface,
  .page-trust .tg-sovereignty { padding: 84px 0; }
  .page-trust .tg-kicker {
    font-size: 10px;
    letter-spacing: .09em;
    white-space: normal;
  }
  .page-trust .tg-thesis h2,
  .page-trust .tg-heading-grid h2,
  .page-trust .tg-path h2,
  .page-trust .tg-proof h2,
  .page-trust .tg-controls h2,
  .page-trust .tg-interface h2,
  .page-trust .tg-sovereignty h2 {
    font-size: clamp(34px, 10vw, 46px);
    line-height: 1.03;
  }
  .page-trust .tg-control {
    grid-template-columns: 42px 1fr;
    gap: 12px;
  }
  .page-trust .tg-control p { grid-column: 2; }
  .page-trust .tg-proof-row {
    grid-template-columns: 44px 1fr;
    gap: 14px;
  }
  .page-trust .tg-sovereignty-row {
    grid-template-columns: 42px 1fr;
    gap: 14px;
  }
  .page-trust .tg-stack-clients { grid-template-columns: 1fr 1fr; }
}

.pool-panel {
  padding: 0;
  text-align: left;
  overflow: hidden;
}
.pool-panel__tabs {
  display: flex;
  min-height: 56px;
  border-bottom: 1px solid var(--line-strong);
  padding-inline: 28px;
}
.pool-panel__tab {
  position: relative;
  padding: 0 18px;
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-faint);
}
.pool-panel__tab.is-active { color: var(--text); }
.pool-panel__tab.is-active::after {
  content: "";
  position: absolute;
  inset: auto 0 -1px;
  height: 2px;
  background: var(--pink-bright);
}
.pool-panel__body { padding: 30px; }
.pool-panel__summary {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
  margin-bottom: 28px;
}
.pool-panel__summary > div {
  border: 1px solid var(--line-strong);
  padding: 18px;
}
.pool-panel__summary .eyebrow,
.pool-panel__summary .h4,
.pool-panel__heading .eyebrow,
.pool-panel__heading .h4 { margin: 0; }
.pool-panel__summary .h4 { margin-top: 8px; }
.pool-panel__heading {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 18px;
}
.pool-panel .meter {
  margin: 15px 0 16px;
  height: 10px;
  border: 1px solid var(--line-strong);
  border-radius: 0;
  background: rgba(255,255,255,.035);
}
.pool-panel .meter__fill { border-radius: 0; }
.pool-panel__breakdown {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
}
.pool-panel__breakdown p {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding-top: 10px;
  border-top: 1px solid var(--line-strong);
}
.pool-panel__note { opacity: .7; margin: 10px 0 0; }
.pool-panel .rule { margin: 30px 0; }
.pool-panel__view { height: 214px; margin-top: 28px; }
.pool-panel__view[hidden] { display: none; }
.pool-table {
  display: grid;
  grid-template-columns: minmax(0,1.6fr) minmax(110px,.7fr) minmax(112px,.32fr) minmax(112px,.32fr);
  align-items: center;
}
.pool-table > * {
  min-width: 0;
  margin: 0;
  padding: 12px 8px;
  border-top: 1px solid var(--line);
}
.pool-table > :nth-child(4n+1) { padding-left: 0; }
.pool-table > :nth-child(4n+3),
.pool-table > :nth-child(4n+4) { text-align: right; }
.pool-table > .eyebrow { color: var(--text-faint); }
.pool-table > .body-sm:not(.strong) { color: var(--text-dim); }
.pool-panel__total {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 16px;
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.pool-panel__footnote { margin-top: 22px; opacity: .7; }
.workforce-destination {
  max-width: 820px;
  font-weight: 600;
  letter-spacing: -.025em;
}

@media (max-width: 700px) {
  .pool-panel__tabs { padding-inline: 16px; }
  .pool-panel__body { padding: 20px 16px; }
  .pool-panel__summary { grid-template-columns: 1fr 1fr; }
  .pool-panel__heading { align-items: flex-start; }
  .pool-table { grid-template-columns: minmax(0,1.35fr) minmax(70px,.72fr) 70px 70px; font-size: .72rem; }
  .pool-table > * { padding: 10px 5px; }
  .pool-panel__total { flex-direction: column; gap: 6px; }
  .pool-panel__view { height: auto; min-height: 214px; }
}
