:root {
  --ink: #0b0b0d;
  --ink-2: #484d55;
  --ink-3: #858b95;
  --paper: #f7f8f9;
  --card: #ffffff;
  --hair: #e5e7eb;
  --blue: #1c39bb;
  --blue-bright: #4f6bff;
  --blue-soft: #eaedfb;
  --blue-soft-deep: #dfe4f8;
  --max: 1280px;
  --type-display: clamp(58px, 6.7vw, 96px);
  --type-chapter: clamp(48px, 4.6vw, 64px);
  --type-section: clamp(40px, 3.6vw, 48px);
  --type-component: clamp(24px, 2.1vw, 28px);
  --type-lead: clamp(19px, 1.45vw, 21px);
  --type-body: 17px;
  --space-chapter: clamp(176px, 14vw, 216px);
  --space-section: clamp(128px, 10.5vw, 160px);
  --space-support: clamp(112px, 9vw, 136px);
  --motion-fast: 180ms;
  --motion-medium: 320ms;
  --motion-narrative: 720ms;
  --ease-standard: cubic-bezier(.22, 1, .36, 1);
  --ease-enter: cubic-bezier(.16, 1, .3, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Schibsted Grotesk", sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }
::selection { background: var(--blue); color: #fff; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
img { display: block; max-width: 100%; }
:where(a, button, input, textarea, select, [tabindex]):focus-visible {
  outline: 3px solid var(--blue-bright);
  outline-offset: 3px;
}

.shell { width: min(var(--max), calc(100% - 64px)); margin: 0 auto; }
.shell--narrow { width: min(980px, calc(100% - 64px)); margin: 0 auto; }
.mono {
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .03em;
}
.eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  color: var(--blue);
  font-family: "Schibsted Grotesk", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
}
.eyebrow::before {
  width: 24px;
  height: 2px;
  background: currentColor;
  content: "";
}
.display {
  margin: 0;
  font-size: var(--type-display);
  font-weight: 600;
  letter-spacing: -.052em;
  line-height: .96;
}
.title {
  margin: 0;
  font-size: var(--type-chapter);
  font-weight: 600;
  letter-spacing: -.045em;
  line-height: .98;
}
.lede {
  margin: 0;
  color: var(--ink-2);
  font-family: "Schibsted Grotesk", sans-serif;
  font-size: var(--type-lead);
  line-height: 1.48;
}
.body-copy {
  color: var(--ink-2);
  font-family: "Schibsted Grotesk", sans-serif;
  font-size: var(--type-body);
  line-height: 1.62;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(229, 231, 235, .9);
  background: rgba(247, 248, 249, .9);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
  will-change: transform;
  transition:
    transform var(--motion-medium) var(--ease-standard),
    box-shadow var(--motion-fast) ease;
}
.site-header[data-scroll-state="hidden"] {
  box-shadow: none;
  transform: translateY(calc(-100% - 3px));
}
.site-header[data-scroll-state="visible"][data-scrolled="true"] {
  box-shadow: 0 14px 30px -26px rgba(11, 11, 13, .5);
}
body::before {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 110;
  height: 2px;
  background: var(--blue);
  content: "";
  pointer-events: none;
  transform: scaleX(var(--page-progress, 0));
  transform-origin: left;
}
.site-header__inner {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  min-height: 68px;
  gap: 28px;
}
.brand {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  gap: 11px;
  min-height: 44px;
}
/* Gap is 18.2% of the square, corner radius 27.3%. They are deliberately not the same
   number: dark squares on a light ground appear to shrink, so a gap equal to the radius
   reads wider than it measures. */
.brand__mark {
  display: grid;
  grid-template: repeat(2, 11px) / repeat(2, 11px);
  gap: 2px;
}
.brand__mark i { border-radius: 3px; background: var(--ink); }
.brand__mark i:last-child { background: var(--blue); }
.brand__word { font-family: "Schibsted Grotesk", Arial, sans-serif !important; font-size: 20px; font-weight: 600; letter-spacing: -.045em; }
.skip {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 1000;
  padding: 8px 12px;
  background: var(--ink);
  color: #fff;
  transform: translateY(-180%);
}
.skip:focus { transform: translateY(0); }
.site-nav { display: flex; align-items: center; gap: 27px; }
.site-nav__mobile-actions { display: none; }
.site-nav a {
  position: relative;
  min-height: 44px;
  padding: 14px 0 12px;
  color: var(--ink-2);
  font-size: 14px;
  font-weight: 500;
}
.site-nav a::after {
  position: absolute;
  right: 0;
  bottom: 6px;
  left: 0;
  height: 2px;
  background: var(--blue);
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform var(--motion-fast) ease;
}
.site-nav a:hover,
.site-nav a[aria-current="page"] { color: var(--ink); }
.site-nav a:hover::after,
.site-nav a[aria-current="page"]::after {
  transform: scaleX(1);
  transform-origin: left;
}
.site-header__actions { display: flex; align-items: center; justify-self: end; gap: 9px; }
.research-nav { gap:16px;
  display: flex;
  align-items: center;
  justify-self: end;
  margin-left: auto;
}
.site-header__link {
  min-height: 44px;
  padding: 14px 6px 12px;
  color: var(--ink-2);
  font-size: 14px;
  font-weight: 500;
}
.site-header__link:hover,
.site-header__link[aria-current="page"] { color: var(--ink); }
.button--compact { min-height: 40px; padding: 9px 14px; font-size: 14px; }
.menu-button {
  display: none;
  min-width: 44px;
  min-height: 44px;
  border: 1px solid var(--hair);
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 48px;
  padding: 12px 20px;
  border: 1px solid var(--ink);
  border-radius: 6px;
  background: var(--ink);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  transition:
    background var(--motion-fast) ease,
    border-color var(--motion-fast) ease,
    color var(--motion-fast) ease,
    transform var(--motion-fast) var(--ease-standard);
}
.button:hover { border-color: var(--blue); background: var(--blue); transform: translateY(-1px); }
.button--quiet { border-color: var(--hair); background: transparent; color: var(--ink); }
.button--quiet:hover { border-color: var(--ink); background: transparent; color: var(--ink); }
.button--light { border-color: #fff; background: #fff; color: var(--ink); }
.button--light:hover { border-color: var(--blue-soft); background: var(--blue-soft); color: var(--ink); }
.button--light-quiet {
  border-color: rgba(255, 255, 255, .32);
  background: transparent;
  color: #fff;
}
.button--light-quiet:hover { border-color: #fff; background: rgba(255, 255, 255, .08); color: #fff; }
.button .arrow { font-family: "IBM Plex Mono", monospace; font-size: 12px; }

.hero {
  padding: 92px 0 104px;
  overflow: hidden;
}
.hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(460px, .96fr);
  align-items: center;
  gap: clamp(56px, 7vw, 110px);
}
.hero .display { max-width: 11ch; }
.hero .lede { max-width: 620px; margin-top: 28px; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.hero__note { max-width: 560px; margin-top: 15px; color: var(--ink-3); font-family: "IBM Plex Mono", monospace; font-size: 11px; line-height: 1.55; }

.record-figure {
  position: relative;
  min-height: 560px;
  padding: 42px;
  border: 1px solid #daddE4;
  background: #fff;
  box-shadow: 20px 24px 0 var(--blue-soft);
}
.record-figure::before {
  position: absolute;
  top: -1px;
  right: 40px;
  width: 52px;
  height: 5px;
  background: var(--blue);
  content: "";
}
.record-figure__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--hair);
}
.record-figure__title { margin-top: 7px; font-size: 20px; font-weight: 600; letter-spacing: -.025em; }
.record-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--blue);
  white-space: nowrap;
}
.record-status::before { width: 7px; height: 7px; border-radius: 50%; background: var(--blue); content: ""; }
.record-events { position: relative; padding: 18px 0 5px 25px; }
.record-events::before {
  position: absolute;
  top: 25px;
  bottom: 28px;
  left: 6px;
  width: 1px;
  background: var(--hair);
  content: "";
}
.record-event {
  position: relative;
  display: grid;
  grid-template-columns: 60px 1fr auto;
  gap: 12px;
  align-items: baseline;
  padding: 17px 0;
  border-bottom: 1px solid var(--hair);
}
.record-event::before {
  position: absolute;
  top: 22px;
  left: -23px;
  width: 9px;
  height: 9px;
  border: 2px solid #fff;
  border-radius: 3px;
  background: var(--ink);
  box-shadow: 0 0 0 1px var(--hair);
  content: "";
}
.record-event:nth-child(3)::before { background: var(--blue); }
.record-event__time { color: var(--ink-3); font-family: "IBM Plex Mono", monospace; font-size: 10px; }
.record-event__name { font-size: 13px; font-weight: 600; }
.record-event__source { color: var(--ink-3); font-family: "IBM Plex Mono", monospace; font-size: 9px; }
.record-boundary {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  margin-top: 28px;
  padding: 18px;
  background: var(--blue-soft);
}
.record-boundary__mark {
  display: grid;
  grid-template: repeat(2, 8px) / repeat(2, 8px);
  align-self: start;
  gap: 2px;
  margin-top: 3px;
}
.record-boundary__mark i { border-radius: 2px; background: var(--ink); }
.record-boundary__mark i:last-child { background: var(--blue); }
.record-boundary p { margin: 5px 0 0; color: var(--ink-2); font-family: "Schibsted Grotesk", sans-serif; font-size: 13px; line-height: 1.45; }

.hero-live {
  position: relative;
  width: min(100%, 720px);
  justify-self: end;
  overflow: hidden;
  border: 1px solid #d8dae2;
  background: #fff;
  box-shadow: 18px 20px 0 var(--blue-soft);
  color: var(--ink);
}
.hero-live::before {
  position: absolute;
  top: 0;
  right: 42px;
  width: 58px;
  height: 5px;
  background: var(--blue);
  content: "";
}
.hero-live__header,
.hero-live__volume-head,
.hero-live__stream-head,
.hero-live__review-head,
.hero-live__feed {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.hero-live__header {
  min-height: 66px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--hair);
}
.hero-live__header > div { display: flex; align-items: baseline; gap: 10px; }
.hero-live__header .mono { color: var(--blue); font-size: 9px; font-weight: 600; }
.hero-live__header strong { font-size: 14px; letter-spacing: -.02em; }
.hero-live__status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--blue);
  font-size: 9px;
  font-weight: 600;
  transition: color 260ms ease;
}
.hero-live__status::before,
.hero-live__signal {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--blue-bright);
  box-shadow: 0 0 0 5px rgba(79, 107, 255, .12);
  content: "";
}
.hero-live__metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid var(--hair);
}
.hero-live__metrics > div { min-width: 0; padding: 14px 18px; }
.hero-live__metrics > div + div { border-left: 1px solid var(--hair); }
.hero-live__metrics span {
  display: block;
  color: var(--ink-3);
  font-family: "IBM Plex Mono", monospace;
  font-size: 8px;
  font-weight: 600;
}
.hero-live__metrics strong {
  display: block;
  margin-top: 5px;
  font-size: 21px;
  letter-spacing: -.04em;
}
.hero-live__metrics > div:nth-child(2) strong { color: var(--blue); }
.hero-live__volume { padding: 13px 18px 15px; border-bottom: 1px solid var(--hair); }
.hero-live__volume-head { color: var(--ink-2); font-size: 10px; font-weight: 600; }
.hero-live__volume-head .mono { color: var(--ink-3); font-size: 8px; }
.hero-live__bars {
  display: flex;
  align-items: flex-end;
  gap: 4px;
  height: 36px;
  margin-top: 9px;
  border-bottom: 1px solid var(--hair);
}
.hero-live__bars i {
  position: relative;
  display: block;
  height: var(--h);
  flex: 1 1 0;
  min-width: 3px;
  background: #9ca8db;
  transform-origin: bottom;
  transition: height 520ms var(--ease-enter), background 260ms ease;
}
.hero-live__bars i:nth-child(4n+1),
.hero-live__bars i:nth-child(7n) { background: var(--blue); }
.hero-live__bars i.is-now {
  background: var(--blue-bright);
}
.hero-live__bars i.is-now::after {
  position: absolute;
  top: -7px;
  right: 0;
  left: 0;
  height: 2px;
  background: var(--blue-bright);
  content: "";
}
.hero-live__workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(210px, .75fr);
  min-height: 336px;
}
.hero-live__stream {
  min-width: 0;
  padding: 16px 18px 14px;
  overflow: hidden;
}
.hero-live__stream-head {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--hair);
  color: var(--ink-2);
  font-size: 10px;
}
.hero-live__stream-head > div { display: grid; gap: 3px; }
.hero-live__stream-head strong { color: var(--ink); font-size: 13px; }
.hero-live__stream-head .mono { color: var(--blue); font-size: 8px; font-weight: 600; }
.hero-live__events {
  position: relative;
  margin: 0;
  padding: 8px 0 4px;
  list-style: none;
}
.hero-live__events::before {
  position: absolute;
  top: 30px;
  bottom: 29px;
  left: 75px;
  width: 1px;
  background: var(--hair);
  content: "";
}
.hero-live__event {
  position: relative;
  display: grid;
  grid-template-columns: 58px 14px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-height: 49px;
  opacity: .16;
  transform: translateY(6px);
  transition:
    opacity 420ms var(--ease-enter),
    transform 420ms var(--ease-enter),
    background 300ms ease;
}
.hero-live__event time,
.hero-live__event small {
  color: var(--ink-3);
  font-family: "IBM Plex Mono", monospace;
  font-size: 8px;
}
.hero-live__event time { text-align: right; }
.hero-live__event i {
  position: relative;
  z-index: 1;
  width: 9px;
  height: 9px;
  border: 2px solid #fff;
  border-radius: 3px;
  background: #b8bdca;
  box-shadow: 0 0 0 1px var(--hair);
}
.hero-live__event span { min-width: 0; }
.hero-live__event strong {
  display: block;
  font-size: 12px;
  line-height: 1.2;
}
.hero-live__event small { display: block; margin-top: 3px; }
.hero-live__event.is-visible { opacity: 1; transform: none; }
.hero-live__event.is-current {
  margin-right: -18px;
  padding-right: 18px;
  background: linear-gradient(90deg, transparent, var(--blue-soft));
}
.hero-live__event.is-current i {
  background: var(--blue-bright);
  box-shadow: 0 0 0 5px rgba(79, 107, 255, .13);
}
.hero-live__source-flow {
  display: grid;
  grid-template-columns: auto 1fr auto 1fr auto 1fr auto;
  align-items: center;
  gap: 6px;
  padding-top: 11px;
  border-top: 1px solid var(--hair);
}
.hero-live__source-flow span {
  color: var(--ink-3);
  font-family: "IBM Plex Mono", monospace;
  font-size: 7px;
  transition: color 260ms ease;
}
.hero-live__source-flow i {
  height: 1px;
  overflow: hidden;
  background: var(--hair);
}
.hero-live__source-flow i::after {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--blue-bright);
  content: "";
  transform: translateX(-100%);
}
.hero-live[data-live-step="4"] .hero-live__source-flow span { color: var(--blue); }
.hero-live[data-live-step="4"] .hero-live__source-flow i::after {
  transform: translateX(0);
  transition: transform 680ms var(--ease-enter);
}
.hero-live__review {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 16px 18px 15px;
  border-left: 1px solid rgba(28, 57, 187, .18);
  background: var(--blue-soft);
}
.hero-live__review > * {
  transition: opacity 220ms ease, transform 320ms var(--ease-enter);
}
.hero-live[data-live-step="0"] .hero-live__answer,
.hero-live[data-live-step="1"] .hero-live__answer { background: rgba(255, 255, 255, .32); }
.hero-live[data-live-step="2"] .hero-live__review {
  box-shadow: inset 3px 0 0 var(--blue-bright);
}
.hero-live[data-live-step="4"] .hero-live__review {
  background: #e4e8ff;
}
.hero-live__review-head { color: var(--blue); font-size: 9px; }
.hero-live__review-time { color: var(--ink-3); font-size: 8px; }
.hero-live__question {
  margin: 19px 0 16px;
  font-size: clamp(18px, 1.5vw, 23px);
  font-weight: 600;
  letter-spacing: -.035em;
  line-height: 1.08;
}
.hero-live__answer {
  padding: 13px 0 15px;
  border-top: 1px solid rgba(28, 57, 187, .18);
  border-bottom: 1px solid rgba(28, 57, 187, .18);
}
.hero-live__answer span {
  display: block;
  color: var(--blue);
  font-family: "IBM Plex Mono", monospace;
  font-size: 8px;
  font-weight: 600;
}
.hero-live__answer strong {
  display: block;
  margin-top: 7px;
  font-size: 13px;
  line-height: 1.35;
}
.hero-live__review dl { margin: 0; }
.hero-live__review dl > div { padding: 11px 0; border-bottom: 1px solid rgba(28, 57, 187, .14); }
.hero-live__review dt { color: var(--ink-3); font-family: "IBM Plex Mono", monospace; font-size: 8px; }
.hero-live__review dd { margin: 5px 0 0; font-size: 11px; font-weight: 600; line-height: 1.35; }
.hero-live__review a {
  display: inline-flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 13px;
  color: var(--blue);
  font-size: 11px;
  font-weight: 600;
}
.hero-live__feed {
  justify-content: flex-start;
  min-height: 42px;
  padding: 10px 18px;
  border-top: 1px solid var(--hair);
  background: #fafbfc;
  color: var(--ink-3);
  font-size: 8px;
}
.hero-live__feed .hero-live__signal { flex: 0 0 auto; width: 6px; height: 6px; box-shadow: none; }

@keyframes live-status-pulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(79, 107, 255, .1); transform: scale(.88); }
  50% { box-shadow: 0 0 0 7px rgba(79, 107, 255, .03); transform: scale(1); }
}
@media (prefers-reduced-motion: no-preference) {
  .hero-live__status::before,
  .hero-live__signal { animation: live-status-pulse 1.6s ease-in-out infinite; }
}

.hero-monitor {
  position: relative;
  width: min(100%, 720px);
  justify-self: end;
  overflow: hidden;
  border: 1px solid #d8dae2;
  background: #fff;
  box-shadow: 18px 20px 0 var(--blue-soft);
  color: var(--ink);
}
.hero-monitor::before {
  position: absolute;
  top: 0;
  right: 42px;
  width: 58px;
  height: 5px;
  background: var(--blue);
  content: "";
}
.hero-monitor__header {
  display: flex;
  min-height: 72px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 22px;
  border-bottom: 1px solid var(--hair);
}
.hero-monitor__header > div { display: flex; align-items: baseline; gap: 12px; }
.hero-monitor__header .mono { color: var(--blue); font-size: 9px; font-weight: 600; }
.hero-monitor__header strong { font-size: 15px; }
.hero-monitor__status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--blue);
  font-size: 9px;
  font-weight: 600;
}
.hero-monitor__status i,
.hero-monitor__signal {
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--blue-bright);
  box-shadow: 0 0 0 5px rgba(79, 107, 255, .12);
}
.hero-monitor__metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid var(--hair);
}
.hero-monitor__metrics > div { padding: 17px 20px; }
.hero-monitor__metrics > div + div { border-left: 1px solid var(--hair); }
.hero-monitor__metrics span {
  display: block;
  color: var(--ink-3);
  font-family: "IBM Plex Mono", monospace;
  font-size: 8px;
}
.hero-monitor__metrics strong {
  display: block;
  margin-top: 6px;
  font-size: 23px;
  letter-spacing: -.04em;
}
.hero-monitor__metrics strong.is-updating {
  animation: live-counter-update 900ms var(--ease-enter);
}
.hero-monitor__metrics > div:nth-child(2) strong { color: var(--blue); }
.hero-monitor__heading,
.hero-monitor__runs > li {
  display: grid;
  grid-template-columns: 1.1fr 1.25fr 76px;
  gap: 18px;
}
.hero-monitor__heading {
  padding: 13px 22px 11px;
  border-bottom: 1px solid var(--hair);
  color: var(--ink-3);
  font-size: 8px;
}
.hero-monitor__runs { margin: 0; padding: 0; list-style: none; }
.hero-monitor__runs > li {
  position: relative;
  align-items: center;
  min-height: 76px;
  padding: 14px 22px;
  overflow: hidden;
  border-bottom: 1px solid var(--hair);
  transition: background 1.1s ease;
}
.hero-monitor__runs > li::before {
  position: absolute;
  transform-origin: top;
  top: 0;
  bottom: 0;
  left: 0;
  width: 3px;
  background: var(--blue-bright);
  content: "";
  opacity: 0;
  transform: scaleY(.3);
  transition: opacity 900ms ease, transform 1.1s var(--ease-enter);
}
.hero-monitor__runs > li.is-current {
  background: linear-gradient(90deg, rgba(79, 107, 255, .05), rgba(79, 107, 255, .012));
}
.hero-monitor__runs > li.is-current::before { opacity: .85; transform: scaleY(1); }
.hero-monitor__runs > li.is-fresh > span > strong {
  animation: live-row-text 900ms var(--ease-enter) both;
}
.hero-monitor__runs > li.is-fresh > span:nth-child(2) > strong { animation-delay: 90ms; }
.hero-monitor__runs > li.is-fresh > .hero-monitor__state { animation: live-row-text 900ms 160ms var(--ease-enter) both; }
.hero-monitor__runs > li.is-leaving { pointer-events: none; }
.hero-monitor__runs span { min-width: 0; }
.hero-monitor__runs strong { display: block; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.hero-monitor__runs small {
  display: block;
  margin-top: 4px;
  overflow: hidden;
  color: var(--ink-3);
  font-family: "IBM Plex Mono", monospace;
  font-size: 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero-monitor__state {
  justify-self: end;
  padding: 5px 8px;
  border: 1px solid rgba(28, 57, 187, .2);
  color: var(--blue);
  font-family: "IBM Plex Mono", monospace;
  font-size: 8px;
  font-style: normal;
}
.hero-monitor__state--review { background: var(--blue-soft); }
.hero-monitor__state--complete { border-color: rgba(41, 116, 83, .2); background: #eaf5f0; color: #246749; }
.hero-monitor__feed {
  display: flex;
  min-height: 46px;
  align-items: center;
  gap: 12px;
  padding: 11px 22px;
  background: #fafbfc;
  color: var(--ink-3);
  font-size: 8px;
}
@media (prefers-reduced-motion: no-preference) {
  .hero-monitor__status i,
  .hero-monitor__signal { animation: live-status-pulse 1.6s ease-in-out infinite; }
}
@keyframes live-row-text {
  0% { opacity: 0; transform: translateY(-3px); }
  100% { opacity: 1; transform: translateY(0); }
}
@keyframes live-counter-update {
  0% { opacity: .86; transform: translateY(-1px); }
  100% { opacity: 1; }
}

.section { padding: var(--space-section) 0; }
.section--tight { padding: var(--space-support) 0; }
.section--periwinkle { background: var(--blue-soft); }
.section--periwinkle-deep { background: var(--blue-soft-deep); }
.section--dark { background: var(--ink); color: #fff; }
.section--mission-soft { background: #eef0fb; color: var(--ink); }
.section--mission-soft .body-copy { color: var(--ink-2); }
.mission-link { color: var(--blue); font-weight: 600; }
.about-closing {
  margin-top: 88px;
  padding-top: 68px;
  border-top: 1px solid rgba(255, 255, 255, .14);
}
.home-page .section { padding: var(--space-section) 0; }
.home-page .section--tight { padding: var(--space-support) 0; }
.home-page .section--chapter { padding: var(--space-chapter) 0; }
.home-page .hero { padding-top: 72px; padding-bottom: 82px; }
.section-heading {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(360px, 5fr);
  gap: clamp(72px, 8vw, 112px);
  align-items: start;
  margin-bottom: 88px;
}
.section-heading .title { max-width: 14ch; }
.section-heading .lede { max-width: 580px; }
.section-heading--solo {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  max-width: 880px;
}
.section-heading--solo .title { max-width: 18ch; }
.section-heading--solo .lede {
  max-width: 680px;
  margin-top: 26px;
}
.section-heading--thesis .title { max-width: 20ch; }
.section-heading--comparison .lede {
  max-width: 780px;
  font-size: clamp(20px, 2vw, 27px);
  line-height: 1.38;
}
.component-note,
.scope-note {
  color: var(--ink-2);
  font-family: "Schibsted Grotesk", sans-serif;
  font-size: 14px;
  line-height: 1.5;
}
.component-note {
  margin: 16px 0 0;
  padding-left: 18px;
  border-left: 2px solid var(--blue);
}
.scope-note {
  margin: 18px 0 0;
  padding-top: 16px;
  border-top: 1px solid rgba(28, 57, 187, .22);
}
.scope-note--crosswalk { margin-top: 20px; }

.reason {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(360px, 5fr);
  align-items: start;
  gap: clamp(72px, 8vw, 112px);
}
.reason__statement {
  max-width: 14ch;
  margin: 0;
  font-size: var(--type-chapter);
  font-weight: 600;
  letter-spacing: -.045em;
  line-height: .98;
}
.reason__aside {
  width: 100%;
  max-width: 28rem;
  padding-top: 28px;
  border-top: 2px solid var(--ink);
}
.reason__aside p { margin: 0; }
.reason__aside a {
  display: inline-flex;
  gap: 8px;
  margin-top: 22px;
  color: var(--blue);
  font-size: 14px;
  font-weight: 600;
}
.reason--home {
  grid-template-columns: minmax(0, 1fr);
  gap: 42px;
}
.reason--home .reason__statement {
  max-width: 13ch;
}
.reason--home .reason__aside {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 48px;
  max-width: none;
  padding-top: 26px;
}
.reason--home .reason__aside .lede {
  max-width: 58ch;
}
.reason--home .reason__aside a {
  flex: 0 0 auto;
  margin-top: 3px;
}
.market-evidence {
  margin-top: 68px;
  padding: 30px 0 0;
  border-top: 1px solid rgba(28, 57, 187, .3);
}
.market-evidence__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
}
.market-evidence__stat {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 22px;
  padding-right: clamp(36px, 5vw, 72px);
}
.market-evidence__stat + .market-evidence__stat {
  padding-right: 0;
  padding-left: clamp(36px, 5vw, 72px);
  border-left: 1px solid rgba(28, 57, 187, .2);
}
.market-evidence__stat dt {
  margin: 0;
  color: var(--ink);
  font-size: clamp(38px, 3.5vw, 50px);
  font-weight: 600;
  letter-spacing: -.045em;
  line-height: .94;
}
.market-evidence__stat dd {
  max-width: 26ch;
  margin: 2px 0 0;
  color: var(--ink-2);
  font-size: 15px;
  line-height: 1.55;
}
.market-evidence__source {
  display: block;
  width: fit-content;
  margin-top: 20px;
  color: var(--ink-3);
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
  line-height: 1.5;
  transition: color .18s ease;
}
.market-evidence__source:hover { color: var(--blue); }
.market-evidence__source:focus-visible { outline: 2px solid var(--blue); outline-offset: 5px; }
.editorial-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(28, 57, 187, .35);
  color: var(--blue);
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  transition: border-color .18s ease, color .18s ease;
}
.editorial-link:hover { border-color: currentColor; }
.editorial-link:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }

.section-heading--process {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 0;
  margin-bottom: 96px;
  text-align: center;
}
.section-heading--process .title {
  max-width: 19ch;
  margin-right: auto;
  margin-left: auto;
  font-size: var(--type-section);
  line-height: 1.02;
}
.section-heading--process .lede {
  max-width: 55ch;
  margin: 28px auto 0;
  padding-top: 0;
}
.section-heading--process .eyebrow {
  margin-bottom: 24px;
  font-size: 13px;
}
.mechanism {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(22px, 2.6vw, 40px);
  margin: 0;
  padding: 0;
  list-style: none;
}
.mechanism__step {
  position: relative;
  min-width: 0;
  padding: 0;
}
.mechanism-product {
  position: relative;
  min-height: 292px;
  overflow: hidden;
  border: 1px solid rgba(22, 30, 63, .16);
  background: #fff;
  box-shadow: 10px 12px 0 rgba(79, 107, 255, .11);
  transform: translateY(0);
  transition:
    border-color 420ms var(--ease-enter),
    box-shadow 420ms var(--ease-enter),
    opacity 420ms var(--ease-enter),
    transform 420ms var(--ease-enter);
}
.mechanism.is-animated .mechanism__step:not(.is-reached) .mechanism-product {
  opacity: .54;
  transform: translateY(14px);
}
.mechanism__step.is-active .mechanism-product {
  border-color: rgba(32, 67, 203, .58);
  box-shadow: 12px 15px 0 rgba(79, 107, 255, .18);
  transform: translateY(-5px);
}
.mechanism-product__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 52px;
  padding: 0 18px;
  border-bottom: 1px solid rgba(22, 30, 63, .12);
  color: var(--blue);
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
}
.mechanism-product__top strong {
  color: var(--ink-3);
  font: inherit;
}
.mechanism__step.is-active .mechanism-product__top strong {
  color: var(--blue);
}
.mechanism-product__events {
  position: relative;
  padding: 10px 18px 8px;
}
.mechanism-product__events::before {
  position: absolute;
  top: 30px;
  bottom: 30px;
  left: 23px;
  width: 1px;
  background: rgba(28, 57, 187, .18);
  content: "";
}
.mechanism-product__events > div {
  position: relative;
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr);
  gap: 10px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(22, 30, 63, .09);
  transition: background 320ms ease, transform 320ms var(--ease-enter);
}
.mechanism-product__events > div:last-child { border-bottom: 0; }
.mechanism-product__events i {
  position: relative;
  z-index: 1;
  width: 8px;
  height: 8px;
  margin-top: 4px;
  border: 2px solid #fff;
  background: var(--ink);
  box-shadow: 0 0 0 1px rgba(22, 30, 63, .18);
}
.mechanism-product__events .is-emphasis {
  margin: 0 -18px;
  padding-right: 18px;
  padding-left: 18px;
}
.mechanism__step.is-active .mechanism-product__events .is-emphasis {
  background: var(--periwinkle);
  transform: translateX(3px);
}
.mechanism__step.is-active .mechanism-product__events .is-emphasis i {
  background: var(--blue-bright);
  box-shadow: 0 0 0 5px rgba(79, 107, 255, .12);
}
.mechanism.is-animated .mechanism__step.is-active .mechanism-product__events > div {
  animation: mechanism-event-arrive 520ms var(--ease-enter) both;
}
.mechanism.is-animated .mechanism__step.is-active .mechanism-product__events > div:nth-child(2) {
  animation-delay: 160ms;
}
.mechanism.is-animated .mechanism__step.is-active .mechanism-product__events > div:nth-child(3) {
  animation-delay: 320ms;
}
.mechanism-product__events span {
  display: grid;
  gap: 3px;
}
.mechanism-product__events strong {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
}
.mechanism-product__events small {
  color: var(--ink-3);
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
}
.mechanism-product__foot {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 12px 18px;
  border-top: 1px solid rgba(22, 30, 63, .1);
  background: var(--periwinkle);
  color: var(--blue);
  font-size: 9px;
}
.mechanism-product__question {
  max-width: 15ch;
  margin: 0;
  padding: 24px 18px 18px;
  color: var(--ink);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -.03em;
  line-height: 1.04;
}
.mechanism-product__answer {
  display: grid;
  gap: 7px;
  margin: 0 18px;
  padding: 14px;
  border-left: 3px solid var(--blue);
  background: var(--periwinkle);
  transform-origin: left center;
  transition: opacity 360ms ease, transform 420ms var(--ease-enter);
}
.mechanism.is-animated .mechanism__step:not(.is-reached) .mechanism-product__answer {
  opacity: .35;
  transform: scaleX(.82);
}
.mechanism-product__answer span,
.mechanism-product__facts dt {
  color: var(--blue);
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
}
.mechanism-product__answer strong {
  font-size: 12px;
  line-height: 1.35;
}
.mechanism-product__facts {
  display: grid;
  margin: 14px 18px 0;
}
.mechanism-product__facts div {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 10px;
  padding: 9px 0;
  border-top: 1px solid rgba(22, 30, 63, .1);
}
.mechanism-product__facts dd {
  margin: 0;
  font-size: 11px;
}
.mechanism-product__record {
  display: grid;
  gap: 12px;
  padding: 24px 18px 20px;
}
.mechanism-product__record span {
  color: var(--ink-3);
  font-size: 9px;
}
.mechanism-product__record strong {
  max-width: 16ch;
  font-size: 20px;
  letter-spacing: -.03em;
  line-height: 1.06;
}
.mechanism-product__sources {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  padding: 0 18px;
}
.mechanism-product__sources span {
  padding: 8px;
  border: 1px solid rgba(22, 30, 63, .1);
  background: var(--paper);
  color: var(--ink-2);
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
  text-align: center;
  transition: border-color 280ms ease, color 280ms ease;
}
.mechanism__step.is-active .mechanism-product__sources span {
  border-color: rgba(28, 57, 187, .3);
  color: var(--blue);
}
.mechanism.is-animated .mechanism__step.is-active .mechanism-product__sources span {
  animation: mechanism-source-link 420ms var(--ease-enter) both;
}
.mechanism.is-animated .mechanism__step.is-active .mechanism-product__sources span:nth-child(2) { animation-delay: 100ms; }
.mechanism.is-animated .mechanism__step.is-active .mechanism-product__sources span:nth-child(3) { animation-delay: 200ms; }
.mechanism.is-animated .mechanism__step.is-active .mechanism-product__sources span:nth-child(4) { animation-delay: 300ms; }
.mechanism-product__handover {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 16px;
  padding: 13px 18px;
  border-top: 1px solid rgba(22, 30, 63, .1);
  background: var(--periwinkle);
  color: var(--ink-2);
  font-size: 10px;
}
.mechanism-product__handover strong { color: var(--blue); }
.mechanism__copy {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  column-gap: 12px;
  margin-top: 32px;
  text-align: left;
}
.mechanism__step h3 {
  grid-column: 2;
  margin: 8px 0 10px;
  font-size: clamp(21px, 1.7vw, 27px);
  font-weight: 600;
  letter-spacing: -.03em;
  line-height: 1.08;
}
.mechanism__phase {
  align-self: center;
  grid-column: 2;
  color: var(--blue);
  font-size: 13px;
  font-weight: 600;
}
.mechanism__step p {
  grid-column: 2;
  max-width: 31ch;
  margin: 0;
  color: var(--ink-2);
  font-family: "Schibsted Grotesk", sans-serif;
  font-size: 15px;
  line-height: 1.55;
}
.mechanism__number {
  grid-row: 1 / span 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(28, 57, 187, .34);
  border-radius: 50%;
  background: transparent;
  color: var(--blue);
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
  font-weight: 600;
  transition: background 320ms ease, border-color 320ms ease, color 320ms ease;
}
.mechanism__step.is-active .mechanism__number,
.mechanism__step.is-reached .mechanism__number {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
}
@keyframes mechanism-event-arrive {
  from { opacity: .2; transform: translateY(9px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes mechanism-source-link {
  from { opacity: .35; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
.review-journey {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 72px minmax(0, 1fr) 72px minmax(0, 1fr);
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.review-journey__step { min-width: 0; text-align: center; }
.review-journey__number {
  display: inline-grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid rgba(28, 57, 187, .32);
  border-radius: 50%;
  color: var(--blue);
  font-size: 9px;
  transition: background 320ms ease, color 320ms ease;
}
.review-journey__step.is-active .review-journey__number,
.review-journey__step.is-reached .review-journey__number { background: var(--blue); color: #fff; }
.review-journey__visual {
  display: flex;
  min-height: 114px;
  align-items: center;
  justify-content: center;
  margin: 24px 0 22px;
  transition: opacity 360ms ease, transform 520ms var(--ease-enter);
}
.review-journey__visual--live { gap: 13px; }
.review-journey__visual--live i {
  width: 11px;
  height: 11px;
  border: 2px solid #fff;
  border-radius: 3px;
  background: var(--blue-bright);
  box-shadow: 0 0 0 5px rgba(79, 107, 255, .13);
}
.review-journey__visual--live span { text-align: left; }
.review-journey__visual strong { display: block; font-size: 15px; }
.review-journey__visual small {
  display: block;
  margin-top: 5px;
  color: var(--ink-3);
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
}
.review-journey__visual--live small b {
  display: block;
  font: inherit;
  font-weight: 400;
}
.review-journey__visual--live small b + b {
  margin-top: 3px;
  color: var(--blue);
}
.review-journey__visual--question {
  padding: 22px;
  border: 1px solid rgba(28, 57, 187, .23);
  border-radius: 999px;
  background: #fff;
  box-shadow: 8px 10px 0 rgba(79, 107, 255, .1);
  color: var(--ink);
  font-size: 15px;
  font-weight: 600;
}
.review-journey__visual--question i {
  display: inline-block;
  width: 1px;
  height: 1.2em;
  margin-left: 3px;
  background: var(--blue);
  opacity: 0;
  vertical-align: -.2em;
}
.review-journey__visual--question.is-typing i {
  opacity: 1;
  animation: review-journey-caret 620ms steps(1, end) infinite;
}
.review-journey__visual--people { gap: 14px; }
.review-journey__visual--answer {
  min-height: 132px;
  align-items: stretch;
  flex-direction: column;
  justify-content: center;
  padding: 18px 20px 15px;
  border-top: 2px solid var(--ink);
  background: #fff;
  text-align: left;
}
.review-journey__answer-label {
  display: block;
  min-height: 1.2em;
  color: var(--blue);
  font-size: 8px;
  font-weight: 600;
}
@media (prefers-reduced-motion: no-preference) {
  .review-journey__visual--answer.is-preparing .review-journey__answer-label {
    animation: review-answer-thinking 1.8s ease-in-out infinite;
  }
}
@keyframes review-answer-thinking {
  0%, 100% { opacity: .4; }
  50% { opacity: 1; }
}
.review-journey__visual--answer > strong {
  min-height: 2.4em;
  margin-top: 9px;
  font-size: 16px;
  line-height: 1.2;
}
.review-journey__visual--answer > small { min-height: 1.35em; margin-top: 6px; }
.review-journey__visual--answer > .review-journey__answer-label,
.review-journey__visual--answer > strong,
.review-journey__visual--answer > small {
  transition: opacity 320ms ease, transform 360ms var(--ease-enter);
}
.review-journey__visual--answer.is-resetting > .review-journey__answer-label,
.review-journey__visual--answer.is-resetting > strong,
.review-journey__visual--answer.is-resetting > small {
  opacity: 0;
  transform: translateY(-4px);
}
.review-journey__visual--answer.is-revealing > .review-journey__answer-label,
.review-journey__visual--answer.is-revealing > strong,
.review-journey__visual--answer.is-revealing > small {
  animation: review-answer-content 620ms var(--ease-enter) both;
}
.review-journey__visual--answer.is-revealing > strong { animation-delay: 70ms; }
.review-journey__visual--answer.is-revealing > small { animation-delay: 140ms; }
.review-journey__recipients {
  display: flex;
  align-items: center;
}
.review-journey__visual--people .review-journey__recipients span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  margin-left: -8px;
  border: 3px solid var(--paper);
  border-radius: 50%;
  background: var(--blue-soft);
  color: var(--blue);
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
  font-weight: 600;
}
.review-journey__visual--people .review-journey__recipients span:first-child { margin-left: 0; }
.review-journey__handover { min-width: 0; text-align: left; }
.review-journey__handover strong { margin: 0; }
.review-journey__handover small {
  max-width: 25ch;
  line-height: 1.35;
}
.review-journey__step > div:last-child > strong { display: block; font-size: 20px; }
.review-journey__step > div:last-child p {
  max-width: 28ch;
  margin: 9px auto 0;
  color: var(--ink-2);
  font-size: 14px;
  line-height: 1.55;
}
.review-journey__connector { height: 1px; overflow: hidden; background: rgba(28, 57, 187, .2); }
.review-journey__connector i {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--blue-bright);
  transform: translateX(-100%);
}
.review-journey.is-animated .review-journey__step:not(.is-active):not(.is-reached) .review-journey__visual {
  opacity: .24;
  transform: translateY(8px);
}
.review-journey.is-animated .review-journey__step.is-active .review-journey__visual--live {
  animation: review-journey-arrive 560ms var(--ease-enter) both;
}
.review-journey.is-animated .review-journey__step.is-active .review-journey__visual--live i {
  animation: review-journey-signal 920ms ease-out both;
}
.review-journey.is-animated .review-journey__step.is-active .review-journey__visual--question {
  animation: review-journey-question 420ms var(--ease-enter) both;
}
.review-journey.is-animated .review-journey__step.is-active .review-journey__visual--answer {
  animation: review-journey-answer 680ms var(--ease-enter) both;
}
.review-journey.is-animated .review-journey__step.is-reached + .review-journey__connector i {
  transform: translateX(0);
  transition: transform 700ms var(--ease-enter);
}
@keyframes review-journey-arrive {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes review-journey-signal {
  0% { box-shadow: 0 0 0 0 rgba(79, 107, 255, .28); transform: scale(.72); }
  55% { box-shadow: 0 0 0 11px rgba(79, 107, 255, 0); transform: scale(1.08); }
  100% { box-shadow: 0 0 0 5px rgba(79, 107, 255, .13); transform: scale(1); }
}
@keyframes review-journey-question {
  from { opacity: .35; transform: translateY(8px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes review-journey-recipient {
  from { opacity: 0; transform: translateX(-10px) scale(.9); }
  to { opacity: 1; transform: translateX(0) scale(1); }
}
@keyframes review-journey-answer {
  from { opacity: .45; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes review-answer-content {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes review-journey-caret {
  0%, 48% { opacity: 1; }
  49%, 100% { opacity: 0; }
}
.home-product { display: grid; gap: 72px; }
.home-product__intro {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(360px, 5fr);
  align-items: end;
  gap: clamp(72px, 8vw, 112px);
}
.home-product__intro .title { max-width: 13ch; }
.home-product__aside {
  max-width: 32rem;
  padding-top: 26px;
  border-top: 1px solid rgba(255, 255, 255, .28);
}
.home-product__aside .body-copy { margin: 0 0 28px; }
.home-product__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.home-product__intro--reveal {
  display: block;
  max-width: 920px;
}
.home-product__intro--reveal .title {
  max-width: 15ch;
}
.home-product__intro--reveal .home-product__aside {
  max-width: 44rem;
  margin-top: 26px;
  padding-top: 0;
  border-top: 0;
}
.home-product__intro--reveal .home-product__aside .body-copy {
  max-width: 58ch;
  margin-bottom: 26px;
}
.home-product .product-console {
  min-height: 580px;
  color: var(--ink);
}
.with-arkna {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  align-items: center;
  gap: 96px;
}
.with-arkna__title {
  margin: 0;
  font-size: clamp(58px, 8vw, 112px);
  font-weight: 600;
  letter-spacing: -.06em;
  line-height: .9;
}
.with-arkna__title span { color: var(--blue); }
.outcome-list { border-top: 2px solid var(--ink); }
.outcome {
  display: grid;
  grid-template-columns: 38px 170px 1fr;
  align-items: start;
  gap: 18px;
  padding: 25px 4px;
  border-bottom: 1px solid var(--hair);
}
.outcome__mark {
  display: grid;
  grid-template: repeat(2, 7px) / repeat(2, 7px);
  gap: 2px;
  margin-top: 4px;
}
.outcome__mark i { border-radius: 2px; background: var(--ink); }
.outcome:nth-child(1) .outcome__mark i:nth-child(1),
.outcome:nth-child(2) .outcome__mark i:nth-child(2),
.outcome:nth-child(3) .outcome__mark i:nth-child(3),
.outcome:nth-child(4) .outcome__mark i:nth-child(4) { background: var(--blue); }
.outcome h3 { margin: 0; font-size: 23px; letter-spacing: -.03em; }
.outcome p {
  margin: 0;
  color: var(--ink-2);
  font-family: "Schibsted Grotesk", sans-serif;
  font-size: 15px;
  line-height: 1.5;
}
.with-arkna--benefits {
  display: block;
}
.with-arkna--benefits .with-arkna__title {
  margin-bottom: 72px;
}
.with-arkna--benefits .outcome-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.with-arkna--benefits .outcome {
  display: flex;
  min-height: 250px;
  flex-direction: column;
  gap: 0;
  padding: 28px 28px 34px;
  border-right: 1px solid var(--hair);
  border-bottom: 1px solid var(--hair);
}
.with-arkna--benefits .outcome:first-child { padding-left: 0; }
.with-arkna--benefits .outcome:last-child {
  padding-right: 0;
  border-right: 0;
}
.with-arkna--benefits .outcome h3 {
  margin: 68px 0 12px;
}
.with-arkna--benefits .outcome p {
  max-width: 28ch;
}
.outcome-chapter {
  display: flex;
  min-height: calc(100svh - 68px);
  align-items: center;
  overflow: hidden;
  padding-top: clamp(96px, 9vw, 132px) !important;
  padding-bottom: clamp(104px, 10vw, 144px) !important;
}
.outcome-demo {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(520px, 1.28fr);
  align-items: center;
  gap: clamp(72px, 9vw, 148px);
}
.outcome-demo__intro {
  margin: 0;
}
.outcome-demo__heading { min-width: 0; }
.outcome-demo__intro .with-arkna__title {
  margin-top: 24px;
  color: var(--ink);
  font-size: clamp(68px, 7vw, 104px);
  line-height: .9;
}
.outcome-demo__intro .body-copy {
  grid-column: 2;
  max-width: 42ch;
  margin: 0 0 8px;
  color: var(--ink-2);
  font-size: 18px;
  line-height: 1.55;
}
.outcome-manifesto {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 0;
  padding: 0;
}
.outcome-manifesto span {
  display: flex;
  min-width: 0;
  align-items: center;
  padding: clamp(10px, 1.6vh, 16px) 4px clamp(12px, 1.8vh, 18px);
  color: var(--ink);
  font-size: clamp(50px, 5.6vw, 82px);
  font-weight: 600;
  letter-spacing: -.06em;
  line-height: .92;
}
.outcome-manifesto span:last-child {
  color: var(--blue);
}
.outcome-demo__experience { min-width: 0; }
.outcome-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid rgba(28, 57, 187, .2);
}
.outcome-tab {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 84px;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  padding: 16px 18px;
  border: 0;
  border-right: 1px solid rgba(28, 57, 187, .16);
  background: transparent;
  color: var(--ink-3);
  cursor: pointer;
  text-align: left;
  transition: background var(--motion-fast) ease, color var(--motion-fast) ease;
}
.outcome-tab:last-child { border-right: 0; }
.outcome-tab::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  background: var(--blue-bright);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--motion-medium) var(--ease-standard);
}
.outcome-tab:hover { background: rgba(255, 255, 255, .42); color: var(--ink); }
.outcome-tab:focus-visible { position: relative; z-index: 1; outline: 2px solid var(--blue); outline-offset: -4px; }
.outcome-tab.is-active { background: rgba(255, 255, 255, .5); color: var(--ink); }
.outcome-tab.is-active::after { transform: scaleX(1); }
.outcome-tab span { color: var(--blue); font-family: "IBM Plex Mono", monospace; font-size: 9px; }
.outcome-tab strong { font-size: 15px; }
.outcome-panel {
  display: grid;
  grid-template-columns: minmax(220px, .72fr) minmax(300px, 1.28fr);
  gap: clamp(30px, 4vw, 56px);
  align-items: center;
  min-height: 420px;
  padding-top: 54px;
}
.outcome-panel__copy > .mono { color: var(--blue); font-size: 9px; font-weight: 600; }
.outcome-panel__copy h3 {
  max-width: 10ch;
  margin: 26px 0 20px;
  color: var(--ink);
  font-size: clamp(34px, 3.8vw, 54px);
  letter-spacing: -.05em;
  line-height: .98;
}
.outcome-panel__copy p {
  max-width: 34ch;
  margin: 0;
  color: var(--ink-2);
  font-size: 15px;
  line-height: 1.6;
}
.outcome-panel__surface {
  border: 1px solid rgba(28, 57, 187, .2);
  background: #fff;
  box-shadow: 14px 16px 0 rgba(79, 107, 255, .18);
  color: var(--ink);
}
.outcome-panel__surface header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 62px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--hair);
}
.outcome-panel__surface header .mono { color: var(--blue); font-size: 9px; font-weight: 600; }
.outcome-panel__surface header strong { font-size: 14px; }
.outcome-panel__sequence { position: relative; padding: 26px 22px 9px 48px; }
.outcome-panel__sequence::before {
  position: absolute;
  top: 35px;
  bottom: 34px;
  left: 27px;
  width: 1px;
  background: var(--hair);
  content: "";
}
.outcome-panel__sequence > div {
  position: relative;
  display: flex;
  gap: 14px;
  min-height: 72px;
  align-items: flex-start;
  padding: 0 0 18px;
}
.outcome-panel__sequence i {
  position: absolute;
  top: 2px;
  left: -26px;
  width: 11px;
  height: 11px;
  border: 2px solid #fff;
  border-radius: 3px;
  background: var(--ink);
  box-shadow: 0 0 0 1px var(--hair);
}
.outcome-panel__sequence .is-active i { background: var(--blue-bright); box-shadow: 0 0 0 5px rgba(79, 107, 255, .12); }
.outcome-panel__sequence strong { display: block; font-size: 14px; }
.outcome-panel__sequence small { display: block; margin-top: 5px; color: var(--ink-3); font-family: "IBM Plex Mono", monospace; font-size: 9px; }
.outcome-panel__surface footer {
  padding: 16px 18px;
  border-top: 1px solid rgba(28, 57, 187, .14);
  background: var(--blue-soft);
  color: var(--blue);
  font-size: 8px;
}
.outcome-panel.is-changing .outcome-panel__copy,
.outcome-panel.is-changing .outcome-panel__surface {
  opacity: .25;
  transform: translateY(5px);
}
.outcome-panel__copy,
.outcome-panel__surface {
  transition: opacity var(--motion-fast) ease, transform var(--motion-fast) var(--ease-enter);
}
.outcome-panel[hidden] { display: none; }
.outcome-visual {
  min-height: 330px;
  color: var(--ink);
}
.outcome-visual--live {
  align-self: center;
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid rgba(28, 57, 187, .22);
}
.outcome-live__head,
.outcome-live__row {
  display: grid;
  grid-template-columns: 1.1fr 1.3fr 70px;
  align-items: center;
  gap: 20px;
  min-height: 76px;
  padding: 14px 4px;
  border-bottom: 1px solid rgba(28, 57, 187, .14);
}
.outcome-live__head {
  display: flex;
  min-height: 58px;
  justify-content: space-between;
  color: var(--blue);
  font-size: 9px;
}
.outcome-live__head strong { display: flex; align-items: center; gap: 8px; color: var(--ink); font-size: 13px; }
.outcome-live__head i { width: 7px; height: 7px; border-radius: 50%; background: var(--blue-bright); }
.outcome-live__row:last-child { border-bottom: 0; }
.outcome-live__row strong { display: block; font-size: 14px; }
.outcome-live__row small { display: block; margin-top: 4px; color: var(--ink-3); font-family: "IBM Plex Mono", monospace; font-size: 8px; }
.outcome-live__row > span:nth-child(2) { color: var(--ink-2); font-size: 13px; }
.outcome-live__row em { color: var(--blue); font-family: "IBM Plex Mono", monospace; font-size: 9px; font-style: normal; text-align: right; }
.outcome-visual--decision {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-content: center;
  gap: 28px 54px;
  padding: 36px;
}
.outcome-visual--decision > p {
  align-self: center;
  margin: 0;
  padding: 22px 26px;
  border: 1px solid rgba(28, 57, 187, .26);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  font-size: 18px;
  font-weight: 600;
  text-align: center;
}
.outcome-decision__line {
  position: absolute;
  top: 50%;
  left: 45%;
  width: 12%;
  height: 1px;
  background: var(--blue-bright);
}
.outcome-visual--decision dl { margin: 0; padding: 0; border-top: 1px solid rgba(28, 57, 187, .25); }
.outcome-visual--decision dl div { display: grid; grid-template-columns: 92px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid rgba(28, 57, 187, .14); }
.outcome-visual--decision dt { color: var(--ink-3); font-family: "IBM Plex Mono", monospace; font-size: 9px; }
.outcome-visual--decision dd { margin: 0; font-size: 13px; font-weight: 600; }
.outcome-decision__answer {
  grid-column: 1 / -1;
  padding: 18px 22px;
  border-left: 3px solid var(--blue);
  background: rgba(255, 255, 255, .55);
  font-size: 15px;
  text-align: center;
}
.outcome-visual--trust {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-content: center;
  gap: 0;
  border-top: 2px solid var(--ink);
}
.outcome-visual--trust > div { min-height: 220px; padding: 34px; }
.outcome-visual--trust > div + div { border-left: 1px solid rgba(28, 57, 187, .18); }
.outcome-visual--trust span { color: var(--blue); font-size: 9px; }
.outcome-visual--trust > div strong { display: block; margin: 40px 0 14px; font-size: 58px; letter-spacing: -.06em; }
.outcome-visual--trust p { max-width: 24ch; margin: 0; color: var(--ink-2); font-size: 13px; line-height: 1.5; }
.outcome-visual--trust footer {
  display: flex;
  grid-column: 1 / -1;
  justify-content: space-between;
  padding: 16px 20px;
  border-top: 1px solid rgba(28, 57, 187, .18);
  background: rgba(255, 255, 255, .48);
  color: var(--ink-2);
  font-size: 12px;
}
.outcome-visual--trust footer strong { color: #246749; }
.outcome-visual--people { border-top: 2px solid var(--ink); }
.outcome-visual--people header {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  padding: 12px 4px;
  border-bottom: 1px solid rgba(28, 57, 187, .16);
}
.outcome-visual--people header strong { font-size: 15px; }
.outcome-visual--people header span { color: var(--ink-3); font-size: 8px; }
.outcome-visual--people > div {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 66px;
  padding: 10px 4px;
  border-bottom: 1px solid rgba(28, 57, 187, .13);
}
.outcome-visual--people i {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: #eef1ff;
  color: var(--blue);
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
  font-style: normal;
  font-weight: 600;
}
.outcome-visual--people span strong { display: block; font-size: 13px; }
.outcome-visual--people small { display: block; margin-top: 3px; color: var(--ink-3); font-size: 10px; }
.outcome-visual--people em {
  padding: 6px 10px;
  border-radius: 999px;
  background: #eaf5f0;
  color: #246749;
  font-family: "IBM Plex Mono", monospace;
  font-size: 8px;
  font-style: normal;
}
.product-stage {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(520px, 1.15fr);
  gap: 88px;
  align-items: center;
}
.section--dark .eyebrow { color: #91a3ff; }
.section--dark .lede,
.section--dark .body-copy { color: rgba(255, 255, 255, .68); }
.product-stage__copy .title { max-width: 10ch; }
.product-stage__copy .body-copy { max-width: 46ch; margin: 26px 0 32px; }
.product-stage .button--quiet { border-color: rgba(255, 255, 255, .25); color: #fff; }
.product-stage .button--quiet:hover { border-color: #fff; color: #fff; }
.sequence-figure {
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, .16);
  background: var(--card);
  color: var(--ink);
  box-shadow: 14px 16px 0 rgba(79, 107, 255, .13);
}
.sequence-figure__head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 0 0 18px;
  border-bottom: 1px solid var(--hair);
}
.sequence-figure__head strong { font-size: 14px; font-weight: 600; }
.sequence-figure__head span { color: var(--blue); }
.sequence-figure__events {
  position: relative;
  margin: 0;
  padding: 22px 0 12px;
  list-style: none;
}
.sequence-figure__events::before {
  position: absolute;
  top: 50px;
  bottom: 40px;
  left: 87px;
  width: 1px;
  background: var(--hair);
  content: "";
}
.sequence-figure__events li {
  position: relative;
  display: grid;
  grid-template-columns: 70px 12px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 62px;
  padding: 9px 12px;
  border-bottom: 1px solid var(--hair);
}
.sequence-figure__events li.is-highlighted {
  background: var(--blue-soft);
}
.sequence-figure__events time {
  color: var(--ink-3);
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
}
.sequence-figure__events i {
  z-index: 1;
  width: 8px;
  height: 8px;
  border: 2px solid var(--card);
  border-radius: 2px;
  background: var(--ink);
  box-shadow: 0 0 0 1px var(--hair);
}
.sequence-figure__events .is-highlighted i { background: var(--blue); }
.sequence-figure__events strong,
.sequence-figure__events small { display: block; }
.sequence-figure__events strong { font-size: 14px; }
.sequence-figure__events small {
  margin-top: 2px;
  color: var(--ink-3);
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
}
.sequence-figure__foot {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding-top: 18px;
  color: var(--ink-3);
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
}
.sequence-figure__foot strong { color: var(--blue); font-weight: 600; }

.review-surface {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .25);
  background: #fff;
  color: var(--ink);
  box-shadow: 18px 18px 0 rgba(79, 107, 255, .14);
}
.review-surface__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 22px 24px;
  border-bottom: 1px solid rgba(28, 57, 187, .18);
  background: #fff;
}
.review-surface__top strong { display: block; margin-top: 6px; font-size: 16px; letter-spacing: -.02em; }
.review-surface__label {
  color: var(--blue);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0;
}
.review-surface__state {
  flex: none;
  padding: 7px 10px;
  border: 1px solid rgba(28, 57, 187, .25);
  color: var(--blue);
  font-family: "Schibsted Grotesk", sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0;
}
.review-brief {
  margin: 0;
  padding: 10px 24px;
  list-style: none;
}
.review-brief__item {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  min-height: 96px;
  padding: 18px 0;
  border-bottom: 1px solid var(--hair);
}
.review-brief__item:last-child { border-bottom: 0; }
.review-brief__number {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border: 1px solid rgba(28, 57, 187, .24);
  border-radius: 50%;
  color: var(--blue);
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
  font-weight: 600;
}
.review-brief__answer span {
  display: block;
  margin-bottom: 5px;
  color: var(--ink-3);
  font-size: 12px;
}
.review-brief__answer strong {
  display: block;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
}
.review-brief__source {
  color: var(--ink-3);
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
}
.review-surface__outputs {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 24px;
  border-top: 1px solid rgba(28, 57, 187, .18);
  background: var(--blue-soft);
}
.review-surface__outputs strong { font-size: 13px; font-weight: 600; }
.review-surface__outputs span {
  color: var(--blue);
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
  font-weight: 600;
}

.readers {
  display: grid;
  grid-template-columns: minmax(320px, .86fr) minmax(0, 1.14fr);
  align-items: center;
  gap: 104px;
}
.readers__image { width: min(100%, 500px); mix-blend-mode: multiply; filter: brightness(1.18) contrast(1.06); }
.readers--editorial {
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: clamp(72px, 8vw, 120px);
}
.readers--editorial > div {
  grid-column: 1;
  grid-row: 1;
}
.readers--editorial .readers__image {
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
}
.reader-list { margin-top: 42px; border-top: 2px solid var(--ink); }
.reader {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 24px;
  padding: 17px 0;
  border-bottom: 1px solid var(--hair);
  font-family: "Schibsted Grotesk", sans-serif;
}
.reader strong { color: var(--ink); font-family: "Schibsted Grotesk", sans-serif; font-weight: 600; }
.reader span { color: var(--ink-2); }

.mission {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap: 80px;
  align-items: start;
}
.mission blockquote {
  max-width: 18ch;
  margin: 0;
  font-size: var(--type-chapter);
  font-weight: 600;
  letter-spacing: -.045em;
  line-height: .98;
}
.mission__aside {
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, .25);
}
.mission__aside .body-copy { margin: 22px 0 28px; }
.mission--home {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 0;
  text-align: center;
}
.mission--home blockquote {
  max-width: 17ch;
}
.mission--home .mission__aside {
  max-width: 640px;
  margin-top: 52px;
  padding-top: 0;
  border-top: 0;
}
.mission--home .mission__aside .body-copy {
  margin: 18px 0 24px;
}
.mission__link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(145, 163, 255, .5);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}
.mission__link:hover { border-color: #fff; }
.mission__link:focus-visible { outline: 2px solid #91a3ff; outline-offset: 5px; }
.compliance-context-copy { margin: 28px 0 24px; font-size: 17px; }

.cta {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 64px;
}
.cta .title { max-width: 15ch; }
.cta p { max-width: 58ch; margin: 22px 0 0; }

/* Warm ground, borrowed from the entry note so the design-partner offer reads as one surface
   whether the reader met it in the note or scrolled to it here. */
.section--warm { background: #f7f1e6; }
.section--warm .eyebrow { color: #8a5a2b; }
.section--warm .title { color: #1c1710; }
.section--warm .lede { color: #4a4033; }
.cta--warm .title { max-width: 22ch; font-weight: 700; }

.site-footer { padding: 64px 0 30px; background: var(--ink); color: #fff; }
.site-footer__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: clamp(48px, 6vw, 96px);
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(255, 255, 255, .14);
}
.site-footer__top > div:last-child { justify-self: end; }
/* The link groups are self-explanatory. Keep the heading in the accessibility tree without
   adding another visual label to the footer. */
.site-footer h2 {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
/* Light squares on a dark ground appear to swell, so the same gap reads tighter here than it
   does in the header. This variant keeps the drawn 3px; the light-ground mark is cut back to
   2px so both read the same. Optical compensation, not two different marks. */
.site-footer .brand__mark { gap: 3px; }
.site-footer .brand__mark i { background: #f2f2f2; }
.site-footer .brand__mark i:last-child { background: var(--blue-bright); }
.site-footer__statement { max-width: 38ch; margin: 18px 0 0; color: rgba(255, 255, 255, .56); font-family: "Schibsted Grotesk", sans-serif; font-size: 15px; line-height: 1.58; }
.site-footer__links {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  grid-auto-flow: column;
  grid-template-rows: repeat(5, auto);
  justify-content: end;
  gap: 14px clamp(64px, 7vw, 112px);
  color: rgba(255, 255, 255, .7);
  font-family: "Schibsted Grotesk", sans-serif;
  font-size: 15px;
  text-align: right;
}
.site-footer__links a { width: max-content; justify-self: end; line-height: 1.35; }
.site-footer__links a:nth-child(n + 6) { color: rgba(255, 255, 255, .88); }
.site-footer__links a:hover { color: #fff; }
.site-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  padding-top: 28px;
  color: rgba(255, 255, 255, .46);
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
}
.site-footer__bottom div { display: flex; gap: 24px; }

/* Stable company front door, 21 August 2026. */
.front-page { background: var(--paper); }
.front-hero { padding: clamp(72px, 8vw, 108px) 0 clamp(82px, 9vw, 120px); }
.front-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(340px, 5fr);
  align-items: end;
  gap: clamp(64px, 9vw, 136px);
}
.front-hero h1 {
  max-width: 10ch;
  margin: 0;
  font-size: clamp(66px, 7.6vw, 112px);
  font-weight: 600;
  letter-spacing: -.058em;
  line-height: .9;
}
.front-hero__support {
  align-self: end;
  padding-top: 30px;
  border-top: 1px solid var(--ink);
}
.front-hero__lede {
  max-width: 560px;
  margin: 0;
  color: var(--ink-2);
  font-size: clamp(24px, 2.3vw, 34px);
  line-height: 1.24;
}
.front-hero__mission {
  max-width: 580px;
  margin: 46px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--hair);
  color: var(--ink-2);
  font-size: 15px;
  line-height: 1.5;
}
.front-fieldwork { padding: clamp(76px, 10vw, 124px) 0; background: var(--blue-soft); }
.front-fieldwork__grid {
  display: grid;
  grid-template-columns: minmax(300px, 5fr) minmax(0, 7fr);
  align-items: center;
  gap: clamp(48px, 8vw, 120px);
}
.front-fieldwork__visual { width: 100%; max-width: 430px; margin: 0; justify-self: center; }
.front-fieldwork__visual img {
  width: 100%;
  height: auto;
  mix-blend-mode: multiply;
  filter: brightness(1.08) contrast(1.04);
}
.front-fieldwork h2,
.front-record h2,
.front-research h2 {
  max-width: 18ch;
  margin: 0;
  font-size: clamp(42px, 5.2vw, 72px);
  font-weight: 600;
  letter-spacing: -.045em;
  line-height: .98;
}
.front-fieldwork h2 { max-width: 16ch; }
.front-fieldwork__content > p:not(.eyebrow) {
  max-width: 720px;
  margin: 30px 0 0;
  color: var(--ink-2);
  font-size: 19px;
  line-height: 1.65;
}
.front-fieldwork__content > p:not(.eyebrow) + p { margin-top: 18px; }
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 32px;
  color: var(--blue);
  font-size: 15px;
  font-weight: 600;
}
.text-link span { transition: transform .18s ease; }
.text-link:hover span { transform: translateX(3px); }
.text-link--quiet { margin-left: 26px; color: var(--ink-2); font-weight: 500; }
.front-record { padding: clamp(92px, 12vw, 160px) 0; }
.front-record__header { max-width: 900px; margin: 0 auto; }
.front-record__header h2 { margin-top: 22px; }
.front-record__lede { max-width: 720px; margin: 34px 0 0; color: var(--ink-2); font-size: 18px; line-height: 1.65; }
.record-sample.front-record__sample { max-width: 980px; margin: clamp(62px, 8vw, 92px) auto 0; }
.front-record__distinction {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 980px;
  margin: 46px auto 0;
  border-top: 1px solid var(--ink);
}
.front-record__distinction > div { padding: 25px 0 28px; border-bottom: 1px solid var(--hair); }
.front-record__distinction > div + div { padding-left: 34px; border-left: 1px solid var(--hair); }
.front-record__distinction span { font-family: "IBM Plex Mono", monospace; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.front-record__distinction p { margin: 11px 0 0; color: var(--ink-2); font-size: 17px; line-height: 1.55; }
.record-sample { margin: 0; padding: clamp(28px, 4vw, 48px); border: 1px solid var(--hair-strong); background: #fff; box-shadow: 18px 20px 0 var(--blue-soft); }
.record-sample figcaption { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding-bottom: 24px; border-bottom: 1px solid var(--hair); }
.record-sample figcaption span { color: var(--blue); font-family: "IBM Plex Mono", monospace; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.record-sample figcaption strong { font-family: "IBM Plex Mono", monospace; font-size: 13px; }
.record-sample__meta { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; border-bottom: 1px solid var(--hair); }
.record-sample__meta > div { padding: 20px 16px 20px 0; }
.record-sample__meta > div + div { padding-left: 18px; border-left: 1px solid var(--hair); }
.record-sample__meta dt { color: var(--ink-3); font-family: "IBM Plex Mono", monospace; font-size: 9px; text-transform: uppercase; }
.record-sample__meta dd { margin: 7px 0 0; font-size: 15px; font-weight: 600; }
.record-sample__steps { margin: 0; padding: 14px 0 0; list-style: none; }
.record-sample__steps li { display: grid; grid-template-columns: 34px 1fr auto; gap: 15px; align-items: baseline; padding: 18px 0; border-bottom: 1px solid var(--hair); }
.record-sample__steps span,
.record-sample__steps small { color: var(--ink-3); font-family: "IBM Plex Mono", monospace; font-size: 9px; }
.record-sample__steps strong { font-size: 14px; }
.record-sample__boundary { margin: 24px 0 0; padding: 18px; background: var(--blue-soft); color: var(--ink-2); font-size: 13px; line-height: 1.5; }
.front-research { padding: clamp(88px, 11vw, 144px) 0; background: #eef0fb; }
.front-research__inner { max-width: 980px; }
.front-research h2 { margin-top: 22px; }
.front-notes { margin-top: 54px; border-top: 1px solid var(--ink); }
.front-notes a { display: block; padding: 28px 0 30px; border-bottom: 1px solid rgba(15, 17, 22, .17); }
.front-notes span { color: var(--ink-3); font-family: "IBM Plex Mono", monospace; font-size: 10px; }
.front-notes strong { display: block; margin-top: 9px; font-size: 26px; font-weight: 600; line-height: 1.12; letter-spacing: -.03em; }
.front-notes p { max-width: 620px; margin: 11px 0 0; color: var(--ink-2); font-size: 15px; line-height: 1.55; }
@media (max-width: 820px) {
  .front-hero__grid,
  .front-fieldwork__grid,
  .front-record__distinction { grid-template-columns: 1fr; }
  .front-hero__grid { gap: 46px; }
  .front-fieldwork__grid { gap: 50px; }
  .front-fieldwork__content { order: 1; }
  .front-fieldwork__visual { order: 2; max-width: 360px; }
  .front-record__distinction > div + div { padding-left: 0; border-left: 0; }
  .record-sample { box-shadow: 10px 12px 0 var(--blue-soft); }
}

@media (max-width: 560px) {
  .front-hero { padding: 68px 0 76px; }
  .front-hero h1 { font-size: clamp(54px, 15.5vw, 72px); }
  .front-hero__grid { gap: 38px; }
  .front-hero__support { padding-top: 24px; }
  .front-hero__lede { font-size: 25px; }
  .front-hero__mission { margin-top: 38px; }
  .record-sample { padding: 22px; }
  .record-sample figcaption { align-items: flex-start; flex-direction: column; gap: 9px; }
  .record-sample__meta { grid-template-columns: 1fr; }
  .record-sample__meta > div { padding: 15px 0; }
  .record-sample__meta > div + div { padding-left: 0; border-top: 1px solid var(--hair); border-left: 0; }
  .record-sample__steps li { grid-template-columns: 28px 1fr; }
  .record-sample__steps small { grid-column: 2; }
  .text-link--quiet { display: flex; margin-top: 18px; margin-left: 0; }
}

.page-hero { padding: 72px 0; }
.page-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
  gap: 96px;
  align-items: center;
  min-height: 360px;
}
.page-hero--context {
  min-height: clamp(520px, 64svh, 580px);
  padding-top: 88px;
  padding-bottom: 80px;
  border-bottom: 1px solid var(--hair);
}
.page-hero--context .page-hero__grid {
  grid-template-columns: minmax(0, 7fr) minmax(360px, 5fr);
  align-items: start;
  gap: clamp(72px, 7vw, 112px);
  min-height: 0;
}
.page-hero--context .display {
  max-width: 13.5ch;
  font-size: clamp(50px, 4.85vw, 62px);
  letter-spacing: -.045em;
  line-height: 1.01;
}
.display-accent { color: var(--blue); }
.page-hero .lede { max-width: 610px; }
.page-hero__aside {
  align-self: start;
  padding: 24px 0 4px;
  border-top: 1px solid var(--ink);
}
.page-hero__aside p { margin: 0 0 24px; }
.page-hero--context .page-hero__grid--media {
  grid-template-columns: minmax(0, 7fr) minmax(380px, 5fr);
  align-items: center;
}
.page-hero--engagement .display { max-width: 13ch; }
.page-hero__copy .lede {
  max-width: 590px;
  margin: 28px 0 26px;
}
.context-proof {
  width: min(100%, 560px);
  margin: 0 8px 0 0;
  justify-self: end;
  border: 1px solid #d8dce5;
  background: var(--card);
  box-shadow: 9px 10px 0 var(--blue-soft-deep);
}
.context-proof figcaption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 44px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--hair);
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
}
.context-proof figcaption span { color: var(--blue); font-weight: 600; }
.context-proof figcaption strong { color: var(--ink-3); font-weight: 500; }
.context-boundary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 148px;
  min-height: 214px;
}
.context-boundary__sources {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: center;
  gap: 10px;
  padding: 22px;
}
.context-boundary__sources span {
  padding: 11px 8px;
  border: 1px solid var(--hair);
  background: var(--paper);
  color: var(--ink-2);
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
  text-align: center;
}
.context-boundary__record {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 5px;
  grid-column: 2;
  border-left: 1px solid #c8d0f5;
  background: var(--blue-soft);
  text-align: center;
}
.context-boundary__record strong { font-size: 14px; }
.context-boundary__record small {
  color: var(--ink-3);
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
}
.context-boundary__mark {
  grid-template: repeat(2, 7px) / repeat(2, 7px);
  gap: 1.27px;
}
.context-boundary__mark i { border-radius: 1.91px; background: var(--ink); }
.context-boundary__mark i:last-child { background: var(--blue); }
.context-riso--hero {
  position: relative;
  justify-self: end;
  width: min(100%, 470px);
  aspect-ratio: 1;
  margin: 0;
  overflow: hidden;
}
.context-riso--hero img {
  position: absolute;
  height: auto;
  mix-blend-mode: multiply;
  filter: brightness(1.14) contrast(1.02);
}
.context-riso--hero img:not(:first-child) { opacity: 0; }
.context-riso--engagement img {
  top: -19%;
  left: -8%;
  width: 118%;
}
.context-riso--compliance {
  width: min(100%, 440px);
}
.context-riso--compliance img {
  top: -7%;
  left: -5%;
  width: 110%;
}
@keyframes riso-boil-b {
  0%, 33.3% { opacity: 0; }
  33.4%, 66.6% { opacity: 1; }
  66.7%, 100% { opacity: 0; }
}
@keyframes riso-boil-c {
  0%, 66.6% { opacity: 0; }
  66.7%, 100% { opacity: 1; }
}
[data-riso-boil].is-boiling .context-riso__frame-b {
  animation: riso-boil-b 2.4s linear infinite;
}
[data-riso-boil].is-boiling .context-riso__frame-c {
  animation: riso-boil-c 2.4s linear infinite;
}
.page-hero--about {
  display: flex;
  align-items: center;
  min-height: calc(100svh - 69px);
  padding-top: 64px;
  padding-bottom: 72px;
}
.page-hero--about .display { max-width: 14ch; font-size: clamp(52px, 6vw, 80px); }
.page-hero--about .lede { max-width: 720px; margin-top: 30px; }
.about-company {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(64px, 8vw, 120px);
  align-items: start;
}
.about-founder h2,
.about-company__details h2 {
  margin: 0;
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 600;
  letter-spacing: -.045em;
  line-height: 1;
}
.about-founder__identity {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 30px;
}
.about-founder__identity img {
  width: clamp(96px, 9vw, 120px);
  height: clamp(96px, 9vw, 120px);
  flex: 0 0 auto;
  border: 2px solid rgba(145, 163, 255, .72);
  border-radius: 50%;
  object-fit: cover;
}
.about-founder__role {
  margin: 13px 0 0;
  color: #91a3ff;
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  font-weight: 600;
}
.about-founder__statement {
  max-width: 52ch;
  margin: 0;
  color: rgba(255, 255, 255, .7);
  font-size: 17px;
  font-style: normal;
  line-height: 1.65;
}
.about-company__details h2 { margin-bottom: 34px; }

.resource-index-hero {
  display: flex;
  align-items: center;
  min-height: 500px;
  padding: 72px 0;
  background: var(--blue-soft);
}
.resource-index-head {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(360px, 5fr);
  align-items: end;
  gap: 96px;
}
.resource-index-head .display {
  max-width: 12ch;
  font-size: clamp(52px, 6.8vw, 92px);
}
.resource-index-intro {
  max-width: 610px;
  padding: 24px 0 3px;
  border-top: 2px solid var(--ink);
}
.resource-index-intro .lede { margin: 0; }
.resource-index-intro .editorial-link {
  margin-top: 26px;
  white-space: normal;
}
.resource-index-list {
  padding: 0 0 96px;
  background: var(--blue-soft);
}
.resource-paths {
  margin-top: 0;
  border-top: 2px solid var(--ink);
}
.resource-path {
  display: grid;
  grid-template-columns: 56px minmax(260px, 1.05fr) minmax(0, 1fr) 30px;
  align-items: start;
  gap: clamp(24px, 3vw, 46px);
  padding: 27px 0 30px;
  border-bottom: 1px solid rgba(28, 57, 187, .22);
  transition: color .18s ease, padding .18s ease;
}
.resource-path:hover { padding-right: 10px; padding-left: 10px; color: var(--blue); }
.resource-path:focus-visible { outline: 2px solid var(--blue); outline-offset: 5px; }
.resource-path__number {
  padding-top: 4px;
  color: var(--blue);
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 600;
}
.resource-path strong {
  max-width: 24ch;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.15;
}
.resource-path > span:nth-child(3) {
  max-width: 54ch;
  color: var(--ink-2);
  font-size: 16px;
  line-height: 1.6;
}
.resource-path__arrow {
  color: var(--blue);
  font-size: 24px;
  line-height: 1;
  transition: transform .18s ease;
}
.resource-path:hover .resource-path__arrow { transform: translateX(4px); }

.journey { position: relative; }
.journey::before {
  position: absolute;
  top: 28px;
  bottom: 28px;
  left: 27px;
  width: 2px;
  background: var(--blue);
  content: "";
}
.journey__step {
  position: relative;
  display: grid;
  grid-template-columns: 56px minmax(190px, .45fr) minmax(0, 1fr);
  gap: 30px;
  align-items: start;
  min-height: 180px;
  padding: 24px 0 34px;
  border-bottom: 1px solid rgba(28, 57, 187, .22);
}
.journey__step:last-child { border-bottom: 0; }
.journey__number {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border: 2px solid var(--blue);
  border-radius: 50%;
  background: var(--blue-soft);
  color: var(--blue);
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 600;
}
.journey__step h3 { margin: 8px 0 0; font-size: 26px; font-weight: 600; letter-spacing: -.03em; }
.journey__step p { max-width: 62ch; margin: 8px 0 0; color: var(--ink-2); font-family: "Schibsted Grotesk", sans-serif; font-size: 16px; line-height: 1.55; }
.engagement-path {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid rgba(28, 57, 187, .24);
  background: rgba(255, 255, 255, .36);
}
.engagement-path::before {
  position: absolute;
  z-index: 2;
  top: -2px;
  right: 0;
  left: 0;
  height: 3px;
  background: var(--blue);
  content: "";
  transform: scaleX(1);
  transform-origin: left;
}
.engagement-stage {
  display: flex;
  min-height: 430px;
  padding: 36px 32px 34px;
  flex-direction: column;
  background: rgba(255, 255, 255, .72);
}
.engagement-stage + .engagement-stage { border-left: 1px solid rgba(28, 57, 187, .2); }
.engagement-stage__head { display: flex; align-items: center; gap: 14px; }
.engagement-stage__number {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  flex: 0 0 auto;
  border: 2px solid var(--blue);
  border-radius: 50%;
  background: var(--blue-soft);
  color: var(--blue);
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 600;
}
.engagement-stage__phase { color: var(--blue); font-size: 15px; font-weight: 600; }
.engagement-stage h3 { margin: 56px 0 16px; font-size: 31px; font-weight: 600; letter-spacing: -.04em; line-height: 1; }
.engagement-stage p { max-width: 36ch; margin: 0; color: var(--ink-2); font-family: "Schibsted Grotesk", sans-serif; font-size: 16px; line-height: 1.6; }
.engagement-stage__outcome {
  display: grid;
  gap: 7px;
  margin-top: auto;
  padding-top: 24px;
  border-top: 1px solid rgba(28, 57, 187, .2);
}
.engagement-stage__outcome span { color: var(--ink-3); font-size: 13px; }
.engagement-stage__outcome strong { font-size: 17px; font-weight: 600; }
.deliverables { display: grid; grid-template-columns: .75fr 1.25fr; gap: 90px; }
.deliverables__list { border-top: 2px solid var(--ink); }
.deliverable {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 24px;
  padding: 22px 0;
  border-bottom: 1px solid rgba(28, 57, 187, .25);
}
.deliverable strong { font-size: 15px; }
.deliverable span { color: var(--ink-2); font-family: "Schibsted Grotesk", sans-serif; font-size: 15px; line-height: 1.5; }

.boundary-map {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: stretch;
  border: 1px solid rgba(28, 57, 187, .28);
  background: rgba(255, 255, 255, .48);
}
.boundary-map__node { position: relative; min-height: 190px; padding: 30px; }
.boundary-map__node + .boundary-map__node { border-left: 1px solid rgba(28, 57, 187, .28); }
.boundary-map__node:not(:last-child)::after {
  position: absolute;
  top: 48px;
  right: -8px;
  z-index: 2;
  width: 15px;
  height: 15px;
  border-top: 2px solid var(--blue);
  border-right: 2px solid var(--blue);
  background: var(--blue-soft);
  content: "";
  transform: rotate(45deg);
}
.boundary-map__node h3 { margin: 46px 0 8px; font-size: 19px; letter-spacing: -.02em; }
.boundary-map__node p { margin: 0; color: var(--ink-2); font-family: "Schibsted Grotesk", sans-serif; font-size: 14px; line-height: 1.5; }

.truth-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.truth-pair__item {
  min-height: 360px;
  padding: 52px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-top: 3px solid #91a3ff;
  background: #f7f8f9;
  color: var(--ink);
}
.truth-pair__item + .truth-pair__item { background: var(--blue-soft); }
.truth-pair__item .mono { color: var(--blue); }
.truth-pair__item h3 { margin: 82px 0 14px; font-size: 34px; letter-spacing: -.035em; }
.truth-pair__item p { max-width: 42ch; margin: 0; color: var(--ink-2); font-family: "Schibsted Grotesk", sans-serif; font-size: 16px; line-height: 1.6; }

.status-table { width: 100%; border-collapse: collapse; }
.status-table caption {
  padding: 0 0 18px;
  color: var(--ink-2);
  font-family: "Schibsted Grotesk", sans-serif;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
}
.status-table th,
.status-table td { padding: 20px 18px; border-bottom: 1px solid var(--hair); text-align: left; vertical-align: top; }
.status-table th { color: var(--ink-3); font-family: "IBM Plex Mono", monospace; font-size: 10px; font-weight: 600; letter-spacing: .03em; }
.status-table td { font-family: "Schibsted Grotesk", sans-serif; font-size: 15px; line-height: 1.5; }
.status-table td:first-child { width: 26%; color: var(--ink); font-family: "Schibsted Grotesk", sans-serif; font-weight: 600; }
.status-pill { display: inline-flex; padding: 4px 8px; border: 1px solid transparent; border-radius: 3px; background: var(--blue-soft); color: var(--blue); font-family: "IBM Plex Mono", monospace; font-size: 9px; font-weight: 600; white-space: nowrap; }
.status-pill--scope { border-color: #b8c2ec; background: transparent; color: #40518e; }
.status-pill--not-claimed { background: #eceef2; color: var(--ink-2); }

.product-hero {
  display: flex;
  align-items: center;
  min-height: calc(100svh - 69px);
  padding: 44px 0 48px;
}
.product-hero__layout {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(520px, 1.08fr);
  gap: clamp(58px, 6.5vw, 94px);
  align-items: center;
}
.product-hero__copy .display {
  max-width: 10ch;
  font-size: clamp(52px, 5.3vw, 74px);
}
.product-hero__copy .lede { max-width: 560px; margin: 28px 0 0; }
.product-hero__actions { display: flex; align-items: center; gap: 26px; margin-top: 30px; }

.product-hero--film {
  min-height: 0;
  padding: clamp(74px, 7.4vw, 112px) 0 clamp(64px, 6.4vw, 96px);
}
.product-hero--film .product-hero__layout {
  grid-template-columns: minmax(0, .9fr) minmax(460px, 1.1fr);
  gap: clamp(54px, 6vw, 92px);
}
.product-hero--film .product-hero__copy .display { max-width: 10ch; }
.product-hero--film .product-hero__copy .lede { max-width: 560px; }

.product-answer {
  width: 100%;
  max-width: 640px;
  justify-self: end;
  border: 1px solid #d4d7df;
  background: #fff;
  box-shadow: 16px 18px 0 var(--blue-soft);
  color: var(--ink);
}
.product-answer__top,
.product-answer__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.product-answer__top {
  padding: 20px 24px;
  border-bottom: 1px solid var(--hair);
}
.product-answer__top strong {
  display: block;
  margin-top: 5px;
  color: var(--ink-3);
  font-size: 11px;
  font-weight: 500;
}
.product-answer__label {
  color: var(--blue);
  font-size: 10px;
  font-weight: 600;
}
.product-answer__state {
  padding: 7px 10px;
  border: 1px solid rgba(28, 57, 187, .22);
  color: var(--blue);
  font-size: 11px;
  font-weight: 600;
}
.product-answer__question { padding: 26px 28px 24px; }
.product-answer__question > span {
  color: var(--blue);
  font-size: 10px;
  font-weight: 600;
}
.product-answer__question h2 {
  max-width: 13ch;
  margin: 11px 0 0;
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.02;
  letter-spacing: -.045em;
}
.product-answer__response {
  margin: 0 28px;
  padding: 21px 22px 22px;
  background: var(--blue-soft);
}
.product-answer__response strong {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--blue);
  font-size: 14px;
}
.product-answer__response strong span { font-size: 10px; }
.product-answer__response p {
  max-width: 48ch;
  margin: 11px 0 0;
  color: var(--ink-2);
  font-family: "Schibsted Grotesk", sans-serif;
  font-size: 15px;
  line-height: 1.55;
}
.product-answer__facts {
  margin: 20px 28px 0;
}
.product-answer__facts div {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 18px;
  padding: 13px 0;
  border-top: 1px solid var(--hair);
}
.product-answer__facts dt {
  color: var(--ink-3);
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
  font-weight: 500;
}
.product-answer__facts dd {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
}
.product-answer__foot {
  margin-top: 20px;
  padding: 17px 28px;
  border-top: 1px solid rgba(28, 57, 187, .15);
  background: var(--paper);
  color: var(--ink-2);
  font-size: 12px;
}
.product-answer__foot a {
  color: var(--blue);
  font-weight: 600;
}

.product-swap { display: grid; }
.product-swap__pin { display: grid; gap: 18px; }
/* The pinned track is opt-in: the JS adds it once it can drive the scrub. */
.product-swap.is-pinned .product-swap__track { height: calc(100vh + var(--swap-scrub, 130vh)); }
.product-swap.is-pinned { margin-top: -72px; }
.product-swap.is-pinned .product-swap__pin {
  position: sticky;
  top: 0;
  box-sizing: border-box;
  height: 100vh;
  /* The header hides on the way down and returns on the way up. Reserving its
     height always is what keeps the stage from ducking under it mid-scroll. */
  padding-top: 72px;
  align-content: center;
}
.product-swap.is-pinned .product-swap__stage,
.product-swap.is-pinned .product-swap__foot {
  width: 100%;
  /* Sized off the viewport height so the 16:9 frame fits, but never below the
     width where the console's three columns start wrapping and it grows tall. */
  max-width: max(1040px, calc((100vh - 230px) * 16 / 9));
  margin: 0 auto;
}
.product-swap__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.product-swap__note {
  display: grid;
  margin: 0;
  color: rgba(255, 255, 255, .5);
  font-size: 11px;
}
.product-swap__note span {
  grid-area: 1 / 1;
  transition: opacity 420ms var(--ease-standard);
}
.product-swap[data-view="console"] .product-swap__note-film,
.product-swap[data-view="film"] .product-swap__note-console { opacity: 0; }
.product-swap.is-scrubbing .product-swap__note span { transition: none; }
/* Hand over rather than cross-fade: two different strings stacked in one cell
   read as garbled text if they are ever half-visible together. */
.product-swap.is-scrubbing .product-swap__note-console { opacity: calc(1 - var(--swap-play, 1) * 2.6); }
.product-swap.is-scrubbing .product-swap__note-film { opacity: calc(var(--swap-play, 1) * 2.6 - 1.6); }
.product-swap__views {
  position: relative;
  display: flex;
  padding: 3px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 999px;
  background: var(--ink);
  isolation: isolate;
}
/* One thumb sliding across the track, so scroll position is readable in the
   control itself rather than only in the picture above it. */
.product-swap__thumb {
  position: absolute;
  top: 3px;
  bottom: 3px;
  left: 0;
  width: var(--thumb-w, 0);
  border-radius: 999px;
  background: #fff;
  transform: translateX(var(--thumb-x, 0));
  transition: transform 620ms var(--ease-standard), width 620ms var(--ease-standard);
}
.product-swap.is-scrubbing .product-swap__thumb { transition: none; }
/* A label is dark over the thumb and light over the track, and mid-slide it is
   both at once. Difference against the backdrop inverts it per pixel, so the
   text stays readable wherever the thumb happens to be. */
.product-swap__view {
  position: relative;
  padding: 8px 15px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #fff;
  font: inherit;
  font-size: 12px;
  letter-spacing: .01em;
  white-space: nowrap;
  cursor: pointer;
  mix-blend-mode: difference;
  opacity: .72;
  transition: opacity var(--motion-fast) var(--ease-standard);
}
.product-swap__view:hover,
.product-swap__view.is-active { opacity: 1; }
.product-swap__view:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 2px; }
.product-swap__stage { display: grid; }
/* Against the dark section both layers define their own edge, so any offset or
   soft shadow just reads as a second, misaligned rectangle. */
.product-swap .film__frame { border-color: transparent; box-shadow: none; }
.product-swap .product-console {
  min-height: 0;
  border-color: var(--hair);
  box-shadow: none;
}
/* The two layers share one grid cell, so the taller of them sets the height and
   both fill it. The film keeps its 16:9 as a floor and letterboxes past it,
   rather than the console being cropped to match. */
.product-swap .film { display: grid; }
.product-swap .film__frame { height: 100%; }
.product-swap .film__video { object-fit: contain; }
.product-swap__stage > * {
  grid-area: 1 / 1;
  align-self: stretch;
  transition: opacity 620ms var(--ease-standard),
    transform 620ms var(--ease-standard),
    filter 620ms var(--ease-standard);
}
.product-swap[data-view="console"] .film,
.product-swap[data-view="film"] .product-console {
  opacity: 0;
  pointer-events: none;
  filter: blur(9px);
}
.product-swap[data-view="console"] .film { transform: translateX(26px) scale(1.035); }
.product-swap[data-view="film"] .product-console { transform: translateX(-22px) scale(.965); }
.product-swap[data-view="film"] .film__ignite {
  animation: product-swap-ignite 760ms var(--ease-enter) 260ms backwards;
}

/* Both layers are the same interface, so the dissolve alone reads as nothing
   happening. Cinema furniture on arrival is what makes the film legible. */
.product-swap .film__frame::before,
.product-swap .film__frame::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 7%;
  background: #050506;
  pointer-events: none;
  transform: scaleY(0);
  transition: transform 520ms var(--ease-enter);
}
.product-swap .film__frame::before { top: 0; transform-origin: top; }
.product-swap .film__frame::after { bottom: 0; transform-origin: bottom; }
.product-swap[data-view="film"] .film__frame::before,
.product-swap[data-view="film"] .film__frame::after { transform: scaleY(1); }
.film.is-started .film__frame::before,
.film.is-started .film__frame::after { display: none; }
.product-swap.is-pinned .product-swap__pin::before {
  content: "";
  position: absolute;
  top: -20vh;
  bottom: -20vh;
  left: 50%;
  z-index: -1;
  width: 100vw;
  margin-left: -50vw;
  background: radial-gradient(115% 90% at 50% 50%, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, .78) 100%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 620ms var(--ease-standard);
}
.product-swap.is-pinned[data-view="film"] .product-swap__pin::before { opacity: 1; }

/* While pinned, scroll position drives the morph, so nothing may lag behind it. */
.product-swap.is-scrubbing .product-swap__stage > * { transition: none; }
.product-swap.is-scrubbing .film__frame::before,
.product-swap.is-scrubbing .film__frame::after,
.product-swap.is-pinned.is-scrubbing .product-swap__pin::before { transition: none; }
.product-swap.is-scrubbing .film__frame::before,
.product-swap.is-scrubbing .film__frame::after { transform: scaleY(var(--swap-play, 1)); }
.product-swap.is-pinned.is-scrubbing .product-swap__pin::before { opacity: var(--swap-play, 1); }
.product-swap.is-scrubbing .film__ignite {
  animation: none;
  opacity: var(--swap-play, 1);
  transform: scale(calc(.52 + .48 * var(--swap-play, 1)));
}
@keyframes product-swap-ignite {
  from { opacity: 0; transform: scale(.86); }
  to { opacity: 1; transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .product-swap__stage > * { transition: none; filter: none; transform: none; }
  .product-swap[data-view="console"] .film,
  .product-swap[data-view="film"] .product-console { filter: none; transform: none; }
  .product-swap[data-view="film"] .film__ignite { animation: none; }
  .product-swap__thumb { transition: none; }
  .product-swap .film__frame::before,
  .product-swap .film__frame::after { transition: none; }
  .product-swap__note span { transition: none; }
}
.film {
  width: min(1440px, 100%);
  margin: 0 auto;
}
.film__frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border: 1px solid #d8dae0;
  background: var(--ink);
  box-shadow: 16px 18px 0 var(--blue-soft);
}
.film__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.film__ignite {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: clamp(20px, 3vw, 38px);
  border: 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
}
.film__ignite::before {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
  transition: background var(--motion-medium) var(--ease-standard);
}
.film__ignite:hover::before { background: rgba(11, 11, 13, .04); }
.film__ignite-mark {
  position: relative;
  display: grid;
  place-items: center;
  width: 78px;
  height: 78px;
  border-radius: 50%;
  background: var(--blue);
  color: #fff;
  transition: transform var(--motion-medium) var(--ease-standard), background var(--motion-fast) linear;
}
.film__ignite:hover .film__ignite-mark { transform: scale(1.06); background: var(--blue-bright); }
.film__ignite:focus-visible { outline: 3px solid var(--blue-bright); outline-offset: -6px; }
.film.is-started .film__ignite { display: none; }

.film__controls {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 34px 18px 14px;
  background: linear-gradient(to top, rgba(11, 11, 13, .9) 0%, rgba(11, 11, 13, .66) 42%, rgba(11, 11, 13, .22) 76%, rgba(11, 11, 13, 0) 100%);
  color: #fff;
  transition: opacity var(--motion-medium) var(--ease-standard);
}
.film__controls[hidden] { display: none; }
.film.is-idle .film__controls { opacity: .72; pointer-events: auto; }
.film__button {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #fff;
  cursor: pointer;
  transition: background var(--motion-fast) linear;
}
.film__button:hover { background: rgba(255, 255, 255, .16); }
.film__button:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 1px; }
.film__icon-pause,
.film__icon-shrink,
.film .film__icon-muted { display: none; }
.film.is-playing .film__icon-play,
.film.is-fullscreen .film__icon-expand,
.film.is-muted .film__icon-sound { display: none; }
.film.is-playing .film__icon-pause,
.film.is-fullscreen .film__icon-shrink,
.film.is-muted .film__icon-muted { display: block; }

.film__time {
  flex: 0 0 auto;
  color: rgba(255, 255, 255, .82);
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}
.film__time i { margin: 0 5px; color: rgba(255, 255, 255, .42); font-style: normal; }

.film__seek,
.film__volume-slider {
  height: 20px;
  margin: 0;
  padding: 0;
  border-radius: 2px;
  background: transparent;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
.film__seek { flex: 1 1 auto; min-width: 0; }
.film__seek::-webkit-slider-runnable-track,
.film__volume-slider::-webkit-slider-runnable-track {
  height: 4px;
  border-radius: 2px;
  background: linear-gradient(to right, var(--blue-bright) 0 var(--film-fill, 0%), rgba(255, 255, 255, .3) var(--film-fill, 0%) 100%);
}
.film__seek::-moz-range-track,
.film__volume-slider::-moz-range-track {
  height: 4px;
  border-radius: 2px;
  background: linear-gradient(to right, var(--blue-bright) 0 var(--film-fill, 0%), rgba(255, 255, 255, .3) var(--film-fill, 0%) 100%);
}
.film__seek::-webkit-slider-thumb,
.film__volume-slider::-webkit-slider-thumb {
  width: 12px;
  height: 12px;
  margin-top: -4px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  -webkit-appearance: none;
  appearance: none;
}
.film__seek::-moz-range-thumb,
.film__volume-slider::-moz-range-thumb {
  width: 12px;
  height: 12px;
  border: 0;
  border-radius: 50%;
  background: #fff;
}
.film__seek:focus-visible,
.film__volume-slider:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 3px; }

.film__volume { display: flex; align-items: center; flex: 0 0 auto; }
.film__volume-slider {
  width: 0;
  opacity: 0;
  transition: width var(--motion-medium) var(--ease-standard), opacity var(--motion-fast) linear, margin var(--motion-medium) var(--ease-standard);
}
.film__volume:hover .film__volume-slider,
.film__volume:focus-within .film__volume-slider {
  width: 78px;
  margin-left: 8px;
  opacity: 1;
}

.film__frame:fullscreen { aspect-ratio: auto; width: 100vw; height: 100vh; border: 0; }
.film__frame:fullscreen .film__video { object-fit: contain; }
.film__frame:fullscreen .film__controls { padding: 44px 30px 24px; }


.product-outcomes { padding-top: 112px; }
.section-heading--product-outcomes { align-items: start; }
.product-outcome-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 72px;
  border-top: 2px solid var(--ink);
}
.product-outcome-list article { min-height: 290px; padding: 28px 30px 34px 0; border-bottom: 1px solid var(--hair); }
.product-outcome-list article + article { padding-left: 30px; border-left: 1px solid var(--hair); }
.product-outcome-list__number { color: var(--blue); font-family: "IBM Plex Mono", monospace; font-size: 10px; font-weight: 600; }
.product-outcome-list h3 { max-width: 13ch; margin: 72px 0 16px; font-size: 29px; letter-spacing: -.04em; line-height: 1.04; }
.product-outcome-list p { max-width: 40ch; margin: 0; color: var(--ink-2); font-size: 15px; line-height: 1.58; }

.product-console {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr) 320px;
  min-height: 610px;
  border: 1px solid #d8dae0;
  background: #fff;
  box-shadow: 0 28px 70px -54px rgba(11, 11, 13, .45);
}
.console-sidebar {
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--hair);
  background: #fafbfc;
}
.console-brand {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 63px;
  padding: 0 20px;
  border-bottom: 1px solid var(--hair);
  font-size: 15px;
  font-weight: 600;
}
/* The mark's spec is a ratio, not fixed pixels: gap and corner radius are each 27.3% of
   the square, matching assets/lockup/*.svg (104 / 28.36). Scaling the square without
   scaling both of the others is what puts this variant off-brand. */
.console-brand .brand__mark { grid-template: repeat(2, 8px) / repeat(2, 8px); gap: 1.45px; }
.console-brand .brand__mark i { border-radius: 2.18px; }
.console-nav { display: grid; gap: 5px; padding: 17px 12px; }
.console-nav > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 42px;
  padding: 0 12px;
  border-radius: 5px;
  color: var(--ink-2);
}
.console-nav > div.is-current { background: var(--blue-soft); color: var(--blue); font-weight: 600; }
.console-nav > div span:last-child { font-family: "IBM Plex Mono", monospace; font-size: 9px; }
.console-boundary {
  margin: auto 14px 14px;
  padding: 14px;
  border-top: 2px solid var(--blue);
  background: var(--blue-soft);
}
.console-boundary p { margin: 7px 0 0; color: var(--ink-2); font-family: "Schibsted Grotesk", sans-serif; font-size: 12px; line-height: 1.45; }
.console-main { min-width: 0; }
.console-main__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 63px;
  padding: 0 22px;
  border-bottom: 1px solid var(--hair);
}
.console-main__top strong { font-size: 16px; letter-spacing: -.02em; }
.console-live { display: flex; align-items: center; gap: 7px; color: var(--blue); }
.console-live::before { width: 7px; height: 7px; border-radius: 50%; background: var(--blue); content: ""; }
.console-sample { color: var(--ink-3); font-size: 10px; }
.console-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid var(--hair);
}
.console-stat { padding: 22px; }
.console-stat + .console-stat { border-left: 1px solid var(--hair); }
.console-stat span { color: var(--ink-3); font-family: "IBM Plex Mono", monospace; font-size: 9px; font-weight: 600; letter-spacing: .03em; }
.console-stat strong { display: block; margin-top: 7px; font-size: 22px; letter-spacing: -.035em; }
.console-run-head,
.console-run {
  display: grid;
  grid-template-columns: 1.2fr .8fr .65fr .55fr;
  gap: 18px;
  align-items: center;
}
.console-run-head {
  padding: 13px 22px;
  border-bottom: 1px solid var(--hair);
  color: var(--ink-3);
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
  font-weight: 600;
}
.console-run {
  width: 100%;
  min-height: 74px;
  padding: 12px 22px;
  border: 0;
  border-bottom: 1px solid var(--hair);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-family: "Schibsted Grotesk", sans-serif;
  font-size: 13px;
  text-align: left;
  transition:
    background var(--motion-fast) ease,
    box-shadow var(--motion-fast) ease;
}
.console-run:hover { background: #f3f5fb; }
.console-run.is-selected { box-shadow: inset 3px 0 0 var(--blue); background: #f7f8ff; }
.console-run:focus-visible { position: relative; z-index: 1; outline-offset: -4px; }
.console-run strong { display: block; margin-bottom: 4px; font-family: "Schibsted Grotesk", sans-serif; font-size: 13px; }
.console-run small { color: var(--ink-3); font-family: "IBM Plex Mono", monospace; font-size: 9px; }
.run-state { display: inline-flex; align-items: center; gap: 6px; }
.run-state::before { width: 7px; height: 7px; border-radius: 50%; background: var(--blue); content: ""; }
.run-state--review::before { border-radius: 2px; background: var(--blue-bright); }
.console-detail {
  border-left: 1px solid var(--hair);
  background: #fcfcfd;
}
.console-detail__head { min-height: 63px; padding: 15px 18px; border-bottom: 1px solid var(--hair); }
.console-detail__head strong { display: block; font-size: 14px; }
.console-detail__head span { display: block; margin-top: 4px; color: var(--ink-3); font-family: "IBM Plex Mono", monospace; font-size: 9px; }
.console-timeline { position: relative; padding: 20px 18px 20px 39px; }
.console-timeline::before { position: absolute; top: 28px; bottom: 34px; left: 23px; width: 1px; background: var(--hair); content: ""; }
.console-event { position: relative; padding: 0 0 23px; }
.console-event::before {
  position: absolute;
  top: 2px;
  left: -21px;
  width: 9px;
  height: 9px;
  border: 2px solid #fff;
  border-radius: 3px;
  background: var(--ink);
  box-shadow: 0 0 0 1px var(--hair);
  content: "";
}
.console-event.is-exception::before { background: var(--blue); }
.console-event strong { display: block; font-size: 12px; }
.console-event span { display: block; margin-top: 4px; color: var(--ink-3); font-family: "IBM Plex Mono", monospace; font-size: 9px; }
.console-export {
  margin: 2px 18px 18px;
  padding: 15px;
  border: 1px solid var(--hair);
  background: #fff;
}
.console-export p { margin: 7px 0 0; color: var(--ink-2); font-family: "Schibsted Grotesk", sans-serif; font-size: 12px; line-height: 1.4; }
.console-detail__head,
.console-timeline,
.console-export {
  transition:
    opacity var(--motion-fast) ease,
    transform var(--motion-fast) var(--ease-enter);
}
.product-console.is-updating .console-detail__head,
.product-console.is-updating .console-timeline,
.product-console.is-updating .console-export {
  opacity: .25;
  transform: translateY(4px);
}

.split-feature {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.split-feature__item {
  min-height: 430px;
  padding: 44px 46px 48px;
  border: 1px solid rgba(28, 57, 187, .16);
  border-top: 3px solid var(--blue);
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 18px 44px rgba(28, 57, 187, .055);
}
.split-feature__item + .split-feature__item { border-left: 1px solid rgba(28, 57, 187, .16); }
.split-feature__item h3 { max-width: 12ch; margin: 104px 0 18px; font-size: 38px; font-weight: 600; letter-spacing: -.04em; line-height: 1; }
.split-feature__item p { max-width: 48ch; margin: 0; color: var(--ink-2); font-family: "Schibsted Grotesk", sans-serif; font-size: 16px; line-height: 1.6; }

.capture-lines { border-top: 2px solid var(--ink); }
.capture-line {
  display: grid;
  grid-template-columns: 170px 1fr 1fr;
  gap: 42px;
  align-items: start;
  padding: 28px 0;
  border-bottom: 1px solid var(--hair);
}
.capture-line h3 { margin: 0; font-size: 22px; letter-spacing: -.025em; }
.capture-line p { margin: 0; color: var(--ink-2); font-family: "Schibsted Grotesk", sans-serif; font-size: 15px; line-height: 1.55; }
.capture-line .mono { color: var(--blue); }

.industry-hero {
  display: flex;
  align-items: center;
  min-height: calc(100svh - 69px);
  padding: 58px 0 66px;
}
.industry-hero__grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 100px; align-items: center; }
.industry-hero .display { max-width: 11ch; font-size: clamp(52px, 5.25vw, 72px); }
.boundary-comparison { border: 1px solid #d8dae0; background: #fff; box-shadow: 18px 20px 0 var(--blue-soft); }
.boundary-comparison__half { padding: 26px 28px; }
.boundary-comparison__half + .boundary-comparison__half { border-top: 1px solid var(--hair); }
.boundary-comparison__label { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.boundary-comparison__label strong { font-size: 18px; letter-spacing: -.025em; }
.boundary-comparison__label span { color: var(--ink-3); }
.visibility-bar { position: relative; height: 8px; margin: 24px 0 14px; background: #eceef2; }
.visibility-bar span { display: block; height: 100%; background: var(--blue); }
.boundary-comparison__half:last-child .visibility-bar span { width: 28%; background: var(--blue); }
.boundary-comparison__half p { margin: 0; color: var(--ink-2); font-family: "Schibsted Grotesk", sans-serif; font-size: 14px; line-height: 1.5; }

.industry-wedge {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  align-items: stretch;
  border: 1px solid rgba(255, 255, 255, .18);
}
.industry-wedge__copy { padding: 58px; }
.industry-wedge__copy h2 { max-width: 11ch; margin: 110px 0 22px; font-size: clamp(42px, 5vw, 66px); letter-spacing: -.05em; line-height: .96; }
.industry-wedge__copy p { max-width: 45ch; margin: 0; color: rgba(255, 255, 255, .66); font-family: "Schibsted Grotesk", sans-serif; font-size: 16px; line-height: 1.6; }
.industry-wedge__map {
  display: grid;
  grid-template-rows: repeat(4, 1fr);
  border-left: 1px solid rgba(255, 255, 255, .18);
  background: var(--card);
  color: var(--ink);
}
.wedge-row {
  display: grid;
  grid-template-columns: 145px 1fr auto;
  align-items: center;
  gap: 24px;
  min-height: 116px;
  padding: 24px 30px;
  border-bottom: 1px solid var(--hair);
}
.wedge-row:last-child { border-bottom: 0; background: var(--paper); }
.wedge-row strong { font-size: 15px; }
.wedge-row span { color: var(--ink-2); font-family: "Schibsted Grotesk", sans-serif; font-size: 14px; line-height: 1.45; }
.wedge-row em { color: var(--blue); font-family: "IBM Plex Mono", monospace; font-size: 9px; font-style: normal; white-space: nowrap; }

.sector-list { border-top: 2px solid var(--ink); }
.sector {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr) 290px;
  gap: 54px;
  align-items: start;
  padding: 42px 0;
  border-bottom: 1px solid var(--hair);
}
.sector h3 { margin: 0; font-size: 26px; letter-spacing: -.03em; }
.sector__question { max-width: 38ch; margin: 0; font-size: 23px; font-weight: 500; letter-spacing: -.025em; line-height: 1.2; }
.sector__detail { margin: 0; color: var(--ink-2); font-family: "Schibsted Grotesk", sans-serif; font-size: 15px; line-height: 1.55; }

.crosswalk-tabs { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--hair); background: #fff; }
.crosswalk-tab {
  min-height: 118px;
  padding: 22px;
  border: 0;
  border-right: 1px solid var(--hair);
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.crosswalk-tab:last-child { border-right: 0; }
.crosswalk-tab[aria-selected="true"] { box-shadow: inset 0 -4px 0 var(--blue); background: var(--blue-soft); }
.crosswalk-tab span { display: block; margin-bottom: 20px; color: var(--blue); font-family: "IBM Plex Mono", monospace; font-size: 9px; font-weight: 600; }
.crosswalk-tab strong { font-size: 16px; letter-spacing: -.02em; }
.crosswalk-panel {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 1px;
  min-height: 292px;
  border: 1px solid var(--blue);
  border-top: 0;
  background: var(--blue);
}
.crosswalk-panel__side { padding: 42px 46px 44px; background: #fff; }
.crosswalk-panel__side:last-child { background: var(--blue-soft); }
.crosswalk-panel__side h3 { max-width: 30ch; margin: 54px 0 0; font-size: 30px; letter-spacing: -.03em; line-height: 1.08; }
.crosswalk-source {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: 18px;
  padding: 18px 20px;
  border: 1px solid var(--hair);
  background: #fff;
}
.crosswalk-source div { min-width: 0; }
.crosswalk-source strong { display: block; font-size: 14px; }
.crosswalk-source span { display: block; margin-top: 5px; color: var(--ink-3); font-family: "IBM Plex Mono", monospace; font-size: 9px; }
.crosswalk-source > span { flex: none; margin: 0; color: var(--blue); font-size: 12px; }

/* Editorial pages deliberately avoid product grids and conversion furniture. */
.story { overflow: clip; }
.story-hero { padding: 110px 0 132px; }
.story-hero__inner { max-width: 1080px; }
.story-hero .display { max-width: 13ch; font-size: clamp(56px, 8.2vw, 112px); }
.story-hero .lede { max-width: 690px; margin: 38px 0 0 auto; }
.story-opening {
  padding: 122px 0;
  background: var(--blue-soft);
}
.story-opening__grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 112px;
  align-items: start;
}
.story-opening__line {
  max-width: 10ch;
  margin: 0;
  font-size: clamp(44px, 6vw, 76px);
  font-weight: 600;
  letter-spacing: -.05em;
  line-height: .98;
}
.story-opening__copy { max-width: 650px; padding-top: 10px; }
.story-opening__copy p,
.story-chapter__copy p {
  margin: 0 0 28px;
  color: var(--ink-2);
  font-size: 19px;
  line-height: 1.7;
}
.story-opening__copy p:first-child { color: var(--ink); font-size: 25px; line-height: 1.55; }
.story-chapters { padding: 132px 0; }
.story-chapter {
  display: grid;
  grid-template-columns: 140px minmax(260px, .75fr) minmax(0, 1fr);
  gap: 56px;
  padding: 70px 0 88px;
  border-top: 1px solid var(--hair);
}
.story-chapter:first-child { border-top: 2px solid var(--ink); }
.story-chapter__number {
  color: var(--blue);
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  font-weight: 600;
}
.story-chapter h2 {
  max-width: 10ch;
  margin: 0;
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 600;
  letter-spacing: -.045em;
  line-height: 1;
}
.story-chapter__copy { max-width: 680px; }
.story-declaration {
  padding: 128px 0 142px;
  background: var(--ink);
  color: #fff;
}
.story-declaration blockquote {
  max-width: 1020px;
  margin: 0;
  font-size: clamp(48px, 7.4vw, 100px);
  font-weight: 600;
  letter-spacing: -.055em;
  line-height: .96;
}
.story-declaration blockquote span { color: #91a3ff; }
.story-declaration p {
  max-width: 620px;
  margin: 58px 0 0 auto;
  color: rgba(255, 255, 255, .66);
  font-size: 19px;
  line-height: 1.65;
}
.story-close { padding: 110px 0 128px; }
.story-close__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
  align-items: end;
}
.story-close h2 {
  max-width: 10ch;
  margin: 0;
  font-size: clamp(42px, 5.6vw, 74px);
  letter-spacing: -.05em;
  line-height: .98;
}
.story-close p { max-width: 580px; margin: 0; color: var(--ink-2); font-size: 19px; line-height: 1.68; }

.editorial-page { padding: 94px 0 132px; }
.editorial-head {
  max-width: 980px;
  margin-bottom: 96px;
  padding-bottom: 0;
}
.editorial-head .display { max-width: 9ch; font-size: clamp(58px, 8vw, 108px); }
.editorial-head--essay .display { max-width: 13ch; font-size: clamp(52px, 7vw, 94px); }
.editorial-head .lede { max-width: 690px; margin: 34px 0 0; }
.editorial-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  max-width: 690px;
  margin-top: 30px;
  padding-top: 14px;
  border-top: 1px solid var(--hair);
  color: var(--ink-3);
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  line-height: 1.5;
}
.editorial-meta span:first-child { color: var(--ink); font-weight: 600; }
.editorial-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 720px);
  justify-content: center;
  gap: 88px;
}
.editorial-layout--single {
  grid-template-columns: minmax(0, 720px);
  gap: 0;
}
.editorial-rail {
  position: sticky;
  top: 110px;
  align-self: start;
  padding-top: 18px;
  border-top: 2px solid var(--ink);
}
.editorial-rail strong { font-size: 15px; }
.editorial-rail p {
  margin: 8px 0 0;
  color: var(--ink-3);
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
  line-height: 1.65;
}
.editorial-copy p {
  margin: 0 0 28px;
  color: var(--ink-2);
  font-size: 19px;
  line-height: 1.72;
}
.editorial-copy > p:first-child {
  color: var(--ink);
  font-size: 29px;
  font-weight: 500;
  letter-spacing: -.025em;
  line-height: 1.45;
}
.editorial-copy h2 {
  margin: 76px 0 24px;
  font-size: 40px;
  font-weight: 600;
  letter-spacing: -.04em;
  line-height: 1.05;
}
.editorial-copy blockquote {
  width: calc(100% + 96px);
  margin: 78px 0 78px -48px;
  padding: 50px 52px 56px;
  border: 0;
  background: var(--ink);
  color: #fff;
  font-size: clamp(32px, 4.5vw, 52px);
  font-weight: 600;
  letter-spacing: -.045em;
  line-height: 1.08;
  box-shadow: 16px 18px 0 var(--blue-soft);
}
.editorial-copy blockquote::before {
  display: block;
  width: 34px;
  height: 3px;
  margin-bottom: 58px;
  background: #91a3ff;
  content: "";
}
.editorial-copy .editorial-signoff {
  margin-top: 76px;
  color: var(--blue);
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -.035em;
}

.review-page { min-height: calc(100vh - 68px); padding: 82px 0 100px; }
.review-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(480px, 1.1fr); gap: 100px; align-items: start; }
/* The copy column does the scrolling and the form stays on screen the whole way,
   held level with the top of the page content rather than floating down it. */
@media (min-width: 981px) {
  .review-form { position: sticky; top: 92px; }
}
.review-copy .display { max-width: 9ch; font-size: clamp(54px, 6.6vw, 88px); }
.review-copy .lede { max-width: 560px; margin-top: 26px; }
.review-jump { display: none; }
.review-deliverable {
  margin-top: 42px;
  padding: 26px 0;
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid var(--hair);
}
.review-deliverable strong { display: block; margin-bottom: 16px; font-size: 19px; letter-spacing: -.02em; }
.review-deliverable ul { margin: 0; padding: 0; list-style: none; color: var(--ink-2); font-family: "Schibsted Grotesk", sans-serif; font-size: 15px; line-height: 1.65; }
.review-deliverable li { position: relative; padding-left: 20px; }
.review-deliverable li::before { position: absolute; top: .7em; left: 0; width: 7px; height: 7px; border-radius: 2px; background: var(--blue); content: ""; }
.review-note { margin: 18px 0 0; color: var(--ink-3); font-family: "IBM Plex Mono", monospace; font-size: 10px; line-height: 1.6; }
/* Stacked blocks would show the first block's hairline and the second's 2px rule as one thick
   doubled line. The first block's bottom border is the separator. */
.review-deliverable + .review-deliverable { margin-top: 0; border-top: 0; }
.review-help { margin: 0; }
.review-help dt { margin-top: 20px; font-family: "Schibsted Grotesk", sans-serif; font-size: 15.5px; font-weight: 600; letter-spacing: -.01em; color: var(--ink); }
.review-help dt:first-child { margin-top: 0; }
.review-help dd { margin: 5px 0 0; color: var(--ink-2); font-size: 15px; line-height: 1.6; }
.review-form {
  padding: 46px;
  border: 1px solid #d8dae0;
  background: #fff;
}
.review-form h2 { margin: 0; font-size: 31px; letter-spacing: -.035em; }
.review-form > p { margin: 10px 0 30px; color: var(--ink-2); font-family: "Schibsted Grotesk", sans-serif; font-size: 15px; line-height: 1.5; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.form-field { margin-bottom: 20px; }
.form-field label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 600; }
.form-field label span { color: var(--ink-3); font-weight: 400; }
.form-field input,
.form-field textarea {
  display: block;
  width: 100%;
  border: 1px solid #d8dae0;
  border-radius: 5px;
  background: var(--paper);
  color: var(--ink);
  outline: 0;
}
.form-field input { min-height: 48px; padding: 0 13px; }
.form-field textarea { min-height: 116px; padding: 13px; resize: vertical; line-height: 1.45; }
.form-field input:focus,
.form-field textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(28, 57, 187, .12); background: #fff; }
.form-status { margin: 16px 0 0; padding: 14px; border: 1px solid var(--hair); background: var(--paper); font-family: "Schibsted Grotesk", sans-serif; font-size: 14px; line-height: 1.45; }
.form-status[data-state="success"] { border-color: var(--blue); background: var(--blue-soft); color: var(--ink); }
.form-status[data-state="error"] { border-color: #b64b3d; color: #8e3025; }
.review-starting-point {
  margin: 26px 0 30px;
  padding: 20px 22px;
  border-left: 3px solid var(--blue);
  background: var(--blue-soft);
}
.review-starting-point[hidden] { display: none; }
.review-starting-point .mono { display: block; margin-bottom: 10px; color: var(--blue); }
.review-starting-point strong { display: block; font-size: 17px; line-height: 1.35; }
.review-starting-point p { margin: 8px 0 0; color: var(--ink-2); font-size: 14px; line-height: 1.5; }
.review-starting-point button {
  margin-top: 14px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: var(--ink-2);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}
.review-starting-point button:hover { color: var(--blue); }
.review-starting-point button:focus-visible { outline: 3px solid rgba(79, 107, 255, .35); outline-offset: 4px; }

.scope-builder {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .7fr);
  border: 1px solid #d8dae0;
  background: #fff;
}
.scope-controls { padding: 48px; }
.scope-controls fieldset { margin: 0; padding: 0 0 30px; border: 0; }
.scope-controls fieldset + fieldset { padding-top: 30px; border-top: 1px solid var(--hair); }
.scope-controls legend { width: 100%; margin-bottom: 17px; font-size: 16px; font-weight: 600; }
.scope-options { display: flex; flex-wrap: wrap; gap: 9px; }
.scope-choice { position: relative; cursor: pointer; }
.scope-choice input { position: absolute; opacity: 0; pointer-events: none; }
.scope-choice span {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 9px 13px;
  border: 1px solid var(--hair);
  border-radius: 5px;
  background: var(--paper);
  color: var(--ink-2);
  font-size: 13px;
  font-weight: 500;
}
.scope-choice input:checked + span { border-color: var(--blue); background: var(--blue-soft); color: var(--blue); }
.scope-choice input:focus-visible + span { outline: 3px solid rgba(28, 57, 187, .18); outline-offset: 2px; }
.scope-result {
  display: flex;
  flex-direction: column;
  padding: 48px;
  border-left: 3px solid var(--blue-bright);
  background: var(--ink);
  color: #fff;
}
.scope-result > .mono { color: #91a3ff; }
.scope-result h3 { max-width: 12ch; margin: 56px 0 14px; font-size: 38px; letter-spacing: -.04em; line-height: 1; }
.scope-result p { margin: 0; color: rgba(255, 255, 255, .66); font-family: "Schibsted Grotesk", sans-serif; font-size: 15px; line-height: 1.55; }
.scope-result ul { margin: 28px 0 36px; padding: 0; list-style: none; }
.scope-result li { padding: 12px 0; border-top: 1px solid rgba(255, 255, 255, .16); color: rgba(255, 255, 255, .84); font-family: "Schibsted Grotesk", sans-serif; font-size: 14px; line-height: 1.45; }
.scope-result li:last-child { border-bottom: 1px solid rgba(255, 255, 255, .16); }
.scope-result .button { margin-top: auto; align-self: flex-start; }

@keyframes record-pulse {
  0%, 100% { opacity: .35; transform: scale(.7); }
  50% { opacity: 1; transform: scale(1); }
}
.record-status::before { animation: record-pulse 2.4s ease-in-out infinite; }

@keyframes record-event-enter {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: no-preference) {
  .record-figure .record-event {
    opacity: 0;
    animation: record-event-enter .55s cubic-bezier(.16, 1, .3, 1) forwards;
  }
  .record-figure .record-event:nth-child(1) { animation-delay: .12s; }
  .record-figure .record-event:nth-child(2) { animation-delay: .22s; }
  .record-figure .record-event:nth-child(3) { animation-delay: .32s; }
  .record-figure .record-event:nth-child(4) { animation-delay: .42s; }
  .record-figure .record-event:nth-child(5) { animation-delay: .52s; }
  .record-figure .record-boundary {
    opacity: 0;
    animation: record-event-enter .62s var(--ease-enter) .68s forwards;
  }
}

.motion-ready [data-reveal] {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity .68s cubic-bezier(.16, 1, .3, 1) var(--reveal-delay, 0ms),
    transform .68s cubic-bezier(.16, 1, .3, 1) var(--reveal-delay, 0ms);
}
.motion-ready [data-reveal].is-visible { opacity: 1; transform: translateY(0); }
.motion-ready .outcome-demo[data-reveal] {
  opacity: 1;
  transform: none;
}
.motion-ready .outcome-demo[data-reveal] .outcome-demo__intro,
.motion-ready .outcome-demo[data-reveal] .outcome-manifesto span {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 680ms var(--ease-enter), transform 680ms var(--ease-enter);
}
.motion-ready .outcome-demo[data-reveal].is-visible .outcome-demo__intro,
.motion-ready .outcome-demo[data-reveal].is-visible .outcome-manifesto span {
  opacity: 1;
  transform: translateY(0);
}
.motion-ready .outcome-demo[data-reveal].is-visible .outcome-manifesto span:nth-child(1) { transition-delay: 100ms; }
.motion-ready .outcome-demo[data-reveal].is-visible .outcome-manifesto span:nth-child(2) { transition-delay: 180ms; }
.motion-ready .outcome-demo[data-reveal].is-visible .outcome-manifesto span:nth-child(3) { transition-delay: 260ms; }
.motion-ready .outcome-demo[data-reveal].is-visible .outcome-manifesto span:nth-child(4) { transition-delay: 340ms; }
.motion-ready [data-reveal] .eyebrow::before {
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .62s cubic-bezier(.16, 1, .3, 1) calc(var(--reveal-delay, 0ms) + 120ms);
}
.motion-ready [data-reveal].is-visible .eyebrow::before { transform: scaleX(1); }

.motion-ready .mechanism[data-reveal] {
  opacity: 1;
  transform: none;
}
.motion-ready .mechanism[data-reveal]::before {
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--motion-narrative) var(--ease-enter) 90ms;
}
.motion-ready .mechanism[data-reveal] .mechanism__step {
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity 520ms var(--ease-enter),
    transform 520ms var(--ease-enter);
}
.motion-ready .mechanism[data-reveal] .mechanism__number {
  transform: scale(.82);
  transition:
    background var(--motion-fast) ease,
    color var(--motion-fast) ease,
    transform 440ms var(--ease-enter);
}
.motion-ready .mechanism[data-reveal].is-visible::before { transform: scaleX(1); }
.motion-ready .mechanism[data-reveal].is-visible .mechanism__step {
  opacity: 1;
  transform: translateY(0);
}
.motion-ready .mechanism[data-reveal].is-visible .mechanism__number {
  background: var(--blue);
  color: #fff;
  transform: scale(1);
}
.motion-ready .mechanism[data-reveal].is-visible .mechanism__step:nth-child(1),
.motion-ready .mechanism[data-reveal].is-visible .mechanism__step:nth-child(1) .mechanism__number { transition-delay: 110ms; }
.motion-ready .mechanism[data-reveal].is-visible .mechanism__step:nth-child(2),
.motion-ready .mechanism[data-reveal].is-visible .mechanism__step:nth-child(2) .mechanism__number { transition-delay: 300ms; }
.motion-ready .mechanism[data-reveal].is-visible .mechanism__step:nth-child(3),
.motion-ready .mechanism[data-reveal].is-visible .mechanism__step:nth-child(3) .mechanism__number { transition-delay: 490ms; }

.motion-ready .film[data-reveal] {
  opacity: 0;
  transform: translateY(14px);
  transition:
    opacity 620ms var(--ease-enter),
    transform 620ms var(--ease-enter);
}
.motion-ready .film[data-reveal].is-visible {
  opacity: 1;
  transform: none;
}

.visibility-bar span {
  transform-origin: left;
  transition: transform var(--motion-narrative) var(--ease-enter);
}
.motion-ready .boundary-comparison[data-reveal] .visibility-bar span { transform: scaleX(0); }
.motion-ready .boundary-comparison[data-reveal].is-visible .visibility-bar span { transform: scaleX(1); }
.motion-ready .boundary-comparison[data-reveal].is-visible .boundary-comparison__half:nth-child(2) .visibility-bar span { transition-delay: 220ms; }

.motion-ready .engagement-path[data-reveal]::before {
  transform: scaleX(0);
  transition: transform 1.05s cubic-bezier(.16, 1, .3, 1) .12s;
}
.motion-ready .engagement-path[data-reveal].is-visible::before { transform: scaleX(1); }
.motion-ready .engagement-path[data-reveal] .engagement-stage {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .58s cubic-bezier(.16, 1, .3, 1), transform .58s cubic-bezier(.16, 1, .3, 1);
}
.motion-ready .engagement-path[data-reveal].is-visible .engagement-stage { opacity: 1; transform: translateY(0); }
.motion-ready .engagement-path[data-reveal].is-visible .engagement-stage:nth-child(2) { transition-delay: .09s; }
.motion-ready .engagement-path[data-reveal].is-visible .engagement-stage:nth-child(3) { transition-delay: .18s; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  [data-riso-boil] img { animation: none !important; }
  [data-riso-boil] img:not(:first-child) { opacity: 0 !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (min-width: 981px) and (max-height: 900px) {
  .home-page .hero {
    padding-top: 46px;
    padding-bottom: 54px;
  }
  .home-page .hero .display {
    font-size: clamp(64px, 5.7vw, 84px);
    line-height: .95;
  }
  .home-page .hero__grid { gap: clamp(48px, 6vw, 88px); }
  .home-page .hero .lede { margin-top: 20px; }
  .home-page .hero__actions { margin-top: 24px; }
  .home-page .hero__note { margin-top: 10px; }
  .home-page .record-figure {
    min-height: 490px;
    padding: 32px 36px;
  }
  .home-page .record-figure__top { padding-bottom: 19px; }
  .home-page .record-events { padding-top: 13px; }
  .home-page .record-event { padding: 13px 0; }
  .home-page .record-boundary {
    margin-top: 18px;
    padding: 15px 16px;
  }
}

@media (max-width: 1120px) {
  .site-nav {
    position: absolute;
    top: 68px;
    right: 0;
    left: 0;
    display: none;
    align-content: start;
    align-items: stretch;
    height: calc(100dvh - 68px);
    padding: 18px 32px 28px;
    overflow-y: auto;
    border-bottom: 1px solid var(--hair);
    background: var(--paper);
  }
  .site-nav[data-open="true"] { display: grid; }
  .site-nav a { padding: 15px 2px; border-bottom: 1px solid var(--hair); }
  .site-nav a::after { display: none; }
  .site-nav__mobile-actions {
    display: grid;
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
    gap: 10px;
    margin-top: 24px;
  }
  .site-nav__mobile-actions a {
    min-height: 48px;
    border: 1px solid var(--ink);
  }
  .site-nav__mobile-actions .button {
    padding: 12px 16px;
    background: var(--ink);
    color: #fff;
  }
  .site-nav__mobile-actions .button--quiet {
    background: transparent;
    color: var(--ink);
  }
  .editorial-copy blockquote {
    width: auto;
    margin-right: 0;
    margin-left: 0;
  }
}

@media (min-width: 981px) and (max-height: 820px) {
  .page-hero { padding-top: 60px; padding-bottom: 60px; }
  .page-hero__grid { min-height: 320px; }
  .page-hero--context { padding-top: 72px; padding-bottom: 72px; }
  .page-hero--context .page-hero__grid { min-height: 0; }
  .product-hero { padding-top: 44px; padding-bottom: 50px; }
  .industry-hero { padding-top: 44px; padding-bottom: 54px; }
  .resource-index-hero { min-height: 460px; padding-top: 60px; padding-bottom: 60px; }
  .editorial-page { padding-top: 72px; }
  .review-page { padding-top: 56px; }
  .review-copy .display { font-size: clamp(54px, 5.8vw, 76px); }
  .review-form { padding: 38px; }
}

@media (max-width: 980px) {
  .shell, .shell--narrow { width: min(100% - 40px, var(--max)); }
  .hero,
  .page-hero { padding: 64px 0 78px; }
  .hero__grid,
  .page-hero__grid,
  .section-heading,
  .reason,
  .product-stage,
  .readers,
  .mission,
  .cta,
  .deliverables { grid-template-columns: 1fr; gap: 48px; }
  .page-hero--context .page-hero__grid {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 48px;
  }
  .page-hero--context .page-hero__grid--media {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .page-hero--context {
    display: block;
    min-height: 0;
  }
  .page-hero--context .page-hero__aside { align-self: stretch; }
  .context-proof { max-width: 620px; }
  .context-riso--hero {
    justify-self: center;
    width: min(100%, 430px);
  }
  .hero__grid { align-items: start; }
  .hero-live {
    width: min(100% - 18px, 720px);
    justify-self: start;
    margin-top: 6px;
  }
  .hero-monitor {
    width: min(100% - 18px, 720px);
    justify-self: start;
    margin-top: 6px;
  }
  .outcome-demo__intro {
    margin: 0;
  }
  .outcome-chapter { min-height: 0; }
  .outcome-demo {
    grid-template-columns: 1fr;
    gap: 56px;
  }
  .outcome-demo__heading,
  .outcome-demo__intro .body-copy { grid-column: 1; }
  .outcome-demo__intro .body-copy { max-width: 46ch; }
  .outcome-panel {
    grid-template-columns: minmax(200px, .7fr) minmax(300px, 1.3fr);
    gap: 32px;
  }
  .record-figure { min-height: 520px; width: min(100% - 18px, 640px); margin: 8px 0 0; box-shadow: 16px 18px 0 var(--blue-soft); }
  .section { padding: 88px 0; }
  .section--tight { padding: 72px 0; }
  .home-page .section { padding: 112px 0; }
  .home-page .section--tight { padding: 96px 0; }
  .home-page .section--chapter { padding: 144px 0; }
  .section-heading { margin-bottom: 48px; }
  .section-heading--process {
    align-items: flex-start;
    margin-bottom: 64px;
    text-align: left;
  }
  .section-heading--process .title,
  .section-heading--process .lede { margin-left: 0; }
  .market-evidence { margin-top: 76px; }
  .market-evidence__stats {
    grid-template-columns: 1fr 1fr;
    gap: 48px;
  }
  .mechanism {
    grid-template-columns: 1fr;
    gap: 64px;
  }
  .mechanism__step,
  .mechanism__step + .mechanism__step {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(240px, .85fr);
    align-items: center;
    gap: 38px;
    padding: 0;
    border: 0;
    text-align: left;
  }
  .mechanism__step:nth-child(even) .mechanism-product { order: 2; }
  .mechanism__step:nth-child(even) .mechanism__copy { order: 1; }
  .mechanism__copy { margin-top: 0; }
  .mechanism-product { min-height: 286px; }
  .review-journey {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .review-journey__step {
    display: grid;
    grid-template-columns: 42px minmax(190px, .9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: 22px;
    padding: 26px 0;
    border-top: 1px solid rgba(28, 57, 187, .16);
    text-align: left;
  }
  .review-journey__visual { min-height: 92px; margin: 0; }
  .review-journey__visual--question { border-radius: 4px; }
  .review-journey__step > div:last-child p { margin-left: 0; }
  .review-journey__connector { display: none; }
  .product-stage { gap: 54px; }
  .home-product { gap: 54px; }
  .home-product__intro,
  .with-arkna { grid-template-columns: 1fr; gap: 48px; }
  .reason--home .reason__aside {
    align-items: flex-start;
    flex-direction: column;
    gap: 22px;
  }
  .reason--home .reason__aside a { margin-top: 0; }
  .with-arkna--benefits .outcome-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .with-arkna--benefits .outcome,
  .with-arkna--benefits .outcome:first-child,
  .with-arkna--benefits .outcome:last-child {
    padding: 28px 28px 34px;
    border-right: 1px solid var(--hair);
  }
  .with-arkna--benefits .outcome:nth-child(2n) {
    padding-right: 0;
    border-right: 0;
  }
  .with-arkna--benefits .outcome:nth-child(2n+1) { padding-left: 0; }
  .review-surface { width: min(100%, 720px); }
  .readers { gap: 44px; }
  .readers--editorial {
    grid-template-columns: 1fr;
  }
  .readers--editorial > div,
  .readers--editorial .readers__image {
    grid-column: 1;
    grid-row: auto;
  }
  .readers--editorial .readers__image {
    width: min(100%, 430px);
    margin: 0 auto;
  }
  .readers__image { width: min(100%, 430px); margin: 0 auto; }
  .boundary-map { grid-template-columns: 1fr 1fr; }
  .boundary-map__node:nth-child(3) { border-left: 0; border-top: 1px solid rgba(28, 57, 187, .28); }
  .boundary-map__node:nth-child(4) { border-top: 1px solid rgba(28, 57, 187, .28); }
  .boundary-map__node:nth-child(2)::after { display: none; }
  .product-hero__layout,
  .industry-hero__grid,
  .industry-wedge,
  .resource-index-head,
  .review-layout,
  .scope-builder,
  .story-opening__grid,
  .story-close__inner { grid-template-columns: 1fr; gap: 48px; }
  .story-hero { padding: 82px 0 96px; }
  .story-opening,
  .story-chapters,
  .story-declaration,
  .story-close { padding-top: 92px; padding-bottom: 100px; }
  .story-hero .lede { margin-left: 0; }
  .story-chapter { grid-template-columns: 70px minmax(220px, .7fr) minmax(0, 1fr); gap: 34px; }
  .resource-index-head { gap: 54px; }
  .resource-index-intro { max-width: 650px; }
  .resource-path { grid-template-columns: 48px minmax(220px, .9fr) minmax(0, 1.1fr) 28px; }
  .editorial-page { padding: 72px 0 100px; }
  .editorial-head { margin-bottom: 70px; }
  .editorial-layout { grid-template-columns: 190px minmax(0, 1fr); gap: 58px; }
  .editorial-copy blockquote { width: auto; margin-right: 0; margin-left: 0; }
  .review-copy { position: static; }
  .scope-result { border-top: 3px solid var(--blue-bright); border-left: 0; }
  .product-console { grid-template-columns: 190px minmax(0, 1fr); }
  .product-hero { min-height: 0; padding: 72px 0 84px; }
  .product-hero--film .product-hero__layout {
    grid-template-columns: 1fr;
    gap: 54px;
  }
  .product-hero__copy .display { max-width: 11ch; }
  .product-answer {
    width: min(100%, 680px);
    max-width: none;
    justify-self: start;
  }
  .film__frame { box-shadow: 12px 14px 0 var(--blue-soft); }
  .product-outcome-list { grid-template-columns: 1fr; }
  .product-outcome-list article,
  .product-outcome-list article + article {
    display: grid;
    grid-template-columns: 56px minmax(220px, .9fr) minmax(0, 1.1fr);
    gap: 24px;
    min-height: 0;
    padding: 30px 0;
    border-left: 0;
  }
  .product-outcome-list h3,
  .product-outcome-list p { margin: 0; }
  .console-detail {
    display: block;
    grid-column: 1 / -1;
    border-top: 1px solid var(--hair);
    border-left: 0;
  }
  .console-timeline {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
    padding: 22px;
  }
  .console-timeline::before { display: none; }
  .console-event { min-width: 0; padding: 20px 0 0; }
  .console-event::before { top: 0; left: 0; }
  .console-export { margin-top: 0; }
  .split-feature { grid-template-columns: 1fr; }
  .split-feature__item,
  .split-feature__item + .split-feature__item { min-height: auto; padding: 40px 38px 44px; border-left: 1px solid rgba(28, 57, 187, .16); }
  .split-feature__item h3 { margin-top: 70px; }
  .industry-wedge__map { border-top: 1px solid var(--hair); border-left: 0; }
  .sector { grid-template-columns: 180px 1fr; }
  .sector__detail { grid-column: 2; }
  .crosswalk-tabs { grid-template-columns: repeat(3, 1fr); }
  .crosswalk-tab:nth-child(3) { border-right: 0; }
  .crosswalk-tab:nth-child(n+4) { border-top: 1px solid var(--hair); }
}

@media (max-width: 640px) {
  .shell, .shell--narrow { width: min(100% - 32px, var(--max)); }
  .display { font-size: clamp(44px, 12vw, 58px); }
  .page-hero--context .display { font-size: clamp(46px, 11.6vw, 48px); }
  .page-hero__copy .lede {
    margin-top: 24px;
  }
  .context-riso--hero {
    width: min(100%, 340px);
    margin-top: 2px;
  }
  .context-boundary {
    grid-template-columns: minmax(0, 1fr) 118px;
    min-height: 172px;
  }
  .context-boundary__sources {
    gap: 7px;
    padding: 14px;
  }
  .context-boundary__sources span {
    padding: 8px 6px;
    font-size: 9px;
  }
  .title { font-size: clamp(36px, 10vw, 46px); }
  .hero { padding-top: 48px; }
  .home-page .hero { padding-top: 48px; padding-bottom: 68px; }
  .home-page .section { padding: 96px 0; }
  .home-page .section--tight { padding: 80px 0; }
  .home-page .section--chapter { padding: 120px 0; }
  .site-nav { padding-right: 16px; padding-left: 16px; }
  .site-nav__mobile-actions { grid-template-columns: 1fr; }
  .hero__actions { align-items: stretch; flex-direction: column; }
  .hero__actions .button { width: 100%; }
  .hero-live { width: calc(100% - 10px); box-shadow: 10px 12px 0 var(--blue-soft); }
  .hero-monitor { width: calc(100% - 10px); box-shadow: 10px 12px 0 var(--blue-soft); }
  .hero-monitor__header { align-items: flex-start; min-height: 64px; }
  .hero-monitor__header > div { align-items: flex-start; flex-direction: column; gap: 4px; }
  .hero-monitor__metrics > div { padding: 12px 10px; }
  .hero-monitor__metrics span { min-height: 22px; font-size: 7px; line-height: 1.35; }
  .hero-monitor__heading { display: none; }
  .hero-monitor__runs > li {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    min-height: 78px;
    padding: 13px 14px;
  }
  .hero-monitor__runs > li > span:nth-child(2) { display: none; }
  .hero-monitor__feed { padding-right: 14px; padding-left: 14px; }
  .hero-live__header {
    align-items: flex-start;
    min-height: 62px;
  }
  .hero-live__header > div { align-items: flex-start; flex-direction: column; gap: 4px; }
  .hero-live__metrics > div { padding: 12px 10px; }
  .hero-live__metrics span { min-height: 22px; font-size: 7px; line-height: 1.4; }
  .hero-live__workspace { grid-template-columns: 1fr; }
  .hero-live__stream { padding-right: 14px; padding-left: 14px; }
  .hero-live__events::before { left: 66px; }
  .hero-live__event { grid-template-columns: 49px 14px minmax(0, 1fr); }
  .hero-live__review {
    min-height: 300px;
    border-top: 1px solid rgba(28, 57, 187, .18);
    border-left: 0;
  }
  .hero-live[data-live-step="2"] .hero-live__review {
    box-shadow: inset 0 3px 0 var(--blue-bright);
  }
  .outcome-tabs { grid-template-columns: 1fr 1fr; }
  .outcome-manifesto {
    grid-template-columns: 1fr;
    margin-top: 0;
    padding: 0;
  }
  .outcome-manifesto span {
    min-height: 0;
    padding: 12px 2px 14px;
    border-right: 0;
    font-size: clamp(44px, 11vw, 68px);
    text-align: left;
  }
  .outcome-tab:nth-child(2) { border-right: 0; }
  .outcome-tab:nth-child(-n+2) { border-bottom: 1px solid rgba(28, 57, 187, .16); }
  .outcome-panel {
    grid-template-columns: 1fr;
    gap: 34px;
    min-height: 0;
    padding-top: 42px;
  }
  .outcome-panel__copy h3 { max-width: 12ch; }
  .outcome-panel__surface { box-shadow: 9px 10px 0 rgba(79, 107, 255, .14); }
  .outcome-visual { min-height: 0; }
  .outcome-live__row { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
  .outcome-live__row > span:nth-child(2) { display: none; }
  .outcome-visual--decision { grid-template-columns: 1fr; gap: 22px; padding: 10px 0; }
  .outcome-decision__line { display: none; }
  .outcome-decision__answer { grid-column: 1; }
  .outcome-visual--trust { grid-template-columns: 1fr; }
  .outcome-visual--trust > div { min-height: 180px; padding: 26px 20px; }
  .outcome-visual--trust > div + div { border-top: 1px solid rgba(28, 57, 187, .18); border-left: 0; }
  .outcome-visual--trust > div strong { margin-top: 28px; }
  .outcome-visual--people header { align-items: flex-start; flex-direction: column; gap: 6px; }
  .outcome-visual--people > div { grid-template-columns: 38px minmax(0, 1fr) auto; gap: 10px; }
  .record-figure { min-height: 0; padding: 24px 20px; box-shadow: 10px 12px 0 var(--blue-soft); }
  .record-event { grid-template-columns: 48px 1fr; }
  .record-event__source { display: none; }
  .reason__statement { font-size: clamp(42px, 12vw, 52px); }
  .market-evidence { margin-top: 64px; }
  .market-evidence__stats { grid-template-columns: 1fr; gap: 0; }
  .market-evidence__stat {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 18px;
    padding: 22px 0;
    border-top: 1px solid rgba(28, 57, 187, .18);
  }
  .market-evidence__stat:first-child { padding-top: 0; border-top: 0; }
  .market-evidence__stat + .market-evidence__stat {
    padding-left: 0;
    border-left: 0;
  }
  .market-evidence__stat dt { font-size: 40px; }
  .market-evidence__stat dd { margin-top: 0; }
  .section-heading--process .title { font-size: clamp(36px, 10vw, 44px); }
  .mechanism { gap: 72px; }
  .mechanism__step,
  .mechanism__step + .mechanism__step { display: block; padding: 0; }
  .mechanism__step:nth-child(even) .mechanism-product,
  .mechanism__step:nth-child(even) .mechanism__copy { order: initial; }
  .mechanism-product { min-height: 278px; }
  .mechanism__copy { margin-top: 26px; }
  .mechanism__number { width: 32px; height: 32px; font-size: 9px; }
  .review-journey__step {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 16px;
    padding: 30px 0;
  }
  .review-journey__number { align-self: start; grid-row: 1 / span 2; }
  .review-journey__visual { grid-column: 2; min-height: 82px; justify-content: flex-start; }
  .review-journey__step > div:last-child { grid-column: 2; }
  .review-journey__visual--question { padding: 18px; text-align: center; }
  .review-journey__visual--people { align-items: flex-start; flex-direction: column; gap: 12px; }
  .product-stage { grid-template-columns: 1fr; }
  .home-product__intro { grid-template-columns: 1fr; gap: 40px; }
  .home-product__actions { align-items: stretch; flex-direction: column; }
  .home-product__actions .button { width: 100%; }
  .home-product .product-console { min-height: 0; box-shadow: 10px 12px 0 rgba(79, 107, 255, .14); }
  .product-swap__views { display: none; }
  .product-swap__stage { display: grid; grid-template-columns: 1fr; gap: 40px; }
  .product-swap__stage > * { grid-area: auto; }
  .product-swap[data-view] .film,
  .product-swap[data-view] .product-console {
    opacity: 1;
    transform: none;
    filter: none;
    pointer-events: auto;
  }
  .product-swap .film__frame { box-shadow: 8px 10px 0 rgba(79, 107, 255, .16); }
  /* Nothing morphs here, so the letterbox is the only thing telling the reader
     the second panel is a film and not another screenshot. */
  .product-swap .film__frame::before,
  .product-swap .film__frame::after { transform: scaleY(1); }
  .console-timeline { grid-template-columns: 1fr; gap: 0; padding: 22px 20px 4px 44px; }
  .console-event { padding: 0 0 23px; }
  .console-event::before { top: 2px; left: -21px; }
  .with-arkna { gap: 54px; }
  .with-arkna__title { font-size: clamp(58px, 18vw, 82px); }
  .with-arkna--benefits .with-arkna__title { margin-bottom: 54px; }
  .with-arkna--benefits .outcome-list { grid-template-columns: 1fr; }
  .with-arkna--benefits .outcome,
  .with-arkna--benefits .outcome:first-child,
  .with-arkna--benefits .outcome:last-child,
  .with-arkna--benefits .outcome:nth-child(2n),
  .with-arkna--benefits .outcome:nth-child(2n+1) {
    min-height: 0;
    padding: 28px 0 32px;
    border-right: 0;
  }
  .with-arkna--benefits .outcome h3 { margin-top: 42px; }
  .outcome { grid-template-columns: 28px 1fr; gap: 12px; }
  .outcome p { grid-column: 2; }
  .review-surface { box-shadow: 10px 12px 0 rgba(79, 107, 255, .14); }
  .product-answer { box-shadow: 10px 12px 0 var(--blue-soft); }
  .product-answer__top {
    align-items: flex-start;
    padding: 18px 20px;
  }
  .product-answer__question { padding: 24px 20px 22px; }
  .product-answer__response { margin: 0 20px; padding: 19px 18px 20px; }
  .product-answer__facts { margin-right: 20px; margin-left: 20px; }
  .product-answer__facts div {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 13px 0;
  }
  .product-answer__foot {
    align-items: flex-start;
    flex-direction: column;
    gap: 9px;
    padding: 16px 20px;
  }
  .review-surface__top { align-items: flex-start; }
  .review-brief { padding-right: 20px; padding-left: 20px; }
  .review-brief__item { grid-template-columns: 28px minmax(0, 1fr); gap: 12px; }
  .review-brief__source { grid-column: 2; margin-top: -8px; }
  .sequence-figure { padding: 20px; box-shadow: 9px 10px 0 rgba(79, 107, 255, .13); }
  .sequence-figure__head { align-items: flex-start; flex-direction: column; gap: 4px; }
  .sequence-figure__events::before { left: 68px; }
  .sequence-figure__events li { grid-template-columns: 54px 12px minmax(0, 1fr); gap: 10px; padding-right: 6px; padding-left: 6px; }
  .sequence-figure__foot { align-items: flex-start; flex-direction: column; gap: 6px; }
  .reader { grid-template-columns: 1fr; gap: 5px; }
  .mission > * { min-width: 0; }
  .mission blockquote { overflow-wrap: anywhere; }
  .cta .button { width: 100%; }
  .site-footer__top { grid-template-columns: 1fr; align-items: start; gap: 38px; padding-bottom: 38px; }
  .site-footer__top > div:last-child { justify-self: start; }
  .site-footer__links { justify-content: start; gap: 14px 42px; }
  .site-footer__links a { justify-self: start; text-align: left; }
  .site-footer__bottom { align-items: flex-start; flex-direction: column; }
  .about-company { grid-template-columns: 1fr; gap: 56px; }
  .journey::before { left: 21px; }
  .journey__step { grid-template-columns: 44px 1fr; gap: 18px; }
  .journey__number { width: 44px; height: 44px; }
  .journey__step p { grid-column: 2; margin-top: -18px; }
  .deliverable { grid-template-columns: 1fr; gap: 7px; }
  .boundary-map { grid-template-columns: 1fr; }
  .boundary-map__node + .boundary-map__node { border-top: 1px solid rgba(28, 57, 187, .28); border-left: 0; }
  .boundary-map__node::after { display: none; }
  .truth-pair { grid-template-columns: 1fr; }
  .truth-pair__item { min-height: 300px; padding: 34px 26px; }
  .truth-pair__item h3 { margin-top: 54px; }
  .engagement-path { grid-template-columns: 1fr; gap: 12px; border: 0; background: transparent; }
  .engagement-path::before { display: none; }
  .engagement-stage { min-height: 0; padding: 28px 24px 30px; border: 1px solid rgba(28, 57, 187, .22); }
  .engagement-stage + .engagement-stage { border-left: 1px solid rgba(28, 57, 187, .22); }
  .engagement-stage h3 { margin: 34px 0 14px; font-size: 28px; }
  .engagement-stage p { max-width: none; }
  .engagement-stage__outcome { margin-top: 32px; }
  .status-table {
    display: block;
    width: 100%;
    overflow: visible;
    border-top: 2px solid var(--ink);
  }
  .status-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .status-table tbody { display: block; }
  .status-table tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px 18px;
    padding: 22px 0 24px;
    border-bottom: 1px solid var(--hair);
  }
  .status-table td,
  .status-table td:first-child {
    width: auto;
    min-width: 0;
    padding: 0;
    border: 0;
  }
  .status-table td:first-child {
    align-self: center;
    font-size: 17px;
    line-height: 1.3;
  }
  .status-table td:nth-child(2) {
    align-self: start;
    justify-self: end;
  }
  .status-table td:nth-child(3) {
    grid-column: 1 / -1;
    color: var(--ink-2);
    font-size: 15px;
    line-height: 1.55;
  }
  .status-table td:nth-child(3)::before {
    display: block;
    margin-bottom: 7px;
    color: var(--ink-3);
    content: "Public position";
    font-family: "IBM Plex Mono", monospace;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .03em;
  }
  .product-hero { padding-top: 56px; padding-bottom: 72px; }
  .product-hero__actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .film__frame { box-shadow: 8px 10px 0 var(--blue-soft); }
  .film__ignite-mark { width: 56px; height: 56px; }
  .film__controls { gap: 8px; padding: 26px 10px 10px; }
  .film__time { display: none; }
  .film__volume:hover .film__volume-slider,
  .film__volume:focus-within .film__volume-slider { width: 56px; }
  .product-outcomes { padding-top: 88px; }
  .product-outcome-list { margin-top: 54px; }
  .product-outcome-list article,
  .product-outcome-list article + article { display: block; padding: 28px 0 32px; }
  .product-outcome-list h3 { margin: 38px 0 14px; font-size: 27px; }
  .product-console { grid-template-columns: 1fr; min-height: 0; }
  .console-sidebar { display: none; }
  .console-main__top,
  .console-summary,
  .console-run-head,
  .console-run { min-width: 0; }
  .console-summary { grid-template-columns: 1fr 1fr; }
  .console-stat:nth-child(3) { display: none; }
  .console-run-head,
  .console-run { grid-template-columns: 1.35fr .65fr; }
  .console-run-head span:nth-child(n+3),
  .console-run > span:nth-child(n+3) { display: none; }
  .capture-line { grid-template-columns: 1fr; gap: 10px; }
  .boundary-comparison { box-shadow: 10px 12px 0 var(--blue-soft); }
  .industry-wedge__copy { padding: 34px 26px; }
  .industry-wedge__copy h2 { margin-top: 64px; }
  .wedge-row { grid-template-columns: 1fr; gap: 7px; }
  .sector { grid-template-columns: 1fr; gap: 14px; }
  .sector__detail { grid-column: auto; }
  .crosswalk-tabs { grid-template-columns: 1fr 1fr; }
  .crosswalk-tab { min-height: 100px; border-top: 1px solid var(--hair); }
  .crosswalk-tab:nth-child(odd) { border-right: 1px solid var(--hair); }
  .crosswalk-tab:nth-child(even) { border-right: 0; }
  .crosswalk-tab:first-child,
  .crosswalk-tab:nth-child(2) { border-top: 0; }
  .crosswalk-panel { grid-template-columns: 1fr; }
  .crosswalk-panel__side { min-height: 230px; padding: 28px; }
  .crosswalk-panel__side h3 { max-width: 100%; margin-top: 44px; font-size: 24px; }
  .crosswalk-source { align-items: flex-start; }
  .page-hero--about { min-height: 0; padding: 64px 0 78px; }
  .page-hero--about .display { font-size: clamp(46px, 13vw, 62px); }
  .resource-index-hero { min-height: 0; padding: 72px 0 64px; }
  .resource-index-list { padding-bottom: 72px; }
  .resource-index-head { gap: 44px; }
  .resource-index-head .display { font-size: clamp(46px, 13vw, 62px); }
  .resource-paths { margin-top: 0; }
  .resource-path {
    grid-template-columns: 36px minmax(0, 1fr) 24px;
    gap: 14px 18px;
    padding: 24px 0 26px;
  }
  .resource-path:hover { padding-right: 0; padding-left: 0; }
  .resource-path strong { font-size: 21px; }
  .resource-path > span:nth-child(3) { grid-column: 2 / 4; font-size: 15px; }
  .resource-path__arrow {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
  }
  .story-chapter { grid-template-columns: 1fr; gap: 18px; padding: 48px 0 56px; }
  .story-chapter h2 { max-width: 12ch; }
  .story-opening__copy p,
  .story-chapter__copy p,
  .story-declaration p,
  .story-close p { font-size: 17px; }
  .editorial-layout { grid-template-columns: 1fr; gap: 36px; }
  .editorial-layout--single { gap: 0; }
  .editorial-rail { position: static; }
  .editorial-head .display,
  .editorial-head--essay .display { font-size: clamp(46px, 13vw, 62px); }
  .editorial-meta { gap: 8px 14px; margin-top: 26px; }
  .editorial-copy blockquote { width: auto; margin-right: 0; margin-left: 0; }
  .editorial-copy p { font-size: 17px; }
  .editorial-copy > p:first-child { font-size: 24px; }
  .editorial-copy h2 { margin-top: 58px; font-size: 34px; }
  .editorial-copy blockquote { margin-top: 58px; margin-bottom: 68px; padding: 36px 28px 40px; box-shadow: 10px 12px 0 var(--blue-soft); }
  .editorial-copy blockquote::before { margin-bottom: 40px; }
  .review-page { padding-top: 54px; }
  .review-jump {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
    color: var(--blue);
    font-size: 14px;
    font-weight: 600;
  }
  .review-form { padding: 30px 22px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .scope-controls,
  .scope-result { padding: 30px 22px; }
}

/* What Arkna does: outcome first, mechanism underneath. */
.work-page { background: var(--paper); }
.work-page .site-header {
  border-bottom-color: transparent;
  background: var(--blue-soft);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transition:
    transform var(--motion-medium) var(--ease-standard),
    box-shadow var(--motion-fast) ease,
    background-color var(--motion-fast) ease,
    border-color var(--motion-fast) ease;
}
.work-page .site-header[data-scrolled="true"] {
  border-bottom-color: rgba(229, 231, 235, .9);
  background: rgba(247, 248, 249, .9);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
}
.work-hero {
  display: flex;
  min-height: calc(100vh - 69px);
  min-height: calc(100svh - 69px);
  align-items: center;
  padding: clamp(56px, 7vh, 86px) 0;
  background: var(--blue-soft);
}
.work-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
  gap: clamp(56px, 7vw, 112px);
  align-items: center;
}
.work-hero__copy h1 {
  max-width: 11.5ch;
  margin: 0;
  font-size: clamp(60px, 6.2vw, 94px);
  font-weight: 600;
  line-height: .98;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.work-hero__copy > p:last-child {
  max-width: 34ch;
  margin: 32px 0 0;
  color: var(--ink-2);
  font-size: clamp(19px, 1.65vw, 24px);
  line-height: 1.5;
}
.work-hero__visual {
  display: grid;
  width: 100%;
  min-height: clamp(340px, 42vw, 560px);
  margin: 0;
  place-items: center;
}
.work-hero__visual img {
  display: block;
  width: min(100%, 520px);
  height: auto;
}
.work-problem { padding: clamp(88px, 11vw, 160px) 0; background: var(--ink); color: #fff; }
.work-problem__grid,
.work-fieldwork__card {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
  gap: clamp(54px, 9vw, 150px);
  align-items: start;
}
.work-problem h2 {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(44px, 5.3vw, 76px);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -.05em;
}
.work-problem__grid > div { padding-top: 8px; }
.work-problem p {
  margin: 0 0 1.25em;
  font-size: clamp(18px, 1.5vw, 21px);
  line-height: 1.68;
}
.work-problem p { color: rgba(255,255,255,.72); }
.work-problem p:last-child { margin-bottom: 0; }
.work-benefits { padding: clamp(96px, 12vw, 172px) 0 clamp(72px, 8vw, 112px); }
.work-section-head { max-width: 930px; }
.work-section-head h2 {
  max-width: 14ch;
  margin: 0;
  font-size: clamp(48px, 6.1vw, 84px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.052em;
}
.work-record {
  margin-top: clamp(64px, 8vw, 104px);
  border-bottom: 1px solid var(--ink);
  overflow-anchor: none;
}
.work-record__item {
  display: grid;
  grid-template-columns: minmax(112px, .75fr) minmax(230px, 1.4fr) minmax(0, 3.85fr);
  min-height: 278px;
  border-top: 1px solid var(--ink);
}
.work-record__label {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 34px 22px 30px 0;
  transition: color var(--motion-fast) ease;
}
.work-record__label span {
  color: var(--blue);
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 600;
}
.work-record__label strong {
  max-width: 12ch;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.25;
}
.work-record__item.is-open .work-record__label { color: var(--blue); }
.work-record__visual {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 278px;
  place-items: center;
  overflow: visible;
  border: 0;
  border-right: 1px solid var(--hair);
  border-left: 1px solid var(--hair);
  background: transparent;
  cursor: pointer;
}
.work-record__object,
.work-record__cube {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
}
.work-record__object {
  z-index: 1;
  opacity: 0;
  transform: translateY(14px) scale(.94);
  transform-origin: center bottom;
}
.work-record__object img {
  width: min(78%, 230px);
  height: 216px;
  object-fit: contain;
}
.work-record__item:nth-child(2) .work-record__object img { width: min(88%, 252px); }
.work-record__item:nth-child(3) .work-record__object img { width: min(72%, 210px); }
.work-record__item:nth-child(4) .work-record__object img,
.work-record__item:nth-child(5) .work-record__object img { width: min(68%, 196px); }
.work-record__cube {
  z-index: 2;
  background: var(--paper);
  opacity: 1;
  transform-origin: center 58%;
}
.work-record__cube img {
  width: min(66%, 176px);
  height: auto;
  filter: saturate(.92);
  transition: filter var(--motion-fast) ease, transform var(--motion-fast) var(--ease-standard);
}
.work-record__burst {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  width: min(124%, 292px);
  height: auto;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -50%) scale(.45);
}
.work-record__visual:hover .work-record__cube img { filter: saturate(1.08) brightness(1.06); transform: translateY(-4px); }
.work-record__visual:focus-visible { outline: 3px solid var(--blue-bright); outline-offset: -6px; }
.work-record__item.is-open .work-record__cube { visibility: hidden; opacity: 0; }
.work-record__item.is-open .work-record__object { opacity: 1; transform: translateY(0) scale(1); }
.work-record__item.is-opening .work-record__cube { animation: record-seal-release 360ms var(--ease-enter) forwards; }
.work-record__item.is-opening .work-record__burst { animation: record-burst-release 390ms ease-out forwards; }
.work-record__item.is-opening .work-record__object { animation: record-object-reveal 430ms var(--ease-enter) forwards; }
.work-record__copy {
  align-self: center;
  padding: 46px 0 46px clamp(44px, 5vw, 76px);
}
.work-record__copy h3 {
  max-width: 16ch;
  margin: 0;
  font-size: clamp(32px, 3.25vw, 48px);
  font-weight: 600;
  letter-spacing: -.045em;
  line-height: 1;
}
.work-record__copy p {
  max-width: 650px;
  margin: 24px 0 0;
  color: var(--ink-2);
  font-size: clamp(17px, 1.45vw, 20px);
  line-height: 1.58;
}
@keyframes record-seal-release {
  0% { background: var(--paper); opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
  18% { background: var(--paper); opacity: 1; transform: translateY(2px) scale(.965); filter: blur(0); }
  42% { background: var(--paper); opacity: .88; transform: translateY(-3px) scale(1.015); filter: blur(.2px); }
  100% { background: var(--paper); opacity: 0; transform: translateY(-13px) scale(.86); filter: blur(2px); }
}
@keyframes record-burst-release {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.42) rotate(-3deg); }
  25% { opacity: .96; }
  72% { opacity: .55; }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(1.12) rotate(2deg); }
}
@keyframes record-object-reveal {
  0%, 18% { opacity: 0; transform: translateY(16px) scale(.93); }
  64% { opacity: 1; transform: translateY(-4px) scale(1.015); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
.work-fieldwork { padding: 0 0 clamp(72px, 8vw, 112px); }
.work-fieldwork__card {
  padding: clamp(48px, 6vw, 76px) 0;
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid var(--hair-strong);
}
.work-fieldwork__card > h2 {
  max-width: 16ch;
  margin: 0;
  font-size: clamp(38px, 4.7vw, 62px);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -.05em;
}
.work-fieldwork__copy > p { max-width: 58ch; margin: 0; color: var(--ink-2); font-size: 17px; line-height: 1.65; }
.work-fieldwork .text-link { margin-top: 32px; }

@media (max-width: 980px) {
  .work-problem__grid,
  .work-fieldwork__card { grid-template-columns: 1fr; }
  .work-hero__grid { grid-template-columns: minmax(0, 1.06fr) minmax(240px, .94fr); }
  .work-hero { min-height: calc(100svh - 69px); }
  .work-hero__grid { gap: clamp(34px, 5vh, 54px); }
  .work-hero__copy h1 { max-width: 12ch; }
  .work-hero__visual { min-height: 0; }
  .work-hero__visual img { width: min(36vw, 340px); }
  .work-problem__grid { gap: 42px; }
  .work-fieldwork__card { gap: 34px; }
  .work-record__item { grid-template-columns: minmax(92px, .65fr) minmax(190px, 1.25fr) minmax(0, 3fr); }
  .work-record__label { padding-right: 16px; }
  .work-record__copy { padding-left: clamp(30px, 4vw, 46px); }
}

@media (max-width: 680px) {
  .work-hero { padding: clamp(28px, 5vh, 44px) 0; }
  .work-hero__grid { grid-template-columns: 1fr; }
  .work-hero__grid { gap: clamp(18px, 3.5vh, 28px); }
  .work-hero__copy h1 { font-size: clamp(44px, 12vw, 58px); }
  .work-hero__copy > p:last-child { margin-top: 20px; font-size: 17px; line-height: 1.48; }
  .work-hero__visual img { width: min(56vw, 220px); }
  .work-hero__copy h1,
  .work-section-head h2,
  .work-fieldwork__card > h2 { letter-spacing: -.045em; }
  .work-record__item { grid-template-columns: 1fr; min-height: 0; }
  .work-record__label { align-items: baseline; flex-direction: row; gap: 18px; padding: 24px 0 18px; }
  .work-record__label strong { max-width: none; font-size: 15px; }
  .work-record__visual { grid-column: 1; min-height: 218px; border-top: 1px solid var(--hair); border-right: 0; border-left: 0; }
  .work-record__object img { height: 176px; }
  .work-record__cube img { width: min(58%, 148px); }
  .work-record__copy { grid-column: 1; padding: 30px 0 42px; }
  .work-record__copy h3 { max-width: 14ch; font-size: clamp(30px, 9vw, 40px); }
  .work-record__copy p { margin-top: 18px; font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .work-record__item.is-opening .work-record__cube,
  .work-record__item.is-opening .work-record__burst,
  .work-record__item.is-opening .work-record__object { animation-duration: 1ms; }
}

/* ==========================================================================
   Home: full-bleed hero, then the letter
   The page uses the site's own paper and ink. An earlier pass gave it warm
   cream tokens, which made the one page a reader lands on the only page that
   did not look like the rest of the site.
   ========================================================================== */

/* Ink, not paper: with no footer the page ends on the photograph, and overscroll
   past the bottom should read as more image rather than a white shelf. */
.letter-page { background: var(--ink); }
.letter-page::before { display: none; }

/* Header sits over the hero image until the letter comes up under it. */
.letter-page .site-header {
  border-bottom-color: transparent;
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.letter-page .site-header .brand__word,
.letter-page .site-header__link { color: rgba(255, 255, 255, .82); }
.letter-page .site-header .brand__mark i { background: #fff; }
.letter-page .site-header .brand__mark i:last-child { background: var(--blue); }
.letter-page .site-header .button--quiet {
  border-color: rgba(255, 255, 255, .45);
  color: #fff;
}
.letter-page .site-header .button:not(.button--quiet) {
  border-color: #fff;
  background: #fff;
  color: var(--ink);
}
.letter-page .menu-button { border-color: rgba(255, 255, 255, .45); background: transparent; color: #fff; }

.letter-page .site-header[data-scrolled="true"] {
  border-bottom-color: rgba(229, 231, 235, .9);
  background: rgba(247, 248, 249, .9);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
}
.letter-page .site-header[data-scrolled="true"] .brand__word { color: var(--ink); }
.letter-page .site-header[data-scrolled="true"] .site-header__link { color: var(--ink-2); }
.letter-page .site-header[data-scrolled="true"] .brand__mark i { background: var(--ink); }
.letter-page .site-header[data-scrolled="true"] .brand__mark i:last-child { background: var(--blue); }
.letter-page .site-header[data-scrolled="true"] .button--quiet {
  border-color: rgba(11, 11, 13, .2);
  color: var(--ink);
}
.letter-page .site-header[data-scrolled="true"] .button:not(.button--quiet) {
  border-color: var(--ink);
  background: var(--ink);
  color: #fff;
}
.letter-page .site-header[data-scrolled="true"] .menu-button {
  border-color: rgba(11, 11, 13, .2);
  background: #fff;
  color: var(--ink);
}

/* The hero pulls up under the sticky header so the image starts at the top, and
   stays pinned while the letter travels up over it. The image is never scrolled
   away, so the letter reads as a sheet laid over the photograph. */
.home-hero {
  position: sticky;
  z-index: 0;
  top: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100vh;
  height: 100svh;
  margin-top: calc(var(--header-h, 68px) * -1);
  padding: 0 24px;
  overflow: hidden;
  background: var(--ink);
  text-align: center;
}
.home-hero__media {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home-hero::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 11, 13, .2) 0%, rgba(11, 11, 13, .05) 42%, rgba(11, 11, 13, .44) 100%);
  content: "";
}
.home-hero__lockup {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: clamp(14px, 1.6vw, 22px);
  color: #fff;
  font-family: "Schibsted Grotesk", sans-serif;
  font-size: clamp(46px, 7vw, 92px);
  font-weight: 700;
  letter-spacing: -.03em;
  line-height: 1;
}
.home-hero__lockup .brand__mark {
  grid-template: repeat(2, .42em) / repeat(2, .42em);
  gap: .08em;
}
.home-hero__lockup .brand__mark i { border-radius: .1em; background: #fff; }
.home-hero__lockup .brand__mark i:last-child { background: var(--blue); }
.home-hero__cue {
  position: absolute;
  z-index: 2;
  bottom: clamp(28px, 5vh, 56px);
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
}
.home-hero__cue:hover { color: #fff; }
.home-hero__cue span { transition: transform .2s ease; }
.home-hero__cue:hover span { transform: translateY(2px); }

/* --hero-travel runs 0 to 1 across the first screen of scroll (set in site.js).
   The lockup recedes as the sheet rises, so the two never fight for the eye. */
@media (prefers-reduced-motion: no-preference) {
  /* The lockup holds until the sheet is about to reach it, then clears in the
     last stretch, so it is never left half-visible behind the paper. */
  .home-hero__lockup {
    opacity: calc((.8 - var(--hero-travel, 0)) * 5);
    transform: translateY(calc(var(--hero-travel, 0) * -34px));
  }
  .home-hero__cue { opacity: calc(1 - var(--hero-travel, 0) * 3); }
  .home-hero__media {
    transform: scale(calc(1 + var(--hero-travel, 0) * .06));
    animation: hero-settle 1.4s ease both;
  }
  @keyframes hero-settle { from { opacity: 0; } to { opacity: 1; } }
}

/* The page has no footer. It ends on a run of the photograph the sheet was laid
   over, so the last thing the reader sees is the image they arrived on. */
.letter-outro { height: clamp(150px, 28vh, 300px); }

/* One quiet doorway off the letter. Grey and underlined, so it reads as a
   footnote to the argument rather than a second call after the button. */
.letter__more {
  display: inline-block;
  margin-top: clamp(30px, 4vw, 44px);
  color: var(--ink-3);
  font-family: "Schibsted Grotesk", sans-serif;
  font-size: 14px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.letter__more:hover { color: var(--ink); }

/* The sheet is narrower than the viewport so the pinned photograph stays visible
   down both edges as the letter travels up over it. */
.letter {
  position: relative;
  z-index: 1;
  max-width: 1140px;
  margin: 0 auto;
  padding: clamp(60px, 9vw, 120px) clamp(20px, 5vw, 46px) clamp(56px, 8vw, 104px);
  background: var(--paper);
  box-shadow: 0 -40px 90px rgba(11, 11, 13, .38), 0 40px 90px rgba(11, 11, 13, .38);
}
.letter__paper {
  max-width: 720px;
  margin: 0 auto;
  color: var(--ink);
  font-family: "Newsreader", Georgia, "Times New Roman", serif;
}

.letter__title {
  margin: 0;
  font-family: "Newsreader", Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 5vw, 60px);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -.012em;
}

.letter__standfirst {
  max-width: 30ch;
  margin: clamp(18px, 2.4vw, 26px) 0 0;
  font-family: "Newsreader", Georgia, "Times New Roman", serif;
  font-size: clamp(20px, 2vw, 27px);
  font-weight: 400;
  line-height: 1.34;
  letter-spacing: -.005em;
  color: var(--ink-2);
}

.letter__rule { height: 1px; margin: clamp(20px, 3vw, 32px) 0 0; background: var(--ink); }

.letter__body {
  padding: clamp(26px, 3.4vw, 40px) 0 0;
  font-size: clamp(18px, 1.4vw, 20.5px);
  line-height: 1.66;
  color: var(--ink-2);
}
.letter__body p { margin: 0 0 1.35em; }
.letter__body p:last-child { margin-bottom: 0; }

.letter__sign {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
  padding: clamp(28px, 4vw, 44px) 0 0;
}
.letter__sign .letter__more { margin-top: 0; }
.letter__ask {
  max-width: 46ch;
  margin: 0;
  font-size: clamp(18px, 1.4vw, 20.5px);
  line-height: 1.6;
  color: var(--ink);
}
.letter__cta {
  flex: none;
  font-family: "Schibsted Grotesk", sans-serif;
}

@media (max-width: 640px) {
  .letter__sign { display: block; }
  .letter__sign .letter__more { display: inline-block; }
  .letter__cta { display: flex; margin-top: 22px; }
}

/* Research signup. Shared by /research, /adm-2026 and /five-questions.
   Lived inline in research/index.html until 2026-08-17, which left the same
   markup unstyled on the two newer pages. One copy, here. */
  .rnotify{padding:clamp(64px,8vw,96px) 0;border-top:1px solid var(--hair)}
.rnotify__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,460px);
 align-items:start;gap:clamp(40px,7vw,96px)}
.rnotify h2{font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:-.025em;margin:0 0 14px;font-weight:600}
.rnotify p{color:var(--ink-2);font-size:17px;line-height:1.55;max-width:46ch;margin:0}
.rnotify label{display:block;margin-bottom:10px;font-size:14px;font-weight:600}
  .rnotify__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.rnotify input{width:100%;min-height:48px;padding:11px 14px;border:1px solid #aeb3bb;border-radius:6px;
 background:#fff;color:var(--ink);font:inherit}
.rnotify input:focus-visible{outline:3px solid var(--focus, var(--blue));outline-offset:2px;border-color:var(--ink)}
.rnotify .form-status{margin:14px 0 0}
.rnotify__label--gap{margin-top:14px}
.rnotify [data-signup-row][hidden]{display:none}
@media (max-width:720px){
  .rnotify__grid{grid-template-columns:1fr}
  .rnotify__row{grid-template-columns:1fr}
  .rnotify__row .button{width:100%}
}

/* Reference documents. One measure, centred on the page.
   Earlier these pushed the copy grid left (justify-content:start) so the heading
   and the body would share a left edge. That fixed the alignment and left a third
   of the page empty on the right. The container is what should be narrow, not the
   grid: head and body then share a left edge because they share a container. */
.doc-shell { width: min(700px, calc(100% - 64px)); margin: 0 auto; }
.doc-shell .editorial-head { max-width: none; }
.doc-shell .editorial-layout--single { grid-template-columns: minmax(0, 1fr); justify-content: stretch; }

/* Mobile header. The three primary links remain visible. On the narrowest
   screens the mark carries the home link by itself so the labels stay on one
   line and retain their full touch targets. */
@media (max-width: 600px) {
  .site-header__actions { gap: 4px; }
  .site-header__actions .button { display: none; }
  .site-header__link { padding: 14px 4px 12px; font-size: 14px; white-space: nowrap; }
  .research-nav { gap: 8px; }
  .research-nav .site-header__link { padding: 14px 4px 12px; font-size: 14px; }
}
@media (max-width: 360px) {
  .site-header__inner { gap: 12px; }
  .brand { gap: 0; }
  .brand__word { display: none; }
  .site-header__link,
  .research-nav .site-header__link { padding-inline: 3px; font-size: 13px; }
}
