:root {
  --ink: #061827;
  --ink-2: #0a2435;
  --ink-3: #12384d;
  --paper: #f2f6f8;
  --paper-2: #e8f1f5;
  --white: #ffffff;
  --cyan: #00bfe3;
  --cyan-bright: #56ddf2;
  --cyan-dark: #008ead;
  --blue: #0067ad;
  --muted: #58707f;
  --line: rgba(6, 24, 39, 0.14);
  --dark-line: rgba(255, 255, 255, 0.15);
  --shell: 1460px;
  --ease: cubic-bezier(.2, .72, .2, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 82px; }
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--paper);
  color: var(--ink);
  font-family: "Archivo", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body::before {
  position: fixed;
  z-index: 200;
  inset: 0;
  opacity: .02;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
  content: "";
  pointer-events: none;
}
::selection { background: var(--cyan-bright); color: var(--ink); }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button { font: inherit; }
h1, h2, h3, p { margin-top: 0; }
.shell { width: min(calc(100% - 88px), var(--shell)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 999; top: 12px; left: 12px; padding: 11px 16px; color: #fff; background: var(--ink); transform: translateY(-160%); transition: transform 180ms ease; }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 2px solid var(--cyan-bright); outline-offset: 4px; }

.site-header { position: fixed; z-index: 100; top: 0; left: 0; right: 0; min-height: 82px; color: #fff; border-bottom: 1px solid rgba(255,255,255,.12); background: linear-gradient(180deg, rgba(3,14,23,.72), rgba(3,14,23,.18)); backdrop-filter: blur(20px) saturate(1.12); transition: background .3s ease, box-shadow .3s ease; }
.site-header.scrolled { background: rgba(5,22,35,.96); box-shadow: 0 16px 45px rgba(0,0,0,.15); }
.header-inner { width: min(calc(100% - 60px), 1540px); min-height: 82px; margin-inline: auto; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
.brand { display: inline-flex; align-items: center; gap: 10px; width: max-content; font-size: 19px; font-weight: 700; letter-spacing: .035em; }
.brand img { width: 29px; height: 26px; object-fit: contain; }
.brand em { margin-left: 2px; padding-left: 12px; border-left: 1px solid rgba(255,255,255,.28); color: var(--cyan-bright); font-family: "IBM Plex Mono", monospace; font-size: 9px; font-style: normal; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.desktop-nav { display: flex; gap: 34px; color: rgba(255,255,255,.72); font-size: 12px; font-weight: 500; }
.desktop-nav a, .header-cta { transition: color 180ms ease; }
.desktop-nav a:hover, .header-cta:hover { color: var(--cyan-bright); }
.header-cta { justify-self: end; display: inline-flex; align-items: center; gap: 11px; padding: 10px 0 8px; border-bottom: 1px solid currentColor; font-size: 12px; font-weight: 700; }
.menu-button { display: none; justify-self: end; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255,255,255,.24); background: transparent; cursor: pointer; }
.menu-button span { display: block; width: 18px; height: 1px; margin: 5px auto; background: #fff; transition: transform .2s ease; }
.menu-button[aria-expanded="true"] span:first-child { transform: translateY(3px) rotate(45deg); }
.menu-button[aria-expanded="true"] span:last-child { transform: translateY(-3px) rotate(-45deg); }
.mobile-nav { padding: 18px; background: rgba(5,22,35,.98); border-top: 1px solid rgba(255,255,255,.12); }
.mobile-nav a { display: block; padding: 16px 10px; border-bottom: 1px solid rgba(255,255,255,.12); font-size: 15px; }

.eyebrow { display: flex; align-items: center; gap: 13px; color: #8eeafb; font-family: "IBM Plex Mono", monospace; font-size: 9px; font-weight: 600; letter-spacing: .16em; line-height: 1.5; text-transform: uppercase; }
.eyebrow::before { width: 34px; height: 1px; background: currentColor; content: ""; flex: 0 0 auto; }
.eyebrow.dark { color: var(--cyan-dark); }

.hero { position: relative; isolation: isolate; min-height: 900px; height: 100svh; overflow: hidden; color: #fff; background: radial-gradient(circle at 78% 47%, rgba(0,191,227,.16), transparent 24rem), linear-gradient(145deg, #04111c, #082537 62%, #061827); }
.hero-grid, .partner-grid { position: absolute; z-index: -3; inset: 0; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 74px 74px; mask-image: linear-gradient(90deg, #000, rgba(0,0,0,.55), transparent); }
.hero::after { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(4,17,28,.98) 0%, rgba(4,17,28,.82) 45%, rgba(4,17,28,.22) 78%), linear-gradient(180deg, transparent 55%, rgba(4,17,28,.74)); content: ""; }
.hero-orbit { position: absolute; z-index: -1; right: -13vw; top: 50%; aspect-ratio: 1; border: 1px solid rgba(86,221,242,.12); border-radius: 50%; transform: translateY(-50%); }
.orbit-a { width: min(75vw, 1120px); box-shadow: 0 0 0 150px rgba(86,221,242,.012), 0 0 0 300px rgba(86,221,242,.008); }
.orbit-b { right: 8vw; width: min(35vw, 520px); border-style: dashed; }
.hero-shell { min-height: 100%; padding-top: 145px; padding-bottom: 100px; display: grid; grid-template-columns: 1.02fr .98fr; gap: 72px; align-items: center; }
.hero-copy { position: relative; z-index: 4; }
.hero h1 { max-width: 8.8ch; margin: 27px 0 0; font-size: clamp(76px, 7.9vw, 132px); font-weight: 600; letter-spacing: -.078em; line-height: .84; text-wrap: balance; }
.hero h1 span { display: block; color: var(--cyan-bright); }
.hero-lede { max-width: 680px; margin: 34px 0 0; color: rgba(255,255,255,.7); font-size: clamp(17px, 1.25vw, 20px); line-height: 1.64; text-wrap: pretty; }
.hero-actions, .partner-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.button { min-height: 56px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; gap: 15px; border: 1px solid rgba(255,255,255,.28); font-size: 13px; font-weight: 700; transition: transform .22s var(--ease), background .22s ease, color .22s ease, border-color .22s ease; }
.button:hover { transform: translateY(-3px); }
.button-primary { color: var(--ink); background: var(--cyan-bright); border-color: var(--cyan-bright); }
.button-primary:hover { background: #fff; border-color: #fff; }
.button-ghost { color: #fff; background: rgba(255,255,255,.035); backdrop-filter: blur(12px); }
.button-ghost:hover { color: var(--ink); background: #fff; }
.hero-index { position: absolute; left: 50%; bottom: 30px; display: flex; align-items: center; gap: 14px; color: rgba(255,255,255,.44); font-family: "IBM Plex Mono", monospace; font-size: 8px; letter-spacing: .14em; text-transform: uppercase; transform: translateX(-50%); }
.hero-index i { width: 58px; height: 1px; background: rgba(255,255,255,.25); }

.architecture { position: relative; z-index: 4; min-height: 590px; border: 1px solid rgba(255,255,255,.15); background: rgba(3,17,27,.42); box-shadow: 0 46px 120px rgba(0,0,0,.2); backdrop-filter: blur(12px); }
.architecture-topline, .architecture-foot { min-height: 54px; padding: 0 20px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.48); font-family: "IBM Plex Mono", monospace; font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }
.architecture-foot { border-top: 1px solid rgba(255,255,255,.13); border-bottom: 0; }
.architecture-topline strong { color: var(--cyan-bright); font-weight: 600; }
.architecture-stage { position: relative; min-height: 480px; overflow: hidden; }
.architecture-stage::before, .architecture-stage::after { position: absolute; left: 50%; top: 50%; aspect-ratio: 1; border: 1px solid rgba(86,221,242,.16); border-radius: 50%; content: ""; transform: translate(-50%,-50%); }
.architecture-stage::before { width: 360px; }
.architecture-stage::after { width: 235px; border-style: dashed; animation: spin 30s linear infinite; }
@keyframes spin { to { transform: translate(-50%,-50%) rotate(360deg); } }
.core-node { position: absolute; z-index: 3; left: 50%; top: 50%; width: 182px; height: 182px; padding: 26px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: var(--ink); background: #f6fbfd; transform: translate(-50%,-50%); box-shadow: 0 25px 65px rgba(0,0,0,.22); }
.core-node img { width: 38px; height: 34px; object-fit: contain; }
.core-node strong { margin-top: 14px; font-size: 24px; letter-spacing: -.045em; line-height: .92; }
.core-node small { margin-top: 12px; color: var(--cyan-dark); font-family: "IBM Plex Mono", monospace; font-size: 7px; letter-spacing: .1em; text-transform: uppercase; }
.signal { position: absolute; z-index: 2; display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.68); font-family: "IBM Plex Mono", monospace; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.signal span { width: 8px; height: 8px; border: 1px solid var(--cyan-bright); background: rgba(86,221,242,.16); transform: rotate(45deg); }
.signal-a { left: 8%; top: 19%; }
.signal-b { right: 8%; top: 24%; }
.signal-c { right: 7%; bottom: 17%; }
.signal-d { left: 9%; bottom: 21%; }
.signal::after { position: absolute; width: 84px; height: 1px; background: linear-gradient(90deg, rgba(86,221,242,.5), transparent); content: ""; }
.signal-a::after, .signal-d::after { left: calc(100% + 12px); }
.signal-b::after, .signal-c::after { right: calc(100% + 12px); transform: rotate(180deg); }

.manifesto { background: var(--cyan-bright); }
.manifesto-grid { padding: 118px 0 126px; display: grid; grid-template-columns: .36fr 1.64fr; gap: 80px; }
.section-label { padding-top: 12px; color: rgba(6,24,39,.62); font-family: "IBM Plex Mono", monospace; font-size: 9px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.manifesto h2 { max-width: 17ch; margin: 0; font-size: clamp(48px, 5.4vw, 84px); font-weight: 600; letter-spacing: -.069em; line-height: .93; text-wrap: balance; }
.manifesto h2 + p { max-width: 760px; margin: 38px 0 0; color: rgba(6,24,39,.72); font-size: 18px; line-height: 1.65; }

.model { padding: 148px 0 160px; background: #f7fafc; }
.section-head { display: grid; grid-template-columns: 1.15fr .85fr; gap: 90px; align-items: end; }
.section-head h2 { max-width: 11ch; margin: 22px 0 0; font-size: clamp(58px, 6vw, 96px); font-weight: 600; letter-spacing: -.073em; line-height: .9; text-wrap: balance; }
.section-head > p { max-width: 47ch; margin: 0 0 7px; color: var(--muted); font-size: 18px; line-height: 1.65; }
.lane-list { margin-top: 82px; border-top: 1px solid rgba(6,24,39,.22); }
.lane { position: relative; display: grid; grid-template-columns: 85px 1.05fr .72fr 56px; gap: 42px; align-items: start; padding: 42px 0; border-bottom: 1px solid rgba(6,24,39,.22); }
.lane-number, .stack-index { color: var(--cyan-dark); font-family: "IBM Plex Mono", monospace; font-size: 10px; letter-spacing: .12em; }
.lane-kicker { margin-bottom: 13px; color: var(--cyan-dark); font-family: "IBM Plex Mono", monospace; font-size: 8px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.lane h3 { margin: 0; font-size: clamp(38px, 3.8vw, 61px); font-weight: 600; letter-spacing: -.06em; line-height: .95; }
.lane-copy > p:last-child { max-width: 53ch; margin: 20px 0 0; color: var(--muted); font-size: 15px; line-height: 1.62; }
.lane-outcome { padding-top: 2px; }
.lane-outcome span { display: block; color: var(--cyan-dark); font-family: "IBM Plex Mono", monospace; font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }
.lane-outcome strong { display: block; max-width: 30ch; margin-top: 15px; color: #294858; font-size: 17px; font-weight: 500; line-height: 1.45; }
.lane-toggle { width: 48px; height: 48px; padding: 0; border: 1px solid rgba(6,24,39,.2); border-radius: 50%; background: transparent; cursor: pointer; transition: background .2s ease, border-color .2s ease; }
.lane-toggle span, .lane-toggle span::after { display: block; width: 16px; height: 1px; margin: auto; background: var(--ink); content: ""; transition: transform .25s ease; }
.lane-toggle span::after { transform: rotate(90deg); }
.lane-toggle:hover, .lane-toggle[aria-expanded="true"] { border-color: var(--cyan); background: rgba(0,191,227,.09); }
.lane-toggle[aria-expanded="true"] span::after { transform: rotate(0); }
.lane-details { grid-column: 2 / 4; display: grid; grid-template-rows: 0fr; overflow: hidden; transition: grid-template-rows .35s var(--ease); }
.lane.open .lane-details { grid-template-rows: 1fr; }
.lane-details ul { min-height: 0; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; list-style: none; overflow: hidden; }
.lane-details li { padding: 18px 22px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); color: #365567; font-size: 13px; }

.platform { position: relative; overflow: hidden; color: #fff; background: linear-gradient(145deg, #061827, #0a2a3d); }
.platform::before { position: absolute; right: -20%; top: -45%; width: 78%; aspect-ratio: 1; border: 1px solid rgba(86,221,242,.08); border-radius: 50%; content: ""; box-shadow: 0 0 0 160px rgba(86,221,242,.012), 0 0 0 320px rgba(86,221,242,.008); }
.platform-grid { position: relative; padding: 150px 0 162px; display: grid; grid-template-columns: .86fr 1.14fr; gap: 100px; align-items: start; }
.platform-copy { position: sticky; top: 130px; }
.platform-copy h2 { max-width: 10ch; margin: 25px 0 0; font-size: clamp(58px, 5.9vw, 94px); font-weight: 600; letter-spacing: -.073em; line-height: .9; }
.platform-copy > p { max-width: 48ch; margin: 34px 0 0; color: rgba(255,255,255,.65); font-size: 17px; line-height: 1.65; }
.text-link { display: inline-flex; align-items: center; gap: 12px; margin-top: 30px; padding-bottom: 8px; border-bottom: 1px solid currentColor; color: var(--cyan-bright); font-size: 12px; font-weight: 700; }
.platform-stack { border-top: 1px solid rgba(255,255,255,.17); }
.platform-stack article { min-height: 290px; padding: 42px 0; display: grid; grid-template-columns: 72px 1fr; gap: 22px; align-items: start; border-bottom: 1px solid rgba(255,255,255,.17); }
.platform-stack article > div:last-child > span { color: var(--cyan-bright); font-family: "IBM Plex Mono", monospace; font-size: 8px; letter-spacing: .13em; text-transform: uppercase; }
.platform-stack h3 { margin: 18px 0 0; font-size: clamp(48px, 5vw, 78px); font-weight: 600; letter-spacing: -.069em; line-height: .88; }
.platform-stack p { max-width: 47ch; margin: 24px 0 0; color: rgba(255,255,255,.62); font-size: 15px; line-height: 1.62; }
.platform .stack-index { color: var(--cyan-bright); }

.method { padding: 150px 0 160px; background: var(--paper-2); }
.method-head .eyebrow { color: var(--cyan-dark); }
.method-steps { margin: 82px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(6,24,39,.2); border-left: 1px solid rgba(6,24,39,.2); list-style: none; }
.method-steps li { min-height: 390px; padding: 28px; display: flex; flex-direction: column; border-right: 1px solid rgba(6,24,39,.2); border-bottom: 1px solid rgba(6,24,39,.2); transition: background .22s ease, transform .22s var(--ease); }
.method-steps li:hover { z-index: 2; background: #fff; transform: translateY(-6px); }
.method-steps li > span { color: var(--cyan-dark); font-family: "IBM Plex Mono", monospace; font-size: 9px; letter-spacing: .12em; }
.method-steps li > div { margin-top: auto; }
.method-steps h3 { margin: 0; font-size: clamp(40px, 3.8vw, 60px); font-weight: 600; letter-spacing: -.06em; line-height: .92; }
.method-steps p { margin: 22px 0 0; color: var(--muted); font-size: 14px; line-height: 1.6; }

.partner { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: radial-gradient(circle at 50% 70%, rgba(0,191,227,.16), transparent 29rem), #061827; }
.partner::before, .partner::after { position: absolute; z-index: -2; left: 50%; top: 50%; aspect-ratio: 1; border: 1px solid rgba(86,221,242,.12); border-radius: 50%; content: ""; transform: translate(-50%,-50%); }
.partner::before { width: min(90vw, 1200px); }
.partner::after { width: min(62vw, 800px); border-style: dashed; }
.partner-grid { mask-image: radial-gradient(circle at center, #000, transparent 70%); }
.partner-inner { min-height: 880px; padding: 150px 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.partner h2 { max-width: 11.5ch; margin: 29px 0 0; font-size: clamp(67px, 7vw, 110px); font-weight: 600; letter-spacing: -.075em; line-height: .88; text-wrap: balance; }
.partner h2 + p { max-width: 680px; margin: 36px 0 0; color: rgba(255,255,255,.66); font-size: 18px; line-height: 1.64; }
.partner-meta { margin-top: 72px; display: flex; gap: 0; border-top: 1px solid rgba(255,255,255,.16); border-left: 1px solid rgba(255,255,255,.16); }
.partner-meta span { min-width: 220px; padding: 18px 22px; border-right: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.58); font-family: "IBM Plex Mono", monospace; font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }

.site-footer { color: rgba(255,255,255,.62); background: #04111c; border-top: 1px solid rgba(255,255,255,.12); }
.footer-grid { padding: 44px 0 52px; display: grid; grid-template-columns: 1fr auto; gap: 32px 60px; align-items: center; }
.footer-links { display: flex; gap: 28px; justify-self: end; font-size: 11px; }
.footer-links a:hover { color: var(--cyan-bright); }
.footer-grid > p { max-width: 620px; margin: 0; color: rgba(255,255,255,.42); font-size: 10px; line-height: 1.55; }
.footer-grid small { justify-self: end; font-size: 10px; }

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

@media (max-width: 1150px) {
  .shell { width: min(calc(100% - 52px), var(--shell)); }
  .hero-shell { grid-template-columns: 1fr 1fr; gap: 42px; }
  .hero h1 { font-size: clamp(66px, 7.9vw, 102px); }
  .architecture { min-height: 540px; }
  .architecture-stage { min-height: 430px; }
  .section-head, .platform-grid { gap: 60px; }
  .lane { grid-template-columns: 65px 1fr .7fr 50px; gap: 28px; }
  .partner-meta span { min-width: 190px; }
}

@media (max-width: 900px) {
  .header-inner { grid-template-columns: 1fr auto; width: calc(100% - 36px); }
  .desktop-nav, .header-cta { display: none; }
  .menu-button { display: block; }
  .hero { min-height: 1120px; height: auto; }
  .hero-shell { min-height: 1120px; padding-top: 150px; padding-bottom: 90px; grid-template-columns: 1fr; }
  .hero-copy { max-width: 760px; }
  .architecture { min-height: 560px; }
  .architecture-stage { min-height: 450px; }
  .manifesto-grid, .section-head, .platform-grid { grid-template-columns: 1fr; gap: 42px; }
  .manifesto-grid { padding: 96px 0 106px; }
  .model, .method { padding: 112px 0 122px; }
  .lane { grid-template-columns: 54px 1fr 48px; }
  .lane-outcome { grid-column: 2; }
  .lane-toggle { grid-column: 3; grid-row: 1; }
  .lane-details { grid-column: 2 / 4; }
  .platform-grid { padding: 112px 0 122px; }
  .platform-copy { position: static; }
  .method-steps { grid-template-columns: repeat(2, 1fr); }
  .partner-meta { flex-wrap: wrap; justify-content: center; border: 0; }
  .partner-meta span { min-width: 210px; border: 1px solid rgba(255,255,255,.16); }
}

@media (max-width: 620px) {
  html { scroll-padding-top: 68px; }
  .shell { width: calc(100% - 28px); }
  .site-header, .header-inner { min-height: 68px; }
  .brand { font-size: 17px; }
  .brand img { width: 26px; height: 24px; }
  .hero { min-height: 980px; }
  .hero-shell { min-height: 980px; padding-top: 118px; padding-bottom: 80px; gap: 58px; }
  .hero h1 { font-size: clamp(58px, 18vw, 78px); line-height: .85; }
  .hero-lede { font-size: 15px; }
  .hero-actions, .partner-actions { display: grid; width: 100%; }
  .button { width: 100%; }
  .architecture { min-height: 490px; }
  .architecture-stage { min-height: 380px; }
  .architecture-stage::before { width: 310px; }
  .architecture-stage::after { width: 210px; }
  .core-node { width: 154px; height: 154px; padding: 18px; }
  .core-node strong { font-size: 21px; }
  .signal { font-size: 6px; max-width: 94px; line-height: 1.35; }
  .signal::after { width: 38px; }
  .signal-a, .signal-d { left: 4%; }
  .signal-b, .signal-c { right: 4%; text-align: right; }
  .architecture-foot { gap: 18px; }
  .architecture-foot span:last-child { text-align: right; }
  .manifesto-grid { padding: 82px 0 90px; gap: 28px; }
  .manifesto h2 { font-size: clamp(43px, 12.5vw, 58px); }
  .manifesto h2 + p { font-size: 15px; }
  .model, .method { padding: 92px 0 102px; }
  .section-head h2, .platform-copy h2 { font-size: clamp(49px, 13.4vw, 65px); }
  .section-head > p, .platform-copy > p { font-size: 15px; }
  .lane-list { margin-top: 58px; }
  .lane { grid-template-columns: 36px 1fr 43px; gap: 14px; padding: 32px 0; }
  .lane h3 { font-size: 38px; }
  .lane-copy > p:last-child { font-size: 14px; }
  .lane-outcome strong { font-size: 15px; }
  .lane-details { grid-column: 1 / 4; }
  .lane-details ul { grid-template-columns: 1fr; }
  .platform-grid { padding: 94px 0 102px; }
  .platform-stack article { min-height: 250px; grid-template-columns: 38px 1fr; gap: 14px; }
  .platform-stack h3 { font-size: 48px; }
  .method-steps { margin-top: 58px; grid-template-columns: 1fr; }
  .method-steps li { min-height: 280px; }
  .partner-inner { min-height: 780px; padding: 100px 0; }
  .partner h2 { font-size: clamp(56px, 15vw, 74px); }
  .partner h2 + p { font-size: 15px; }
  .partner-meta { width: 100%; margin-top: 54px; }
  .partner-meta span { width: 100%; min-width: 0; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-links { justify-self: start; flex-wrap: wrap; }
  .footer-grid small { justify-self: start; }
}
