/* WHPL experience layer — August 2026
   A restrained, responsive system that preserves the existing information architecture. */

:root {
  --ink: #17151c;
  --muted: #66616e;
  --line: rgba(24, 20, 32, .10);
  --paper: #fff;
  --soft: #f6f6f8;
  --soft2: #eeedf4;
  --purple: #6e4cf5;
  --purple2: #9b70ff;
  --blue: #3979f6;
  --magenta: #bb52e7;
  --green: #178f68;
  --radius: 28px;
  --shadow: 0 22px 70px rgba(31, 24, 52, .10);
  --shadow-sm: 0 10px 32px rgba(31, 24, 52, .07);
  --max: 1460px;
  --ease: cubic-bezier(.22, 1, .36, 1);
}

html { scroll-padding-top: 112px; }
body {
  min-width: 320px;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", Inter, "Segoe UI", sans-serif;
  color: var(--ink);
  background:
    radial-gradient(circle at 7% 5%, rgba(126, 92, 255, .055), transparent 25rem),
    #fff;
  font-size: 17px;
  line-height: 1.58;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
main { overflow: clip; }
::selection { color: #fff; background: var(--purple); }
:focus-visible { outline: 3px solid rgba(110, 76, 245, .34); outline-offset: 4px; border-radius: 8px; }
.skip-link {
  position: fixed;
  z-index: 1000;
  top: 12px;
  left: 12px;
  transform: translateY(-180%);
  padding: 10px 15px;
  border-radius: 999px;
  color: #fff;
  background: #17151c;
  font-weight: 750;
  transition: transform .2s ease;
}
.skip-link:focus { transform: none; }
.announcement {
  min-height: 36px;
  padding: 8px 22px;
  background: #17131f;
  gap: 12px;
  font-size: 12px;
  letter-spacing: .005em;
}
.announcement strong { font-weight: 620; }
.announcement a { padding-left: 4px; text-decoration: underline; text-underline-offset: 3px; }

.site-header {
  position: sticky;
  top: 0;
  width: 100%;
  height: 82px;
  max-width: none;
  padding: 0 max(24px, calc((100vw - var(--max)) / 2 + 24px));
  background: rgba(255, 255, 255, .82);
  border-bottom: 1px solid transparent;
  -webkit-backdrop-filter: saturate(180%) blur(22px);
  backdrop-filter: saturate(180%) blur(22px);
  transition: height .25s var(--ease), box-shadow .25s ease, border-color .25s ease;
}
.site-header.is-scrolled {
  height: 72px;
  border-color: var(--line);
  box-shadow: 0 8px 30px rgba(28, 22, 42, .055);
}
.brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.brand img { width: 140px; height: auto; object-fit: contain; }
.nav { gap: clamp(16px, 1.5vw, 25px); font-size: 15px; font-weight: 650; }
.nav > a, .nav-trigger { position: relative; color: #37333d; }
.nav > a::after, .nav-trigger::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 7px;
  height: 2px;
  border-radius: 99px;
  background: var(--purple);
  transition: right .25s var(--ease);
}
.nav > a:hover::after, .nav > a[aria-current="page"]::after, .nav-trigger:hover::after { right: 0; }
.nav > a[aria-current="page"] { color: var(--ink); }
.nav-trigger span { display: inline-block; transition: transform .2s ease; }
.nav-group.open .nav-trigger span { transform: rotate(180deg); }
.nav-cta::after { display: none; }

.mega {
  top: 54px;
  width: min(650px, calc(100vw - 32px));
  padding: 12px;
  border: 1px solid rgba(27, 20, 42, .09);
  border-radius: 22px;
  box-shadow: 0 28px 90px rgba(34, 24, 59, .16);
  background: rgba(255, 255, 255, .96);
  -webkit-backdrop-filter: blur(22px);
  backdrop-filter: blur(22px);
}
.mega a { min-width: 0; padding: 14px 15px; transition: background .18s ease, transform .18s ease; }
.mega a:hover { transform: translateY(-1px); background: #f5f3fb; }
.mega b { font-size: 13px; line-height: 1.3; }
.mega small { font-size: 12px; }
.mega-label { font-size: 9px; }

.btn {
  min-height: 48px;
  padding: 13px 20px;
  border-radius: 999px;
  font-size: 14px;
  letter-spacing: -.005em;
  transition: transform .25s var(--ease), box-shadow .25s ease, background .25s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0) scale(.985); }
.btn-primary {
  background: linear-gradient(135deg, #7652f5, #5e40dd);
  box-shadow: 0 10px 26px rgba(91, 63, 221, .25);
}
.btn-primary:hover { box-shadow: 0 15px 34px rgba(91, 63, 221, .34); }
.text-link { font-size: 14px; text-underline-offset: 4px; }
.text-link:hover { text-decoration: underline; }

.hero, .subhero, .resource-hero, .contact-layout {
  padding: clamp(56px, 6vw, 84px) 32px;
  gap: clamp(40px, 5.5vw, 80px);
}
.hero { min-height: min(680px, calc(100vh - 118px)); }
.hero h1, .subhero h1, .resource-hero h1, .contact-layout h1 {
  max-width: 13ch;
  margin: 20px 0 26px;
  font-size: clamp(52px, 5.7vw, 88px);
  line-height: .98;
  letter-spacing: -.058em;
  text-wrap: balance;
}
.hero p, .subhero p, .resource-hero p, .contact-layout > div > p {
  max-width: 650px;
  font-size: clamp(18px, 1.5vw, 22px);
  color: #6b6670;
  text-wrap: pretty;
}
.eyebrow { font-size: 11px; letter-spacing: .145em; }
.hero-actions, .subhero-actions { gap: 20px; margin: 34px 0; }
.trust-row { gap: 8px; }
.trust-row span, .chips span, .capability-cloud span {
  padding: 8px 11px;
  background: rgba(247, 246, 250, .88);
  font-size: 10px;
}

.section { padding: clamp(48px, 5vw, 72px) 32px; }
.section-head { width: 100%; max-width: none; margin-bottom: 38px; }
.section-head-split {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  column-gap: clamp(32px, 6vw, 92px);
  align-items: end;
}
.section-head-split .eyebrow { grid-column: 1 / -1; }
.section-head-split h2 { grid-column: 1; margin-bottom: 0; }
.section-head-split p { grid-column: 2; align-self: end; padding-bottom: .35em; }
.section-head:not(.section-head-split) h2 { max-width: 24ch; }
.section-head h2, .cta-band h2 {
  font-size: clamp(40px, 4.45vw, 66px);
  line-height: 1.02;
  text-wrap: balance;
}
.section-head p { max-width: 680px; font-size: clamp(16px, 1.25vw, 19px); text-wrap: pretty; }
.soft-panel {
  max-width: calc(var(--max) - 44px);
  padding-inline: clamp(28px, 5vw, 68px);
  border: 1px solid rgba(25, 20, 34, .06);
  border-radius: 38px;
}
.section.soft-panel { margin-block: 18px; }

.clinical-two-paths {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.clinical-path-card {
  position: relative;
  min-width: 0;
  min-height: 480px;
  padding: clamp(28px, 3vw, 42px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 30px;
  background: linear-gradient(145deg, #fff, #f8f7fb);
  box-shadow: var(--shadow-sm);
}
.clinical-path-card::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 220px;
  height: 220px;
  right: -90px;
  top: -90px;
  border-radius: 50%;
  background: rgba(110, 76, 245, .08);
}
.clinical-path-card > * { position: relative; z-index: 1; }
.clinical-path-card.intelligence-path {
  color: #fff;
  border-color: transparent;
  background: radial-gradient(circle at 100% 0, rgba(174, 121, 255, .42), transparent 34%), linear-gradient(145deg, #171225, #35276f);
}
.clinical-path-card.intelligence-path::after { background: rgba(255, 255, 255, .07); }
.clinical-path-kicker { display: flex; align-items: center; gap: 12px; color: var(--purple); font-size: 12px; text-transform: uppercase; letter-spacing: .09em; }
.clinical-path-kicker span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: #eeeaff; font-size: 10px; font-weight: 850; }
.intelligence-path .clinical-path-kicker { color: #d8ceff; }
.intelligence-path .clinical-path-kicker span { background: rgba(255, 255, 255, .12); }
.clinical-path-card h3 { margin: 24px 0 12px; font-size: clamp(36px, 3.7vw, 54px); line-height: 1; letter-spacing: -.045em; }
.clinical-path-card > p { max-width: 620px; margin: 0; color: var(--muted); font-size: 17px; }
.intelligence-path > p { color: #d4cfe0; }
.clinical-path-card ul { display: grid; gap: 9px; margin: 26px 0; padding: 0; list-style: none; }
.clinical-path-card li { position: relative; padding-left: 24px; font-size: 14px; }
.clinical-path-card li::before { content: "✓"; position: absolute; left: 0; color: var(--green); font-weight: 900; }
.intelligence-path li::before { color: #b7a4ff; }
.clinical-path-card .chips { display: flex; flex-wrap: wrap; gap: 8px; margin: auto 0 24px; }
.clinical-path-card .chips span { font-size: 11px; }
.intelligence-path .chips span { color: #eeeaff; border-color: rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .08); }
.clinical-path-card .route-links { gap: 18px; }
.clinical-path-card .route-links a, .clinical-path-card > .text-link { font-size: 13px; }
.intelligence-path > .text-link { color: #d7cbff; }
.clinical-entry-section .section-head { margin-bottom: 30px; }
.clinical-entry-section .buyer-entry-grid article { min-height: 260px; display: flex; flex-direction: column; }
.clinical-entry-section .buyer-entry-grid h3 { margin: 20px 0 8px; font-size: 24px; line-height: 1.15; letter-spacing: -.025em; }
.clinical-entry-section .buyer-entry-grid p { margin-bottom: 24px; }
.clinical-entry-section .buyer-entry-grid a { margin-top: auto; color: var(--purple); font-size: 13px; font-weight: 800; }
.entry-number { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: #eeeaff; color: var(--purple); font-size: 10px; font-weight: 850; }

.solution-route-grid, .update-grid, .testimonial-grid, .resource-grid, .product-media-grid,
.proof-strip, .feature-grid, .trust-grid, .capability-detail-grid, .agent-step-grid,
.path-grid, .buyer-entry-grid, .qualification-grid, .cms-content-grid, .cms-faq-grid {
  gap: 20px;
}
.solution-route-card, .update-grid article, .testimonial-grid blockquote, .resource-card,
.product-media-card, .product-media-grid figure, .proof-strip div, .feature-grid article,
.trust-grid article, .capability-detail-grid article, .agent-step-grid article,
.path-grid article, .buyer-entry-grid article, .qualification-grid article,
.cms-content-grid article, .cms-faq-grid article, .cronos-path-card {
  border-color: var(--line);
  border-radius: 24px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset;
  transition: transform .35s var(--ease), box-shadow .35s ease, border-color .35s ease;
}
.solution-route-card:hover, .resource-card:hover, .feature-grid article:hover,
.trust-grid article:hover, .path-grid article:hover, .buyer-entry-grid article:hover {
  transform: translateY(-5px);
  border-color: rgba(110, 76, 245, .22);
  box-shadow: var(--shadow-sm);
}
.solution-route-card { padding: 24px; }
.solution-route-card h3 { font-size: clamp(24px, 2.3vw, 31px); }
.solution-route-card p, .trust-grid p, .feature-grid p, .path-grid p,
.buyer-entry-grid p, .qualification-grid p, .capability-detail-grid p,
.agent-step-grid p { font-size: 14px; line-height: 1.6; }
.route-visual { height: 250px; border-radius: 21px; overflow: visible; }
.route-visual span {
  max-width: 39%;
  white-space: normal;
  line-height: 1.25;
  text-align: center;
  font-size: 11px;
}
.route-visual b { width: 116px; height: 116px; padding: 12px; line-height: 1.18; font-size: 15px; }

/* Homepage orientation and evidence: clickable journeys, customer proof and WHPL scale. */
.fast-path {
  max-width: var(--max);
  margin: -10px auto 40px;
  padding: 0 32px;
  gap: 16px;
}
.persona {
  position: relative;
  min-height: 134px;
  padding: 22px 24px;
  border-radius: 22px;
}
.persona small { font-size: 11px; letter-spacing: .09em; }
.persona b { font-size: 21px; }
.persona span { max-width: calc(100% - 76px); font-size: 14px; }
.persona i {
  position: absolute;
  right: 22px;
  bottom: 22px;
  color: var(--purple);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity .2s ease, transform .25s var(--ease);
}
.persona:hover i, .persona:focus-visible i { opacity: 1; transform: none; }

.credibility-band {
  max-width: calc(var(--max) - 64px);
  margin: 0 auto 28px;
  padding: clamp(32px, 4vw, 54px);
  display: grid;
  grid-template-columns: minmax(340px, .72fr) minmax(0, 1.28fr);
  gap: clamp(30px, 4vw, 58px);
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 38px;
  background:
    radial-gradient(circle at 0 0, rgba(118, 82, 245, .11), transparent 34%),
    linear-gradient(145deg, #f8f7fc, #fff);
  box-shadow: var(--shadow-sm);
}
.credibility-copy h2 {
  max-width: 12ch;
  margin: 12px 0 16px;
  font-size: clamp(38px, 3.8vw, 58px);
  line-height: 1.02;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.credibility-copy > p { max-width: 560px; margin: 0; color: var(--muted); font-size: 17px; }
.credibility-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 30px; }
.credibility-metrics div { padding: 18px 12px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, .86); }
.credibility-metrics strong { display: block; min-width: 4ch; color: var(--purple); font-size: clamp(27px, 2.7vw, 42px); line-height: 1; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.credibility-metrics span { display: block; margin-top: 8px; color: var(--muted); font-size: 11px; line-height: 1.35; }
.client-portrait { min-width: 0; margin: 0; }
.client-portrait img { width: 100%; height: auto; border: 1px solid rgba(24, 20, 32, .08); border-radius: 26px; background: #fff; box-shadow: 0 18px 45px rgba(32, 24, 52, .08); }
.client-portrait figcaption { margin: 12px 8px 0; color: var(--muted); font-size: 11px; line-height: 1.45; text-align: center; }

.authoring-band, .dark-stage {
  max-width: calc(var(--max) - 44px);
  border-radius: 38px;
}
.authoring-band { padding: clamp(38px, 5vw, 66px); gap: 54px; }
.authoring-products { gap: 18px; }
.authoring-products a { min-height: 230px; padding: 28px; border-radius: 24px; transition: transform .3s var(--ease), box-shadow .3s ease; }
.authoring-products a:hover { transform: translateY(-4px); box-shadow: var(--shadow-sm); }
.authoring-products span { font-size: 13px; }
.dark-stage { padding: clamp(38px, 5vw, 70px); }
.product-ui { border-radius: 24px; box-shadow: 0 34px 100px rgba(0, 0, 0, .32); }
.metric-row small, .task-list p { font-size: 10px; }

.cta-band {
  margin-block: 48px;
  padding: clamp(38px, 5vw, 62px);
  border-radius: 38px;
  background:
    radial-gradient(circle at 90% 0, rgba(255, 255, 255, .25), transparent 28%),
    linear-gradient(135deg, #34298f, #704df0 55%, #a647ce);
  box-shadow: 0 28px 70px rgba(81, 54, 178, .22);
}
.cta-band h2 { max-width: 18ch; }
.cta-band p { font-size: 16px; }
.cta-band .btn-white { flex: 0 0 auto; }

.footer { padding-top: 70px; background: #121016; }
.footer-grid { gap: 44px; }
.footer-logo { width: 145px; }
.footer-grid p, .footer-grid a { font-size: 13px; }
.footer-grid a { width: fit-content; padding-block: 3px; transition: color .2s ease; }
.footer-grid a:hover { color: #fff; }
.footer-base { margin-top: 52px; padding-top: 22px; font-size: 11px; }

/* Diagrams: readable by default, resilient when content length changes. */
.hero-visual {
  height: clamp(520px, 43vw, 640px);
  overflow: visible;
  border-radius: 42%;
}
.core { width: 218px; height: 218px; padding: 24px; }
.core strong { font-size: 26px; }
.core small { font-size: 10px; }
.signal { min-width: 146px; max-width: 180px; padding: 13px 15px; }
.signal b { font-size: 13px; }
.signal small { font-size: 10px; line-height: 1.35; }

.evidence-visual, .cronos-split-visual, .cronos-module-map, .aegis-console-visual,
.cro-operations-board, .pharma-portfolio-visual, .medtech-artifact-wheel,
.regquality-flow, .agent-orchestra {
  min-height: 510px;
  overflow: visible;
  border-radius: 30px;
  background:
    radial-gradient(circle at 50% 48%, rgba(118, 82, 245, .09), transparent 34%),
    linear-gradient(145deg, #fff, #f7f6fb);
  box-shadow: var(--shadow-sm);
}
.evidence-center, .cronos-hub, .module-core, .console-core, .portfolio-core-v,
.artifact-core, .agent-core {
  width: 156px;
  height: 156px;
  padding: 20px;
  box-shadow: 0 18px 42px rgba(82, 52, 183, .24);
}
.evidence-center b, .cronos-hub b, .module-core b, .console-core b, .portfolio-core-v b,
.artifact-core b, .agent-core b { font-size: 18px; line-height: 1.12; }
.evidence-center small, .cronos-hub small, .module-core small, .console-core small,
.portfolio-core-v small, .artifact-core small, .agent-core small { font-size: 9px; line-height: 1.35; }
.evidence-center span, .cronos-hub span, .module-core span, .console-core span,
.portfolio-core-v span, .artifact-core span, .agent-core span { font-size: 10px; line-height: 1.3; }

.evidence-node, .cronos-path, .module-node, .agent-node, .study-node, .artifact-node {
  min-height: 48px;
  padding: 10px 12px;
  border-radius: 14px;
  font-size: 11px;
  line-height: 1.3;
  box-shadow: 0 8px 22px rgba(35, 26, 61, .07);
}
.evidence-node b, .cronos-path b, .module-node b, .agent-node b, .study-node b { display: block; font-size: 11px; line-height: 1.22; }
.evidence-node small, .cronos-path small, .module-node small, .agent-node small, .study-node small { display: block; margin-top: 3px; font-size: 9px; line-height: 1.3; color: var(--muted); }
.cronos-path { width: 190px; }
.module-node, .agent-node { width: 148px; }
.human-review { max-width: 190px; padding: 10px 12px; font-size: 9px; line-height: 1.35; }

.cronos-early-flow { gap: 8px; }
.early-stage { min-height: 180px; padding: 18px; border-radius: 18px; }
.early-stage span { font-size: 10px; }
.early-stage b { font-size: 13px; line-height: 1.28; }
.early-stage small { font-size: 10px; line-height: 1.42; }

.visual-cap, .console-label, .orchestra-title {
  position: absolute;
  top: 18px;
  left: 20px;
  z-index: 7;
  max-width: calc(100% - 40px);
  color: var(--muted);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .11em;
}
.visual-disclaimer {
  position: absolute;
  right: 18px;
  bottom: 13px;
  z-index: 7;
  color: var(--muted);
  font-size: 9px;
}

/* Missing visual layouts from the original stylesheet. */
.console-sources {
  position: absolute;
  left: 22px;
  top: 72px;
  bottom: 54px;
  display: grid;
  align-content: center;
  gap: 9px;
  z-index: 4;
}
.console-sources span {
  min-width: 74px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  text-align: center;
  font-size: 10px;
  font-weight: 750;
}
.console-results {
  position: absolute;
  right: 22px;
  top: 80px;
  bottom: 58px;
  display: grid;
  align-content: center;
  gap: 13px;
  z-index: 4;
}
.console-results div {
  width: 116px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--shadow-sm);
}
.console-results b, .console-results small { display: block; }
.console-results b { font-size: 12px; }
.console-results small { color: var(--muted); font-size: 9px; }

.cro-timeline {
  position: absolute;
  top: 84px;
  left: 28px;
  right: 28px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.cro-timeline span {
  position: relative;
  padding: 12px 10px;
  border-radius: 14px;
  background: #eceaf2;
  text-align: center;
}
.cro-timeline span.done { background: #e6f6ef; color: #177a5a; }
.cro-timeline span.active { background: #6e4cf5; color: #fff; box-shadow: 0 10px 28px rgba(110, 76, 245, .25); }
.cro-timeline i, .cro-timeline b { display: block; font-style: normal; }
.cro-timeline i { font-size: 9px; opacity: .72; }
.cro-timeline b { font-size: 11px; }
.cro-workboard {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 48px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.cro-workboard > div {
  min-height: 190px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255, 255, 255, .9);
}
.cro-workboard small, .cro-workboard b { display: block; }
.cro-workboard small { color: var(--purple); font-size: 9px; font-weight: 850; }
.cro-workboard b { margin: 6px 0 18px; font-size: 13px; }
.cro-workboard i {
  display: block;
  height: 9px;
  width: var(--w, 82%);
  margin: 10px 0;
  border-radius: 99px;
  background: #e4e1eb;
}
.cro-workboard i:nth-of-type(2) { width: 64%; }
.cro-workboard i:nth-of-type(3) { width: 76%; }

.study-node.ps1 { left: 24px; top: 100px; }
.study-node.ps2 { right: 24px; top: 108px; }
.study-node.ps3 { left: 50%; bottom: 28px; transform: translateX(-50%); }
.portfolio-signals {
  position: absolute;
  right: 18px;
  bottom: 18px;
  display: flex;
  gap: 6px;
}
.portfolio-signals span {
  padding: 6px 8px;
  border-radius: 99px;
  background: rgba(110, 76, 245, .08);
  color: var(--purple);
  font-size: 9px;
  font-weight: 750;
}

.artifact-node { min-width: 110px; text-align: center; font-weight: 750; }
.artifact-node.aw1 { left: 50%; top: 48px; transform: translateX(-50%); }
.artifact-node.aw2 { right: 32px; top: 105px; }
.artifact-node.aw3 { right: 24px; bottom: 68px; }
.artifact-node.aw4 { left: 50%; bottom: 30px; transform: translateX(-50%); }
.artifact-node.aw5 { left: 24px; bottom: 68px; }
.artifact-node.aw6 { left: 22px; top: 105px; max-width: 130px; }

.rq-flow {
  position: absolute;
  left: 30px;
  right: 30px;
  top: 100px;
  display: flex;
  align-items: stretch;
  gap: 10px;
}
.rq-flow > span {
  flex: 1;
  min-width: 0;
  padding: 17px 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}
.rq-flow i, .rq-flow b, .rq-flow small { display: block; }
.rq-flow i { color: var(--purple); font-size: 10px; font-style: normal; font-weight: 850; }
.rq-flow b { margin: 8px 0 5px; font-size: 12px; line-height: 1.25; }
.rq-flow small { color: var(--muted); font-size: 10px; line-height: 1.35; }
.rq-flow em { align-self: center; color: var(--purple); font-style: normal; }
.rq-ledger {
  position: absolute;
  left: 30px;
  right: 30px;
  bottom: 52px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.rq-ledger div {
  padding: 13px 14px;
  border-radius: 14px;
  background: #eeebf8;
}
.rq-ledger i { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--green); }
.rq-ledger b { font-size: 11px; }
.rq-ledger small { display: block; padding-left: 16px; color: var(--muted); font-size: 9px; }

.orchestra-title { right: 20px; text-align: center; }
.agent-node i {
  display: inline-grid;
  width: 22px;
  height: 22px;
  place-items: center;
  margin-bottom: 5px;
  border-radius: 50%;
  background: #eeeaff;
  color: var(--purple);
  font-size: 9px;
  font-style: normal;
  font-weight: 850;
}

/* Media: show the whole image. Never crop embedded labels. */
.cms-content-split > img,
.product-media-frame img, .product-media-card img, .product-media-grid picture img,
.product-media-card video, .product-media-frame video {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  object-position: center;
  border-radius: 20px;
  background: #f4f3f7;
}
.cms-content-split > img { padding: 8px; border: 1px solid var(--line); }
.product-media-card, .product-media-grid figure { overflow: hidden; padding: 14px; }
.product-media-grid picture { display: block; width: 100%; }
.product-media-grid figcaption { gap: 4px; padding: 8px 5px 3px; }
.product-media-grid figcaption b { font-size: 15px; }
.product-media-grid figcaption span { color: var(--muted); font-size: 12px; }
.product-media-grid figcaption small { color: #837d89; font-size: 10px; }
.media-placeholder, .cms-visual-placeholder { padding: 32px; min-height: 300px; }

/* Forms and long-form pages. */
.lead-form { gap: 18px; padding: clamp(24px, 3vw, 34px); border-radius: 28px; }
.lead-form label { gap: 7px; font-size: 12px; }
.lead-form input, .lead-form select, .lead-form textarea {
  min-height: 48px;
  padding: 12px 14px;
  border-color: rgba(27, 20, 38, .14);
  border-radius: 13px;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.lead-form textarea { min-height: 128px; resize: vertical; }
.lead-form input:hover, .lead-form select:hover, .lead-form textarea:hover { border-color: rgba(110, 76, 245, .35); }
.lead-form input:focus, .lead-form select:focus, .lead-form textarea:focus {
  outline: 0;
  border-color: var(--purple);
  box-shadow: 0 0 0 4px rgba(110, 76, 245, .10);
}
.cms-section { max-width: var(--max); padding: clamp(56px, 6vw, 84px) 32px; }
.gate-wrap { max-width: var(--max); padding: clamp(56px, 6vw, 84px) 32px; }
.legal { max-width: 960px; padding: clamp(56px, 6vw, 84px) 32px; }
.legal, .article-body, .article-content { color: #37323d; }
.legal h1 { font-size: clamp(42px, 5vw, 64px); line-height: 1.03; letter-spacing: -.045em; }
.legal p, .article-content p { line-height: 1.75; }
.success { border: 1px solid var(--line); border-radius: 30px; box-shadow: var(--shadow-sm); }

/* Gentle reveal without hiding content before JavaScript loads. */
.section, .solution-panel, .trust-grid article, .feature-grid article, .agent-node {
  transition: opacity .55s ease, transform .7s var(--ease);
}
.js .section:not(.in-view), .js .solution-panel:not(.in-view),
.js .trust-grid article:not(.in-view), .js .feature-grid article:not(.in-view) {
  opacity: .01;
  transform: translateY(18px);
}
.in-view { opacity: 1; transform: none; }

@media (max-width: 1120px) {
  .nav { gap: 14px; font-size: 13px; }
  .nav-cta { padding-inline: 14px !important; }
  .hero, .subhero { gap: 45px; }
  .signal { min-width: 132px; }
}

@media (max-width: 980px) {
  body.menu-open { overflow: hidden; }
  .site-header, .site-header.is-scrolled { height: 72px; padding-inline: 20px; }
  .menu-btn {
    display: grid;
    width: 46px;
    height: 46px;
    place-content: center;
    border-radius: 50%;
    transition: background .2s ease;
  }
  .menu-btn:hover { background: var(--soft); }
  .menu-btn span { transition: transform .2s ease, opacity .2s ease; }
  .menu-btn[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-btn[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-btn[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .nav {
    position: fixed;
    z-index: 60;
    left: 14px;
    right: 14px;
    top: 116px;
    max-height: calc(100dvh - 132px);
    overflow-y: auto;
    padding: 16px;
    border-radius: 24px;
    background: rgba(255, 255, 255, .98);
  }
  .nav > a, .nav-trigger { width: 100%; padding: 13px 12px; text-align: left; }
  .nav > a::after, .nav-trigger::after { display: none; }
  .mega { padding: 5px; border: 0; border-left: 2px solid rgba(110, 76, 245, .2); border-radius: 0; background: transparent; }
  .mega a { padding: 12px; }
  .nav-cta { text-align: center !important; }
  .hero, .subhero, .resource-hero, .contact-layout {
    grid-template-columns: 1fr;
    gap: 44px;
  }
  .hero { min-height: 0; }
  .hero h1, .subhero h1, .resource-hero h1, .contact-layout h1 { max-width: 15ch; }
  .hero-visual { width: min(680px, 100%); margin-inline: auto; }
  .soft-panel { margin-inline: 18px; width: auto; }
  .credibility-band { grid-template-columns: 1fr; margin-inline: 18px; }
  .credibility-copy h2 { max-width: 16ch; }
  .section-head-split { grid-template-columns: minmax(0, 1.2fr) minmax(240px, .8fr); column-gap: 34px; }
  .clinical-two-paths { grid-template-columns: 1fr; }
  .clinical-path-card { min-height: 0; }
  .dark-stage, .authoring-band { width: auto; }
  .solution-route-grid, .proof-strip, .feature-grid, .trust-grid, .four-col,
  .capability-detail-grid, .agent-step-grid, .resource-grid, .update-grid,
  .testimonial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rq-flow { gap: 7px; }
  .rq-flow > span { padding-inline: 10px; }
}

@media (max-width: 720px) {
  .announcement { min-height: 42px; align-items: baseline; text-align: center; flex-wrap: wrap; gap: 4px 8px; }
  .announcement span { display: none; }
  .nav { top: 121px; max-height: calc(100dvh - 137px); }
  .hero, .subhero, .resource-hero, .contact-layout { padding: 60px 20px; }
  .hero h1, .subhero h1, .resource-hero h1, .contact-layout h1 {
    font-size: clamp(42px, 12.4vw, 60px);
    line-height: 1;
    letter-spacing: -.05em;
  }
  .hero p, .subhero p, .resource-hero p, .contact-layout > div > p { font-size: 17px; }
  .section { padding: 56px 20px; }
  .section-head { margin-bottom: 34px; }
  .section-head-split { display: block; }
  .section-head-split h2 { margin-bottom: 16px; }
  .section-head-split p { padding-bottom: 0; }
  .section-head h2, .cta-band h2 { font-size: clamp(34px, 9.5vw, 46px); }
  .soft-panel { margin-inline: 12px; padding-inline: 22px; border-radius: 30px; }
  .authoring-band, .dark-stage, .cta-band { margin-inline: 12px; padding: 30px 22px; border-radius: 30px; }
  .cta-band { gap: 22px; }
  .cta-band .btn { width: 100%; }
  .solution-route-grid, .fast-path, .feature-grid, .trust-grid, .four-col,
  .three-col, .capability-detail-grid, .agent-step-grid, .resource-grid,
  .update-grid, .testimonial-grid, .product-media-grid, .cms-content-grid,
  .cms-faq-grid, .proof-strip { grid-template-columns: 1fr; }

  .hero-visual {
    height: auto;
    min-height: 0;
    padding: 26px;
    border-radius: 30px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    background: linear-gradient(145deg, #f8f6ff, #fff);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-sm);
  }
  .hero-visual .orbit, .hero-visual .pulse { display: none; }
  .core, .signal { position: relative; inset: auto; transform: none; width: auto; min-width: 0; max-width: none; height: auto; }
  .core { grid-column: 1 / -1; min-height: 180px; border-radius: 26px; }
  .signal { min-height: 105px; justify-content: center; }
  .signal i { margin-bottom: 10px; }

  .evidence-visual, .cronos-split-visual, .cronos-module-map, .aegis-console-visual,
  .cro-operations-board, .pharma-portfolio-visual, .medtech-artifact-wheel,
  .regquality-flow, .agent-orchestra {
    min-height: 0;
    padding: 62px 16px 20px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .evidence-visual svg, .cronos-split-visual svg, .cronos-module-map svg,
  .aegis-console-visual svg, .pharma-portfolio-visual svg,
  .medtech-artifact-wheel svg, .agent-orchestra svg { display: none; }
  .evidence-center, .cronos-hub, .module-core, .console-core, .portfolio-core-v,
  .artifact-core, .agent-core, .evidence-node, .cronos-path, .module-node,
  .agent-node, .study-node, .artifact-node, .human-review {
    position: relative;
    inset: auto;
    transform: none;
    width: auto;
    max-width: none;
    min-width: 0;
    height: auto;
  }
  .evidence-center, .cronos-hub, .module-core, .console-core, .portfolio-core-v,
  .artifact-core, .agent-core {
    grid-column: 1 / -1;
    min-height: 150px;
    border-radius: 25px;
  }
  .evidence-node, .cronos-path, .module-node, .agent-node, .study-node, .artifact-node {
    min-height: 82px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left;
  }
  .human-review { grid-column: 1 / -1; padding: 14px; }
  .visual-disclaimer { position: relative; inset: auto; grid-column: 1 / -1; text-align: center; }
  .console-sources, .console-results, .cro-timeline, .cro-workboard, .portfolio-signals,
  .rq-flow, .rq-ledger {
    position: relative;
    inset: auto;
  }
  .console-sources, .console-results { display: contents; }
  .console-sources span, .console-results div { width: auto; min-width: 0; min-height: 70px; display: flex; flex-direction: column; justify-content: center; }
  .cro-operations-board, .regquality-flow { display: block; }
  .cro-timeline { margin-bottom: 12px; }
  .cro-workboard { grid-template-columns: 1fr; }
  .cro-workboard > div { min-height: 145px; }
  .rq-flow { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 12px; }
  .rq-flow em { display: none; }
  .rq-ledger { grid-template-columns: 1fr; }
  .portfolio-signals { grid-column: 1 / -1; justify-content: center; }
  .artifact-node.aw1, .artifact-node.aw2, .artifact-node.aw3, .artifact-node.aw4,
  .artifact-node.aw5, .artifact-node.aw6, .study-node.ps1, .study-node.ps2, .study-node.ps3 {
    inset: auto;
    transform: none;
  }
  .orchestra-title, .visual-cap, .console-label { right: 20px; text-align: center; }
  .cronos-early-flow { gap: 0; }
  .early-stage { min-height: 0; padding: 20px; }
  .cronos-early-flow > i { height: 20px; }
  .interop-board { padding: 2px; }
  .cms-content-split > img { margin-top: 8px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > div:first-child { grid-column: auto; }
  .footer-base { align-items: flex-start; flex-direction: column; gap: 6px; }
  .field-row { grid-template-columns: 1fr; }
  .fast-path { margin-bottom: 28px; padding-inline: 20px; }
  .persona { min-height: 122px; }
  .persona i { opacity: 1; transform: none; }
  .credibility-band { margin-inline: 12px; padding: 30px 22px; border-radius: 30px; }
  .credibility-copy h2 { font-size: clamp(36px, 10vw, 48px); }
  .credibility-metrics { grid-template-columns: 1fr 1fr; }
  .credibility-metrics div { padding: 15px 9px; }
  .client-portrait img { border-radius: 20px; }
  .clinical-path-card { padding: 28px 22px; border-radius: 26px; }
  .clinical-path-card h3 { font-size: 40px; }
  .clinical-path-card > p { font-size: 16px; }
  .clinical-entry-section .buyer-entry-grid article { min-height: 0; }
}

@media (max-width: 440px) {
  .hero-actions, .subhero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .btn, .subhero-actions .btn { width: 100%; }
  .hero-visual { grid-template-columns: 1fr; }
  .core { grid-column: auto; }
  .evidence-visual, .cronos-split-visual, .cronos-module-map, .aegis-console-visual,
  .pharma-portfolio-visual, .medtech-artifact-wheel, .agent-orchestra { grid-template-columns: 1fr; }
  .evidence-center, .cronos-hub, .module-core, .console-core, .portfolio-core-v,
  .artifact-core, .agent-core, .human-review, .visual-disclaimer, .portfolio-signals { grid-column: auto; }
  .rq-flow { grid-template-columns: 1fr; }
  .credibility-metrics { grid-template-columns: 1fr; }
  .credibility-metrics div { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 14px; }
  .credibility-metrics span { margin: 0; }
}

/* ============================================================
   Regulatory.docx — Regulatory & Quality and Company rebuilds
   ============================================================ */

/* Regulatory & Quality hero and connected-evidence visual. */
.regulatory-hero h1 { max-width: 14ch; font-size: clamp(3rem, 4.45vw, 4.75rem); line-height: 1.02; }
.regulatory-hero h1 em { display: block; }
.regulatory-hero .hero-supporting-copy { margin-top: 18px; font-size: var(--type-ui); line-height: 1.62; }
.regulatory-hero .hero-supporting-copy b { color: var(--ink); }
.regquality-flow {
  min-height: 710px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  border-radius: 34px;
  background: radial-gradient(circle at 90% 8%, rgba(151, 104, 255, .18), transparent 28%), linear-gradient(155deg, #faf9ff, #fff);
  box-shadow: 0 28px 70px rgba(37, 25, 70, .11);
}
.rq-heading { display: grid; gap: 7px; }
.rq-heading span, .rq-source-grid small, .rq-evidence-core small, .rq-human-bar span {
  color: var(--purple);
  font-size: var(--type-label);
  font-weight: 850;
  letter-spacing: .075em;
}
.rq-heading b { max-width: 27ch; font-size: 1.5rem; line-height: 1.28; }
.rq-source-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.rq-source-grid > div { min-width: 0; padding: 17px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, .92); }
.rq-source-grid > div span { display: block; margin-top: 8px; padding: 8px 10px; border: 1px solid rgba(118, 82, 245, .13); border-radius: 10px; background: #f8f6ff; color: #463b68; font-size: var(--type-label); line-height: 1.35; }
.rq-connector { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; color: var(--purple); }
.rq-connector i { height: 1px; background: linear-gradient(90deg, transparent, rgba(118, 82, 245, .42)); }
.rq-connector i:last-child { background: linear-gradient(90deg, rgba(118, 82, 245, .42), transparent); }
.rq-evidence-core { padding: 23px; border-radius: 24px; color: #fff; background: radial-gradient(circle at 95% 5%, rgba(190, 133, 255, .45), transparent 35%), linear-gradient(145deg, #17122a, #4a31a5); box-shadow: 0 20px 45px rgba(65, 43, 128, .2); }
.rq-evidence-core small { color: #d8ceff; }
.rq-evidence-core strong { display: block; margin: 8px 0 17px; font-size: 2rem; line-height: 1.15; letter-spacing: -.035em; }
.rq-evidence-core > div { display: flex; flex-wrap: wrap; gap: 8px; }
.rq-evidence-core > div span { padding: 8px 10px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 999px; background: rgba(255, 255, 255, .09); font-size: var(--type-label); line-height: 1.3; }
.rq-outcome-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.rq-outcome-grid > div { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.rq-outcome-grid b, .rq-outcome-grid small { display: block; }
.rq-outcome-grid b { font-size: var(--type-ui); line-height: 1.3; }
.rq-outcome-grid small { margin-top: 5px; color: var(--muted); font-size: var(--type-label); line-height: 1.4; }
.rq-human-bar { margin-top: auto; padding: 16px 18px; border-radius: 17px; background: #151126; color: #fff; }
.rq-human-bar span { display: block; color: #cfc3ff; }
.rq-human-bar b { display: block; margin-top: 5px; font-size: var(--type-label); line-height: 1.45; }

/* Regulatory & Quality body sections. */
.connected-evidence-principle { display: grid; grid-template-columns: minmax(0, .85fr) 44px minmax(0, 1.1fr) 44px minmax(0, 1fr); align-items: center; gap: 13px; }
.connected-evidence-principle > b { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: #ece7ff; color: var(--purple); font-size: 1.35rem; }
.cep-inputs, .cep-core, .cep-outcome { min-width: 0; min-height: 250px; padding: 25px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: var(--shadow-sm); }
.cep-inputs small, .cep-core small, .cep-outcome small { color: var(--purple); font-size: var(--type-label); font-weight: 850; letter-spacing: .075em; }
.cep-inputs span { margin-top: 10px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 10px; color: #4a4457; font-size: var(--type-label); }
.cep-core { justify-content: center; color: #fff; border-color: transparent; background: linear-gradient(145deg, #17122a, #5737bd); }
.cep-core small { color: #d8ceff; }
.cep-core strong, .cep-outcome strong { margin: 12px 0; font-size: 1.55rem; line-height: 1.25; }
.cep-core span, .cep-outcome span { color: #ded8ed; font-size: var(--type-ui); line-height: 1.55; }
.cep-outcome { justify-content: center; background: linear-gradient(145deg, #f1edff, #fff); }
.cep-outcome span { color: var(--muted); }
.accountability-note { margin-top: 18px; padding: 22px 25px; display: grid; grid-template-columns: minmax(220px, .7fr) 1.3fr; gap: 26px; align-items: center; border-radius: 20px; background: #151126; color: #fff; }
.accountability-note b { font-size: 1.25rem; line-height: 1.35; }
.accountability-note p { margin: 0; color: #ddd7e8; font-size: var(--type-ui); line-height: 1.55; }
.regulatory-value-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.regulatory-value-grid article { min-width: 0; min-height: 280px; padding: 27px; border: 1px solid var(--line); border-radius: 25px; background: #fff; box-shadow: var(--shadow-sm); }
.regulatory-value-grid article.value-lead { grid-column: span 2; color: #fff; border-color: transparent; background: radial-gradient(circle at 100% 0, rgba(183, 127, 255, .45), transparent 35%), linear-gradient(145deg, #17132c, #4a31a4); }
.regulatory-value-grid article > span, .accountability-grid article > span { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 14px; background: #ebe5ff; color: var(--purple); font-size: var(--type-label); font-weight: 900; }
.regulatory-value-grid .value-lead > span { background: rgba(255, 255, 255, .13); color: #fff; }
.regulatory-value-grid h3 { margin: 22px 0 11px; font-size: 1.55rem; line-height: 1.25; letter-spacing: -.025em; }
.regulatory-value-grid p { margin: 0; color: var(--muted); font-size: var(--type-body); line-height: 1.62; }
.regulatory-value-grid .value-lead p { color: #ddd7e8; }
.accountability-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.accountability-grid article { min-width: 0; padding: 25px; border: 1px solid var(--line); border-radius: 23px; background: linear-gradient(150deg, #fff, #f8f7fc); }
.accountability-grid h3 { margin: 21px 0 10px; font-size: 1.35rem; line-height: 1.25; }
.accountability-grid p { margin: 0; color: var(--muted); font-size: var(--type-ui); line-height: 1.6; }
.built-for-ls { max-width: calc(var(--max) - 44px); padding: 58px; display: grid; grid-template-columns: 1.25fr .75fr; gap: 48px; align-items: center; border-radius: 34px; color: #fff; background: radial-gradient(circle at 85% 15%, rgba(118, 82, 245, .5), transparent 32%), linear-gradient(135deg, #0d081a, #19112f); }
.built-for-ls h2 { max-width: 19ch; margin: 14px 0 18px; font-size: clamp(2.35rem, 4vw, 3.75rem); line-height: 1.04; letter-spacing: -.045em; }
.built-for-ls p { max-width: 66ch; margin: 0; color: #c9c1d6; font-size: var(--type-body); line-height: 1.65; }
.ls-principle-stack { display: grid; gap: 10px; }
.ls-principle-stack span { padding: 13px 15px; border: 1px solid rgba(255, 255, 255, .13); border-radius: 13px; background: rgba(255, 255, 255, .07); font-size: var(--type-ui); font-weight: 750; }
.dual-cta-band { max-width: calc(var(--max) - 44px); margin: 70px auto; padding: 52px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 34px; align-items: center; border-radius: 30px; color: #fff; background: linear-gradient(135deg, #3b2fa9, #7652f5 55%, #ad50dc); }
.dual-cta-band h2 { max-width: 19ch; margin: 12px 0 16px; font-size: clamp(2.2rem, 4vw, 3.5rem); line-height: 1.04; letter-spacing: -.045em; }
.dual-cta-band p { max-width: 65ch; margin: 0; color: #e1daf2; font-size: var(--type-body); line-height: 1.62; }
.dual-cta-actions { width: min(100%, 430px); display: grid; gap: 11px; }
.dual-cta-actions .btn { width: 100%; text-align: center; }
.btn-ghost-light { color: #fff; border-color: rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .08); }

/* Company hero and regulated-intelligence model. */
.company-page-hero h1 { max-width: 11ch; }
.company-page-hero h1 em { display: block; }
.company-intelligence-visual { min-width: 0; min-height: 610px; padding: 30px; display: flex; flex-direction: column; gap: 19px; overflow: hidden; border: 1px solid rgba(118, 82, 245, .14); border-radius: 34px; background: radial-gradient(circle at 88% 8%, rgba(151, 104, 255, .2), transparent 29%), linear-gradient(155deg, #faf9ff, #fff); box-shadow: 0 28px 70px rgba(37, 25, 70, .11); }
.civ-heading { display: grid; gap: 8px; }
.civ-heading span, .civ-core small { color: var(--purple); font-size: var(--type-label); font-weight: 850; letter-spacing: .075em; }
.civ-heading b { font-size: 1.55rem; line-height: 1.3; }
.civ-workflows { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.civ-workflows span { min-width: 0; padding: 13px 8px; border: 1px solid var(--line); border-radius: 14px; background: #fff; color: #4a415d; font-size: var(--type-label); font-weight: 750; text-align: center; }
.civ-connector { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; color: var(--purple); }
.civ-connector i { height: 1px; background: linear-gradient(90deg, transparent, rgba(118, 82, 245, .42)); }
.civ-connector i:last-child { background: linear-gradient(90deg, rgba(118, 82, 245, .42), transparent); }
.civ-core { padding: 34px 27px; border-radius: 28px; color: #fff; background: radial-gradient(circle at 100% 0, rgba(183, 127, 255, .45), transparent 35%), linear-gradient(145deg, #17132c, #4a31a4); box-shadow: 0 22px 48px rgba(65, 43, 128, .22); }
.civ-core small { color: #d8ceff; }
.civ-core strong { display: block; margin: 10px 0 13px; font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1.15; letter-spacing: -.04em; }
.civ-core p { margin: 0; color: #ddd7e8; font-size: var(--type-ui); line-height: 1.5; }
.civ-principles { margin-top: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.civ-principles span { padding: 13px; border: 1px solid rgba(118, 82, 245, .13); border-radius: 14px; background: #fff; color: #4b4162; font-size: var(--type-ui); font-weight: 750; text-align: center; }
.company-purpose-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 20px; align-items: stretch; }
.company-purpose-grid > div, .company-purpose-grid aside { padding: 34px; border: 1px solid var(--line); border-radius: 27px; }
.company-purpose-grid > div { background: linear-gradient(145deg, #fff, #faf9ff); }
.company-purpose-grid h3 { max-width: 24ch; margin: 0 0 16px; font-size: clamp(1.9rem, 3vw, 2.75rem); line-height: 1.08; letter-spacing: -.04em; }
.company-purpose-grid p { margin: 0; color: var(--muted); font-size: var(--type-body); line-height: 1.68; }
.company-purpose-grid aside { display: flex; flex-direction: column; justify-content: center; color: #fff; background: linear-gradient(145deg, #17122a, #5737bd); }
.company-purpose-grid aside span { color: #d8ceff; font-size: var(--type-label); font-weight: 850; letter-spacing: .08em; }
.company-purpose-grid aside strong { margin: 10px 0; font-size: clamp(2.6rem, 5vw, 4.8rem); line-height: 1; letter-spacing: -.06em; }
.company-purpose-grid aside p { color: #ddd7e8; }
.company-build-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.company-build-grid article { min-width: 0; min-height: 270px; padding: 27px; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: var(--shadow-sm); }
.company-build-grid article > span { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 14px; background: #ebe5ff; color: var(--purple); font-size: var(--type-label); font-weight: 900; }
.company-build-grid h3 { margin: 22px 0 10px; font-size: 1.45rem; line-height: 1.25; letter-spacing: -.025em; }
.company-build-grid p { margin: 0; color: var(--muted); font-size: var(--type-ui); line-height: 1.62; }
.company-capability-flow { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(190px, .7fr); gap: 12px; align-items: stretch; }
.company-capability-flow > b { align-self: center; color: var(--purple); font-size: 1.65rem; }
.company-capability-flow article, .company-direction-core { min-width: 0; min-height: 305px; padding: 25px; border: 1px solid var(--line); border-radius: 24px; background: linear-gradient(150deg, #fff, #f8f7fc); }
.company-capability-flow article > span { color: var(--purple); font-size: 2.1rem; font-weight: 900; }
.company-capability-flow small { display: block; margin-top: 18px; color: var(--purple); font-size: var(--type-label); font-weight: 850; letter-spacing: .075em; }
.company-capability-flow h3 { margin: 12px 0 10px; font-size: 1.35rem; line-height: 1.25; }
.company-capability-flow p { margin: 0; color: var(--muted); font-size: var(--type-ui); line-height: 1.58; }
.company-direction-core { display: flex; flex-direction: column; justify-content: center; color: #fff; border-color: transparent; background: radial-gradient(circle at 100% 0, rgba(183, 127, 255, .45), transparent 35%), linear-gradient(145deg, #17132c, #4a31a4); }
.company-direction-core small { margin: 0; color: #d8ceff; }
.company-direction-core strong { margin-top: 13px; font-size: 1.7rem; line-height: 1.2; letter-spacing: -.035em; }
.company-direction-section { max-width: calc(var(--max) - 44px); padding: 60px; display: grid; grid-template-columns: 1.3fr .7fr; gap: 50px; align-items: center; border-radius: 35px; color: #fff; background: radial-gradient(circle at 83% 16%, rgba(118, 82, 245, .48), transparent 32%), linear-gradient(135deg, #0d081a, #19112f); }
.company-direction-section h2 { max-width: 18ch; margin: 13px 0 20px; font-size: clamp(2.5rem, 4.5vw, 4.2rem); line-height: 1.02; letter-spacing: -.05em; }
.company-direction-section p { max-width: 66ch; color: #c9c1d6; font-size: var(--type-body); line-height: 1.68; }
.company-direction-section > div > strong { display: block; margin-top: 22px; color: #fff; font-size: var(--type-ui); line-height: 1.5; }
.direction-orbit { position: relative; justify-self: center; width: min(100%, 330px); aspect-ratio: 1; border: 1px solid rgba(255, 255, 255, .17); border-radius: 50%; }
.direction-orbit::before { content: ""; position: absolute; inset: 15%; border: 1px solid rgba(255, 255, 255, .17); border-radius: 50%; }
.direction-orbit b { position: absolute; inset: 29%; z-index: 2; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--ink); font-size: 1.25rem; line-height: 1.25; text-align: center; }
.direction-orbit span { position: absolute; z-index: 3; padding: 9px 11px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 999px; background: #302455; font-size: var(--type-label); font-weight: 800; }
.direction-orbit span:nth-child(1) { top: 4%; left: 50%; transform: translateX(-50%); }
.direction-orbit span:nth-child(2) { left: -2%; bottom: 21%; }
.direction-orbit span:nth-child(3) { right: -2%; bottom: 21%; }

@media (max-width: 1040px) {
  .accountability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .company-capability-flow { grid-template-columns: minmax(0, 1fr); }
  .company-capability-flow > b { justify-self: center; transform: rotate(90deg); }
  .company-capability-flow article, .company-direction-core { min-height: 0; }
}

@media (max-width: 900px) {
  .regquality-flow, .company-intelligence-visual { min-height: 0; }
  .connected-evidence-principle { grid-template-columns: minmax(0, 1fr); }
  .connected-evidence-principle > b { justify-self: center; transform: rotate(90deg); }
  .cep-inputs, .cep-core, .cep-outcome { min-height: 0; }
  .regulatory-value-grid, .company-build-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .regulatory-value-grid article.value-lead { grid-column: span 2; }
  .built-for-ls, .dual-cta-band, .company-direction-section { grid-template-columns: minmax(0, 1fr); }
  .company-purpose-grid { grid-template-columns: minmax(0, 1fr); }
  .direction-orbit { margin-top: 10px; }
}

@media (max-width: 720px) {
  .regulatory-hero h1 { font-size: clamp(2.65rem, 12vw, 3.75rem); }
  .regquality-flow, .company-intelligence-visual { padding: 21px; border-radius: 28px; }
  .rq-source-grid, .rq-outcome-grid, .civ-workflows, .civ-principles { grid-template-columns: minmax(0, 1fr); }
  .accountability-note { grid-template-columns: minmax(0, 1fr); gap: 9px; }
  .regulatory-value-grid, .accountability-grid, .company-build-grid { grid-template-columns: minmax(0, 1fr); }
  .regulatory-value-grid article.value-lead { grid-column: auto; }
  .built-for-ls, .company-direction-section { margin-inline: 12px; padding: 34px 24px; border-radius: 30px; }
  .dual-cta-band { margin: 45px 12px; padding: 32px 23px; border-radius: 30px; }
  .company-purpose-grid > div, .company-purpose-grid aside { padding: 27px; }
  .company-direction-section h2 { font-size: clamp(2.25rem, 11vw, 3.35rem); }
}

@media (max-width: 440px) {
  .rq-evidence-core strong { font-size: 1.75rem; }
  .dual-cta-band h2 { font-size: 2.2rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* ============================================================
   WHPL legibility system — August 2026
   A consistent, zoom-safe type scale for every route and visual.
   No functional text is rendered below 16px at default settings.
   ============================================================ */
:root {
  --type-display: clamp(3rem, 4.2vw, 4rem);
  --type-section: clamp(2.25rem, 3.1vw, 3rem);
  --type-subsection: clamp(1.625rem, 2vw, 2rem);
  --type-body-large: clamp(1.25rem, 1.55vw, 1.375rem);
  --type-body: 1.125rem;
  --type-ui: 1.0625rem;
  --type-label: 1rem;
  --reading-width: 70ch;
  --muted: #514b5a;
}

html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  font-size: 1.125rem;
  line-height: 1.64;
}
main, header, footer { overflow-wrap: break-word; }
p, li { line-height: 1.65; }
small { font-size: var(--type-label); line-height: 1.45; }
h1, h2, h3, h4, b, strong { text-wrap: balance; }

/* Navigation, announcements and controls. */
.announcement { min-height: 42px; font-size: var(--type-label); line-height: 1.4; }
.nav { gap: clamp(14px, 1.35vw, 23px); font-size: var(--type-ui); }
.nav > a, .nav-trigger { min-height: 44px; display: inline-flex; align-items: center; }
.mega { width: min(720px, calc(100vw - 32px)); }
.mega.compact { width: min(590px, calc(100vw - 32px)); }
.mega a { min-height: 74px; justify-content: center; }
.mega b { font-size: var(--type-ui); line-height: 1.35; }
.mega small { font-size: var(--type-label); line-height: 1.5; }
.mega-label { font-size: var(--type-label); letter-spacing: .1em; }
.btn { min-height: 50px; padding: 13px 22px; font-size: var(--type-ui); line-height: 1.25; }
.text-link, .route-links a, .buyer-entry-grid a { font-size: var(--type-ui); line-height: 1.45; }
.eyebrow { font-size: var(--type-label); line-height: 1.35; letter-spacing: .12em; }

/* Balanced display hierarchy: smaller peaks, larger supporting copy. */
.hero h1, .subhero h1, .resource-hero h1, .contact-layout h1 {
  max-width: 15ch;
  font-size: var(--type-display);
  line-height: 1.02;
  letter-spacing: -.048em;
}
.hero p, .subhero p, .resource-hero p, .contact-layout > div > p {
  max-width: var(--reading-width);
  font-size: var(--type-body-large);
  line-height: 1.62;
  color: var(--muted);
}
.section-head h2, .cta-band h2, .cms-content-split h2, .cms-callout h2,
.content-empty-state h2, .insight-placeholder h2, .gate-copy h2 {
  font-size: var(--type-section);
  line-height: 1.08;
  letter-spacing: -.04em;
}
.section-head p, .cms-section p, .gate-copy > p, .content-empty-state p,
.insight-placeholder p, .medtech-category-statement p {
  max-width: var(--reading-width);
  font-size: var(--type-body-large);
  line-height: 1.65;
}
.section-head-split { grid-template-columns: minmax(0, 1.2fr) minmax(310px, .8fr); }
.section-head-split p { max-width: 42ch; }

/* Cards, subsections and workflow content. */
.solution-route-card h3, .trust-grid h3, .feature-grid h3, .path-grid h3,
.buyer-entry-grid h3, .qualification-grid h3, .capability-detail-grid h3,
.agent-step-grid h3, .resource-card h3, .update-grid h3, .cms-content-grid h3,
.cms-faq-grid h3, .artifact-grid h3, .cronos-path-card h2 {
  font-size: var(--type-subsection);
  line-height: 1.2;
  letter-spacing: -.025em;
}
.solution-route-card p, .trust-grid p, .feature-grid p, .path-grid p,
.buyer-entry-grid p, .qualification-grid p, .capability-detail-grid p,
.agent-step-grid p, .resource-card p, .update-grid p, .testimonial-grid p,
.cms-content-grid p, .cms-faq-grid p, .cronos-path-card p {
  font-size: var(--type-body);
  line-height: 1.65;
}
.proof-strip small, .feature-grid article > span, .agent-step-grid article > span,
.authoring-products small, .update-grid article > small, .insight-card small,
.resource-art > span, .mini-cover small { font-size: var(--type-label); }
.proof-strip b { font-size: 1.25rem; line-height: 1.4; }
.trust-grid .icon { font-size: 2rem; line-height: 1; }
.chips span, .capability-cloud span, .trust-row span, .maturity,
.artifact-grid > span, .artifact-grid > article, .process-line span,
.diagnostic-steps span, .decision-gate span, .csr-flow-board > div,
.contact-points span, .gate-steps span, .resource-preview-points span,
.audience, .interop-board span { font-size: var(--type-label); line-height: 1.5; }

/* Homepage-specific type. */
.persona small { font-size: var(--type-label); }
.persona b { font-size: 1.5rem; line-height: 1.25; }
.persona span { font-size: var(--type-ui); line-height: 1.5; }
.persona i { font-size: var(--type-label); }
.credibility-copy > p { font-size: var(--type-body); line-height: 1.65; }
.credibility-metrics span { font-size: var(--type-label); line-height: 1.45; }
.client-portrait figcaption { font-size: var(--type-label); line-height: 1.55; }
.route-visual { min-height: 270px; }
.route-visual b { width: 124px; height: 124px; font-size: 1rem; }
.route-visual span { min-width: 72px; font-size: var(--type-label); line-height: 1.35; }
.authoring-intro h2, .stage-copy h2 {
  font-size: clamp(2.25rem, 3.4vw, 3.25rem);
  line-height: 1.08;
}
.authoring-intro p, .stage-copy p { font-size: var(--type-body-large); line-height: 1.65; }
.authoring-products b { font-size: 1.75rem; line-height: 1.25; }
.authoring-products span { font-size: var(--type-ui); line-height: 1.55; }
.authoring-products em { font-size: var(--type-ui); }
.cta-band p { max-width: 62ch; font-size: var(--type-body); line-height: 1.65; }

/* Product UI mockups remain readable instead of decorative micro-text. */
.ui-top { min-height: 50px; height: auto; }
.ui-top b { font-size: var(--type-label); }
.ui-main { padding: 22px; }
.metric-row { gap: 12px; }
.metric-row div { min-width: 0; padding: 14px; }
.metric-row small { font-size: var(--type-label); line-height: 1.4; }
.metric-row b { display: block; margin-top: 5px; font-size: 1.25rem; }
.task-list p { min-height: 48px; font-size: var(--type-label); line-height: 1.45; }

/* Diagram typography and geometry. */
.core { width: 236px; height: 236px; }
.core-kicker, .core small { font-size: var(--type-label); }
.core strong { font-size: 1.75rem; line-height: 1.1; }
.signal { min-width: 172px; max-width: 205px; padding: 16px 18px; }
.signal b { font-size: 1.125rem; line-height: 1.35; }
.signal small { font-size: var(--type-label); line-height: 1.45; }
.clinical-architecture-visual { gap: 16px; }
.ca-layer { padding: 30px; }
.ca-layer small { font-size: var(--type-label); }
.ca-layer b { font-size: 1.875rem; line-height: 1.2; }
.ca-layer span, .ca-bridge, .flow-sources span, .flow-results span {
  font-size: var(--type-label);
  line-height: 1.45;
}
.aegis-core small, .aegis-core span { font-size: var(--type-label); line-height: 1.4; }
.aegis-core b { font-size: 1.75rem; }

.evidence-visual, .cronos-split-visual, .cronos-module-map, .aegis-console-visual,
.cro-operations-board, .pharma-portfolio-visual, .medtech-artifact-wheel,
.regquality-flow, .agent-orchestra { min-height: 590px; }
.evidence-center, .cronos-hub, .module-core, .console-core, .portfolio-core-v,
.artifact-core, .agent-core { width: 178px; height: 178px; padding: 22px; }
.evidence-center b, .cronos-hub b, .module-core b, .console-core b,
.portfolio-core-v b, .artifact-core b, .agent-core b {
  font-size: 1.25rem;
  line-height: 1.18;
}
.evidence-center small, .cronos-hub small, .module-core small, .console-core small,
.portfolio-core-v small, .artifact-core small, .agent-core small,
.evidence-center span, .cronos-hub span, .module-core span, .console-core span,
.portfolio-core-v span, .artifact-core span, .agent-core span {
  font-size: var(--type-label);
  line-height: 1.4;
}
.evidence-node, .cronos-path, .module-node, .agent-node, .study-node, .artifact-node {
  min-height: 72px;
  padding: 13px 15px;
  font-size: var(--type-label);
  line-height: 1.4;
}
.evidence-node b, .cronos-path b, .module-node b, .agent-node b, .study-node b {
  font-size: var(--type-ui);
  line-height: 1.3;
}
.evidence-node small, .cronos-path small, .module-node small, .agent-node small,
.study-node small { font-size: var(--type-label); line-height: 1.4; }
.cronos-path { width: 220px; }
.module-node, .agent-node { width: 174px; }
.human-review { max-width: 190px; padding: 13px 15px; font-size: var(--type-label); line-height: 1.45; }
.human-review span { font-size: var(--type-label); }
.agent-orchestra .pg3, .agent-orchestra .lx3 { bottom: 110px; }
.early-stage { min-height: 215px; padding: 22px; }
.early-stage span, .early-stage small { font-size: var(--type-label); line-height: 1.45; }
.early-stage b { font-size: 1.125rem; line-height: 1.4; }
.visual-cap, .console-label, .orchestra-title, .visual-disclaimer {
  font-size: var(--type-label);
  line-height: 1.4;
}
.console-sources span { min-width: 88px; padding: 10px 12px; font-size: var(--type-label); }
.console-results div { width: 138px; padding: 14px; }
.console-results b { font-size: 1.125rem; }
.console-results small { font-size: var(--type-label); }
.cro-timeline i, .cro-workboard small, .portfolio-signals span,
.rq-flow i, .rq-flow small, .rq-ledger small, .agent-node i {
  font-size: var(--type-label);
}
.cro-timeline b, .rq-flow b, .rq-ledger b { font-size: var(--type-ui); }
.cro-workboard b { font-size: 1.125rem; }
.portfolio-signals span { padding: 8px 11px; }
.rq-flow > span { padding: 20px 16px; }
.rq-ledger div { padding: 16px; }

/* Clinical page cards. */
.clinical-path-kicker { font-size: var(--type-label); }
.clinical-path-kicker span, .entry-number { font-size: var(--type-label); }
.clinical-path-card h3 { font-size: clamp(2.25rem, 3.35vw, 3.25rem); }
.clinical-path-card > p { font-size: var(--type-body); line-height: 1.65; }
.clinical-path-card li { font-size: var(--type-body); line-height: 1.55; }
.clinical-path-card .chips span { font-size: var(--type-label); }

/* CMS media, forms, articles and footer. */
.product-media-grid { grid-template-columns: minmax(0, 1fr); max-width: 1180px; }
.product-media-grid figcaption { gap: 7px; padding: 12px 7px 6px; }
.product-media-grid figcaption b { font-size: 1.25rem; line-height: 1.4; }
.product-media-grid figcaption span { font-size: var(--type-ui); line-height: 1.55; }
.product-media-grid figcaption small { font-size: var(--type-label); }
.cms-workflow article { min-width: 0; padding: 22px; }
.cms-workflow article > span, .cms-workflow article > b { font-size: var(--type-ui); }
.cms-workflow article p { font-size: var(--type-body); }
.cms-visual-placeholder span, .cms-visual-placeholder small { font-size: var(--type-label); }
.cms-visual-placeholder b { font-size: 1.5rem; line-height: 1.3; }
.lead-form label { font-size: var(--type-ui); line-height: 1.4; }
.lead-form input, .lead-form select, .lead-form textarea { min-height: 54px; font-size: var(--type-body); line-height: 1.45; }
.lead-form label small, .form-status { font-size: var(--type-label); }
.article-content p, .legal p { font-size: var(--type-body); line-height: 1.75; }
.article-content h2, .legal h2 { font-size: 2rem; line-height: 1.25; }
.article-content h3 { font-size: 1.5rem; line-height: 1.3; }
.article-meta, .article-list-item { font-size: var(--type-ui); }
.legal h1 { font-size: clamp(2.75rem, 4.6vw, 4rem); }
.footer-grid p, .footer-grid a { font-size: var(--type-ui); line-height: 1.55; }
.footer-grid b { font-size: var(--type-ui); }
.footer-base { font-size: var(--type-label); }

@media (max-width: 1120px) {
  .nav { font-size: var(--type-ui); }
  .signal { min-width: 156px; max-width: 188px; }
}

@media (max-width: 980px) {
  .nav > a, .nav-trigger { min-height: 50px; font-size: var(--type-ui); }
  .mega a { min-height: 68px; }
  .section-head-split { grid-template-columns: minmax(0, 1fr) minmax(280px, .75fr); }
  .evidence-visual, .cronos-split-visual, .cronos-module-map, .aegis-console-visual,
  .cro-operations-board, .pharma-portfolio-visual, .medtech-artifact-wheel,
  .regquality-flow, .agent-orchestra { min-height: 560px; }
}

@media (max-width: 720px) {
  :root {
    --type-display: clamp(2.625rem, 10.5vw, 3.25rem);
    --type-section: clamp(2rem, 8vw, 2.625rem);
    --type-subsection: clamp(1.5rem, 6vw, 1.875rem);
  }
  body { font-size: 1.0625rem; }
  .hero h1, .subhero h1, .resource-hero h1, .contact-layout h1 {
    font-size: var(--type-display);
    line-height: 1.04;
  }
  .hero p, .subhero p, .resource-hero p, .contact-layout > div > p { font-size: 1.1875rem; }
  .section-head h2, .cta-band h2 { font-size: var(--type-section); }
  .section-head-split { display: block; }
  .section-head-split p { max-width: var(--reading-width); }
  .route-visual { min-height: 245px; }
  .core { min-height: 210px; }
  .core strong { font-size: 1.625rem; }
  .signal { min-height: 125px; padding: 16px; }
  .clinical-path-card h3 { font-size: 2.375rem; }
  .evidence-visual, .cronos-split-visual, .cronos-module-map, .aegis-console-visual,
  .cro-operations-board, .pharma-portfolio-visual, .medtech-artifact-wheel,
  .regquality-flow, .agent-orchestra { min-height: 0; padding-top: 76px; }
  .evidence-center, .cronos-hub, .module-core, .console-core, .portfolio-core-v,
  .artifact-core, .agent-core { min-height: 180px; }
  .evidence-node, .cronos-path, .module-node, .agent-node, .study-node,
  .artifact-node { min-height: 104px; padding: 16px; }
  .human-review { padding: 16px; }
  .console-sources span, .console-results div { min-height: 88px; padding: 14px; }
  .cro-workboard > div { min-height: 165px; }
  .product-media-card, .product-media-grid figure { padding: 10px; }
}

@media (max-width: 440px) {
  .metric-row { grid-template-columns: 1fr; }
  .ui-body { grid-template-columns: 42px 1fr; }
  .hero-visual { grid-template-columns: 1fr; }
  .signal { min-width: 0; max-width: none; }
}

/* ============================================================
   Document corrections — client showcase and authoring workflows
   ============================================================ */
.credibility-band {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(30px, 4vw, 48px);
}
.credibility-copy h2 { max-width: 18ch; }
.client-logo-showcase { min-width: 0; }
.client-logo-viewport {
  position: relative;
  overflow: hidden;
  padding: 8px 0 14px;
  mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}
.client-logo-track {
  display: flex;
  width: max-content;
  animation: client-logo-marquee 42s linear infinite;
  will-change: transform;
}
.client-logo-track:hover { animation-play-state: paused; }
.client-logo-group {
  display: flex;
  align-items: stretch;
  gap: 18px;
  padding-right: 18px;
}
.client-logo-card {
  width: 210px;
  height: 118px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  padding: 20px 24px;
  border: 1px solid rgba(32, 24, 52, .1);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(32, 24, 52, .07);
}
.client-logo-card img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 68px;
  object-fit: contain;
}
.client-logo-card.portrait-mark img { max-height: 84px; }
.client-logo-showcase > p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: var(--type-label);
  line-height: 1.55;
  text-align: center;
}
@keyframes client-logo-marquee {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

/* Stable agent workflow geometry: content length can no longer create collisions. */
.agent-orchestra {
  min-height: 640px;
  padding: 76px 24px 24px;
  display: grid;
  grid-template-columns: minmax(154px, 1fr) 190px minmax(154px, 1fr);
  grid-template-rows: repeat(3, minmax(142px, auto));
  gap: 18px 24px;
  align-items: stretch;
  overflow: hidden;
}
.agent-orchestra::before {
  content: '';
  position: absolute;
  inset: 17% 28%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(118, 82, 245, .13), rgba(118, 82, 245, 0) 72%);
  pointer-events: none;
}
.agent-orchestra svg { display: none; }
.agent-orchestra .orchestra-title { top: 24px; }
.agent-orchestra .agent-core,
.agent-orchestra .agent-node,
.agent-orchestra .human-review {
  position: relative;
  inset: auto;
  transform: none;
  min-width: 0;
  max-width: none;
  width: auto;
  z-index: 2;
}
.agent-orchestra .agent-node {
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 18px;
  text-align: left;
}
.agent-orchestra .agent-node i { margin-bottom: 10px; }
.agent-orchestra .agent-node b { font-size: var(--type-ui); }
.agent-orchestra .agent-node small { margin-top: 8px; font-size: var(--type-label); }
.agent-orchestra .agent-core {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  justify-self: center;
  width: 184px;
  height: 184px;
}
.agent-orchestra .human-review {
  grid-column: 2;
  grid-row: 3;
  align-self: center;
  padding: 18px;
  border-radius: 16px;
  text-align: center;
}
.agent-orchestra .human-review b { display: block; margin-top: 7px; font-size: var(--type-ui); line-height: 1.35; }
.agent-orchestra .pg1, .agent-orchestra .lx1 { grid-column: 1; grid-row: 1; }
.agent-orchestra .pg2, .agent-orchestra .lx2 { grid-column: 1; grid-row: 2; }
.agent-orchestra .pg3, .agent-orchestra .lx3 { grid-column: 1; grid-row: 3; }
.agent-orchestra .pg4, .agent-orchestra .lx4 { grid-column: 3; grid-row: 1; }
.agent-orchestra .pg5, .agent-orchestra .lx5 { grid-column: 3; grid-row: 2; }
.agent-orchestra .pg6, .agent-orchestra .lx6 { grid-column: 3; grid-row: 3; }

/* CronoLex source-to-review pathway. */
.flow-section { padding-top: 42px; }
.csr-flow-board {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 58px minmax(0, 1fr) 58px minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
}
.csr-flow-stage {
  position: relative;
  min-width: 0;
  min-height: 286px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: linear-gradient(155deg, #fff, #f8f7fc);
  box-shadow: var(--shadow-sm);
}
.csr-flow-stage.agent-stack-mini {
  border-color: rgba(118, 82, 245, .28);
  background: linear-gradient(155deg, #f7f4ff, #fff);
}
.csr-flow-stage.review-stage {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(145deg, #17132c, #342b60);
}
.csr-flow-stage .flow-step {
  align-self: flex-start;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  margin-bottom: 26px;
  border-radius: 50%;
  background: #ece7ff;
  color: var(--purple);
  font-size: var(--type-label);
  font-weight: 850;
}
.csr-flow-stage.review-stage .flow-step { background: rgba(255, 255, 255, .14); color: #fff; }
.csr-flow-stage small {
  color: var(--purple);
  font-size: var(--type-label);
  font-weight: 850;
  letter-spacing: .07em;
}
.csr-flow-stage.review-stage small { color: #d9d3ff; }
.csr-flow-stage > b { margin: 10px 0 22px; font-size: 1.5rem; line-height: 1.25; }
.csr-flow-stage > div { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: auto; }
.csr-flow-stage > div span {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid rgba(118, 82, 245, .14);
  border-radius: 10px;
  background: rgba(255, 255, 255, .82);
  color: var(--text);
  font-size: var(--type-label);
  line-height: 1.35;
}
.csr-flow-stage.review-stage > div span {
  border-color: rgba(255, 255, 255, .13);
  background: rgba(255, 255, 255, .08);
  color: #fff;
}
.csr-flow-arrow {
  align-self: center;
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 50%;
  background: #ece7ff;
  color: var(--purple);
  font-size: 1.75rem;
  font-weight: 750;
}

@media (max-width: 900px) {
  .csr-flow-board { grid-template-columns: minmax(0, 1fr); }
  .csr-flow-stage { min-height: 0; }
  .csr-flow-arrow { transform: rotate(90deg); justify-self: center; }
}

@media (max-width: 720px) {
  .client-logo-card { width: 176px; height: 104px; padding: 17px 20px; }
  .client-logo-card img { max-height: 60px; }
  .client-logo-card.portrait-mark img { max-height: 74px; }
  .agent-orchestra {
    padding: 76px 18px 20px;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    gap: 12px;
  }
  .agent-orchestra .agent-core,
  .agent-orchestra .agent-node,
  .agent-orchestra .human-review,
  .agent-orchestra .pg1, .agent-orchestra .lx1,
  .agent-orchestra .pg2, .agent-orchestra .lx2,
  .agent-orchestra .pg3, .agent-orchestra .lx3,
  .agent-orchestra .pg4, .agent-orchestra .lx4,
  .agent-orchestra .pg5, .agent-orchestra .lx5,
  .agent-orchestra .pg6, .agent-orchestra .lx6 {
    grid-column: auto;
    grid-row: auto;
  }
  .agent-orchestra .agent-core {
    order: 0;
    justify-self: stretch;
    width: auto;
    height: auto;
    min-height: 154px;
    border-radius: 28px;
  }
  .agent-orchestra .pg1, .agent-orchestra .lx1 { order: 1; }
  .agent-orchestra .pg2, .agent-orchestra .lx2 { order: 2; }
  .agent-orchestra .pg3, .agent-orchestra .lx3 { order: 3; }
  .agent-orchestra .pg4, .agent-orchestra .lx4 { order: 4; }
  .agent-orchestra .pg5, .agent-orchestra .lx5 { order: 5; }
  .agent-orchestra .pg6, .agent-orchestra .lx6 { order: 6; }
  .agent-orchestra .human-review { order: 7; }
  .agent-orchestra .agent-node { min-height: 112px; }
  .csr-flow-stage { padding: 24px; }
  .csr-flow-stage > div { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .client-logo-viewport { overflow-x: auto; mask-image: none; -webkit-mask-image: none; }
  .client-logo-track { animation: none; }
  .client-logo-group[aria-hidden='true'] { display: none; }
}

/* ============================================================
   Full website corrections 03 — connected clinical intelligence
   ============================================================ */

/* Clinical architecture: Aegis Agents can sit above CRONOS or other sources. */
.clinical-architecture-visual {
  gap: 14px;
  padding: 14px;
  border: 1px solid rgba(118, 82, 245, .12);
  border-radius: 30px;
  background: linear-gradient(155deg, rgba(247, 245, 255, .94), #fff);
  box-shadow: var(--shadow-sm);
}
.clinical-architecture-visual .ca-layer { min-width: 0; padding: 27px; border-radius: 22px; }
.clinical-architecture-visual .ca-layer.intelligence {
  background: radial-gradient(circle at 100% 0, rgba(184, 133, 255, .42), transparent 34%), linear-gradient(140deg, #17132c, #5736b9);
  box-shadow: 0 20px 48px rgba(63, 38, 137, .18);
}
.clinical-architecture-visual .ca-layer.sources {
  border: 1px solid rgba(118, 82, 245, .16);
  background: linear-gradient(145deg, #f3efff, #fff);
}
.clinical-architecture-visual .ca-layer.sources small,
.clinical-architecture-visual .ca-layer.sources b { color: var(--ink); }
.clinical-architecture-visual .ca-layer.sources span { color: #4a3d70; border-color: rgba(118, 82, 245, .24); background: rgba(255, 255, 255, .75); }
.ca-foundations { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ca-bridge { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; padding: 2px 8px; }
.ca-bridge span:first-child { text-align: right; }
.ca-bridge span:last-child { text-align: left; }
.ca-bridge b { color: var(--purple); font-size: var(--type-label); letter-spacing: .08em; }

/* BA/BE and Early Phase: spacious two-by-two workflow instead of squeezed columns. */
.cronos-early-flow {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
  width: 100%;
  padding: 18px;
  border: 1px solid rgba(118, 82, 245, .12);
  border-radius: 32px;
  background: radial-gradient(circle at 85% 12%, rgba(151, 104, 255, .13), transparent 28%), linear-gradient(155deg, #faf9ff, #fff);
  box-shadow: var(--shadow-sm);
}
.cronos-early-flow .early-stage {
  position: relative;
  min-width: 0;
  min-height: 226px;
  padding: 24px;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  align-content: start;
  gap: 17px;
  overflow: visible;
  border: 1px solid rgba(31, 23, 47, .09);
  border-radius: 24px;
  background: rgba(255, 255, 255, .95);
  box-shadow: 0 14px 34px rgba(37, 25, 70, .08);
}
.cronos-early-flow .early-stage:nth-child(2),
.cronos-early-flow .early-stage:nth-child(3) { background: linear-gradient(150deg, #f5f1ff, #fff); }
.cronos-early-flow .early-stage:nth-child(3) { grid-column: 2; grid-row: 2; }
.cronos-early-flow .early-stage:nth-child(4) { grid-column: 1; grid-row: 2; }
.cronos-early-flow .early-stage > span {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 17px;
  background: linear-gradient(145deg, #ece7ff, #ded4ff);
  color: #5f3ce0;
  font-size: var(--type-label);
  font-weight: 900;
}
.cronos-early-flow .early-stage b,
.cronos-early-flow .early-stage small { display: block; }
.cronos-early-flow .early-stage b { margin: 2px 0 12px; font-size: 1.25rem; line-height: 1.3; letter-spacing: -.015em; }
.cronos-early-flow .early-stage small { color: var(--muted); font-size: var(--type-label); line-height: 1.5; }
.cronos-early-flow .early-stage::after {
  position: absolute;
  z-index: 4;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(118, 82, 245, .16);
  border-radius: 50%;
  background: #fff;
  color: var(--purple);
  box-shadow: 0 8px 20px rgba(65, 43, 128, .12);
  font-size: 1.25rem;
  font-weight: 850;
}
.cronos-early-flow .early-stage:nth-child(1)::after { content: "→"; right: -33px; top: calc(50% - 19px); }
.cronos-early-flow .early-stage:nth-child(2)::after { content: "↓"; left: calc(50% - 19px); bottom: -33px; }
.cronos-early-flow .early-stage:nth-child(3)::after { content: "←"; left: -33px; top: calc(50% - 19px); }
.cronos-early-flow .early-stage:nth-child(4)::after { content: none; }

/* Aegis hero: systems and files feed a coordinated, governed agent group. */
.aegis-agent-network {
  min-width: 0;
  min-height: 690px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow: hidden;
  border: 1px solid rgba(118, 82, 245, .14);
  border-radius: 34px;
  background: radial-gradient(circle at 90% 8%, rgba(151, 104, 255, .16), transparent 27%), linear-gradient(155deg, #faf9ff, #fff);
  box-shadow: 0 28px 70px rgba(37, 25, 70, .11);
}
.aan-heading { display: grid; gap: 7px; }
.aan-heading span, .aan-source-groups small, .aan-agent-core small, .aan-human span {
  color: var(--purple);
  font-size: var(--type-label);
  font-weight: 850;
  letter-spacing: .075em;
}
.aan-heading b { max-width: 27ch; font-size: 1.375rem; line-height: 1.3; }
.aan-source-groups { display: grid; grid-template-columns: 1.2fr .8fr; gap: 12px; }
.aan-source-groups > div { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, .9); }
.aan-source-groups p { display: flex; flex-wrap: wrap; gap: 7px; margin: 11px 0 0; }
.aan-source-groups p span {
  padding: 7px 9px;
  border: 1px solid rgba(118, 82, 245, .14);
  border-radius: 999px;
  background: #f6f3ff;
  color: #45396b;
  font-size: var(--type-label);
  line-height: 1.25;
}
.aan-source-groups p .primary-source { color: #fff; border-color: transparent; background: var(--purple); }
.aan-flow-arrow { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; color: var(--purple); }
.aan-flow-arrow i { height: 1px; background: linear-gradient(90deg, transparent, rgba(118, 82, 245, .45)); }
.aan-flow-arrow i:last-child { background: linear-gradient(90deg, rgba(118, 82, 245, .45), transparent); }
.aan-flow-arrow span { font-size: 1.25rem; }
.aan-agent-core {
  padding: 22px;
  border-radius: 24px;
  color: #fff;
  background: radial-gradient(circle at 90% 5%, rgba(189, 128, 255, .45), transparent 34%), linear-gradient(145deg, #17122a, #4930a2);
  box-shadow: 0 20px 45px rgba(65, 43, 128, .2);
}
.aan-agent-core small { color: #d8ceff; }
.aan-agent-core strong { display: block; margin: 8px 0 16px; font-size: 2rem; line-height: 1.15; letter-spacing: -.035em; }
.aan-agent-core > div { display: flex; flex-wrap: wrap; gap: 8px; }
.aan-agent-core > div span { padding: 8px 10px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 999px; background: rgba(255, 255, 255, .09); font-size: var(--type-label); line-height: 1.3; }
.aan-outcomes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.aan-outcomes div { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.aan-outcomes b, .aan-outcomes small { display: block; }
.aan-outcomes b { font-size: 1.0625rem; line-height: 1.3; }
.aan-outcomes small { margin-top: 5px; color: var(--muted); font-size: var(--type-label); line-height: 1.4; }
.aan-human { margin-top: auto; padding: 15px 17px; border-radius: 17px; background: #151126; color: #fff; }
.aan-human span { display: block; color: #cfc3ff; }
.aan-human b { display: block; margin-top: 5px; font-size: var(--type-label); line-height: 1.4; }

/* Aegis agent group and integration model. */
.aegis-agent-team { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.aegis-agent-team article {
  min-width: 0;
  min-height: 245px;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 25px;
  background: linear-gradient(150deg, #fff, #f8f7fc);
  box-shadow: var(--shadow-sm);
}
.aegis-agent-team article.lead-agent { grid-column: span 2; color: #fff; border-color: transparent; background: radial-gradient(circle at 100% 0, rgba(183, 127, 255, .42), transparent 34%), linear-gradient(145deg, #17132c, #4a31a4); }
.aegis-agent-team article > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 14px; background: #ebe5ff; color: var(--purple); font-size: var(--type-label); font-weight: 900; }
.aegis-agent-team article.lead-agent > span { background: rgba(255, 255, 255, .12); color: #fff; }
.aegis-agent-team h3 { margin: 22px 0 10px; font-size: 1.5rem; line-height: 1.25; letter-spacing: -.025em; }
.aegis-agent-team p { margin: 0; color: var(--muted); font-size: var(--type-body); line-height: 1.6; }
.aegis-agent-team .lead-agent p { color: #dad5e7; }
.aegis-agent-team .lead-agent div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.aegis-agent-team .lead-agent div b { padding: 7px 10px; border: 1px solid rgba(255, 255, 255, .15); border-radius: 999px; background: rgba(255, 255, 255, .08); font-size: var(--type-label); }
.agent-governance-strip { margin-top: 18px; padding: 20px 24px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 24px; border-radius: 20px; background: #151126; color: #fff; }
.agent-governance-strip span { color: #cfc3ff; font-size: var(--type-label); font-weight: 850; letter-spacing: .07em; }
.agent-governance-strip p { margin: 0; color: #ded9e9; font-size: var(--type-ui); line-height: 1.5; }
.aegis-connect-section .interop-board { grid-template-columns: minmax(0, 1.25fr) auto 190px auto minmax(0, .9fr); }
.aegis-connect-section .interop-sources,
.aegis-connect-section .interop-outcomes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.aegis-connect-section .interop-sources small,
.aegis-connect-section .interop-outcomes small { grid-column: 1 / -1; }
.aegis-connect-section .aegis-chip strong { display: block; margin-top: 8px; font-size: 1.25rem; line-height: 1.25; }

@media (max-width: 980px) {
  .aegis-agent-network { min-height: 0; }
  .aegis-agent-team { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aegis-agent-team article.lead-agent { grid-column: span 2; }
  .aegis-connect-section .interop-board { grid-template-columns: minmax(0, 1fr); }
  .aegis-connect-section .interop-board > b { transform: rotate(90deg); text-align: center; }
}

@media (max-width: 720px) {
  .ca-foundations { grid-template-columns: minmax(0, 1fr); }
  .ca-bridge { grid-template-columns: minmax(0, 1fr); text-align: center; }
  .ca-bridge span:first-child, .ca-bridge span:last-child { text-align: center; }
  .cronos-early-flow { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 14px; }
  .cronos-early-flow .early-stage,
  .cronos-early-flow .early-stage:nth-child(3),
  .cronos-early-flow .early-stage:nth-child(4) { grid-column: auto; grid-row: auto; min-height: 0; }
  .cronos-early-flow .early-stage::after,
  .cronos-early-flow .early-stage:nth-child(1)::after,
  .cronos-early-flow .early-stage:nth-child(2)::after,
  .cronos-early-flow .early-stage:nth-child(3)::after { content: "↓"; left: calc(50% - 19px); right: auto; top: auto; bottom: -34px; }
  .cronos-early-flow .early-stage:nth-child(4)::after { content: none; }
  .aan-source-groups, .aan-outcomes { grid-template-columns: minmax(0, 1fr); }
  .aegis-agent-network { padding: 20px; border-radius: 28px; }
  .aegis-agent-team { grid-template-columns: minmax(0, 1fr); }
  .aegis-agent-team article.lead-agent { grid-column: auto; }
  .agent-governance-strip { grid-template-columns: minmax(0, 1fr); gap: 8px; }
}

@media (max-width: 440px) {
  .cronos-early-flow .early-stage { grid-template-columns: minmax(0, 1fr); }
  .aan-agent-core strong { font-size: 1.75rem; }
  .aegis-connect-section .interop-sources,
  .aegis-connect-section .interop-outcomes { grid-template-columns: minmax(0, 1fr); }
}

/* Keep the new Regulatory hero geometry after the legacy visual sizing rules. */
.regquality-flow { min-height: 710px; padding-top: 28px; }
@media (max-width: 900px) { .regquality-flow { min-height: 0; padding-top: 28px; } }
@media (max-width: 720px) { .regquality-flow { padding-top: 21px; } }

/* Preserve accessible contrast inside the Company hero's dark intelligence card. */
.subhero .company-intelligence-visual .civ-core p { color: #ddd7e8; }

/* ============================================================
   Regulatory(1) — connected authoring + continuous product evidence
   ============================================================ */

/* ProtocolGen and CronoLex: controlled context, orchestration, bounded agents and accountable review. */
.agent-network-board {
  position: relative;
  min-width: 0;
  min-height: 720px;
  padding: 26px;
  overflow: hidden;
  border: 1px solid rgba(118, 82, 245, .15);
  border-radius: 34px;
  background:
    radial-gradient(circle at 50% 46%, rgba(118, 82, 245, .13), transparent 29%),
    linear-gradient(155deg, #faf9ff, #fff);
  box-shadow: 0 26px 68px rgba(37, 25, 70, .11);
}
.agent-network-board::before {
  content: "";
  position: absolute;
  inset: 176px 16% 94px;
  border: 1px dashed rgba(118, 82, 245, .2);
  border-radius: 46%;
  pointer-events: none;
}
.agent-network-title,
.agent-inputs > small,
.agent-network-core small,
.agent-human-review small {
  color: var(--purple);
  font-size: var(--type-label);
  font-weight: 900;
  letter-spacing: .075em;
}
.agent-network-title { position: relative; z-index: 2; text-align: center; }
.agent-inputs {
  position: relative;
  z-index: 2;
  margin-top: 18px;
  padding: 14px;
  border: 1px solid rgba(118, 82, 245, .13);
  border-radius: 18px;
  background: rgba(255, 255, 255, .9);
}
.agent-inputs > small { display: block; text-align: center; }
.agent-inputs > div { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin-top: 10px; }
.agent-inputs span {
  padding: 7px 10px;
  border-radius: 999px;
  background: #f0ecff;
  color: #4b387d;
  font-size: var(--type-label);
  line-height: 1.3;
}
.agent-input-arrow { position: relative; z-index: 2; display: grid; place-items: center; height: 34px; color: var(--purple); font-size: 1.35rem; }
.agent-network-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, .82fr) minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
}
.agent-network-column { display: grid; gap: 12px; }
.agent-network-node {
  position: relative;
  min-width: 0;
  min-height: 116px;
  padding: 16px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  border: 1px solid rgba(31, 23, 47, .09);
  border-radius: 18px;
  outline: none;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 10px 28px rgba(37, 25, 70, .08);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.agent-network-column.left .agent-network-node::after,
.agent-network-column.right .agent-network-node::before {
  content: "";
  position: absolute;
  top: 50%;
  width: 15px;
  height: 1px;
  background: rgba(118, 82, 245, .45);
}
.agent-network-column.left .agent-network-node::after { right: -15px; }
.agent-network-column.right .agent-network-node::before { left: -15px; }
.agent-network-node:hover,
.agent-network-node:focus-visible {
  z-index: 3;
  transform: translateY(-3px);
  border-color: rgba(118, 82, 245, .42);
  box-shadow: 0 18px 38px rgba(70, 43, 145, .15);
}
.agent-network-node i {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 13px;
  background: #ece6ff;
  color: var(--purple);
  font-size: var(--type-label);
  font-style: normal;
  font-weight: 900;
}
.agent-network-node b,
.agent-network-node small { display: block; }
.agent-network-node b { font-size: var(--type-ui); line-height: 1.3; }
.agent-network-node small { margin-top: 6px; color: var(--muted); font-size: var(--type-label); line-height: 1.4; }
.agent-network-center { display: flex; min-width: 0; flex-direction: column; justify-content: center; gap: 13px; }
.agent-network-core {
  position: relative;
  min-height: 174px;
  padding: 22px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 50%;
  color: #fff;
  text-align: center;
  background: radial-gradient(circle at 72% 18%, rgba(204, 142, 255, .55), transparent 31%), linear-gradient(145deg, #2c1a68, #7652f5);
  box-shadow: 0 18px 44px rgba(90, 55, 190, .28);
}
.agent-network-core::after {
  content: "";
  position: absolute;
  inset: 9px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: inherit;
  animation: evidence-core-pulse 2.8s ease-in-out infinite;
}
.agent-network-core small { color: #e8e1ff; }
.agent-network-core strong { margin: 8px 0; font-size: 1.625rem; line-height: 1.1; letter-spacing: -.035em; }
.agent-network-core span { max-width: 15ch; color: #eeeaff; font-size: var(--type-label); line-height: 1.35; }
.agent-network-state { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 7px; color: #5a4787; text-align: center; }
.agent-network-state i { height: 1px; background: linear-gradient(90deg, transparent, rgba(118, 82, 245, .5)); }
.agent-network-state i:last-child { background: linear-gradient(90deg, rgba(118, 82, 245, .5), transparent); }
.agent-network-state span { font-size: var(--type-label); line-height: 1.35; }
.agent-human-review {
  padding: 14px;
  border-radius: 16px;
  color: #fff;
  text-align: center;
  background: #17132c;
}
.agent-human-review small { display: block; color: #d2c7ff; }
.agent-human-review b { display: block; margin-top: 6px; font-size: var(--type-label); line-height: 1.4; }
.agent-network-trust {
  position: relative;
  z-index: 2;
  margin-top: 16px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
.agent-network-trust span {
  padding: 7px 10px;
  border-radius: 999px;
  background: #f0ecff;
  color: #4f3d7b;
  font-size: var(--type-label);
  line-height: 1.3;
}

/* CRONOS pages: a visible route from execution into coordinated intelligence. */
.product-aegis-bridge {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr);
  gap: 52px;
  align-items: center;
  border-top: 1px solid var(--line);
}
.product-aegis-bridge h2 { max-width: 15ch; }
.product-aegis-bridge p { max-width: 62ch; color: var(--muted); }
.product-aegis-bridge .flow-visual { min-width: 0; }

/* Continuous Product Evidence System hero visual. */
.continuous-evidence-visual {
  min-width: 0;
  min-height: 720px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(20, 130, 130, .16);
  border-radius: 34px;
  background: radial-gradient(circle at 88% 9%, rgba(55, 184, 175, .18), transparent 26%), linear-gradient(155deg, #f5fbfb, #fff);
  box-shadow: 0 28px 70px rgba(24, 83, 89, .11);
}
.cev-heading { display: grid; gap: 7px; }
.cev-heading span,
.cev-change small,
.cev-node small,
.cev-core small,
.mep-core small,
.mep-packs small {
  color: #118d87;
  font-size: var(--type-label);
  font-weight: 900;
  letter-spacing: .075em;
}
.cev-heading b { max-width: 30ch; font-size: 1.375rem; line-height: 1.3; }
.cev-change {
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid rgba(220, 137, 38, .24);
  border-radius: 17px;
  background: linear-gradient(90deg, rgba(255, 246, 226, .96), #fff);
}
.cev-change small { color: #b96b0b; }
.cev-change b,
.cev-change span { display: block; }
.cev-change b { margin-top: 5px; font-size: var(--type-ui); }
.cev-change span { margin-top: 3px; color: #6d604d; font-size: var(--type-label); line-height: 1.4; }
.cev-network {
  position: relative;
  flex: 1;
  min-height: 430px;
  margin-top: 10px;
}
.cev-network svg { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; }
.cev-network svg path { fill: none; stroke: rgba(17, 141, 135, .3); stroke-width: 2; stroke-dasharray: 7 7; animation: evidence-line-flow 6s linear infinite; }
.cev-node,
.cev-core { position: absolute; z-index: 2; }
.cev-node {
  width: 31%;
  min-height: 86px;
  padding: 14px;
  border: 1px solid rgba(17, 141, 135, .14);
  border-radius: 17px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 10px 28px rgba(24, 83, 89, .08);
}
.cev-node small,
.cev-node b { display: block; }
.cev-node b { margin-top: 5px; font-size: var(--type-label); line-height: 1.35; }
.cev-node.product { left: 0; top: 4%; }
.cev-node.claims { left: 0; top: 39%; }
.cev-node.evidence { left: 0; bottom: 3%; }
.cev-node.risk { right: 0; top: 4%; }
.cev-node.postmarket { right: 0; top: 39%; }
.cev-node.outputs { right: 0; bottom: 3%; }
.cev-core {
  left: 35%;
  top: 28%;
  width: 30%;
  aspect-ratio: 1;
  padding: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  text-align: center;
  background: radial-gradient(circle at 72% 20%, rgba(129, 232, 222, .5), transparent 31%), linear-gradient(145deg, #0b5e61, #159d94);
  box-shadow: 0 18px 46px rgba(10, 113, 111, .28);
}
.cev-core small { color: #c9faf5; }
.cev-core strong { margin: 8px 0; font-size: 1.375rem; line-height: 1.12; letter-spacing: -.03em; }
.cev-core span { max-width: 18ch; color: #e0fffb; font-size: var(--type-label); line-height: 1.35; }
.cev-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 8px; }
.cev-trust span {
  padding: 7px 10px;
  border-radius: 999px;
  background: #e7f8f6;
  color: #156f6d;
  font-size: var(--type-label);
  line-height: 1.3;
}

/* Medical Device / IVD audience hero: one evidence layer, two regulatory packs. */
.medtech-evidence-packs-visual {
  min-width: 0;
  padding: 24px;
  border: 1px solid rgba(17, 141, 135, .16);
  border-radius: 32px;
  background: radial-gradient(circle at 90% 6%, rgba(49, 185, 174, .17), transparent 26%), linear-gradient(155deg, #f6fbfb, #fff);
  box-shadow: 0 24px 64px rgba(24, 83, 89, .1);
}
.medtech-evidence-packs-visual .visual-cap { color: #137f7a; }
.mep-core { margin-top: 20px; padding: 24px; border-radius: 22px; color: #fff; background: linear-gradient(145deg, #0b5a5e, #159b92); }
.mep-core small { color: #cbfbf5; }
.mep-core b,
.mep-core span { display: block; }
.mep-core b { margin: 8px 0; font-size: 1.375rem; line-height: 1.3; }
.mep-core span { color: #ddfffb; font-size: var(--type-label); }
.mep-connector { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 9px; height: 44px; color: #118d87; }
.mep-connector i { height: 1px; background: linear-gradient(90deg, transparent, rgba(17, 141, 135, .42)); }
.mep-connector i:last-child { background: linear-gradient(90deg, rgba(17, 141, 135, .42), transparent); }
.mep-packs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.mep-packs article { min-width: 0; padding: 18px; border: 1px solid rgba(17, 141, 135, .13); border-radius: 18px; background: #fff; }
.mep-packs small,
.mep-packs b { display: block; }
.mep-packs b { margin-top: 7px; font-size: var(--type-label); line-height: 1.45; }
.mep-change { margin-top: 13px; padding: 15px 17px; border-radius: 17px; background: #171f2b; color: #fff; }
.mep-change span { display: block; color: #88ddd6; font-size: var(--type-label); font-weight: 850; letter-spacing: .05em; }
.mep-change b { display: block; margin-top: 5px; font-size: var(--type-ui); line-height: 1.4; }

/* Full CPES page story. */
.medtech-cpes-hero { grid-template-columns: minmax(0, .9fr) minmax(520px, 1.1fr); }
.medtech-cpes-hero h1 { max-width: 13ch; }
.medtech-cpes-hero .medtech-trust-row { margin-top: 25px; }
.medtech-problem-grid,
.medtech-object-grid,
.medtech-agent-grid,
.medtech-persona-grid { display: grid; gap: 16px; }
.medtech-problem-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.medtech-problem-grid article,
.medtech-agent-grid article,
.medtech-persona-grid article {
  min-width: 0;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: linear-gradient(155deg, #fff, #f8fbfb);
  box-shadow: var(--shadow-sm);
}
.medtech-problem-grid article > span,
.medtech-agent-grid article > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 14px;
  background: #e2f6f3;
  color: #118d87;
  font-size: var(--type-label);
  font-weight: 900;
}
.medtech-problem-grid h3,
.medtech-agent-grid h3,
.medtech-persona-grid h3 { margin: 20px 0 9px; font-size: 1.375rem; line-height: 1.28; }
.medtech-problem-grid p,
.medtech-agent-grid p,
.medtech-persona-grid p { margin: 0; color: var(--muted); font-size: var(--type-body); line-height: 1.6; }
.medtech-document-section { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 48px; align-items: center; }
.medtech-document-section h2 { max-width: 14ch; }
.medtech-document-section p { color: var(--muted); }
.medtech-lifecycle-chain { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }
.medtech-lifecycle-chain span { padding: 11px 13px; border: 1px solid rgba(17, 141, 135, .16); border-radius: 12px; background: #fff; font-size: var(--type-ui); font-weight: 800; }
.medtech-lifecycle-chain b { color: #118d87; font-size: 1.25rem; }
.cpes-process-rail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.cpes-process-rail > span { min-width: 0; min-height: 170px; padding: 21px; border: 1px solid rgba(17, 141, 135, .14); border-radius: 21px; background: linear-gradient(155deg, #f4fbfa, #fff); }
.cpes-process-rail i { display: block; color: #118d87; font-size: var(--type-label); font-style: normal; font-weight: 900; }
.cpes-process-rail b,
.cpes-process-rail small { display: block; }
.cpes-process-rail b { margin-top: 19px; font-size: 1.25rem; line-height: 1.3; }
.cpes-process-rail small { margin-top: 7px; color: var(--muted); font-size: var(--type-label); line-height: 1.45; }
.medtech-object-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.medtech-object-grid article { min-width: 0; padding: 22px; border: 1px solid rgba(17, 141, 135, .14); border-radius: 20px; background: #fff; }
.medtech-object-grid small { display: block; color: #118d87; font-size: var(--type-label); font-weight: 900; letter-spacing: .07em; }
.medtech-object-grid b { display: block; margin-top: 10px; font-size: var(--type-ui); line-height: 1.45; }
.evidence-pack-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.evidence-pack-grid article { min-width: 0; padding: 30px; border: 1px solid rgba(17, 141, 135, .16); border-radius: 27px; background: linear-gradient(155deg, #f5fbfa, #fff); }
.evidence-pack-grid article:nth-child(2) { background: linear-gradient(155deg, #f4f1ff, #fff); border-color: rgba(118, 82, 245, .16); }
.evidence-pack-grid article > span { color: #118d87; font-size: var(--type-label); font-weight: 900; letter-spacing: .075em; }
.evidence-pack-grid article:nth-child(2) > span { color: var(--purple); }
.evidence-pack-grid h3 { margin: 12px 0 22px; font-size: 1.75rem; line-height: 1.2; }
.evidence-pack-grid article > div { display: grid; gap: 9px; }
.evidence-pack-grid article > div b { padding: 11px 13px; border-radius: 12px; background: rgba(255, 255, 255, .86); font-size: var(--type-ui); line-height: 1.4; }
.medtech-agent-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.medtech-agent-grid article:last-child { grid-column: 2; }
.medtech-governance-strip { background: #102629; }
.medtech-integration-board { display: grid; grid-template-columns: minmax(0, 1.25fr) auto minmax(220px, .8fr) auto minmax(0, 1fr); gap: 15px; align-items: center; }
.medtech-integration-board > div { min-width: 0; padding: 22px; border: 1px solid rgba(17, 141, 135, .14); border-radius: 21px; background: #fff; }
.medtech-integration-board > div:nth-of-type(2) { color: #fff; border-color: transparent; background: linear-gradient(145deg, #0b5d60, #159b92); }
.medtech-integration-board > b { color: #118d87; font-size: 1.4rem; }
.medtech-integration-board small { grid-column: 1 / -1; display: block; margin-bottom: 11px; color: #118d87; font-size: var(--type-label); font-weight: 900; letter-spacing: .07em; }
.medtech-integration-board > div:nth-of-type(2) small { color: #c8f8f3; }
.medtech-integration-board strong { display: block; font-size: 1.25rem; line-height: 1.4; }
.medtech-integration-board span { display: inline-block; margin: 4px 3px; padding: 7px 9px; border-radius: 999px; background: #edf8f7; color: #3f6665; font-size: var(--type-label); line-height: 1.3; }
.medtech-persona-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.medtech-persona-grid article > span { color: #118d87; font-size: var(--type-label); font-weight: 900; letter-spacing: .07em; }
.medtech-persona-grid h3 { margin-top: 13px; }
.medtech-category-statement .btn { margin-top: 22px; }

@keyframes evidence-core-pulse { 0%, 100% { opacity: .35; transform: scale(.96); } 50% { opacity: .85; transform: scale(1); } }
@keyframes evidence-line-flow { to { stroke-dashoffset: -56; } }

@media (max-width: 1100px) {
  .medtech-cpes-hero { grid-template-columns: minmax(0, 1fr); }
  .medtech-cpes-hero h1 { max-width: 15ch; }
  .continuous-evidence-visual { min-height: 680px; }
  .product-aegis-bridge { grid-template-columns: minmax(0, 1fr); }
  .product-aegis-bridge .flow-visual { max-width: 700px; }
  .medtech-persona-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .medtech-integration-board { grid-template-columns: minmax(0, 1fr); }
  .medtech-integration-board > b { transform: rotate(90deg); text-align: center; }
}

@media (max-width: 900px) {
  .agent-network-board { min-height: 0; }
  .agent-network-board::before { display: none; }
  .agent-network-grid { grid-template-columns: minmax(0, 1fr); }
  .agent-network-center { grid-row: 1; }
  .agent-network-core { width: min(240px, 100%); min-height: 220px; align-self: center; }
  .agent-network-column.left { grid-row: 2; }
  .agent-network-column.right { grid-row: 3; }
  .agent-network-column.left .agent-network-node::after,
  .agent-network-column.right .agent-network-node::before { display: none; }
  .medtech-problem-grid,
  .medtech-object-grid,
  .medtech-agent-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .medtech-agent-grid article:last-child { grid-column: auto; }
  .medtech-document-section { grid-template-columns: minmax(0, 1fr); }
  .cpes-process-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .agent-network-board,
  .continuous-evidence-visual,
  .medtech-evidence-packs-visual { padding: 19px; border-radius: 27px; }
  .agent-network-core { width: 100%; min-height: 178px; border-radius: 28px; }
  .agent-network-node { min-height: 0; }
  .cev-network { min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 16px; }
  .cev-network svg { display: none; }
  .cev-node,
  .cev-core,
  .cev-node.product,
  .cev-node.claims,
  .cev-node.evidence,
  .cev-node.risk,
  .cev-node.postmarket,
  .cev-node.outputs { position: relative; inset: auto; width: auto; min-height: 0; }
  .cev-core { grid-row: 1; aspect-ratio: auto; min-height: 160px; border-radius: 28px; }
  .continuous-evidence-visual { min-height: 0; }
  .mep-packs,
  .medtech-problem-grid,
  .medtech-object-grid,
  .medtech-agent-grid,
  .medtech-persona-grid,
  .evidence-pack-grid,
  .cpes-process-rail { grid-template-columns: minmax(0, 1fr); }
  .cpes-process-rail > span { min-height: 0; }
  .medtech-lifecycle-chain { align-items: stretch; flex-direction: column; }
  .medtech-lifecycle-chain span { text-align: center; }
  .medtech-lifecycle-chain b { transform: rotate(90deg); text-align: center; }
  .medtech-integration-board > div { padding: 18px; }
  .agent-governance-strip.medtech-governance-strip { padding: 18px; }
}

@media (max-width: 440px) {
  .agent-network-node { grid-template-columns: minmax(0, 1fr); }
  .agent-network-node i { margin-bottom: 2px; }
}

@media (prefers-reduced-motion: reduce) {
  .agent-network-core::after,
  .cev-network svg path { animation: none; }
  .agent-network-node { transition: none; }
}
