@font-face {
  font-family: 'Commissioner';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/assets/fonts/commissioner-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Commissioner';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/assets/fonts/commissioner-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Geologica';
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url('/assets/fonts/geologica-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Geologica';
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url('/assets/fonts/geologica-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "LingonFallback";
  src: local("Arial");
  size-adjust: 102%;
}

*, *::before, *::after { box-sizing: border-box; }

:root {
  --cream: #fdf4e2;
  --paper: #fdf4e2;
  --ink: #20152d;
  --ink-soft: #5c5067;
  --violet: #7b28ef;
  --blue: #1266e8;
  --pink: #ff168d;
  --orange: #ff7a32;
  --yellow: #ffc940;
  --green: #08b89f;
  --cyan: #0dcad4;
  --line: rgba(32, 21, 45, 0.16);
  --shadow: 0 24px 70px rgba(59, 34, 86, 0.12);
  --radius: 34px;
  --shell: min(1440px, calc(100vw - 64px));

  --hero-max: 1720px;
  --font: "Commissioner", "LingonFallback", system-ui, sans-serif;

  --h1-size: clamp(58px, 5.2vw, 100px);
  --h1-lh: 0.94;
  --h1-ls: -0.075em;
  --h1-weight: 600;
  --h2-size: clamp(44px, 4.6vw, 78px);
  --h2-lh: 1;
  --h2-ls: -0.065em;
  --h2-weight: 600;
  --h3-size: clamp(34px, 3.4vw, 56px);
  --h3-lh: 1.04;
  --h3-ls: -0.05em;
  --h3-weight: 650;
  --h4-size: clamp(21px, 1.65vw, 26px);
  --h4-lh: 1.14;
  --h4-ls: -0.03em;
  --h4-weight: 700;
  --font-display: "Geologica", "Commissioner", "LingonFallback", system-ui, sans-serif;
}

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: var(--font);
  line-height: 1.55;
  overflow-x: hidden;
}

body, button, a { font-family: var(--font); }
h1, h2, h3 { font-family: var(--font-display); }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
p, h1, h2, h3, ul { margin: 0; }
button, summary { -webkit-tap-highlight-color: transparent; }
.shell { width: var(--shell); margin-inline: auto; }

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1000;
  padding: 10px 16px;
  color: white;
  background: var(--ink);
  transform: translateY(-150%);
}
.skip-link:focus { transform: none; }

.site-header {
  position: relative;
  z-index: 10;
  padding: 22px 0 8px;
}
.site-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}
.site-header__actions { display: flex; align-items: center; gap: 14px; }

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  justify-self: start;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -0.06em;
}
.brand img { width: 34px; height: auto; }
.site-header .brand img { width: 50px; }

.button {
  --btn-accent: var(--pink);
  --btn-lift: 6px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 14px 26px;
  margin: 0 var(--btn-lift) var(--btn-lift) 0;
  border: 2px solid var(--ink);
  border-radius: 999px;
  color: white;
  background: var(--ink);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.01em;
  box-shadow: var(--btn-lift) var(--btn-lift) 0 var(--btn-accent);
  transition: transform 160ms cubic-bezier(0.2, 0.8, 0.3, 1), box-shadow 160ms cubic-bezier(0.2, 0.8, 0.3, 1);
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.button:hover {
  transform: translate(-2px, -2px);
  box-shadow: 8px 8px 0 var(--btn-accent);
}
.button:active {
  transform: translate(var(--btn-lift), var(--btn-lift));
  box-shadow: 0 0 0 var(--btn-accent);
  transition-duration: 60ms;
}
.button[aria-disabled="true"] {
  pointer-events: none;
  opacity: 0.45;
  box-shadow: none;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .button,
  .button:hover,
  .button:active { transform: none; transition: box-shadow 120ms linear; }
  .button:active { box-shadow: 2px 2px 0 var(--btn-accent); }
}
.text-link:focus-visible, a:focus-visible, summary:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 4px;
}

.button:focus-visible {
  outline: 3px solid var(--btn-accent);
  outline-offset: 2px;
}
.button--compact {
  --btn-accent: var(--cyan);
  --btn-lift: 4px;
  justify-self: end;
  min-height: 46px;
  padding: 11px 20px;
}
.button--home { --btn-accent: var(--pink); }

.button__icon {
  flex: none;
  width: 18px;
  height: 18px;
  margin-right: 8px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M22.0006%2012.7502C22.4148%2012.7502%2022.7506%2012.4144%2022.7506%2012.0002C22.7506%2011.586%2022.4148%2011.2502%2022.0006%2011.2502V12.7502ZM11.0006%2011.2502C10.5864%2011.2502%2010.2506%2011.586%2010.2506%2012.0002C10.2506%2012.4144%2010.5864%2012.7502%2011.0006%2012.7502V11.2502ZM11.0006%2014.8648H10.2506H11.0006ZM7.78059%2016.4496L8.23808%2015.8553V15.8553L7.78059%2016.4496ZM7.78059%207.55071L8.23808%208.14501L7.78059%207.55071ZM11.0006%209.13552H11.7506H11.0006ZM4.05931%2010.4154L4.5168%2011.0097V11.0097L4.05931%2010.4154ZM4.05931%2013.585L3.60181%2014.1793L4.05931%2013.585ZM22.0006%2011.2502L11.0006%2011.2502V12.7502L22.0006%2012.7502V11.2502ZM4.5168%2011.0097L8.23808%208.14501L7.32309%206.9564L3.60181%209.82105L4.5168%2011.0097ZM10.2506%209.13552L10.2506%2014.8648H11.7506V9.13552H10.2506ZM8.23808%2015.8553L4.5168%2012.9907L3.60181%2014.1793L7.32309%2017.0439L8.23808%2015.8553ZM10.2506%2014.8648C10.2506%2015.9021%209.06005%2016.4881%208.23808%2015.8553L7.32309%2017.0439C9.13141%2018.436%2011.7506%2017.1469%2011.7506%2014.8648H10.2506ZM8.23808%208.14501C9.06005%207.51227%2010.2506%208.09822%2010.2506%209.13552H11.7506C11.7506%206.85346%209.13141%205.56436%207.32309%206.9564L8.23808%208.14501ZM3.60181%209.82105C2.17179%2010.9219%202.17179%2013.0784%203.60181%2014.1793L4.5168%2012.9907C3.86679%2012.4903%203.86679%2011.51%204.5168%2011.0097L3.60181%209.82105Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M22.0006%2012.7502C22.4148%2012.7502%2022.7506%2012.4144%2022.7506%2012.0002C22.7506%2011.586%2022.4148%2011.2502%2022.0006%2011.2502V12.7502ZM11.0006%2011.2502C10.5864%2011.2502%2010.2506%2011.586%2010.2506%2012.0002C10.2506%2012.4144%2010.5864%2012.7502%2011.0006%2012.7502V11.2502ZM11.0006%2014.8648H10.2506H11.0006ZM7.78059%2016.4496L8.23808%2015.8553V15.8553L7.78059%2016.4496ZM7.78059%207.55071L8.23808%208.14501L7.78059%207.55071ZM11.0006%209.13552H11.7506H11.0006ZM4.05931%2010.4154L4.5168%2011.0097V11.0097L4.05931%2010.4154ZM4.05931%2013.585L3.60181%2014.1793L4.05931%2013.585ZM22.0006%2011.2502L11.0006%2011.2502V12.7502L22.0006%2012.7502V11.2502ZM4.5168%2011.0097L8.23808%208.14501L7.32309%206.9564L3.60181%209.82105L4.5168%2011.0097ZM10.2506%209.13552L10.2506%2014.8648H11.7506V9.13552H10.2506ZM8.23808%2015.8553L4.5168%2012.9907L3.60181%2014.1793L7.32309%2017.0439L8.23808%2015.8553ZM10.2506%2014.8648C10.2506%2015.9021%209.06005%2016.4881%208.23808%2015.8553L7.32309%2017.0439C9.13141%2018.436%2011.7506%2017.1469%2011.7506%2014.8648H10.2506ZM8.23808%208.14501C9.06005%207.51227%2010.2506%208.09822%2010.2506%209.13552H11.7506C11.7506%206.85346%209.13141%205.56436%207.32309%206.9564L8.23808%208.14501ZM3.60181%209.82105C2.17179%2010.9219%202.17179%2013.0784%203.60181%2014.1793L4.5168%2012.9907C3.86679%2012.4903%203.86679%2011.51%204.5168%2011.0097L3.60181%209.82105Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}

.button--warm {
  --btn-accent: var(--orange);
  color: white;
  background: var(--pink);
  border-color: var(--pink);
}
.button--light {
  --btn-accent: var(--yellow);
  color: var(--ink);
  background: white;
  border-color: white;
}
.eyebrow {
  margin-top: 18px;
  color: var(--ink-soft);
  font-size: 20px;
  font-style: italic;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.hero {
  position: relative;

  --art-h: clamp(700px, 50vw, 860px);
  --art-w: calc(var(--art-h) * var(--art-aspect));
  --art-inset: max(0px, calc((100% - var(--hero-max)) / 2));
  --art-draw-x: calc(100% - var(--art-inset) - var(--art-w) * (1 - var(--art-margin)));
  min-height: var(--art-h);
  padding: 52px 0 0;
  display: grid;
  align-items: start;

  background-color: var(--paper);
  background-repeat: no-repeat;

}

.hero::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: -1px;

  right: max(0px, calc((100% - var(--hero-max)) / 2));
  left: 0;
  pointer-events: none;
  background-image: var(--art);
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;
}
.hero__grid {
  display: block;
}
.hero__copy { position: relative; z-index: 1; width: 100%; }
.hero > .shell { position: relative; z-index: 1; }
.hero h1 {
  max-width: none;
  font-size: var(--h1-size);
  font-weight: var(--h1-weight);
  line-height: var(--h1-lh);
  letter-spacing: var(--h1-ls);
  white-space: nowrap;
}
.hero h1 span { color: var(--pink); }

.hero__lead,
.hero__points {
  max-width: max(300px, min(560px, calc(var(--art-draw-x) - (100% - var(--shell)) / 2 + 44px)));
}
.hero__lead {
  margin-top: 18px;
  color: var(--ink-soft);
  font-size: clamp(18px, 1.45vw, 23px);
  line-height: 1.55;
}

.hero__points {
  margin-top: 20px;
  padding: 0;
  display: grid;
  gap: 10px;
  list-style: none;
  color: var(--ink-soft);
  font-size: clamp(17px, 1.25vw, 20px);
  line-height: 1.5;
}
.hero__points li { position: relative; padding-left: 26px; }
.hero__points li::before {
  content: "";
  position: absolute;
  top: 0.68em;
  left: 0;
  width: 14px;
  height: 3px;
  border-radius: 999px;
  background: var(--pink);
}
.hero__actions { display: flex; align-items: center; gap: 28px; margin-top: 36px; }
.text-link { padding-bottom: 5px; border-bottom: 2px solid var(--ink); font-size: 15px; font-weight: 800; }
.hero__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0;
  margin-top: 38px;
  list-style: none;
}

.hero__facts li {
  padding: 9px 15px;
  border: 0;
  border-radius: 999px;
  color: var(--ink);
  background: white;
  font-size: 13px;
  font-weight: 700;
}
.manifesto {
  position: relative;
  padding: 96px 0;
  color: white;
  background: var(--violet);
  overflow: hidden;
  isolation: isolate;
}
.manifesto::before,
.manifesto::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
}
.manifesto::before {
  width: 660px;
  height: 92px;
  top: -44px;
  right: -80px;
  border-radius: 999px;
  background: var(--pink);
  transform: rotate(-22deg);
}
.manifesto::after {
  width: 180px;
  height: 180px;
  bottom: -88px;
  left: 9vw;
  border-radius: 50%;
  background: var(--cyan);
}
.manifesto__inner { position: relative; z-index: 1; }
.launch .shell { position: relative; z-index: 2; }
.manifesto .eyebrow { color: rgba(255, 255, 255, 0.7); }
.manifesto h2 {
  max-width: 1100px;
  font-size: var(--h2-size);
  font-weight: var(--h2-weight);
  line-height: var(--h2-lh);
  letter-spacing: var(--h2-ls);
}
.manifesto__inner > p:last-child {
  max-width: 650px;
  margin: 34px 0 0 auto;
  color: rgba(255, 255, 255, 0.8);
  font-size: 20px;
}

.stories { padding: 100px 0 0; background: var(--paper); }
.stories > .shell { width: 100%; }
.stories .section-heading {
  width: var(--shell);
  margin-inline: auto;
  margin-bottom: 0;
}
.section-heading { margin-bottom: 64px; }

.section-heading { position: relative; isolation: isolate; }
.section-heading::after {
  content: "";
  position: absolute;
  z-index: -1;

  left: -84px;

  bottom: -8px;
  width: min(560px, 62%);
  height: 26px;
  border-radius: 999px;
  background: var(--pink);
}
.section-heading h2 {
  max-width: 1000px;
  font-size: var(--h2-size);
  font-weight: var(--h2-weight);
  line-height: var(--h2-lh);
  letter-spacing: var(--h2-ls);
}
.story {
  display: block;
  position: relative;
  isolation: isolate;
  width: 100%;

  contain: paint;
  content-visibility: auto;
  contain-intrinsic-size: auto calc(var(--story-box) / var(--art-aspect));

  --story-pad: max(32px, calc((100vw - 1440px) / 2 + 60px));
  --story-box: calc(100vw - 2 * var(--story-pad));

  --story-copy: max(300px, calc(var(--story-box) * min(var(--art-margin), 0.42) - 36px));
  min-height: calc(var(--story-box) / var(--art-aspect));
  margin-top: 44px;
  padding: 30px var(--story-pad);
  background: transparent;

  overflow-x: clip;
  overflow-y: visible;
}
.story::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: var(--story-pad);
  left: var(--story-pad);
  z-index: 0;
  pointer-events: none;
  background-image: var(--story-image);
  background-repeat: no-repeat;

  background-position: var(--art-x, right) center;
  background-size: contain;
}

.story__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 2;
  padding: clamp(34px, 4vw, 64px) 0;
  color: var(--ink);

  width: var(--story-copy);
}
.story--reverse .story__copy { margin-left: auto; }
.story__tag {
  align-self: flex-start;
  margin-top: 16px;
  color: var(--ink-soft);
  font-size: 19px;
  font-style: italic;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}
.story h3 {
  font-size: var(--h3-size);
  font-weight: var(--h3-weight);
  line-height: var(--h3-lh);
  letter-spacing: var(--h3-ls);
}
.story__copy > p:not(.story__tag) { margin-top: 25px; color: var(--ink-soft); font-size: 17px; }

.story__copy ul {
  display: grid;
  gap: 9px;
  padding-left: 0;
  margin-top: 30px;
  list-style: none;
  font-size: 14px;
  font-weight: 700;
}
.story__copy li { position: relative; padding-left: 26px; }
.story__copy li::before {
  content: "";
  position: absolute;
  top: 0.62em;
  left: 0;
  width: 14px;
  height: 3px;
  border-radius: 999px;
  background: var(--pink);
}

.capabilities { position: relative; padding: 96px 0; color: white; background: var(--ink); overflow-x: clip; overflow-y: visible; }
.capabilities::before,
.capabilities::after {
  content: "";
  position: absolute;
  z-index: 1;
  pointer-events: none;
}
.capabilities::before {
  width: 210px;
  height: 210px;
  top: 70px;
  right: -78px;
  border-radius: 50%;
  background: var(--orange);
}
.capabilities::after {
  width: 470px;
  height: 52px;
  bottom: 28px;
  left: -126px;
  border-radius: 999px;
  background: var(--pink);
  transform: rotate(-22deg);
}
.capabilities .shell { position: relative; z-index: 2; }

.capabilities .section-heading::after { content: none; }
.capabilities .eyebrow { color: rgba(255,255,255,.68); }
.capabilities .section-heading--split > p { color: rgba(255,255,255,.68); }
.section-heading--split {
  display: grid;
  grid-template-columns: 1.45fr 0.55fr;
  align-items: end;
  gap: 70px;
}
.section-heading--split > p { padding-bottom: 8px; color: var(--ink-soft); font-size: 18px; }

.section-heading__action { display: flex; justify-content: flex-end; padding-bottom: 0; }

.section-heading__link { margin: 14px 0 0; }
.section-heading__link a { border-bottom: 2px solid currentColor; padding-bottom: 2px; font-weight: 700; }

.capability-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.capability-card {

  min-height: 200px;
  padding: 30px;
  border: 0;
  border-radius: 28px;
  display: flex;
  flex-direction: column;
  transition: transform 200ms ease;
}
.capability-card:hover { transform: translateY(-5px); }
.capability-card h3 {
  max-width: 340px;
  font-size: var(--h4-size);
  font-weight: var(--h4-weight);
  line-height: var(--h4-lh);
  letter-spacing: var(--h4-ls);
}
.capability-card p { max-width: 420px; margin-top: 14px; font-size: 15px; line-height: 1.5; }

.capability-card { color: var(--ink); background: var(--paper); }
.capability-card p { color: var(--ink-soft); }

.launch { position: relative; padding: 100px 0; background: var(--ink); color: white; overflow-x: clip; overflow-y: visible; }
.launch::after {
  content: "";
  position: absolute;
  z-index: 1;
  pointer-events: none;
}
.launch::after {
  width: 300px;
  height: 108px;
  right: -160px;
  bottom: 38px;
  border-radius: 999px;
  background: var(--cyan);
  transform: rotate(-22deg);
}
.launch__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(340px, 0.85fr) minmax(520px, 1.15fr);
  gap: clamp(70px, 10vw, 160px);
}
.launch .eyebrow { color: rgba(255, 255, 255, 0.7); }
.launch h2 {
  font-size: var(--h2-size);
  font-weight: var(--h2-weight);
  line-height: var(--h2-lh);
  letter-spacing: var(--h2-ls);
}
.launch__intro > p:last-child { margin-top: 30px; color: rgba(255,255,255,.66); font-size: 18px; }
.launch__steps { counter-reset: step; }
.launch__steps article {
  counter-increment: step;
  position: relative;
  padding: 28px 0 32px 70px;
  border-top: 1px solid rgba(255,255,255,.24);
}
.launch__steps article::before {
  content: counter(step);
  position: absolute;
  top: 28px;
  left: 0;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: var(--ink);
  background: var(--yellow);
  font-size: 13px;
  font-weight: 800;
}
.launch__steps article:first-child { padding-top: 0; border-top: 0; }
.launch__steps article:first-child::before { top: 0; }
.launch__steps span { font-size: 24px; font-weight: 700; }
.launch__steps p { margin-top: 10px; color: rgba(255,255,255,.65); }

.cta { padding: 76px 0; background: var(--paper); }
.cta__panel {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 80px;
  align-items: end;
  padding: clamp(48px, 6vw, 90px);
  border-radius: var(--radius);
  color: white;
  background: var(--pink);
  overflow: hidden;
  position: relative;
  isolation: isolate;
}
.cta__panel::before,
.cta__panel::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
}
.cta__panel::before {
  width: 150px;
  height: 150px;
  top: -72px;
  right: 25%;
  border-radius: 50%;
  background: var(--yellow);
}
.cta__panel::after {
  width: 430px;
  height: 58px;
  right: -136px;
  bottom: 24px;
  border-radius: 999px;
  background: var(--violet);
  transform: rotate(-22deg);
}
.cta__panel > * { position: relative; z-index: 1; }
.cta .eyebrow { color: rgba(255, 255, 255, 0.76); }
.cta h2 {
  font-size: var(--h2-size);
  font-weight: var(--h2-weight);
  line-height: var(--h2-lh);
  letter-spacing: var(--h2-ls);
}
.cta__end { display: grid; justify-items: start; gap: 30px; }
.cta__end p { color: rgba(255,255,255,.85); font-size: 18px; }

.faq { padding: 96px 0 112px; }
.faq__grid { display: grid; grid-template-columns: minmax(300px, .7fr) minmax(620px, 1.3fr); gap: 100px; }
.faq__heading { position: sticky; top: 120px; align-self: start; }

.faq__list {
  display: grid;
  gap: 10px;
}
.faq-item {
  --faq-accent: var(--pink);
  border: 0;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.55);
  transition: background-color 200ms ease;
}
.faq-item--1 { --faq-accent: var(--pink); }
.faq-item--2 { --faq-accent: var(--cyan); }
.faq-item--3 { --faq-accent: var(--violet); }
.faq-item--4 { --faq-accent: var(--yellow); }
.faq-item--5 { --faq-accent: var(--green); }
.faq-item:hover,
.faq-item[open] { background: white; }
.faq-item summary {
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
  padding: 26px 30px;
  cursor: pointer;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.3;
  list-style: none;
  -webkit-tap-highlight-color: transparent;
}

.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::marker { content: ""; }
.faq-item summary:focus-visible {
  outline: 2px solid var(--faq-accent);
  outline-offset: -8px;
  border-radius: 22px;
}
.faq-item__question { flex: 1; }

.faq-item__mark {
  position: relative;
  flex: none;
  width: 22px;
  height: 22px;
}
.faq-item__mark::before,
.faq-item__mark::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 3px;
  border-radius: 999px;
  background: var(--ink);
  translate: -50% -50%;
  transition: rotate 220ms cubic-bezier(0.2, 0.8, 0.3, 1);
}
.faq-item__mark::after { rotate: 90deg; }
.faq-item[open] .faq-item__mark::after { rotate: 0deg; }

.faq-item__answer {
  overflow: hidden;
}
.faq-item__answer > p {
  min-height: 0;
  max-width: 700px;
  margin: 0;
  padding: 0 30px 28px;
  color: var(--ink-soft);
  line-height: 1.55;
}
@media (prefers-reduced-motion: reduce) {
  .faq-item,
  .faq-item__answer,
  .faq-item__mark::before,
  .faq-item__mark::after { transition: none; }
}

.manifesto__inner::after {
  content: "";
  position: absolute;
  z-index: -1;
  border-radius: 999px;
  pointer-events: none;
}

.manifesto__inner::after {
  width: 150px;
  height: 66px;
  top: -104px;
  left: 232px;
  background: var(--cyan);
  transform: rotate(-22deg);
}

.page-hero { padding: 64px 0 44px; background: var(--paper); }
.page-hero h1 {
  max-width: 900px;
  font-size: var(--h2-size);
  font-weight: var(--h2-weight);
  line-height: var(--h2-lh);
  letter-spacing: var(--h2-ls);
}

.page-hero--art .shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 380px);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
}
.page-hero__art {
  aspect-ratio: var(--art-ink-aspect, 1);
  background-image: var(--art);
  background-repeat: no-repeat;
  background-size: calc(100% / var(--art-ink-w)) auto;
  background-position: var(--art-ink-x) var(--art-ink-y);
}
@media (max-width: 820px) {

  .page-hero--art .shell { grid-template-columns: minmax(0, 1fr); }
  .page-hero--art .page-hero__copy { order: 2; }
  .page-hero__art { order: 1; justify-self: center; width: min(100%, 320px); }
}
@media (max-width: 720px) {

  .page-hero__art {
    aspect-ratio: var(--art-aspect-sm, 1);
    background-image: var(--art-sm);
    background-size: contain;
    background-position: center;
  }
}

.page-hero__lead {
  max-width: 680px;
  margin-top: 22px;
  color: var(--ink-soft);
  font-size: clamp(17px, 1.25vw, 20px);
  line-height: 1.55;
}
.page-body { padding: 0 0 96px; background: var(--paper); }
.page-section {
  display: grid;
  grid-template-columns: minmax(0, 320px) minmax(0, 1fr);
  gap: 40px;
  padding: 38px 0;
  border-top: 1px solid var(--line);
}
.page-section h2 {
  margin: 0;
  font-size: var(--h4-size);
  font-weight: var(--h4-weight);
  line-height: var(--h4-lh);
  letter-spacing: var(--h4-ls);
}
.page-section__body { display: grid; gap: 18px; }
.page-section p { max-width: 720px; color: var(--ink-soft); font-size: 17px; line-height: 1.6; }

.page-list { display: grid; gap: 12px; padding: 0; margin: 0; max-width: 760px; list-style: none; }
.page-list li { position: relative; padding-left: 26px; color: var(--ink-soft); font-size: 17px; line-height: 1.5; }

.page-list .text-link { display: inline-block; font-size: inherit; }
.page-list .text-link:hover { border-bottom-color: var(--pink); color: var(--pink); }
.page-list li::before {
  content: "";
  position: absolute;
  top: 0.66em;
  left: 0;
  width: 14px;
  height: 3px;
  border-radius: 999px;
  background: var(--pink);
}

.page-rows { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: 12px 24px; margin: 0; }
.page-rows dt { color: var(--ink-soft); font-size: 15px; }
.page-rows dd { margin: 0; font-size: 16px; font-weight: 700; }
.page-links { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.page-links a { font-size: 16px; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; }
.page-contacts { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; }
.page-contacts__mail { font-size: 18px; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; }

.faq-page { padding: 0 0 96px; background: var(--paper); }
.faq-page__grid { display: grid; grid-template-columns: minmax(0, 240px) minmax(0, 1fr); gap: 60px; align-items: start; }
.faq-page__nav { position: sticky; top: 28px; display: grid; gap: 10px; }
.faq-page__nav a {
  padding: 9px 14px;
  border-radius: 999px;
  color: var(--ink-soft);
  font-size: 15px;
  font-weight: 700;
  transition: background-color 160ms ease, color 160ms ease;
}
.faq-page__nav a:hover { color: var(--ink); background: white; }
.faq-group + .faq-group { margin-top: 52px; }
.faq-group h2 {
  margin-bottom: 20px;
  font-size: var(--h3-size);
  font-weight: var(--h3-weight);
  line-height: var(--h3-lh);
  letter-spacing: var(--h3-ls);
}

.faq-group { scroll-margin-top: 24px; }

@media (max-width: 1100px) {
  .page-section { grid-template-columns: 1fr; gap: 18px; }
  .faq-page__grid { grid-template-columns: 1fr; gap: 32px; }
  .faq-page__nav { position: static; grid-auto-flow: column; grid-auto-columns: max-content; overflow-x: auto; padding-bottom: 4px; }
}
@media (max-width: 720px) {
  .page-hero { padding: 34px 0 30px; }
  .page-body, .faq-page { padding-bottom: 68px; }
  .page-rows { grid-template-columns: 1fr; gap: 4px; }
  .page-rows dd { margin-bottom: 14px; }
}

.footer { padding: 76px 0 30px; color: white; background: var(--ink); }
.footer__top {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr 0.85fr 0.75fr;
  gap: 40px;
  align-items: start;
}
.brand--footer { color: white; }
.brand--footer img { filter: brightness(0) invert(1); }
.footer__brand p {
  max-width: 340px;
  margin-top: 22px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 16px;
  line-height: 1.55;
}
.footer__brand .button { margin-top: 26px; }

.footer__title--link { color: rgba(255, 255, 255, 0.75); }
.footer__title--link:hover { color: white; }
.footer__title,
.footer__nav a.footer__title {
  display: block;
  margin-bottom: 16px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.footer__nav { display: grid; align-content: start; gap: 11px; }
.footer__nav a,
.footer__contact a {
  color: rgba(255, 255, 255, 0.78);
  font-size: 15px;
  transition: color 160ms ease;
}
.footer__nav a:hover,
.footer__contact a:hover { color: white; }
.footer__contact a {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 5px;
}

.footer__docs {
  margin-top: 56px;
  padding-top: 28px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}
.footer__docs-list { display: flex; flex-wrap: wrap; gap: 10px 26px; }
.footer__docs a { color: rgba(255, 255, 255, 0.55); font-size: 13px; }
.footer__docs a:hover { color: rgba(255, 255, 255, 0.85); }

.footer__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  margin-top: 30px;
}
.footer__legal {
  margin: 0;
  color: rgba(255, 255, 255, 0.45);
  font-size: 13px;
}

.lang { display: flex; align-items: center; gap: 10px; color-scheme: dark; }
.lang__label { color: rgba(255, 255, 255, 0.45); font-size: 13px; }
.lang__select {
  appearance: none;
  min-height: 38px;
  padding: 0 34px 0 14px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  color: white;
  background-color: transparent;

  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23ffffff' stroke-opacity='.7' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.18s ease, background-color 0.18s ease;
}
.lang__select:hover { border-color: rgba(255, 255, 255, 0.5); background-color: rgba(255, 255, 255, 0.06); }
.lang__select:focus-visible { outline: 2px solid var(--pink); outline-offset: 2px; }

.lang__links { display: flex; flex-wrap: wrap; gap: 6px 16px; }
.lang__links a { color: rgba(255, 255, 255, 0.55); font-size: 13px; }
.lang__links a:hover { color: rgba(255, 255, 255, 0.85); }

[data-reveal] {
  opacity: 0;
  translate: 0 24px;
}
[data-reveal].is-visible { animation: reveal-rise 600ms cubic-bezier(.2, .7, .2, 1) forwards; }

@keyframes reveal-rise {
  to {
    opacity: 1;
    translate: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
  [data-reveal] { opacity: 1; translate: none; animation: none; }
}

@media (max-width: 1100px) {
  .capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .section-heading--split { grid-template-columns: 1.2fr 0.8fr; gap: 36px; }

  .footer__top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
  :root { --shell: min(100% - 40px, 960px); }
  .hero { min-height: auto; padding-top: 42px; }

  .hero { padding-bottom: calc(100vw / var(--art-aspect-sm, var(--art-aspect)) + 32px); }
  .hero::before {
    inset: auto 0 -1px 0;
    height: auto;
    aspect-ratio: var(--art-aspect-sm, var(--art-aspect));
    background-size: contain;
    background-position: center bottom;
  }
  .hero__copy { width: 100%; max-width: 850px; }
  .story,
  .story--reverse {
    min-height: 0;
    padding-bottom: calc((100vw - 2 * var(--story-pad)) / var(--art-aspect-sm, var(--art-aspect)) + 28px);
  }

  .story::before,
  .story--reverse::before {
    inset: auto var(--story-pad) 0;
    height: auto;
    aspect-ratio: var(--art-aspect-sm, var(--art-aspect));
    background-size: contain;
    background-position: center bottom;
  }
  .story__copy, .story--reverse .story__copy { width: 100%; max-width: 720px; margin-left: 0; }
  .launch__grid { grid-template-columns: 1fr; gap: 70px; }
  .faq__grid { grid-template-columns: 1fr; gap: 36px; }

  .faq__heading { position: relative; top: auto; }
  .footer__top { grid-template-columns: 1fr 1fr; gap: 40px; }
}

@media (max-width: 720px) {

  .hero::before { background-image: var(--art-sm); }

  .story::before { background-image: var(--story-image-sm); }

  :root { --shell: calc(100% - 28px); --radius: 24px; }
  .site-header { padding: 14px 0 4px; }
  .site-header .brand img { width: 40px; }
  .button--compact { --btn-lift: 3px; min-height: 42px; padding: 9px 14px; font-size: 12px; white-space: nowrap; }
  .site-header__inner { gap: 12px; }
  .site-header__actions { gap: 10px; }

  .footer__bottom { flex-direction: column; align-items: flex-start; gap: 18px; }

  .button--home { padding: 9px 12px; }
  .button--home .button__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

  .hero { padding: 28px 0 calc(100vw / var(--art-aspect-sm, var(--art-aspect)) + 24px); }

  :root {
    --h1-size: clamp(46px, 14.5vw, 64px);
    --h2-size: clamp(36px, 11vw, 46px);
    --h3-size: clamp(28px, 8.6vw, 40px);
    --h4-size: 20px;
  }
  .hero h1 { white-space: normal; }
  .hero__lead { margin-top: 25px; font-size: 17px; }
  .hero__actions { align-items: stretch; flex-direction: column; gap: 20px; }
  .hero__actions .button { width: 100%; }
  .hero__actions .text-link { align-self: center; }
  .hero__facts { margin-top: 30px; }
  .manifesto, .capabilities, .launch, .faq { padding: 68px 0; }
  .stories { padding: 68px 0 0; }
  .manifesto::before { width: 260px; height: 68px; right: -90px; }
  .manifesto::after { width: 110px; height: 110px; bottom: -56px; }
  .manifesto__inner > p:last-child { margin-left: 0; font-size: 17px; }
  .section-heading { margin-bottom: 42px; }
  .section-heading--split { grid-template-columns: 1fr; gap: 24px; }
  .story, .story--reverse {
    min-height: 0;
    margin-top: 48px;
    --story-pad: 14px;
    padding: 28px var(--story-pad) calc((100vw - 2 * var(--story-pad)) / var(--art-aspect-sm, var(--art-aspect)) + 28px);
  }

  .story__copy { padding: 0; }
  .capability-grid { grid-template-columns: 1fr; }
  .capabilities::before { width: 120px; height: 120px; top: 48px; right: -62px; }
  .capabilities::after { width: 220px; height: 48px; left: -110px; }
  .capability-card { min-height: 180px; }
  .launch__steps article { padding-left: 60px; }
  .cta { padding: 14px 0 70px; }
  .cta__panel { grid-template-columns: 1fr; gap: 50px; padding: 42px 24px; }
  .cta__panel::before { width: 96px; height: 96px; right: -22px; }
  .cta__panel::after { width: 190px; height: 48px; right: -96px; }
  .faq-item summary { padding: 22px 20px; gap: 16px; font-size: 17px; }
  .faq-item__answer > p { padding: 0 20px 24px; font-size: 15px; }
  .footer { padding-top: 54px; }
  .footer__top { grid-template-columns: 1fr; gap: 34px; }
  .footer__brand .button { width: 100%; }
}

.industries { padding: 96px 0; background: var(--paper); }

.industries .section-heading::after { content: none; }
.industry-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.industry-tile,
.module-tile,
.page-card {
  position: relative;
  min-height: 190px;
  padding: 28px 30px;
  color: var(--ink);
  background: white;
  text-decoration: none;
  border-radius: 28px;
  transition: transform 200ms ease;
}
.industry-tile { display: flex; flex-direction: column; }
.module-tile,
.page-card { display: grid; align-content: start; gap: 8px; }
.industry-tile:hover,
.module-tile:hover,
.page-card:hover { transform: translateY(-5px); }
.industry-tile h3 {
  margin: 0;
  max-width: 320px;
  font-size: var(--h4-size);
  font-weight: var(--h4-weight);
  line-height: var(--h4-lh);
  letter-spacing: var(--h4-ls);
}
.industry-tile p { margin: 12px 0 0; max-width: 380px; font-size: 15px; line-height: 1.5; }

.tile-arrow {
  position: absolute;
  right: 26px;
  bottom: 22px;
  width: 24px;
  height: 24px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4.84991%2018.7276C4.55701%2019.0205%204.55701%2019.4954%204.84991%2019.7883C5.1428%2020.0812%205.61767%2020.0812%205.91057%2019.7883L4.84991%2018.7276ZM13.6887%2012.0101C13.9816%2011.7172%2013.9816%2011.2423%2013.6887%2010.9494C13.3958%2010.6565%2012.921%2010.6565%2012.6281%2010.9494L13.6887%2012.0101ZM11.1328%209.4541L10.6025%209.98443L11.1328%209.4541ZM12.2891%206.0566L12.1923%205.31286L12.1923%205.31286L12.2891%206.0566ZM18.5816%2012.3491L19.3253%2012.4458L18.5816%2012.3491ZM15.184%2013.5053L15.7144%2012.975L15.184%2013.5053ZM19.1873%207.69212L18.4436%207.59539L19.1873%207.69212ZM16.946%205.45086L17.0428%206.1946L16.946%205.45086ZM5.91057%2019.7883L13.6887%2012.0101L12.6281%2010.9494L4.84991%2018.7276L5.91057%2019.7883ZM18.4436%207.59539L17.8378%2012.2523L19.3253%2012.4458L19.931%207.78886L18.4436%207.59539ZM15.7144%2012.975L11.6632%208.92377L10.6025%209.98443L14.6537%2014.0357L15.7144%2012.975ZM12.3858%206.80033L17.0428%206.1946L16.8493%204.70713L12.1923%205.31286L12.3858%206.80033ZM11.6632%208.92377C10.9297%208.19029%2011.3572%206.93413%2012.3858%206.80033L12.1923%205.31286C9.92934%205.60721%208.98884%208.37077%2010.6025%209.98443L11.6632%208.92377ZM17.8378%2012.2523C17.704%2013.281%2016.4479%2013.7085%2015.7144%2012.975L14.6537%2014.0357C16.2674%2015.6493%2019.0309%2014.7088%2019.3253%2012.4458L17.8378%2012.2523ZM19.931%207.78886C20.1638%205.99928%2018.6389%204.47436%2016.8493%204.70713L17.0428%206.1946C17.8562%206.08879%2018.5494%206.78194%2018.4436%207.59539L19.931%207.78886Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4.84991%2018.7276C4.55701%2019.0205%204.55701%2019.4954%204.84991%2019.7883C5.1428%2020.0812%205.61767%2020.0812%205.91057%2019.7883L4.84991%2018.7276ZM13.6887%2012.0101C13.9816%2011.7172%2013.9816%2011.2423%2013.6887%2010.9494C13.3958%2010.6565%2012.921%2010.6565%2012.6281%2010.9494L13.6887%2012.0101ZM11.1328%209.4541L10.6025%209.98443L11.1328%209.4541ZM12.2891%206.0566L12.1923%205.31286L12.1923%205.31286L12.2891%206.0566ZM18.5816%2012.3491L19.3253%2012.4458L18.5816%2012.3491ZM15.184%2013.5053L15.7144%2012.975L15.184%2013.5053ZM19.1873%207.69212L18.4436%207.59539L19.1873%207.69212ZM16.946%205.45086L17.0428%206.1946L16.946%205.45086ZM5.91057%2019.7883L13.6887%2012.0101L12.6281%2010.9494L4.84991%2018.7276L5.91057%2019.7883ZM18.4436%207.59539L17.8378%2012.2523L19.3253%2012.4458L19.931%207.78886L18.4436%207.59539ZM15.7144%2012.975L11.6632%208.92377L10.6025%209.98443L14.6537%2014.0357L15.7144%2012.975ZM12.3858%206.80033L17.0428%206.1946L16.8493%204.70713L12.1923%205.31286L12.3858%206.80033ZM11.6632%208.92377C10.9297%208.19029%2011.3572%206.93413%2012.3858%206.80033L12.1923%205.31286C9.92934%205.60721%208.98884%208.37077%2010.6025%209.98443L11.6632%208.92377ZM17.8378%2012.2523C17.704%2013.281%2016.4479%2013.7085%2015.7144%2012.975L14.6537%2014.0357C16.2674%2015.6493%2019.0309%2014.7088%2019.3253%2012.4458L17.8378%2012.2523ZM19.931%207.78886C20.1638%205.99928%2018.6389%204.47436%2016.8493%204.70713L17.0428%206.1946C17.8562%206.08879%2018.5494%206.78194%2018.4436%207.59539L19.931%207.78886Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}

.industry-tile p { color: var(--ink-soft); }

.industry-grid:not(.industry-grid--siblings) > :nth-child(3n + 1):nth-last-child(1) { grid-column: span 3; }
.industry-grid:not(.industry-grid--siblings) > :nth-child(3n + 2):nth-last-child(1) { grid-column: span 2; }

.industry-grid--siblings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.industry-grid--siblings > :nth-child(2n + 1):nth-last-child(1) { grid-column: span 2; }

.industry-hero {

  --industry-copy: min(640px, calc(var(--shell) * var(--art-margin) + 44px));
  position: relative;
  padding: 60px 0 76px;
  background: var(--paper);
  overflow-x: clip;
  --story-image: var(--art);
}
.industry-hero::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;

  right: max(0px, calc((100% - var(--hero-max)) / 2));
  left: 0;
  z-index: 0;
  pointer-events: none;
  background-image: var(--story-image);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain;
}
.industry-hero .hero__copy { position: relative; z-index: 1; width: var(--industry-copy); }
.industry-hero h1 {
  margin: 0;
  font-size: var(--h3-size);
  font-weight: var(--h3-weight);
  line-height: var(--h3-lh);
  letter-spacing: var(--h3-ls);
}
.industry-hero .hero__lead { max-width: 620px; font-size: clamp(17px, 1.2vw, 20px); }

.industry-hero__story {
  margin-top: 42px;
  padding-left: 22px;
  border-left: 3px solid var(--pink);
}
.industry-hero__story p { max-width: 560px; color: var(--ink-soft); font-size: 17px; line-height: 1.55; }

.industry-hero__story ul {
  display: grid;
  gap: 9px;
  padding-left: 0;
  margin-top: 20px;
  list-style: none;
  font-size: 14px;
  font-weight: 700;
}
.industry-hero__story li { position: relative; padding-left: 26px; }
.industry-hero__story li::before {
  content: "";
  position: absolute;
  top: 0.62em;
  left: 0;
  width: 14px;
  height: 3px;
  border-radius: 999px;
  background: var(--pink);
}

@media (max-width: 1100px) {
  .industry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .industry-hero { padding-bottom: calc(100vw / var(--art-aspect-sm, var(--art-aspect)) + 32px); }
  .industry-hero .hero__copy { width: 100%; max-width: 760px; }
  .industry-hero::before {
    inset: auto 0 -1px 0;
    height: auto;
    aspect-ratio: var(--art-aspect-sm, var(--art-aspect));
    background-size: contain;
    background-position: center bottom;
  }

  .industry-grid:not(.industry-grid--siblings) > :nth-child(3n + 1):nth-last-child(1),
  .industry-grid:not(.industry-grid--siblings) > :nth-child(3n + 2):nth-last-child(1) { grid-column: auto; }
  .industry-grid > :nth-child(2n + 1):nth-last-child(1) { grid-column: span 2; }
}
@media (max-width: 720px) {
  .industries { padding: 68px 0; }
  .industry-grid { grid-template-columns: 1fr; }
  .industry-grid:not(.industry-grid--siblings) > :nth-child(3n + 1):nth-last-child(1),
  .industry-grid:not(.industry-grid--siblings) > :nth-child(3n + 2):nth-last-child(1),
  .industry-grid > :nth-child(2n + 1):nth-last-child(1) { grid-column: auto; }
  .industry-tile { min-height: 0; padding: 24px 22px; }
  .industry-hero { --story-image: var(--art-sm); padding: 28px 0 calc(100vw / var(--art-aspect-sm, var(--art-aspect)) + 24px); }

  .industry-hero__story { margin-top: 32px; }
}

.capabilities__more { display: flex; justify-content: center; margin: 34px 0 0; }

.module-hero { position: relative; padding: 60px 0 76px; background: var(--paper); }
.module-hero .shell {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 56px;
  align-items: start;
}
.module-hero--wide .shell { grid-template-columns: minmax(0, 1fr); }
.module-hero .hero__copy { position: relative; z-index: 1; }
.module-hero h1 {
  margin: 0;
  font-size: var(--h3-size);
  font-weight: var(--h3-weight);
  line-height: var(--h3-lh);
  letter-spacing: var(--h3-ls);
}
.module-hero .hero__lead { max-width: 620px; font-size: clamp(17px, 1.2vw, 20px); }

.module-hero__aside { display: grid; gap: 22px; align-content: start; margin-top: 24px; }

.module-hero__art {

  width: 100%;
  max-width: 360px;

  justify-self: center;
  aspect-ratio: var(--art-aspect, 1);
  background-image: var(--art);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.module-hero__business {
  margin-top: 0;
  padding: 28px;
  border-radius: 28px;
  background: white;
}

.module-hero__label {
  display: block;
  color: var(--violet);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.module-hero__business p { margin: 14px 0 0; color: var(--ink-soft); font-size: 16px; line-height: 1.55; }
.module-hero__business ul { display: grid; gap: 9px; margin: 20px 0 0; padding: 0; list-style: none; font-size: 14px; font-weight: 700; }
.module-hero__business li { position: relative; padding-left: 26px; }
.module-hero__business li::before {
  content: "";
  position: absolute;
  top: 0.62em;
  left: 0;
  width: 14px;
  height: 3px;
  border-radius: 999px;
  background: var(--violet);
}

.module-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.module-grid > :nth-child(3n + 1):nth-last-child(1) { grid-column: span 3; }
.module-grid > :nth-child(3n + 2):nth-last-child(1) { grid-column: span 2; }
.module-tile h3 {
  margin: 0;
  font-size: var(--h4-size);
  font-weight: var(--h4-weight);
  line-height: var(--h4-lh);
  letter-spacing: var(--h4-ls);
}
.module-tile p { margin: 0; color: var(--ink-soft); font-size: 15px; line-height: 1.5; }
.industries--modules { background: var(--paper); }

.page-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.page-card__title { max-width: 300px; font-size: 19px; font-weight: 700; line-height: 1.2; letter-spacing: -0.02em; }
.page-card__note { max-width: 320px; color: var(--ink-soft); font-size: 15px; line-height: 1.45; }
.page-card__meta {
  margin-top: 6px;
  color: var(--ink-soft);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
}
@media (max-width: 720px) {
  .page-cards { grid-template-columns: 1fr; }
  .industry-tile, .module-tile, .page-card { min-height: 0; padding: 22px 22px 26px; }
}

.plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.plan {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  padding: 30px 28px 28px;
  background: white;
  border-radius: 28px;
}
.plan--ink { color: white; background: var(--ink); }

.plan--pink { color: white; background: var(--pink); }
.plan__name { font-size: 22px; font-weight: 700; letter-spacing: -0.02em; }
.plan__tagline { color: var(--ink-soft); font-size: 15px; line-height: 1.4; }
.plan--ink .plan__tagline, .plan--pink .plan__tagline { color: rgba(255, 255, 255, 0.68); }
.plan__price {
  margin-top: 18px;
  font-family: var(--font-display);
  font-size: clamp(26px, 2.2vw, 34px);
  font-weight: 600;
  letter-spacing: -0.04em;
}
.plan__note { color: var(--ink-soft); font-size: 13px; }
.plan--ink .plan__note, .plan--pink .plan__note { color: rgba(255, 255, 255, 0.6); }
.plan__list { display: grid; gap: 10px; padding: 0; margin: 22px 0 28px; list-style: none; width: 100%; }
.plan__list li { position: relative; padding-left: 24px; font-size: 15px; line-height: 1.45; }
.plan__list li::before {
  content: "";
  position: absolute;
  top: 0.6em;
  left: 0;
  width: 12px;
  height: 3px;
  border-radius: 999px;
  background: var(--pink);
}
.plan .button { margin-top: auto; }
.plan--ink .button { --btn-accent: var(--cyan); }
.plan--pink .button { --btn-accent: var(--ink); }

.plan--pink .plan__list li::before, .plan--ink .plan__list li::before { background: currentColor; }
.plan__year { width: 100%; box-sizing: border-box; }

@media (max-width: 1100px) {
  .plans { grid-template-columns: 1fr; }
  .plan .button { width: 100%; }
}

.page-section--wide { grid-template-columns: 1fr; }
.plan__year {
  margin-top: 10px;
  padding: 8px 12px;
  border-radius: 12px;
  background: rgba(255, 22, 141, 0.1);
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}
.plan--ink .plan__year, .plan--pink .plan__year { background: rgba(255, 255, 255, 0.12); color: white; }

.faq-page__nav a.is-current { color: var(--ink); background: white; }

.faq__intro { align-self: start; }

.faq__more { margin-top: 20px; }
.faq__more a { font-size: 16px; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; }
.capabilities .section-heading--split > p a { color: white; text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 1100px) {
  .module-hero .shell { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .module-hero__aside { margin-top: 0; }
  .module-hero__art { background-image: var(--art-sm); }
  .module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .module-grid > :nth-child(3n + 1):nth-last-child(1),
  .module-grid > :nth-child(3n + 2):nth-last-child(1) { grid-column: auto; }
  .module-grid > :nth-child(2n + 1):nth-last-child(1) { grid-column: span 2; }

  .section-heading__action { justify-content: flex-start; }
}
@media (max-width: 720px) {
  .module-hero { padding: 28px 0 48px; }
  .module-hero .shell { gap: 28px; }
  .module-hero__aside { gap: 18px; }
  .module-hero__art { max-width: 320px; }
  .module-hero__business { padding: 22px; }
  .module-grid { grid-template-columns: minmax(0, 1fr); }

  .module-grid > :nth-child(2n + 1):nth-last-child(1),
  .module-grid > :nth-child(3n + 1):nth-last-child(1),
  .module-grid > :nth-child(3n + 2):nth-last-child(1) { grid-column: auto; }
}

@media (min-width: 721px) and (max-width: 1100px) {
  .hero { padding-bottom: calc(100vw / var(--art-ink-aspect, var(--art-aspect)) + 32px); }
  .story,
  .story--reverse {
    padding-bottom: calc((100vw - 2 * var(--story-pad)) / var(--art-ink-aspect, var(--art-aspect)) + 28px);
  }
  .industry-hero { padding-bottom: calc(100vw / var(--art-ink-aspect, var(--art-aspect)) + 32px); }
  .hero::before,
  .story::before,
  .story--reverse::before,
  .industry-hero::before {
    aspect-ratio: var(--art-ink-aspect, var(--art-aspect));
    background-size: calc(100% / var(--art-ink-w)) auto;
    background-position: var(--art-ink-x) var(--art-ink-y);
  }
}

.page-section--legal {
  --legal-art-h: clamp(340px, 36vw, 580px);
  --legal-art-drop: 96px;
  --legal-art-clear: 72px;
}
.page-section--legal .page-section__body {
  position: relative;

  min-height: calc(var(--legal-art-h) - var(--legal-art-drop) + var(--legal-art-clear));
}
.page-section--legal .page-section__body::after {
  content: "";
  position: absolute;
  z-index: 0;

  right: calc(max(0px, (100vw - var(--hero-max)) / 2) - (100vw - var(--shell)) / 2);
  bottom: calc(-1 * var(--legal-art-drop));
  height: var(--legal-art-h);
  width: calc(var(--legal-art-h) * var(--art-ink-aspect, var(--art-aspect)));
  pointer-events: none;
  background-image: var(--art);
  background-repeat: no-repeat;
  background-size: calc(100% / var(--art-ink-w)) auto;
  background-position: var(--art-ink-x) var(--art-ink-y);
}

.page-section--legal .page-section__body { align-content: start; }
.page-section--legal .page-rows { position: relative; z-index: 1; align-content: start; }

.page-rows__address span { display: block; }

@media (max-width: 900px) {

  .page-section--legal { --legal-art-drop: 56px; --legal-art-clear: 0px; }
  .page-section--legal .page-section__body {
    min-height: 0;
    padding-bottom: calc(min(100%, 420px) / var(--art-ink-aspect, var(--art-aspect)) + 20px);
  }
  .page-section--legal .page-section__body::after {
    top: auto;
    right: 0;
    left: 0;
    width: min(100%, 420px);
    height: auto;
    margin: 0 auto;
    aspect-ratio: var(--art-ink-aspect, var(--art-aspect));
  }
}
@media (max-width: 720px) {

  .page-section--legal .page-section__body::after {
    aspect-ratio: var(--art-aspect-sm, var(--art-aspect));
    background-image: var(--art-sm);
    background-size: contain;
    background-position: center bottom;
  }
  .page-section--legal .page-section__body {
    padding-bottom: calc(min(100%, 420px) / var(--art-aspect-sm, var(--art-aspect)) + 20px);
  }
}
