:root {
  color-scheme:light;
  --ink:#172033;
  --muted:#5f6879;
  --blue:#2854d8;
  --line:#dce1e9;
  --paper:#fff;
  --tint:#f5f7fb;
  --night:#050b1a;
  --shell:1360px;
  font-family:Arial,Helvetica,sans-serif;
  font-synthesis:none;
  scroll-behavior:smooth}

* {
  box-sizing:border-box}
body {
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-size:1rem;
  line-height:1.65;
  -webkit-font-smoothing:antialiased}
a {
  color:inherit;
  text-decoration-thickness:1px;
  text-underline-offset:4px}
button,input,summary {
  font:inherit}
img,svg {
  max-width:100%;
  height:auto}
img {
  display:block}
figure {
  margin:0}
h1,h2,h3,h4,p {
  margin:0}
h1,h2,h3,h4 {
  font-weight:400;
  line-height:1.1;
  letter-spacing:-.045em}
p+p {
  margin-top:1rem}
h1 {
  font-size:clamp(3rem,6.4vw,6.1rem)}
h2 {
  font-size:clamp(2.15rem,4vw,4rem)}
h3 {
  font-size:clamp(1.5rem,2.2vw,2rem)}
h4 {
  font-size:1.25rem}
::selection {
  background:#bdceff;
  color:#091637}
:focus-visible {
  outline:3px solid #7198ff;
  outline-offset:5px}
section[id],h1[id],h2[id],h3[id] {
  scroll-margin-top:110px}
.shell {
  width:min(var(--shell),calc(100% - 112px));
  margin-inline:auto}
.section {
  padding-block:112px}
.eyebrow,.overline {
  font-size:.875rem;
  font-weight:500;
  letter-spacing:.09em;
  text-transform:uppercase;
  line-height:1.5;
  margin-bottom:24px}
.ink-blue {
  color:var(--blue)}
.skip-link {
  position:fixed;
  top:12px;
  left:12px;
  padding:12px 20px;
  background:#fff;
  color:#142035;
  z-index:100;
  transform:translateY(-160%)}
.skip-link:focus {
  transform:translateY(0)}

.site-header {
  height:88px;
  padding:0 48px;
  display:flex;
  align-items:center;
  gap:64px;
  background:#fff;
  color:var(--ink);
  position:relative;
  z-index:30;
  border-bottom:1px solid var(--line)}
.brand {
  font-size:2rem;
  line-height:1;
  font-weight:500;
  letter-spacing:-.065em;
  text-decoration:none;
  flex:none}
.desktop-nav {
  display:flex;
  gap:36px;
  align-items:center}
.desktop-nav a,.header-contact {
  text-decoration:none;
  font-size:.9375rem}
.desktop-nav a {
  padding-block:30px;
  position:relative}
.desktop-nav a:hover,.desktop-nav a[aria-current=page] {
  color:var(--blue)}
.desktop-nav a[aria-current=page]:after {
  content:"";
  position:absolute;
  bottom:18px;
  left:0;
  right:0;
  height:2px;
  background:currentColor}
.header-contact {
  margin-left:auto;
  display:flex;
  gap:24px;
  align-items:center}
.header-contact:hover {
  text-decoration:underline}
.mobile-nav {
  display:none}
.home .site-header {
  position:absolute;
  left:0;
  right:0;
  color:#fff;
  background:transparent;
  border-color:#ffffff24}
.home .desktop-nav a:hover {
  color:#bccdff}

.home-hero {
  height:min(900px,100svh);
  min-height:700px;
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  background:var(--night);
  color:#fff;
  overflow:hidden}
.hero-art {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:-2}
.home-hero:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#03081570 0%,#03081510 65%,transparent);
  z-index:-1}
.hero-content {
  padding-block:148px 110px}
.hero-content h1 {
  max-width:760px;
  letter-spacing:-.06em;
  line-height:1.04}
.hero-content>p:not(.eyebrow) {
  max-width:530px;
  color:#e1e6f2;
  font-size:1.125rem;
  line-height:1.65;
  margin-top:28px}
.hero-content .button {
  margin-top:34px}
.hero-caption {
  position:absolute;
  bottom:28px;
  left:0;
  right:0;
  display:flex;
  justify-content:space-between;
  gap:24px;
  font-size:.8125rem;
  color:#d5deed;
  line-height:1.5}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  padding:15px 24px;
  border-radius:32px;
  border:1px solid var(--blue);
  background:var(--blue);
  color:#fff;
  text-decoration:none;
  font-size:.9375rem;
  line-height:1.4;
  transition:background .2s,transform .2s}
.button:hover {
  background:#173cb3;
  transform:translateY(-2px)}
.button-light {
  background:#fff;
  border-color:#fff;
  color:#162c68}
.button-light:hover {
  background:#eaf0ff}
.button-secondary {
  background:transparent;
  color:var(--blue)}
.text-link,.arrow-link {
  display:inline-flex;
  gap:28px;
  align-items:center;
  color:var(--blue);
  text-decoration:none;
  line-height:1.5;
  font-size:1rem}
.text-link:hover,.arrow-link:hover {
  text-decoration:underline}
.home-intro {
  max-width:1060px;
  text-align:center;
  padding-block:128px}
.home-intro h2 {
  font-size:clamp(2.25rem,4.2vw,4rem);
  line-height:1.15}
.home-intro>p:not(.eyebrow) {
  max-width:735px;
  margin:28px auto;
  color:var(--muted);
  font-size:1.125rem}
.section-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:64px;
  margin-bottom:52px}
.section-heading>p,.section-heading>div+p {
  max-width:420px;
  color:var(--muted);
  font-size:1.0625rem}
.section-heading h2 {
  max-width:840px}
.programmes {
  background:var(--tint)}
.programme-list {
  border-top:1px solid var(--line)}
.programme-row {
  display:grid;
  grid-template-columns:42px minmax(220px,1fr) minmax(280px,1fr) 32px;
  align-items:center;
  gap:28px;
  padding:34px 0;
  border-bottom:1px solid var(--line);
  text-decoration:none;
  transition:color .2s}
.programme-row:hover {
  color:var(--blue)}
.programme-row h3 {
  font-size:1.875rem}
.programme-row p {
  color:var(--muted);
  line-height:1.6}
.programme-index {
  color:var(--muted);
  font-size:.875rem}
.row-arrow {
  font-size:1.75rem}
.section-note {
  max-width:840px;
  color:var(--muted);
  font-size:.9375rem;
  margin-top:30px}
.section-note a {
  color:var(--blue)}
.research-feature {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  align-items:center;
  gap:80px}
.feature-copy h2 {
  max-width:450px}
.feature-copy>p:not(.eyebrow) {
  margin-block:28px;
  color:var(--muted);
  font-size:1.0625rem}
.feature-image {
  background:#f0f3f7;
  border-radius:3px;
  overflow:hidden;
  aspect-ratio:4/3}
.feature-image img {
  width:100%;
  height:100%;
  object-fit:contain}
.feature-figure figcaption {
  font-size:.875rem;
  line-height:1.6;
  color:var(--muted);
  margin-top:18px}
.feature-figure figcaption a {
  color:var(--blue)}
.evidence-section {
  border-top:1px solid var(--line)}
.evidence-columns {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:58px}
.evidence-columns article {
  padding-top:24px;
  border-top:1px solid var(--line)}
.topic-label {
  font-size:.8125rem;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:var(--muted)}
.evidence-columns h3 {
  margin-top:26px;
  font-size:1.75rem}
.evidence-columns p {
  color:var(--muted);
  margin-block:20px 24px}
.foundation-feature {
  background:#08162f;
  color:#fff}
.foundation-feature-inner {
  max-width:1000px;
  text-align:center}
.foundation-feature h2 {
  font-size:clamp(2.5rem,5vw,5rem)}
.foundation-feature p:not(.eyebrow) {
  max-width:660px;
  margin:28px auto 0;
  font-size:1.125rem;
  color:#d5def2}
.foundation-feature p.foundation-status {
  font-size:.875rem;
  color:#b4c6e7;
  margin-top:24px}
.foundation-feature .button {
  margin-top:34px}
.collaboration-section {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
  align-items:center}
.collaboration-section>div>p:not(.eyebrow) {
  max-width:470px;
  color:var(--muted);
  margin-bottom:26px;
  font-size:1.125rem}
.site-footer {
  background:var(--tint);
  padding-block:72px 28px;
  border-top:1px solid var(--line)}
.footer-top {
  display:grid;
  grid-template-columns:.7fr 1fr 1.3fr;
  gap:50px;
  padding-bottom:64px}
.footer-top>p {
  font-size:1.125rem;
  color:var(--muted)}
.footer-top nav {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px 32px;
  font-size:.9375rem}
.footer-top nav a {
  text-decoration:none}
.footer-top nav a:hover {
  text-decoration:underline}
.footer-bottom {
  border-top:1px solid var(--line);
  padding-top:24px;
  display:flex;
  gap:30px;
  font-size:.8125rem;
  color:var(--muted)}
.footer-bottom>span {
  margin-right:auto}

.page-hero {
  padding:96px 0 88px;
  border-bottom:1px solid var(--line)}
.page-hero-grid {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:76px;
  align-items:center}
.page-title {
  font-size:clamp(2.8rem,5.4vw,5.5rem);
  max-width:950px}
.serif {
  font:inherit;
  color:var(--blue)}
.lede {
  font-size:1.125rem;
  color:var(--muted);
  line-height:1.7;
  margin-top:28px;
  max-width:64ch}
.page-hero-meta {
  min-width:0;
  color:var(--muted)}
.body-large {
  font-size:1.125rem}
.actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:22px;
  margin-top:30px}
.section-title.wide {
  max-width:930px}
.section-heading-copy {
  flex:1}
.section-heading>p {
  flex:.6}
.section-tint {
  background:var(--tint)}
.section-dark {
  background:#08162f;
  color:#f2f5ff}
.section-dark p,.section-dark aside,.section-dark .boundary-note {
  color:#c5d1e7}
.section-dark .arrow-link,.section-dark a {
  color:#b8cbff}
.section-dark .serif {
  color:#b8cbff}
.section-dark .overline {
  color:#b8cbff}
.wide-statement {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:90px;
  align-items:start}
.wide-statement h2 {
  max-width:850px}
.wide-statement aside p {
  font-size:1.0625rem}
.wide-statement aside a {
  margin-top:22px;
  margin-right:20px}
.scientific-figure {
  min-width:0}
.figure-media {
  background:#fff;
  border:1px solid var(--line);
  padding:18px;
  overflow:hidden}
.figure-media img {
  width:100%;
  height:auto;
  max-height:690px;
  object-fit:contain}
.scaffold-media {
  background:#f1f4f8}
.figure-caption {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px 18px;
  padding-top:18px;
  color:var(--muted);
  font-size:.875rem;
  line-height:1.6}
.figure-number {
  font-size:.75rem;
  letter-spacing:.08em;
  padding-top:2px}
.figure-caption strong {
  font-weight:500;
  color:var(--ink)}
.figure-caption code {
  display:block;
  font-family:ui-monospace,Consolas,monospace;
  font-size:.75rem;
  overflow-wrap:anywhere;
  margin-top:6px}
.figure-boundary {
  grid-column:2}
.figure-link {
  display:inline-block;
  margin-top:6px;
  color:var(--blue)}
.page-hero .figure-caption {
  display:block}
.page-hero .figure-number {
  display:block;
  margin-bottom:8px}
.page-hero .figure-boundary {
  display:block;
  margin-top:10px}
.figure-pair {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:46px;
  align-items:start}
.figure-wide {
  margin-block:40px}
.status-strip {
  border-bottom:1px solid var(--line);
  background:var(--tint)}
.status-strip-inner {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:36px;
  padding-block:28px}
.status-item>span,.status-item>strong {
  display:block}
.status-item>span {
  font-size:.8125rem;
  color:var(--muted);
  margin-bottom:6px}
.status-item>strong {
  font-size:.9375rem;
  font-weight:500;
  line-height:1.55}
.subnav {
  border-bottom:1px solid var(--line)}
.subnav-inner {
  display:flex;
  gap:28px;
  overflow-x:auto;
  padding-block:20px}
.subnav a {
  white-space:nowrap;
  font-size:.875rem;
  text-decoration:none;
  color:var(--muted)}
.subnav a:hover {
  color:var(--blue)}
.ruled-list {
  border-top:1px solid var(--line)}
.ruled-row {
  display:grid;
  grid-template-columns:minmax(170px,.65fr) 1.65fr;
  gap:32px;
  padding:30px 0;
  border-bottom:1px solid var(--line)}
.ruled-row h3 {
  font-size:1.375rem;
  line-height:1.3}
.ruled-row p {
  color:var(--muted)}
.ruled-row>span {
  color:var(--blue);
  font-size:.875rem}
.ruled-row>.boundary-note {
  grid-column:2}
.mono-label {
  font-family:ui-monospace,Consolas,monospace;
  font-size:.8125rem;
  line-height:1.6;
  overflow-wrap:anywhere;
  color:var(--muted)}
.boundary-note {
  margin-top:26px;
  padding-top:20px;
  border-top:1px solid var(--line);
  font-size:.9375rem;
  color:var(--muted)}
.workflow,.sequence-list {
  padding:0;
  margin:36px 0 0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:32px}
.workflow li,.sequence-list li {
  padding-top:22px;
  border-top:1px solid var(--line);
  min-width:0}
.workflow li>span,.sequence-list li>span {
  font-size:.8125rem;
  color:var(--muted)}
.workflow li>strong,.sequence-list li>strong {
  display:block;
  font-size:1.2rem;
  font-weight:500;
  margin:12px 0}
.workflow h3,.sequence-list h3 {
  font-size:1.4rem;
  margin:10px 0 14px}
.workflow p,.sequence-list p {
  font-size:.9375rem;
  color:var(--muted)}
.section-dark .workflow p,.section-dark .sequence-list p {
  color:#c5d1e7}
.product-row {
  display:grid;
  grid-template-columns:32px .8fr 1fr 1fr;
  gap:36px;
  border-top:1px solid var(--line);
  padding-block:58px;
  align-items:start}
.product-row-index {
  font-size:.875rem;
  color:var(--muted)}
.product-row-copy>p {
  margin-top:24px;
  color:var(--muted)}
.product-row-copy>p:first-child {
  margin-top:0}
.product-row-copy>a {
  margin-top:28px}
.product-row-copy h2 {
  font-size:2.75rem}
.product-row-visual {
  min-width:0}
.data-ledger {
  padding:0;
  margin:28px 0;
  list-style:none;
  border-top:1px solid var(--line)}
.data-ledger>li,.data-ledger>div {
  padding:16px 0;
  border-bottom:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:24px;
  font-size:.875rem}
.data-ledger strong {
  font-weight:500;
  text-align:right}
.table-wrap {
  overflow:auto;
  max-width:100%;
  border-block:1px solid var(--line)}
table {
  width:100%;
  border-collapse:collapse;
  font-size:.9375rem;
  text-align:left;
  line-height:1.6}
th,td {
  vertical-align:top;
  padding:20px 18px;
  border-bottom:1px solid var(--line)}
th {
  font-weight:500;
  font-size:.8125rem;
  text-transform:uppercase;
  letter-spacing:.045em;
  background:var(--tint)}
td {
  min-width:160px}
td:first-child {
  min-width:190px}
td p {
  margin:0}
.state {
  display:inline-block;
  color:var(--muted);
  font-size:.8125rem;
  line-height:1.5;
  padding:4px 8px;
  border:1px solid var(--line);
  border-radius:3px}
.state.warning,.state.pending {
  color:#7e480f;
  background:#fff9ed}
.state.emulated {
  color:#374d8e;
  background:#f1f5ff}
.result-entry {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:64px;
  padding-block:64px;
  border-top:1px solid var(--line);
  align-items:start}
.result-entry-copy h2 {
  font-size:2.7rem}
.result-entry-copy>p {
  margin-top:24px;
  color:var(--muted)}
.result-entry-copy>a {
  margin-top:24px}
.result-entry-copy .overline {
  margin-top:0}
.publication-list {
  border-top:1px solid var(--line)}
.publication-row {
  display:grid;
  grid-template-columns:1fr auto;
  gap:32px;
  padding:28px 0;
  border-bottom:1px solid var(--line)}
.publication-row h3 {
  font-size:1.5rem}
.publication-meta {
  font-size:.875rem;
  color:var(--muted);
  margin-top:12px}
.publication-row>p {
  font-size:.9375rem;
  max-width:550px;
  color:var(--muted)}
.partner-cta {
  background:#f3f6fc}
.partner-cta-grid {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:80px;
  align-items:center}
.partner-cta-grid p {
  color:var(--muted);
  margin-block:24px}
.reading {
  max-width:980px}
.reading h1 {
  font-size:clamp(3rem,6vw,5rem)}
.foundation-map {
  margin-top:48px;
  border-block:1px solid var(--line);
  padding-block:40px}
.foundation-map-heading {
  max-width:800px}
.foundation-map-heading h3 {
  font-size:2rem}
.foundation-map-heading p {
  color:var(--muted);
  margin-top:18px}
.foundation-domains,.foundation-capabilities {
  list-style:none;
  padding:0;
  margin:38px 0;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:24px}
.foundation-domains li,.foundation-capabilities li {
  border-top:1px solid var(--line);
  padding-top:20px}
.foundation-domains span,.foundation-capabilities span {
  display:block;
  font-size:.875rem;
  color:var(--muted)}
.foundation-domains strong {
  display:block;
  font-weight:500;
  font-size:1.125rem;
  margin-block:10px}
.foundation-domains p {
  font-size:.875rem;
  color:var(--muted)}
.foundation-capabilities {
  grid-template-columns:repeat(4,minmax(0,1fr))}
.foundation-capabilities strong {
  display:block;
  font-weight:500;
  margin-bottom:10px}
.foundation-evidence-rail {
  border-block:1px solid var(--line);
  padding-block:24px}
.foundation-evidence-rail span {
  font-size:.8125rem;
  color:var(--muted)}
.foundation-evidence-rail p {
  margin-top:8px}
.foundation-core {
  background:#09172e;
  color:#fff;
  padding:36px;
  margin-top:32px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:36px}
.foundation-core span,.foundation-core strong {
  display:block}
.foundation-core span {
  font-size:.875rem;
  color:#b4c6e7}
.foundation-core strong {
  font-size:1.5rem;
  font-weight:400;
  line-height:1.3;
  margin-top:10px}
.foundation-core p {
  font-size:.9375rem;
  color:#d5def2}
.foundation-map>figcaption {
  font-size:.875rem;
  color:var(--muted);
  margin-top:24px}
.foundation-state {
  font-size:.875rem;
  color:var(--muted)}
.content-page .section .button {
  margin-top:8px}
.content-page .section p a,.content-page td a {
  color:var(--blue)}

@media(min-width:1600px) {
  .home-hero {
  max-height:960px}
.hero-content h1 {
  font-size:7rem;
  max-width:850px}
}

@media(max-width:1050px) {
  .shell {
  width:calc(100% - 64px)}
.site-header {
  padding-inline:32px;
  gap:42px}
.desktop-nav {
  gap:26px}
.hero-content h1 {
  max-width:620px}
.programme-row {
  grid-template-columns:28px 1fr 1fr 24px;
  gap:20px}
.research-feature {
  gap:44px}
.section-heading {
  gap:32px}
.evidence-columns {
  gap:32px}
.collaboration-section {
  gap:50px}
}

@media(max-width:760px) {
  .shell {
  width:calc(100% - 40px)}
.section {
  padding-block:72px}
.site-header {
  height:76px;
  padding-inline:20px;
  gap:20px}
.brand {
  font-size:1.8rem}
.desktop-nav,.header-contact {
  display:none}
.mobile-nav {
  display:block;
  margin-left:auto}
.mobile-nav summary {
  display:flex;
  gap:18px;
  cursor:pointer;
  list-style:none;
  padding:14px 0}
.mobile-nav summary::-webkit-details-marker {
  display:none}
.mobile-nav nav {
  position:absolute;
  top:75px;
  left:0;
  right:0;
  padding:22px 24px 30px;
  background:#fff;
  color:var(--ink);
  border-bottom:1px solid var(--line);
  display:flex;
  flex-direction:column;
  gap:0}
.mobile-nav nav a {
  display:block;
  text-decoration:none;
  font-size:1.125rem;
  padding:13px 0}
.home-hero {
  min-height:740px;
  height:94svh;
  max-height:880px}
.hero-art {
  object-position:65% center;
  opacity:.75}
.home-hero:after {
  background:linear-gradient(90deg,#030815b3,#03081533)}
.hero-content {
  padding-block:145px 138px}
.hero-content h1 {
  font-size:clamp(3.35rem,11vw,5.4rem);
  max-width:620px}
.hero-content>p:not(.eyebrow) {
  font-size:1rem;
  max-width:440px}
.eyebrow,.overline {
  font-size:.8125rem;
  margin-bottom:20px}
.hero-caption {
  bottom:22px;
  display:block;
  font-size:.75rem}
.hero-caption span {
  display:block;
  margin-top:6px}
.home-intro {
  padding-block:86px}
.home-intro h2 {
  font-size:2.45rem;
  line-height:1.18}
.home-intro>p:not(.eyebrow) {
  font-size:1rem}
.section-heading {
  display:block;
  margin-bottom:36px}
.section-heading>p,.section-heading>.text-link {
  margin-top:24px}
.programme-row {
  grid-template-columns:25px minmax(0,1fr) 24px;
  gap:12px;
  padding-block:28px;
  align-items:start}
.programme-row h3 {
  font-size:1.55rem}
.programme-row p {
  grid-column:2;
  grid-row:2;
  font-size:.9375rem}
.row-arrow {
  grid-column:3;
  grid-row:1;
  font-size:1.5rem}
.programme-index {
  padding-top:5px}
.research-feature {
  grid-template-columns:1fr;
  gap:40px}
.feature-copy h2 {
  max-width:500px}
.evidence-columns {
  grid-template-columns:1fr;
  gap:38px}
.evidence-columns article {
  padding-top:20px}
.evidence-columns h3 {
  margin-top:18px}
.foundation-feature h2 {
  font-size:3rem}
.foundation-feature p:not(.eyebrow) {
  font-size:1rem}
.collaboration-section {
  grid-template-columns:1fr;
  gap:30px}
.collaboration-section h2 br {
  display:none}
.footer-top {
  grid-template-columns:1fr 1fr;
  gap:30px;
  padding-bottom:42px}
.footer-top .brand {
  grid-column:1/-1}
.footer-top nav {
  grid-template-columns:1fr;
  gap:10px}
.footer-top>p {
  font-size:1rem}
.footer-bottom {
  gap:18px;
  flex-wrap:wrap}
.footer-bottom>span {
  width:100%}
.site-footer {
  padding-top:48px}
}

@media(max-width:1050px) {
  .page-hero-grid {
  gap:40px;
  grid-template-columns:1.1fr .9fr}
.page-title {
  font-size:3.7rem}
.wide-statement {
  gap:40px}
.product-row {
  gap:22px;
  grid-template-columns:24px 1fr 1fr}
.product-row-visual {
  grid-column:2/-1}
.result-entry {
  gap:36px}
.foundation-domains {
  gap:14px}
.partner-cta-grid {
  gap:40px}
}

@media(max-width:760px) {
  .page-hero {
  padding-block:58px}
.page-hero-grid,.wide-statement,.figure-pair,.result-entry,.partner-cta-grid,.foundation-core {
  grid-template-columns:1fr;
  gap:36px}
.page-title {
  font-size:clamp(2.7rem,9.5vw,4.7rem)}
.page-hero-meta {
  max-width:620px}
.lede {
  font-size:1.0625rem}
.status-strip-inner {
  grid-template-columns:1fr;
  gap:20px;
  padding-block:24px}
.status-item {
  border-bottom:1px solid var(--line);
  padding-bottom:18px}
.status-item:last-child {
  border:0;
  padding:0}
.subnav-inner {
  gap:24px}
.workflow,.sequence-list {
  grid-template-columns:1fr;
  gap:26px}
.ruled-row {
  grid-template-columns:1fr;
  gap:14px;
  padding-block:24px}
.ruled-row>.boundary-note {
  grid-column:1}
.product-row {
  grid-template-columns:25px 1fr;
  gap:20px;
  padding-block:42px}
.product-row-visual {
  grid-column:1/-1}
.product-row-copy {
  grid-column:2}
.product-row-copy h2 {
  font-size:2.35rem}
.figure-caption {
  grid-template-columns:1fr;
  gap:8px}
.figure-boundary {
  grid-column:1}
.figure-media {
  padding:8px}
.result-entry {
  padding-block:48px}
.result-entry-copy h2 {
  font-size:2.25rem}
.publication-row {
  grid-template-columns:1fr;
  gap:18px}
.foundation-domains {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px}
.foundation-capabilities {
  grid-template-columns:repeat(2,minmax(0,1fr))}
.foundation-core {
  padding:24px}
.foundation-map {
  padding-block:28px}
.table-wrap {
  margin-inline:-20px;
  padding-inline:20px;
  max-width:calc(100% + 40px)}
th,td {
  padding:16px 12px}
.data-ledger>li,.data-ledger>div {
  display:block}
.data-ledger strong {
  display:block;
  text-align:left;
  margin-top:8px}
.actions {
  gap:18px}
.section-dark .boundary-note {
  border-color:#ffffff30}
}

@media(prefers-reduced-motion:reduce) {
  :root {
  scroll-behavior:auto}
*,*:before,*:after {
  animation:none!important;
  transition:none!important}
}

@media(prefers-contrast:more) {
  :root {
  --muted:#303847;
  --line:#778296}
.hero-content>p:not(.eyebrow),.hero-caption {
  color:#fff}
}
