/* NotCo AI global stylesheet for Webflow and Slater. */

/* Source: styles.css */

@font-face {
  font-family: "Not Display";
  src: url("https://notco-ai-monttilva-chi.vercel.app/assets/fonts/not-font-display-light.otf") format("opentype");
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: "DM Sans";
  src: url("https://notco-ai-monttilva-chi.vercel.app/assets/fonts/dm-sans-light.ttf") format("truetype");
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: "DM Sans";
  src: url("https://notco-ai-monttilva-chi.vercel.app/assets/fonts/dm-sans-regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "DM Mono";
  src: url("https://notco-ai-monttilva-chi.vercel.app/assets/fonts/dm-mono-regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --size-unit: 16;
  --size-container-ideal: 1440;
  --size-container-min: 992px;
  --size-container-max: 2880px;
  --size-container: clamp(var(--size-container-min), 100vw, var(--size-container-max));
  --size-font: calc(var(--size-container) / (var(--size-container-ideal) / var(--size-unit)));
  --charcoal: #313030;
  --charcoal-soft: #383636;
  --off-white: #fcfaf7;
  --cerulean: #74cbfb;
  --lilac: #e19bff;
  --coral: #ff775f;
  --line-dark: rgba(49, 48, 48, .24);
  --line-light: rgba(252, 250, 247, .22);
  --page-pad: 2.25em;
  --ease-out: cubic-bezier(.16, 1, .3, 1);
}

@media (max-width: 991px) {
  :root {
    --size-container-ideal: 834;
    --size-container-min: 768px;
    --size-container-max: 991px;
    --page-pad: 1.75em;
  }
}

@media (max-width: 767px) {
  :root {
    --size-container-ideal: 550;
    --size-container-min: 480px;
    --size-container-max: 767px;
    --page-pad: 1.35em;
  }
}

@media (max-width: 479px) {
  :root {
    --size-container-ideal: 390;
    --size-container-min: 320px;
    --size-container-max: 479px;
    --page-pad: 1.1em;
  }
}

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

html {
  background: var(--charcoal);
  scroll-behavior: smooth;
  scrollbar-color: var(--cerulean) var(--charcoal);
}

body {
  margin: 0;
  background: var(--charcoal);
  color: var(--off-white);
  font-family: "DM Sans", Arial, sans-serif;
  font-size: var(--size-font);
  font-weight: 300;
  line-height: 1.2;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.menu-open {
  overflow: hidden;
}

/* Restore the NotCo typography context inside Webflow Embed wrappers. */
[data-notco-page],
[data-header],
.skip-link {
  color: var(--off-white);
  font-family: "DM Sans", Arial, sans-serif;
  font-size: var(--size-font);
  font-weight: 300;
  line-height: 1.2;
  text-align: start;
}

img,
svg,
video {
  display: block;
  max-width: 100%;
}

button,
input {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

a {
  color: inherit;
  text-decoration: none;
}

p,
h1,
h2,
h3,
h4,
h5,
h6,
figure,
blockquote {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  letter-spacing: normal;
  text-transform: none;
}

p {
  max-width: none;
  font-family: inherit;
  line-height: inherit;
  text-align: inherit;
}

blockquote {
  border: 0;
  padding: 0;
  font-style: normal;
}

figcaption {
  margin: 0;
  font-size: inherit;
  text-align: inherit;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

li {
  margin: 0;
}

::selection {
  background: var(--lilac);
  color: var(--charcoal);
}

.site-container {
  width: 100%;
  max-width: var(--size-container);
  margin-inline: auto;
  padding-inline: var(--page-pad);
}

.theme-dark {
  background-color: var(--charcoal);
  color: var(--off-white);
}

.theme-light {
  background-color: var(--off-white);
  color: var(--charcoal);
}

.section-rule {
  position: relative;
}

.section-rule::before {
  position: absolute;
  top: 0;
  right: var(--page-pad);
  left: var(--page-pad);
  height: 1px;
  background: var(--line-light);
  content: "";
}

.theme-light.section-rule::before {
  background: var(--line-dark);
}

.eyebrow {
  font-family: "DM Mono", monospace;
  font-size: .75em;
  line-height: 1.5;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: .75em;
  left: .75em;
  padding: .7em 1em;
  background: var(--off-white);
  color: var(--charcoal);
  transform: translateY(-180%);
  transition: transform .25s ease;
}

.skip-link:focus {
  transform: translateY(0);
}

.button {
  display: inline-flex;
  min-height: 2.5em;
  align-items: center;
  justify-content: center;
  gap: .75em;
  padding: .72em 1.25em;
  border: 1px solid currentColor;
  border-radius: 999em;
  font-size: .77em;
  line-height: 1;
  transition: background-color .35s var(--ease-out), color .35s var(--ease-out), transform .35s var(--ease-out);
}

.button:hover,
.button:focus-visible {
  transform: translateY(-.14em);
}

.button--light {
  background: var(--off-white);
  color: var(--charcoal);
}

.button--light:hover,
.button--light:focus-visible {
  background: var(--cerulean);
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: .65em;
  padding-bottom: .3em;
  border-bottom: 1px solid currentColor;
  font-size: .78em;
  text-transform: uppercase;
}

.site-header {
  position: absolute;
  z-index: 100;
  top: 0;
  right: 0;
  left: 0;
  height: 5em;
  color: var(--off-white);
}

.site-header.is-scrolled {
  position: fixed;
  height: 4.25em;
  background: rgba(49, 48, 48, .88);
  border-bottom: 1px solid rgba(252, 250, 247, .12);
  backdrop-filter: blur(18px);
  animation: header-in .45s var(--ease-out) both;
}

@keyframes header-in {
  from { transform: translateY(-100%); }
  to { transform: translateY(0); }
}

.nav-inner {
  display: grid;
  height: 100%;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}

.brand {
  width: 6.85em;
}

.brand img {
  width: 100%;
  height: auto;
}

.desktop-nav {
  display: flex;
  align-items: center;
  gap: 2.15em;
  font-size: .74em;
}

.desktop-nav a {
  position: relative;
  padding-block: .6em;
}

.desktop-nav a::after {
  position: absolute;
  right: 0;
  bottom: .2em;
  left: 0;
  height: 1px;
  background: currentColor;
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .35s var(--ease-out);
}

.desktop-nav a:hover::after,
.desktop-nav a:focus-visible::after,
.desktop-nav a[aria-current="page"]::after {
  transform: scaleX(1);
  transform-origin: left;
}

.nav-cta {
  justify-self: end;
}

.menu-button,
.mobile-menu {
  display: none;
}

.hero {
  position: relative;
  min-height: 50em;
  overflow: hidden;
}

.hero-media {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.hero-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-media--home {
  left: 30%;
  background: var(--charcoal);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 22%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 22%, #000 100%);
}

.hero-media--home::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(49, 48, 48, .55), transparent 44%), linear-gradient(0deg, var(--charcoal) 0%, transparent 22%);
  content: "";
}

.hero-inner--home {
  position: relative;
  display: flex;
  min-height: 50em;
  flex-direction: column;
  justify-content: space-between;
  padding-top: 10.5em;
  padding-bottom: 2.7em;
}

.hero-copy {
  position: relative;
  z-index: 2;
  width: 48%;
}

.hero-copy h1 {
  max-width: 9em;
  font-family: "Not Display", Georgia, serif;
  font-size: 4.375em;
  font-weight: 300;
  line-height: .91;
  letter-spacing: -.035em;
}

.hero-copy > p {
  max-width: 32em;
  margin-top: 1.75em;
  font-size: .88em;
  line-height: 1.35;
}

.hero-trust {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 19em 1fr;
  align-items: center;
  gap: 1.5em;
  border-top: 1px solid var(--line-light);
  padding-top: 1.5em;
}

.logo-rail {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  align-items: center;
  gap: 1.75em;
}

.logo-rail img {
  width: 100%;
  max-height: 1.55em;
  object-fit: contain;
  opacity: .82;
}

.partner-wordmark {
  font-size: 1.25em;
  font-weight: 400;
  letter-spacing: -.08em;
  text-align: center;
  text-transform: lowercase;
}

.challenge {
  min-height: 49em;
  padding-block: 7em;
}

.challenge-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 6.5em;
}

.challenge-copy {
  display: flex;
  min-height: 31em;
  flex-direction: column;
}

.challenge-copy h2 {
  max-width: 11.5em;
  margin-top: 3.2em;
  font-family: "Not Display", Georgia, serif;
  font-size: 2.875em;
  font-weight: 300;
  line-height: 1;
  letter-spacing: -.025em;
}

.challenge-copy > p:last-child {
  max-width: 31em;
  margin-top: auto;
  font-size: .96em;
  line-height: 1.35;
}

.challenge-media {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #2e2e2e;
}

.challenge-media::after {
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 0 1px rgba(252, 250, 247, .04);
  content: "";
}

.challenge-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.giuseppe-bridge {
  position: relative;
  min-height: 43em;
  overflow: hidden;
}

.bridge-copy {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: 43em;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.bridge-copy h2 {
  margin-top: 1.7em;
  font-family: "Not Display", Georgia, serif;
  font-size: 2.875em;
  font-weight: 300;
  line-height: 1;
  letter-spacing: -.025em;
}

.giuseppe-mark {
  width: 12.1em;
  max-height: 3.2em;
  object-fit: contain;
}

.bridge-copy > p:last-child {
  max-width: 34em;
  margin-top: 1.3em;
  font-size: .93em;
}

.bridge-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  mix-blend-mode: multiply;
  pointer-events: none;
}

.journey {
  position: relative;
  height: 260vh;
}

.journey-sticky {
  position: sticky;
  top: 0;
  display: flex;
  min-height: 46em;
  height: 100svh;
  align-items: center;
  overflow: hidden;
  background: var(--off-white);
}

.journey-grid {
  display: grid;
  grid-template-columns: .85fr 1.55fr;
  align-items: stretch;
  gap: 3.5em;
}

.journey-copy {
  display: flex;
  min-height: 37em;
  flex-direction: column;
  padding-block: 1em;
}

.journey-copy h2 {
  margin-top: .8em;
  font-family: "Not Display", Georgia, serif;
  font-size: 2.875em;
  font-weight: 300;
  line-height: 1;
  letter-spacing: -.025em;
}

.journey-tabs {
  margin-top: 2.6em;
  border-top: 1px solid var(--line-dark);
}

.journey-tabs button {
  display: grid;
  width: 100%;
  grid-template-columns: 2.2em 1fr;
  align-items: center;
  gap: .8em;
  padding: 1.15em 0;
  border: 0;
  border-bottom: 1px solid var(--line-dark);
  background: transparent;
  color: var(--charcoal);
  cursor: pointer;
  opacity: .35;
  text-align: left;
  transition: opacity .4s ease, padding-left .4s var(--ease-out);
}

.journey-tabs button[aria-selected="true"] {
  padding-left: .6em;
  opacity: 1;
}

.journey-tabs button span {
  font-family: "DM Mono", monospace;
  font-size: .7em;
}

.journey-tabs button strong {
  font-size: 1.1em;
  font-weight: 300;
}

.journey-copy .text-link {
  align-self: flex-start;
  margin-top: 1.5em;
}

.journey-descriptions {
  min-height: 5.6em;
  margin-top: 1.2em;
}

.journey-descriptions p {
  max-width: 32em;
  font-size: .72em;
  line-height: 1.35;
}

.journey-stage {
  position: relative;
  min-height: 37em;
  overflow: hidden;
  border: 1px solid rgba(49, 48, 48, .13);
  background: linear-gradient(135deg, rgba(255, 119, 95, .56), rgba(225, 155, 255, .52) 50%, rgba(116, 203, 251, .58));
}

.journey-panel {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 3.2em;
  opacity: 0;
  transform: translateY(1.5em) scale(.985);
  transition: opacity .5s ease, transform .65s var(--ease-out);
}

.journey-panel.is-active {
  z-index: 2;
  opacity: 1;
  transform: translateY(0) scale(1);
}

.product-window {
  position: relative;
  width: 100%;
  min-height: 29em;
  overflow: hidden;
  border: 1px solid rgba(49, 48, 48, .13);
  border-radius: 1em;
  background: rgba(252, 250, 247, .94);
  color: var(--charcoal);
  box-shadow: 0 1.8em 5em rgba(49, 48, 48, .12);
}

.product-bar {
  display: grid;
  height: 3.6em;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding-inline: 1.3em;
  border-bottom: 1px solid rgba(49, 48, 48, .14);
  font-size: .76em;
}

.product-mark {
  width: 1.9em;
  height: 1.9em;
  border-radius: 50%;
  background: var(--charcoal);
  color: var(--off-white);
  display: grid;
  place-items: center;
}

.product-user {
  justify-self: end;
  display: grid;
  width: 2.15em;
  height: 2.15em;
  place-items: center;
  border: 1px solid rgba(49, 48, 48, .25);
  border-radius: 50%;
  font-size: .85em;
}

.concept-prompt {
  width: 75%;
  margin: 4.2em auto 0;
  padding: 1.4em;
  border: 1px solid rgba(49, 48, 48, .16);
  border-radius: .75em;
  background: white;
  box-shadow: 0 1em 2.5em rgba(49, 48, 48, .07);
}

.concept-prompt > p {
  margin-top: .9em;
  font-size: 1.02em;
  line-height: 1.3;
}

.prompt-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .5em;
  margin-top: 2.1em;
}

.prompt-tags span {
  padding: .55em .75em;
  border-radius: .35em;
  background: #f2f0ed;
  font-size: .67em;
}

.concept-prompt button {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  margin-top: 1.1em;
  padding: .75em 1em;
  border: 0;
  border-radius: .4em;
  background: var(--charcoal);
  color: var(--off-white);
  font-size: .75em;
}

.concept-results {
  display: flex;
  width: 75%;
  justify-content: space-between;
  margin: 1.2em auto 0;
  color: rgba(49, 48, 48, .7);
  font-size: .62em;
}

.discovery-search {
  width: calc(100% - 3em);
  margin: 1.5em;
  padding: .9em 1em;
  border: 1px solid rgba(49, 48, 48, .2);
  border-radius: .45em;
  background: #fff;
  font-size: .77em;
}

.discovery-search span {
  margin-right: .6em;
  font-size: 1.4em;
}

.ingredient-list {
  padding: 0 1.5em 1.5em;
}

.ingredient-list > div {
  display: grid;
  grid-template-columns: 4.5em 1fr auto;
  align-items: center;
  gap: 1em;
  min-height: 4em;
  padding-inline: 1em;
  border-bottom: 1px solid rgba(49, 48, 48, .12);
  background: rgba(255, 255, 255, .58);
  font-size: .71em;
}

.ingredient-list > div:first-child {
  border-radius: .5em .5em 0 0;
  background: rgba(116, 203, 251, .22);
}

.ingredient-list strong {
  font-weight: 400;
}

.ingredient-list em {
  color: rgba(49, 48, 48, .6);
  font-style: normal;
}

.elevate-summary {
  position: absolute;
  top: 5.3em;
  left: 1.5em;
  display: grid;
  width: 9.5em;
  padding: 1em;
  border: 1px solid rgba(49, 48, 48, .15);
  border-radius: .6em;
  background: #fff;
}

.elevate-summary span,
.elevate-summary small {
  font-size: .65em;
}

.elevate-summary strong {
  margin-top: .25em;
  font-family: "Not Display", Georgia, serif;
  font-size: 3em;
  font-weight: 300;
  line-height: 1;
}

.trial-chart {
  position: absolute;
  top: 6.5em;
  right: 2em;
  bottom: 5em;
  left: 13em;
  display: flex;
  align-items: flex-end;
  gap: .65em;
  padding: 1.5em 1em 1em;
  border-bottom: 1px solid rgba(49, 48, 48, .25);
  border-left: 1px solid rgba(49, 48, 48, .25);
  background: repeating-linear-gradient(0deg, transparent 0 24%, rgba(49, 48, 48, .08) 24% 25%);
}

.trial-chart span {
  width: 100%;
  height: calc(var(--bar) * 100%);
  min-height: .5em;
  background: linear-gradient(180deg, var(--cerulean), var(--lilac) 58%, var(--coral));
  transform-origin: bottom;
  animation: bars-in .9s var(--ease-out) both;
}

@keyframes bars-in {
  from { transform: scaleY(0); }
  to { transform: scaleY(1); }
}

.elevate-footer {
  position: absolute;
  right: 2em;
  bottom: 1.7em;
  left: 13em;
  display: flex;
  justify-content: space-between;
  color: rgba(49, 48, 48, .62);
  font-size: .6em;
}

.impact {
  min-height: 49em;
  padding-block: 7.2em 5.8em;
  background-image: url("https://notco-ai-monttilva-chi.vercel.app/assets/figma/c7b0adf96bb3480d4e146fd469c866c89865194e.svg");
  background-position: center;
  background-size: cover;
}

.impact-title {
  max-width: 23em;
  margin-top: 1.05em;
  font-family: "Not Display", Georgia, serif;
  font-size: 2.875em;
  font-weight: 300;
  line-height: 1;
  letter-spacing: -.025em;
}

.metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 7em;
  border-top: 1px solid var(--line-dark);
}

.metric {
  display: grid;
  min-height: 16em;
  grid-template-rows: auto 1fr auto;
  padding: 1.25em 1.3em 0 0;
  border-right: 1px solid var(--line-dark);
}

.metric + .metric {
  padding-left: 1.3em;
}

.metric:last-child {
  border-right: 0;
}

.metric p {
  min-height: 2.4em;
  font-size: 1.08em;
}

.metric strong {
  align-self: center;
  font-family: "Not Display", Georgia, serif;
  font-size: 9.25em;
  font-weight: 300;
  line-height: .8;
  letter-spacing: -.06em;
}

.metric strong small {
  font-family: "DM Sans", Arial, sans-serif;
  font-size: .43em;
  font-weight: 300;
  letter-spacing: -.03em;
}

.metric > span {
  max-width: 9em;
  justify-self: end;
  font-size: .95em;
}

.possibilities {
  min-height: 44em;
}

.possibilities-inner {
  display: grid;
  min-height: 44em;
  grid-template-columns: 1fr 2fr;
  align-items: center;
}

.possibilities-inner > div {
  min-width: 0;
}

.possibilities-intro {
  margin-bottom: 2.1em;
  font-size: 1.1em;
}

.rotating-lines {
  position: relative;
  height: 1.1em;
  font-family: "Not Display", Georgia, serif;
  font-size: 3.25em;
  font-weight: 300;
  line-height: 1;
  letter-spacing: -.02em;
}

.rotating-lines span {
  position: absolute;
  inset: 0;
  display: block;
  background: linear-gradient(90deg, var(--cerulean), var(--lilac), var(--coral));
  background-clip: text;
  color: transparent;
  opacity: .08;
  transform: translateY(.85em);
  transition: opacity .65s ease, transform .65s var(--ease-out);
}

.rotating-lines span.is-active {
  opacity: 1;
  transform: translateY(0);
}

.rotating-lines span.was-active {
  transform: translateY(-.85em);
}

.possibilities-meta {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: 5.5em;
}

.possibilities-meta p {
  font-size: .88em;
  line-height: 1.25;
}

.stories {
  min-height: 51em;
  padding-block: 6.8em 0;
  overflow: hidden;
}

.section-heading {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 3em;
}

.section-heading h2 {
  max-width: 17em;
  margin-top: 1.2em;
  font-family: "Not Display", Georgia, serif;
  font-size: 2.875em;
  font-weight: 300;
  line-height: 1;
}

.story-grid {
  display: grid;
  min-height: 31em;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 5em;
  border-top: 1px solid var(--line-light);
}

.story-card {
  position: relative;
  display: flex;
  min-height: 31em;
  flex-direction: column;
  padding: 1.2em 1.4em 1.5em;
  border-right: 1px solid var(--line-light);
  overflow: hidden;
}

.story-card:first-child {
  border-left: 1px solid var(--line-light);
}

.story-card::after {
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  height: 65%;
  background: linear-gradient(0deg, var(--charcoal), transparent);
  content: "";
}

.story-card .story-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .18;
  transform: scale(1.04);
  transition: opacity .55s ease, transform .8s var(--ease-out);
}

.story-card:hover .story-image,
.story-card:focus-visible .story-image {
  opacity: .82;
  transform: scale(1);
}

.story-logo {
  position: relative;
  z-index: 2;
  width: 7em;
  max-height: 2.2em;
  margin-top: 2em;
  object-fit: contain;
  object-position: left center;
}

.story-number,
.story-card h3,
.story-link {
  position: relative;
  z-index: 2;
}

.story-number {
  font-family: "DM Mono", monospace;
  font-size: .68em;
}

.story-card h3 {
  max-width: 15em;
  margin-top: auto;
  font-family: "Not Display", Georgia, serif;
  font-size: 1.65em;
  font-weight: 300;
  line-height: 1.05;
}

.story-link {
  margin-top: 1em;
  font-size: .68em;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.moats {
  padding-block: 7em 7.5em;
}

.moat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 3em;
  border-top: 1px solid var(--line-light);
}

.moat {
  display: grid;
  min-height: 36em;
  grid-template-columns: 2em 1fr;
  grid-template-rows: 15em auto 1fr;
  column-gap: 1em;
  padding: 1.3em 1.5em 0 0;
  border-right: 1px solid var(--line-light);
}

.moat + .moat {
  padding-left: 1.5em;
}

.moat:last-child {
  border-right: 0;
}

.moat > span {
  grid-column: 1;
  grid-row: 2;
  padding-top: .35em;
  font-family: "DM Mono", monospace;
  font-size: .68em;
}

.moat h3 {
  grid-column: 2;
  grid-row: 2;
  font-family: "Not Display", Georgia, serif;
  font-size: 1.9em;
  font-weight: 300;
  line-height: 1;
}

.moat p {
  grid-column: 2;
  grid-row: 3;
  align-self: end;
  max-width: 23em;
  font-size: .79em;
  line-height: 1.35;
}

.moat-orbit {
  position: relative;
  grid-column: 1 / -1;
  width: 12em;
  height: 12em;
  justify-self: center;
  border: 1px solid rgba(225, 155, 255, .5);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 119, 95, .18), transparent 47%);
}

.moat-orbit i {
  position: absolute;
  inset: 15%;
  border: 1px solid rgba(116, 203, 251, .48);
  border-radius: 50%;
  transform: rotate(35deg) scaleX(.48);
}

.moat-orbit i:nth-child(2) {
  border-color: rgba(255, 119, 95, .5);
  transform: rotate(-35deg) scaleX(.48);
}

.moat-orbit i:nth-child(3) {
  inset: 31%;
  border-color: rgba(252, 250, 247, .55);
  transform: none;
}

.moat-orbit--split i:first-child {
  transform: translateX(-27%) scale(.72);
}

.moat-orbit--split i:nth-child(2) {
  transform: translateX(27%) scale(.72);
}

.moat-orbit--dense::before,
.moat-orbit--dense::after {
  position: absolute;
  inset: 7%;
  border: 1px dotted rgba(252, 250, 247, .48);
  border-radius: 50%;
  content: "";
}

.moat-orbit--dense::after {
  inset: 24%;
}

.contact-cta {
  position: relative;
  min-height: 37em;
  overflow: hidden;
}

.cta-inner {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: 37em;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.cta-inner h2 {
  max-width: 13em;
  margin-top: .85em;
  font-family: "Not Display", Georgia, serif;
  font-size: 4.25em;
  font-weight: 300;
  line-height: .93;
  letter-spacing: -.035em;
}

.cta-inner h2 span {
  background: linear-gradient(90deg, var(--cerulean), var(--lilac), var(--coral));
  background-clip: text;
  color: transparent;
}

.cta-inner .button {
  margin-top: 2.6em;
}

.cta-glow {
  position: absolute;
  right: -5%;
  bottom: -35%;
  left: -5%;
  height: 70%;
  opacity: .72;
  filter: blur(4em);
  background:
    radial-gradient(circle at 25% 80%, rgba(116, 203, 251, .78), transparent 31%),
    radial-gradient(circle at 53% 80%, rgba(225, 155, 255, .68), transparent 34%),
    radial-gradient(circle at 75% 75%, rgba(255, 119, 95, .72), transparent 30%);
}

.site-footer {
  padding-block: 5.5em 1.5em;
  border-top: 1px solid var(--line-light);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.1fr 1.5fr 1fr;
  gap: 4em;
}

.footer-brand img {
  width: 10em;
}

.footer-brand p {
  max-width: 17em;
  margin-top: 1.5em;
  color: rgba(252, 250, 247, .64);
  font-size: .8em;
}

.footer-links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1em;
}

.footer-links > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .72em;
  font-size: .74em;
}

.footer-links span {
  margin-bottom: .6em;
  color: rgba(252, 250, 247, .47);
  font-family: "DM Mono", monospace;
  font-size: .8em;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.footer-links a:hover,
.footer-links a:focus-visible,
.footer-bottom a:hover,
.footer-bottom a:focus-visible {
  color: var(--cerulean);
}

.newsletter label {
  display: block;
  max-width: 32em;
  font-size: .82em;
  line-height: 1.35;
}

.newsletter > div {
  display: grid;
  grid-template-columns: 1fr auto;
  margin-top: 1.4em;
  border-bottom: 1px solid var(--line-light);
}

.newsletter input {
  width: 100%;
  padding: .9em 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--off-white);
  font-size: .8em;
}

.newsletter input::placeholder {
  color: rgba(252, 250, 247, .46);
}

.newsletter button {
  border: 0;
  background: transparent;
  color: var(--off-white);
  cursor: pointer;
}

.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 6em;
  padding-top: 1.2em;
  border-top: 1px solid var(--line-light);
  color: rgba(252, 250, 247, .55);
  font-size: .67em;
}

.footer-bottom > div {
  display: flex;
  gap: 2em;
}

.reveal {
  opacity: 0;
  transform: translateY(1.5em);
  transition: opacity .8s ease, transform .9s var(--ease-out);
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Platform */

.hero--platform {
  min-height: 54em;
}

.hero-media--platform::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(49, 48, 48, .7) 0%, transparent 23%, transparent 68%, var(--charcoal) 100%);
  content: "";
}

.platform-hero-inner {
  position: relative;
  min-height: 54em;
}

.platform-hero-copy {
  position: absolute;
  z-index: 2;
  top: 7.8em;
  right: var(--page-pad);
  left: var(--page-pad);
  text-align: center;
}

.platform-hero-copy h1 {
  margin-top: 1.2em;
  font-family: "Not Display", Georgia, serif;
  font-size: 3.15em;
  font-weight: 300;
  line-height: .98;
  letter-spacing: -.028em;
}

.platform-hero-copy > p:last-child {
  margin-top: 1.25em;
  font-size: .9em;
}

.platform-hero-side {
  position: absolute;
  z-index: 2;
  top: 51%;
  max-width: 14em;
  font-family: "Not Display", Georgia, serif;
  font-size: 1.35em;
  line-height: 1.05;
}

.platform-hero-side--left {
  left: var(--page-pad);
}

.platform-hero-side--right {
  right: var(--page-pad);
  text-align: right;
}

.platform-intro {
  padding-block: 8.5em 0;
}

.platform-intro-inner > h2:first-child {
  max-width: 31em;
  margin-inline: auto;
  font-family: "Not Display", Georgia, serif;
  font-size: 2.25em;
  font-weight: 300;
  line-height: 1.06;
  letter-spacing: -.02em;
  text-align: center;
}

.principles {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 7em;
  border-top: 1px solid var(--line-dark);
}

.principle {
  display: grid;
  min-height: 20em;
  grid-template-columns: 2em 1fr;
  grid-template-rows: 13em 1fr;
  gap: .7em;
  padding: 1.25em 1.25em 1.8em 0;
  border-right: 1px solid var(--line-dark);
}

.principle + .principle {
  padding-left: 1.25em;
}

.principle:last-child {
  border-right: 0;
}

.principle > span {
  grid-column: 1;
  grid-row: 2;
  font-family: "DM Mono", monospace;
  font-size: .68em;
}

.principle h3 {
  grid-column: 2;
  grid-row: 2;
  font-size: .85em;
  font-weight: 300;
  line-height: 1.3;
}

.principle-glyph {
  grid-column: 1 / -1;
  width: 9em;
  height: 9em;
  align-self: center;
  justify-self: center;
  object-fit: contain;
}

.system-title {
  margin-top: 4.5em;
  padding-block: 1.2em 2em;
  border-top: 1px solid var(--line-dark);
  font-family: "Not Display", Georgia, serif;
  font-size: 2.875em;
  font-weight: 300;
  line-height: 1;
}

.capability {
  display: grid;
  min-height: 43em;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--line-dark);
  scroll-margin-top: 4.25em;
}

.capability--reverse .capability-visual {
  order: 2;
}

.capability--reverse .capability-copy {
  order: 1;
}

.capability-visual {
  position: relative;
  display: grid;
  min-width: 0;
  place-items: center;
  overflow: hidden;
  border-right: 1px solid var(--line-dark);
  background-color: #e8a8df;
  background-image: url("https://notco-ai-monttilva-chi.vercel.app/assets/figma/6a62f0c66136acbb9890cdda4a12b15a3c4f46b3.png");
  background-position: center;
  background-size: cover;
}

.capability--reverse .capability-visual {
  border-right: 0;
  border-left: 1px solid var(--line-dark);
}

.capability-visual--discovery {
  background-image: url("https://notco-ai-monttilva-chi.vercel.app/assets/figma/2b6490ff5d669ba367d05a1e045a0218b03d56f0.png");
}

.capability-visual--elevate {
  background-image: url("https://notco-ai-monttilva-chi.vercel.app/assets/figma/7c0342c7284953c92eb3a547f42637341af44937.png");
}

.capability-window {
  width: 82%;
  min-height: 31em;
  transform: translateY(var(--parallax-y, 0));
  transition: transform .1s linear;
}

.concept-card-stack {
  position: absolute;
  right: 2.2em;
  bottom: 1.7em;
  width: 5.5em;
  height: 3.3em;
}

.concept-card-stack i {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(49, 48, 48, .18);
  border-radius: .4em;
  background: var(--off-white);
  transform: rotate(6deg);
}

.concept-card-stack i:nth-child(2) {
  transform: rotate(-4deg) translate(-.65em, -.4em);
}

.concept-card-stack i:nth-child(3) {
  transform: rotate(1deg) translate(-1.2em, -.8em);
}

.concept-thumbnails {
  position: absolute;
  right: 2em;
  bottom: 1.4em;
  left: 2em;
  display: flex;
  justify-content: flex-end;
  gap: .55em;
}

.concept-thumbnails img {
  width: 4.8em;
  aspect-ratio: 16 / 9;
  border: 1px solid rgba(49, 48, 48, .14);
  border-radius: .35em;
  object-fit: cover;
  box-shadow: 0 .5em 1.2em rgba(49, 48, 48, .1);
}

.capability-copy {
  display: flex;
  min-height: 43em;
  flex-direction: column;
  justify-content: center;
  padding: 5em 7.5em 4em 4em;
}

.capability--reverse .capability-copy {
  padding-right: 4em;
  padding-left: 7.5em;
}

.capability-copy h2 {
  max-width: 10.8em;
  margin-top: 3.1em;
  font-family: "Not Display", Georgia, serif;
  font-size: 2.875em;
  font-weight: 300;
  line-height: 1;
  letter-spacing: -.025em;
}

.capability-copy > p:not(.eyebrow) {
  max-width: 33em;
  margin-top: 1.8em;
  font-size: .93em;
  line-height: 1.35;
}

.capability-points {
  margin-top: 3.1em;
  border-top: 1px solid var(--line-dark);
}

.capability-points li {
  display: grid;
  grid-template-columns: 2.7em 1fr;
  align-items: center;
  gap: .7em;
  padding-block: .9em;
  border-bottom: 1px solid var(--line-dark);
  font-size: .76em;
}

.capability-points span {
  font-family: "DM Mono", monospace;
  font-size: .82em;
}

.under-hood {
  padding-top: 7.5em;
  overflow: hidden;
}

.under-hood-heading {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
}

.under-hood-heading .eyebrow {
  grid-column: 1 / -1;
}

.under-hood-heading h2 {
  margin-top: 1em;
  font-family: "Not Display", Georgia, serif;
  font-size: 4.25em;
  font-weight: 300;
  line-height: .95;
  letter-spacing: -.035em;
}

.under-hood-heading > p:last-child {
  max-width: 26em;
  align-self: end;
  justify-self: end;
  margin-bottom: .6em;
  font-size: 1.05em;
  line-height: 1.25;
}

.under-hood-media {
  position: relative;
  aspect-ratio: 16 / 8.15;
  margin-top: 3.5em;
  overflow: hidden;
  background: var(--charcoal);
}

.under-hood-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.infra-labels {
  position: absolute;
  right: var(--page-pad);
  bottom: 2em;
  left: var(--page-pad);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1em;
  font-family: "DM Mono", monospace;
  font-size: .64em;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.infra-labels span:nth-child(2) {
  text-align: center;
}

.infra-labels span:last-child {
  text-align: right;
}

.enterprise {
  padding-block: 7em;
}

.enterprise-grid {
  display: grid;
  grid-template-columns: .9fr 2fr;
  gap: 6em;
}

.enterprise-grid > h2 {
  font-family: "Not Display", Georgia, serif;
  font-size: 2.875em;
  font-weight: 300;
  line-height: 1;
}

.enterprise-features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 2em;
}

.enterprise-features article {
  display: grid;
  min-height: 14em;
  grid-template-columns: 2.2em 1fr;
  grid-template-rows: 4.2em auto 1fr;
  gap: .45em .8em;
  padding-block: 1.2em;
  border-top: 1px solid var(--line-light);
}

.enterprise-features img {
  grid-column: 1 / -1;
  grid-row: 1;
  width: 3.4em;
  height: 3.4em;
  object-fit: contain;
}

.enterprise-features span {
  grid-column: 1;
  grid-row: 2;
  font-family: "DM Mono", monospace;
  font-size: .66em;
}

.enterprise-features h3 {
  grid-column: 2;
  grid-row: 2;
  font-size: 1.08em;
  font-weight: 400;
}

.enterprise-features p {
  grid-column: 2;
  grid-row: 3;
  font-size: .76em;
  line-height: 1.35;
}

.testimonials {
  padding-block: 7em 6em;
}

.testimonial-shell {
  display: grid;
  grid-template-columns: 1fr 3fr;
}

.testimonial-track {
  min-height: 24em;
}

.testimonial {
  display: none;
}

.testimonial.is-active {
  display: block;
  animation: testimonial-in .65s var(--ease-out) both;
}

@keyframes testimonial-in {
  from { opacity: 0; transform: translateY(1em); }
  to { opacity: 1; transform: translateY(0); }
}

.testimonial blockquote {
  max-width: 22em;
  font-family: "Not Display", Georgia, serif;
  font-size: 2.55em;
  font-weight: 300;
  line-height: 1.03;
  letter-spacing: -.02em;
}

.testimonial figcaption {
  display: flex;
  align-items: center;
  gap: 1.5em;
  margin-top: 2.5em;
}

.testimonial figcaption img {
  width: 9.5em;
  max-height: 2em;
  object-fit: contain;
}

.testimonial figcaption span {
  font-size: .74em;
}

.testimonial-controls {
  grid-column: 2;
  display: flex;
  align-items: center;
  gap: 1em;
  margin-top: 2em;
  font-family: "DM Mono", monospace;
  font-size: .7em;
}

.testimonial-controls button {
  display: grid;
  width: 2.8em;
  height: 2.8em;
  place-items: center;
  border: 1px solid var(--line-light);
  border-radius: 50%;
  background: transparent;
  color: var(--off-white);
  cursor: pointer;
}

.testimonial-controls button:disabled {
  opacity: .35;
  cursor: default;
}

/* Responsive */

@media (max-width: 991px) {
  .hero-copy {
    width: 58%;
  }

  .hero-copy h1 {
    font-size: 4em;
  }

  .logo-rail {
    gap: 1.6em;
  }

  .journey-grid {
    grid-template-columns: .9fr 1.35fr;
    gap: 2em;
  }

  .journey-panel {
    padding: 2em;
  }

  .metric strong {
    font-size: 8em;
  }

  .capability-copy,
  .capability--reverse .capability-copy {
    padding: 4.5em 3.2em;
  }

  .capability-window {
    width: 90%;
  }

  .enterprise-grid {
    gap: 3em;
  }
}

@media (max-width: 767px) {
  html {
    scroll-behavior: auto;
  }

  .desktop-nav,
  .nav-cta {
    display: none;
  }

  .nav-inner {
    grid-template-columns: 1fr auto;
  }

  .brand {
    width: 7.4em;
  }

  .menu-button {
    display: flex;
    width: 3em;
    height: 3em;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .38em;
    padding: 0;
    border: 1px solid rgba(252, 250, 247, .35);
    border-radius: 50%;
    background: transparent;
    color: inherit;
  }

  .menu-button span {
    width: 1.1em;
    height: 1px;
    background: currentColor;
    transition: transform .3s ease;
  }

  .menu-button[aria-expanded="true"] span:first-child {
    transform: translateY(.22em) rotate(45deg);
  }

  .menu-button[aria-expanded="true"] span:last-child {
    transform: translateY(-.22em) rotate(-45deg);
  }

  .mobile-menu {
    position: fixed;
    inset: 0;
    z-index: -1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .3em;
    padding: 6em var(--page-pad) 2em;
    background: var(--charcoal);
    opacity: 0;
    visibility: hidden;
    transition: opacity .35s ease, visibility .35s ease;
  }

  .mobile-menu.is-open {
    opacity: 1;
    visibility: visible;
  }

  .mobile-menu a {
    padding-block: .22em;
    font-family: "Not Display", Georgia, serif;
    font-size: 2.75em;
    line-height: 1;
  }

  .hero,
  .hero-inner--home {
    min-height: 51em;
  }

  .hero-inner--home {
    padding-top: 9em;
    padding-bottom: 2em;
  }

  .hero-media--home {
    top: 4em;
    bottom: auto;
    left: 0;
    height: 35em;
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 70%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 70%, transparent 100%);
  }

  .hero-media--home video {
    object-position: 58% center;
  }

  .hero-media--home::after {
    background: linear-gradient(180deg, rgba(49, 48, 48, .12), var(--charcoal));
  }

  .hero-copy {
    width: 100%;
  }

  .hero-copy h1 {
    font-size: 4.05em;
  }

  .hero-copy > p {
    max-width: 25em;
    margin-top: 1.4em;
    font-size: .95em;
  }

  .hero-trust {
    display: block;
  }

  .logo-rail {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.3em 2em;
    margin-top: 1.5em;
  }

  .logo-rail img {
    max-height: 1.8em;
  }

  .challenge {
    padding-block: 5.5em 2em;
  }

  .challenge-grid {
    grid-template-columns: 1fr;
    gap: 3.5em;
  }

  .challenge-copy {
    min-height: 25em;
  }

  .challenge-copy h2 {
    margin-top: 2em;
    font-size: 3.25em;
  }

  .challenge-copy > p:last-child {
    font-size: .98em;
  }

  .bridge-copy h2 {
    font-size: 3.1em;
  }

  .journey {
    height: auto;
  }

  .journey-sticky {
    position: relative;
    display: block;
    height: auto;
    min-height: 0;
    padding-block: 6em;
  }

  .journey-grid {
    display: block;
  }

  .journey-copy {
    min-height: 0;
  }

  .journey-copy h2 {
    font-size: 3.25em;
  }

  .journey-tabs {
    margin-top: 3.5em;
  }

  .journey-descriptions {
    min-height: 7em;
  }

  .journey-copy .text-link {
    margin-bottom: 2.4em;
  }

  .journey-stage {
    min-height: 35em;
  }

  .journey-panel {
    padding: 1.35em;
  }

  .product-window {
    min-height: 31em;
  }

  .concept-prompt {
    width: calc(100% - 2em);
    margin-top: 3em;
  }

  .concept-results {
    width: calc(100% - 2em);
    gap: 1em;
  }

  .ingredient-list > div {
    grid-template-columns: 3.5em 1fr;
  }

  .ingredient-list em {
    display: none;
  }

  .elevate-summary {
    width: 7.5em;
  }

  .trial-chart,
  .elevate-footer {
    left: 10em;
  }

  .impact {
    padding-block: 5.5em 4em;
  }

  .impact-title {
    font-size: 3.05em;
  }

  .metrics {
    grid-template-columns: 1fr;
    margin-top: 4em;
  }

  .metric,
  .metric + .metric {
    min-height: 14em;
    padding: 1.2em 0;
    border-right: 0;
    border-bottom: 1px solid var(--line-dark);
  }

  .metric strong {
    font-size: 8.7em;
  }

  .possibilities,
  .possibilities-inner {
    min-height: 38em;
  }

  .possibilities-inner {
    display: block;
    padding-top: 5.5em;
  }

  .possibilities-inner > div {
    margin-top: 8em;
  }

  .rotating-lines {
    height: 2.2em;
    font-size: 2.9em;
  }

  .story-grid {
    grid-template-columns: 1fr;
  }

  .story-card {
    min-height: 27em;
    border-left: 1px solid var(--line-light);
    border-bottom: 1px solid var(--line-light);
  }

  .story-card .story-image {
    opacity: .52;
  }

  .section-heading {
    display: block;
  }

  .section-heading h2 {
    font-size: 3.05em;
  }

  .section-heading .button {
    margin-top: 2em;
  }

  .moat-grid {
    grid-template-columns: 1fr;
  }

  .moat,
  .moat + .moat {
    min-height: 31em;
    padding: 1.5em 0 2em;
    border-right: 0;
    border-bottom: 1px solid var(--line-light);
  }

  .moat-orbit {
    width: 11em;
    height: 11em;
  }

  .cta-inner h2 {
    font-size: 3.75em;
  }

  .footer-grid {
    grid-template-columns: 1fr;
  }

  .footer-links {
    margin-top: 1em;
  }

  .footer-bottom {
    display: block;
    margin-top: 4em;
  }

  .footer-bottom > div {
    flex-wrap: wrap;
    gap: 1em 1.5em;
    margin-top: 1.3em;
  }

  .hero--platform,
  .platform-hero-inner {
    min-height: 52em;
  }

  .hero-media--platform video {
    object-position: center;
  }

  .platform-hero-copy {
    top: 7em;
  }

  .platform-hero-copy h1 {
    font-size: 3.1em;
  }

  .platform-hero-side {
    top: auto;
    bottom: 3em;
    font-size: 1.25em;
  }

  .platform-intro {
    padding-top: 6em;
  }

  .platform-intro-inner > h2:first-child {
    font-size: 2.6em;
  }

  .principles {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 5em;
  }

  .principle {
    border-bottom: 1px solid var(--line-dark);
  }

  .principle:nth-child(2) {
    border-right: 0;
  }

  .system-title {
    font-size: 3.05em;
  }

  .capability,
  .capability--reverse {
    display: flex;
    flex-direction: column;
  }

  .capability-visual,
  .capability--reverse .capability-visual {
    order: 1;
    min-height: 35em;
    border-right: 0;
    border-left: 0;
    border-bottom: 1px solid var(--line-dark);
  }

  .capability-copy,
  .capability--reverse .capability-copy {
    order: 2;
    min-height: 37em;
    padding: 4.5em var(--page-pad);
  }

  .capability-copy h2 {
    margin-top: 2em;
    font-size: 3.15em;
  }

  .capability-window {
    width: calc(100% - 2.7em);
  }

  .under-hood-heading {
    grid-template-columns: 1fr;
  }

  .under-hood-heading h2 {
    font-size: 3.9em;
  }

  .under-hood-heading > p:last-child {
    justify-self: start;
    margin-top: 2em;
  }

  .under-hood-media {
    aspect-ratio: 4 / 3;
  }

  .under-hood-media video {
    width: 142%;
    max-width: none;
    margin-left: -21%;
  }

  .infra-labels {
    display: none;
  }

  .enterprise-grid {
    grid-template-columns: 1fr;
  }

  .enterprise-grid > h2 {
    font-size: 3.2em;
  }

  .enterprise-features {
    grid-template-columns: repeat(2, 1fr);
  }

  .testimonial-shell {
    grid-template-columns: 1fr;
  }

  .testimonial-track {
    min-height: 28em;
    margin-top: 5em;
  }

  .testimonial blockquote {
    font-size: 2.7em;
  }

  .testimonial-controls {
    grid-column: 1;
  }
}

@media (max-width: 479px) {
  .site-header {
    height: 4.8em;
  }

  .site-header.is-scrolled {
    height: 4.2em;
  }

  .hero,
  .hero-inner--home {
    min-height: 49em;
  }

  .hero-inner--home {
    padding-top: 7.5em;
  }

  .hero-media--home {
    top: 3.5em;
    height: 31em;
  }

  .hero-copy h1 {
    font-size: 3.35em;
  }

  .hero-copy > p {
    max-width: 22em;
    font-size: .9em;
  }

  .hero-trust {
    padding-top: 1em;
  }

  .logo-rail {
    gap: 1em 1.5em;
  }

  .challenge-copy h2,
  .bridge-copy h2,
  .journey-copy h2,
  .impact-title,
  .section-heading h2,
  .capability-copy h2,
  .system-title {
    font-size: 2.65em;
  }

  .bridge-copy {
    min-height: 36em;
  }

  .giuseppe-bridge {
    min-height: 36em;
  }

  .journey-stage {
    min-height: 31em;
  }

  .journey-panel {
    padding: .8em;
  }

  .product-window {
    min-height: 28.5em;
  }

  .concept-prompt {
    margin-top: 2.2em;
  }

  .concept-results {
    display: none;
  }

  .ingredient-list {
    padding-inline: .8em;
  }

  .discovery-search {
    width: calc(100% - 1.6em);
    margin: .8em;
  }

  .elevate-summary {
    top: 4.7em;
    left: .8em;
  }

  .trial-chart {
    top: 5.7em;
    right: .8em;
    bottom: 4.5em;
    left: 8.8em;
    gap: .3em;
  }

  .elevate-footer {
    right: .8em;
    left: 8.8em;
    font-size: .5em;
  }

  .metric strong {
    font-size: 7em;
  }

  .rotating-lines {
    font-size: 2.4em;
  }

  .cta-inner h2 {
    font-size: 3.05em;
  }

  .footer-links {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5em 1em;
  }

  .footer-links > div:last-child {
    grid-column: 1 / -1;
  }

  .hero--platform,
  .platform-hero-inner {
    min-height: 49em;
  }

  .platform-hero-copy h1 {
    font-size: 2.55em;
  }

  .platform-hero-side {
    max-width: 9.5em;
    font-size: 1em;
  }

  .platform-intro-inner > h2:first-child {
    font-size: 2.2em;
  }

  .principles {
    grid-template-columns: 1fr;
  }

  .principle,
  .principle + .principle {
    min-height: 16em;
    padding-inline: 0;
    border-right: 0;
  }

  .principle-glyph {
    width: 6.6em;
    height: 6.6em;
  }

  .capability-visual,
  .capability--reverse .capability-visual {
    min-height: 31em;
  }

  .capability-window {
    width: calc(100% - 1.6em);
  }

  .under-hood-heading h2 {
    font-size: 3.25em;
  }

  .under-hood-media {
    aspect-ratio: 1 / 1;
  }

  .under-hood-media video {
    width: 178%;
    margin-left: -39%;
  }

  .enterprise-features {
    grid-template-columns: 1fr;
  }

  .testimonial-track {
    min-height: 30em;
  }

  .testimonial blockquote {
    font-size: 2.25em;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }

  .journey {
    height: auto;
  }

  .journey-sticky {
    position: relative;
    height: auto;
  }
}

/* Source: home.css */

/*
 * NotCo AI home page
 *
 * The desktop values below use the project's OSMO sizing convention:
 * 1em = 16px at the 1440px design width. All overrides are intentionally
 * scoped to the Home page so Platform can continue to use styles.css.
 */

body[data-page="home"] {
  --home-gradient: linear-gradient(161.884deg, #74cbfb 5.6%, #e19bff 54.4%, #ff775f 99.5%);
  --home-gradient-horizontal: linear-gradient(90deg, #ff775f 0%, #e19bff 50%, #74cbfb 100%);
  --home-dark: #313030;
  --home-video-background: #303030;
  --home-paper: #fcfaf7;
  overflow-x: clip;
}

html:has(body[data-page="home"]) {
  overflow-x: clip;
}

body[data-page="home"] .site-header,
body[data-page="home"] .site-header.is-scrolled {
  position: fixed;
  height: 3.375em;
  border-bottom: 0;
  background: rgba(49, 48, 48, .7);
  color: var(--home-paper);
  backdrop-filter: none;
  animation: none;
  transition: background-color .3s ease, border-color .3s ease, color .3s ease;
}

body[data-page="home"] .site-header.is-on-light {
  background: rgba(252, 250, 247, .76);
  color: var(--home-dark);
}

body[data-page="home"] .nav-inner {
  padding-inline: 1.872em 2.511em;
}

body[data-page="home"] .brand {
  width: 7.137em;
}

body[data-page="home"] .nav-cta {
  width: 10.589em;
  min-height: 3.068em;
  padding: 0;
  font-family: "DM Mono", monospace;
  font-size: .5474em;
  line-height: 1.5;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body[data-page="home"] .desktop-nav {
  font-size: .9375em;
}

body[data-page="home"] .site-header.is-on-light .brand img {
  filter: invert(1);
}

body[data-page="home"] .site-header.is-on-light .nav-cta {
  background: var(--home-dark);
  color: var(--home-paper);
}

body[data-page="home"] .hero--home {
  min-height: 50.625em;
}

body[data-page="home"] .hero-media--home {
  top: -1.29375em;
  right: auto;
  bottom: auto;
  left: 25.4375em;
  width: 87.875em;
  height: 49.4375em;
  background: var(--home-dark);
  -webkit-mask-image: none;
  mask-image: none;
}

body[data-page="home"] .hero-media--home::after {
  background:
    linear-gradient(90deg, var(--home-dark) 0%, rgba(49, 48, 48, .08) 27%, transparent 48%),
    linear-gradient(0deg, var(--home-dark) 0%, transparent 18%);
}

body[data-page="home"] .hero-media--home video {
  object-position: left center;
}

body[data-page="home"] .hero-inner--home {
  min-height: 50.625em;
  justify-content: flex-start;
  padding-top: 14.75em;
  padding-bottom: 0;
}

body[data-page="home"] .hero-copy {
  width: 42em;
}

body[data-page="home"] .hero-copy h1 {
  max-width: 10.25em;
  background: var(--home-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  font-size: 4.375em;
  line-height: .98;
  margin-bottom: -.12em;
  padding-bottom: .12em;
  -webkit-text-fill-color: transparent;
  white-space: nowrap;
}

body[data-page="home"] .hero-copy > p {
  max-width: 31.25em;
  margin-top: 1.75em;
  font-size: .875em;
  line-height: 1.36;
  text-wrap: pretty;
}

body[data-page="home"] .hero-trust {
  position: absolute;
  z-index: 3;
  top: 43.5625em;
  right: 2.25em;
  left: 2.25em;
  display: block;
  border-top: 0;
  padding-top: 0;
}

body[data-page="home"] .hero-trust::after {
  position: absolute;
  top: 2.0625em;
  right: 0;
  left: 0;
  height: 1px;
  background: rgba(252, 250, 247, .42);
  content: "";
}

body[data-page="home"] .hero-trust > .eyebrow {
  line-height: 1.5;
}

body[data-page="home"] .logo-rail {
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 2.25em;
  margin-top: 2.75em;
}

body[data-page="home"] .logo-rail img {
  width: 100%;
  max-width: 7em;
  max-height: 1.625em;
  justify-self: center;
  opacity: .9;
}

/* Challenge — 650px / 790px full-height split at 1440px. */
body[data-page="home"] .challenge {
  position: sticky;
  z-index: 1;
  top: 0;
  min-height: 50.75em;
  padding-block: 0;
}

body[data-page="home"] .challenge.section-rule::before {
  right: 0;
  left: 0;
}

body[data-page="home"] .challenge-grid {
  width: 100%;
  max-width: none;
  min-height: 50.75em;
  grid-template-columns: 40.625em 49.375em;
  align-items: stretch;
  gap: 0;
  padding-inline: 0;
}

body[data-page="home"] .challenge-copy {
  min-height: 50.75em;
  padding: 6.25em 4em 4em 2.675em;
}

body[data-page="home"] .challenge-copy h2 {
  max-width: 12.5em;
  margin-top: 2.586em;
  font-size: 2.875em;
  line-height: 1;
}

body[data-page="home"] .challenge-copy > p:last-child {
  max-width: 30.304em;
  margin-top: 3.4em;
  font-size: 1em;
  line-height: 1.2;
}

body[data-page="home"] .challenge-media {
  min-height: 50.75em;
  aspect-ratio: auto;
}

body[data-page="home"] .challenge-media video {
  object-position: center;
}

/* Giuseppe bridge */
body[data-page="home"] .giuseppe-bridge,
body[data-page="home"] .bridge-copy {
  min-height: 35.9375em;
}

body[data-page="home"] .giuseppe-bridge {
  position: relative;
  z-index: 2;
  background: var(--home-paper);
}

body[data-page="home"] .bridge-copy {
  box-sizing: border-box;
  justify-content: flex-start;
  padding-top: 10.6856em;
  transform: none;
}

body[data-page="home"] .giuseppe-mark {
  width: 12.125em;
  height: 2.1446em;
  max-height: none;
}

body[data-page="home"] .bridge-copy h2 {
  margin-top: .924em;
  font-size: 2.875em;
  line-height: 1;
}

body[data-page="home"] .bridge-copy > p:last-child {
  max-width: 29.008em;
  margin-top: 2.495em;
  font-size: 1em;
  line-height: 1.2;
}

body[data-page="home"] .bridge-video {
  width: 100%;
  height: 100%;
  opacity: 1;
  filter: none;
  mix-blend-mode: multiply;
  transform: none;
}

/* Journey */
body[data-page="home"] .journey {
  position: relative;
  z-index: 3;
  height: 260vh;
}

body[data-page="home"] .journey-sticky {
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  align-items: stretch;
}

body[data-page="home"] .journey-grid {
  width: 100%;
  max-width: none;
  height: 100%;
  min-height: 0;
  grid-template-columns: 33em minmax(0, 55em);
  align-items: stretch;
  gap: 0;
  padding-right: 0;
  padding-left: 2em;
}

body[data-page="home"] .journey-copy {
  height: 100%;
  min-height: 0;
  padding: 6.0625em 4.375em 2em 0;
}

body[data-page="home"] .journey-copy h2 {
  margin-top: 0;
  font-size: 2.1548em;
  line-height: 1;
}

body[data-page="home"] .journey-tabs {
  margin-top: 9.25em;
  border-top: 1px solid rgba(49, 48, 48, .32);
}

body[data-page="home"] .journey-step {
  border-bottom: 1px solid rgba(49, 48, 48, .24);
}

body[data-page="home"] .journey-tabs button {
  grid-template-columns: 1fr auto;
  min-height: 4.6875em;
  padding: 1.125em 0;
  border-bottom-color: rgba(49, 48, 48, .24);
  transition: opacity .4s ease, padding-left .55s cubic-bezier(.16, 1, .3, 1);
}

body[data-page="home"] .journey-step > .journey-tab,
body[data-page="home"] .journey-step > [data-journey-tab] {
  border-bottom: 0;
}

body[data-page="home"] .journey-tabs button[aria-selected="true"] {
  padding-left: 0;
}

body[data-page="home"] .journey-tabs button strong {
  font-size: 1.125em;
  font-weight: 300;
}

body[data-page="home"] .journey-tab__icon {
  position: relative;
  width: 1.15em;
  height: .7em;
  color: transparent;
}

body[data-page="home"] .journey-tab__icon::before,
body[data-page="home"] .journey-tab__icon::after {
  position: absolute;
  top: .2em;
  width: .75em;
  border-top: 1px dotted var(--home-dark);
  content: "";
}

body[data-page="home"] .journey-tab__icon::before {
  left: 0;
  transform: rotate(42deg);
  transform-origin: left center;
}

body[data-page="home"] .journey-tab__icon::after {
  right: 0;
  transform: rotate(-42deg);
  transform-origin: right center;
}

body[data-page="home"] .journey-tabs button[aria-selected="true"] .journey-tab__icon {
  opacity: 0;
}

body[data-page="home"] .journey-descriptions,
body[data-page="home"] .journey-step [data-journey-description] {
  min-height: 0;
  margin: 0;
}

body[data-page="home"] .journey-descriptions {
  margin-top: 1.125em;
}

body[data-page="home"] .journey-descriptions p,
body[data-page="home"] .journey-step [data-journey-description] {
  max-width: 36em;
  padding: 1.5em 0;
  font-size: .75em;
  line-height: 1.4;
}

body[data-page="home"] .journey-step [data-journey-description][hidden] {
  display: none;
}

body[data-page="home"] .journey-copy > .button,
body[data-page="home"] .journey-copy > .journey-cta,
body[data-page="home"] .journey-copy > .text-link {
  min-height: 4.6667em;
  align-self: flex-start;
  margin-top: auto;
  padding: 1em 2.1667em;
  border: 0;
  border-radius: 999em;
  background: var(--home-dark);
  color: var(--home-paper);
  font-family: "DM Mono", monospace;
  font-size: .5625em;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
}

body[data-page="home"] .journey-stage {
  height: 100%;
  min-height: 0;
  border: 0;
  background-color: #dac9d2;
  background-image: url("https://notco-ai-monttilva-chi.vercel.app/assets/figma/2ec41aa78c6fb75b8c4dd1867bb4d76bd6a7b39f.svg");
  background-position: center;
  background-size: cover;
}

body[data-page="home"] .journey-stage__glass-art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body[data-page="home"] .journey-panel {
  display: block;
  place-items: start;
  padding: 6.4175em 0 0 7.495em;
  transform: none;
  transition: opacity .5s ease;
}

body[data-page="home"] .journey-panel[hidden] {
  display: none;
}

body[data-page="home"] .giuseppe-app,
body[data-page="home"] .product-window {
  width: 52.8873em;
  max-width: none;
  min-height: 48.1092em;
  overflow: hidden;
  border: .125em solid rgba(255, 255, 255, .78);
  border-radius: 1.3125em;
  background: rgba(252, 250, 247, .56);
  box-shadow: 0 1.75em 5em rgba(49, 48, 48, .11), inset 0 0 0 1px rgba(49, 48, 48, .06);
  -webkit-backdrop-filter: blur(1.55em) saturate(112%);
  backdrop-filter: blur(1.55em) saturate(112%);
}

body[data-page="home"] .giuseppe-app__chrome,
body[data-page="home"] .product-bar {
  display: grid;
  height: 4.25em;
  grid-template-columns: 4.25em 1fr;
  align-items: center;
  padding: 0;
  border-bottom: 1px solid rgba(49, 48, 48, .14);
  background: rgba(252, 250, 247, .3);
  font-size: 1em;
}

body[data-page="home"] .giuseppe-app__brand {
  display: block;
  width: 5.8054em;
  max-height: 1.028em;
  margin-left: 1.25em;
  object-fit: contain;
}

body[data-page="home"] .giuseppe-app__mark {
  display: grid;
  width: 4.25em;
  height: 4.25em;
  place-items: center;
  border-right: 1px solid rgba(49, 48, 48, .25);
}

body[data-page="home"] .giuseppe-app__mark img {
  width: 2.25em;
  height: 2.25em;
  object-fit: contain;
}

body[data-page="home"] .giuseppe-app__user {
  display: none;
}

body[data-page="home"] .giuseppe-app__body {
  position: relative;
  min-height: 43.8592em;
  padding: 2.21875em 1.6875em 1.25em;
}

body[data-page="home"] .giuseppe-app__title {
  max-width: none;
  margin: 0;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 1.499em;
  font-weight: 300;
  line-height: 1.2;
  text-align: left;
}

body[data-page="home"] .concept-brief {
  position: relative;
  width: 45.3984em;
  min-height: 28.78125em;
  margin: 1.75em 0 0 -0.6875em;
  padding: 2.1875em 1.875em 1.25em;
  border: 1px solid rgba(49, 48, 48, .14);
  border-radius: .875em;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 0 0 .7em rgba(252, 250, 247, .32), 0 1em 2.5em rgba(49, 48, 48, .055);
}

body[data-page="home"] .concept-brief__label {
  font-size: 1.125em;
  line-height: 1.2;
}

body[data-page="home"] .concept-brief__steps {
  display: grid;
  width: 18.25em;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin: 1.25em 0 2em;
  padding: 0;
  list-style: none;
}

body[data-page="home"] .concept-brief__steps li {
  position: relative;
  display: grid;
  min-width: 0;
  justify-items: center;
  gap: .45em;
  font-size: .625em;
  line-height: 1.05;
  text-align: center;
}

body[data-page="home"] .concept-brief__steps li:not(:last-child)::after {
  position: absolute;
  z-index: 0;
  top: .8em;
  left: calc(50% + 1.45em);
  width: calc(100% - 2.9em);
  height: 1px;
  background: rgba(49, 48, 48, .34);
  content: "";
}

body[data-page="home"] .concept-brief__steps li > span {
  position: relative;
  z-index: 1;
  display: grid;
  width: 1.6em;
  height: 1.6em;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(49, 48, 48, .2);
  border-radius: 50%;
  background: #fff;
}

body[data-page="home"] .concept-brief__steps li:first-child > span {
  background: var(--home-dark);
  color: var(--home-paper);
}

body[data-page="home"] .concept-brief__composer {
  position: relative;
  min-height: 14.1875em;
  padding: 1em;
  border: 1px solid rgba(49, 48, 48, .15);
  border-radius: .875em;
  background: rgba(255, 255, 255, .9);
}

body[data-page="home"] .concept-brief__composer > p {
  max-width: 38em;
  color: rgba(49, 48, 48, .56);
  font-size: 1.125em;
  line-height: 1.2;
}

body[data-page="home"] .concept-brief__files {
  position: absolute;
  display: flex;
  align-items: center;
  gap: .75em;
  bottom: 1.125em;
  left: 1em;
  font-size: .75em;
}

body[data-page="home"] .concept-brief__clip {
  display: block;
  width: .837em;
  height: 1.118em;
  flex: 0 0 auto;
  object-fit: contain;
}

body[data-page="home"] .concept-brief__submit {
  position: absolute;
  right: 1.875em;
  bottom: 1.875em;
  display: grid;
  width: 2.125em;
  height: 2.125em;
  place-items: center;
  border-radius: 50%;
  background: var(--home-dark);
  color: var(--home-paper);
}

body[data-page="home"] .concept-brief__submit img {
  width: 1.011em;
  height: .566em;
  transform: rotate(90deg);
}

body[data-page="home"] .project-screen {
  min-height: 43.8592em;
  padding: 1.05em 1.15em 1.35em;
  background: rgba(252, 250, 247, .28);
}

body[data-page="home"] .project-screen__crumbs {
  font-size: .55em;
  opacity: .58;
}

body[data-page="home"] .project-screen__crumbs span {
  margin-inline: .55em;
}

body[data-page="home"] .project-screen > h3 {
  margin-top: .42em;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 1.499em;
  font-weight: 300;
  line-height: 1.2;
}

body[data-page="home"] .project-tabs {
  display: grid;
  width: 19em;
  grid-template-columns: repeat(4, 1fr);
  gap: .35em;
  margin-top: 1.25em;
}

body[data-page="home"] .project-tabs span {
  display: grid;
  min-height: 2.2em;
  place-items: center;
  border-radius: .35em;
  background: rgba(255, 255, 255, .72);
  font-size: .625em;
}

body[data-page="home"] .project-tabs .is-active {
  box-shadow: inset 0 0 0 1px #ff775f, inset 0 -2px #74cbfb;
}

body[data-page="home"] .brief-workspace {
  display: grid;
  min-height: 31.4em;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .375em;
  margin-top: .75em;
}

body[data-page="home"] .assistant-card,
body[data-page="home"] .project-form,
body[data-page="home"] .prediction-card {
  border: 1px solid rgba(49, 48, 48, .16);
  border-radius: .75em;
  background: rgba(255, 255, 255, .82);
}

body[data-page="home"] .assistant-card {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 1em;
}

body[data-page="home"] .assistant-card > p {
  width: 100%;
  max-width: none;
  font-size: .7964em;
  line-height: 1.1;
}

body[data-page="home"] .shortcut-list {
  display: grid;
  gap: .375em;
  margin-top: auto;
  padding: .75em;
  border: 1px solid rgba(49, 48, 48, .13);
  border-radius: .55em;
  font-size: .625em;
}

body[data-page="home"] .shortcut-list small {
  margin-bottom: .25em;
  opacity: .62;
}

body[data-page="home"] .shortcut-list span {
  position: relative;
  min-height: 2.25em;
  padding: .55em .7em;
  border-radius: .35em;
  background: rgba(225, 155, 255, .12);
}

body[data-page="home"] .shortcut-list span::before {
  display: inline-grid;
  width: 2.1789em;
  height: 2.1789em;
  margin-right: .55em;
  place-items: center;
  border-radius: .35em;
  background-color: #e19bff;
  background-image: url("https://notco-ai-monttilva-chi.vercel.app/assets/figma/f3e63e5992cc5800882b80df6ad459e889a3df2f.svg"), linear-gradient(145deg, #74cbfb, #e19bff 46%, #ff775f);
  background-position: center, center;
  background-repeat: no-repeat;
  background-size: .82em 1.04em, 100% 100%;
  content: "";
  vertical-align: middle;
}

body[data-page="home"] .assistant-prompt {
  position: relative;
  min-height: 3.25em;
  margin-top: .45em;
  padding: .75em 2.5em .75em .75em;
  border: 1px solid rgba(49, 48, 48, .13);
  border-radius: .45em;
  font-size: .5625em;
}

body[data-page="home"] .assistant-prompt i {
  position: absolute;
  right: .55em;
  bottom: .55em;
  display: grid;
  width: 1.65em;
  height: 1.65em;
  place-items: center;
  border-radius: .35em;
  background: var(--home-dark);
  color: #fff;
  font-style: normal;
}

body[data-page="home"] .project-form {
  min-width: 0;
  padding: 1em .85em;
}

body[data-page="home"] .project-form h4,
body[data-page="home"] .prediction-card h4 {
  margin: 0;
  font-family: "Not Display", Georgia, serif;
  font-size: .98375em;
  font-weight: 300;
}

body[data-page="home"] .project-form h4:not(:first-child) {
  margin-top: 1em;
  padding-top: .85em;
  border-top: 1px solid rgba(49, 48, 48, .13);
}

body[data-page="home"] .project-form label {
  display: grid;
  min-width: 0;
  gap: .25em;
  margin-top: 1.15em;
  font-size: .5153em;
}

body[data-page="home"] .project-form label > span {
  min-width: 0;
  min-height: 2.35em;
  overflow: hidden;
  padding: .55em .6em;
  border: 1px solid rgba(49, 48, 48, .14);
  border-radius: .35em;
  color: rgba(49, 48, 48, .67);
  white-space: nowrap;
  font-size: .909em;
}

body[data-page="home"] .giuseppe-app--discovery,
body[data-page="home"] .giuseppe-app--elevate {
  transform: translateX(-5.45em);
}

body[data-page="home"] .project-form__pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5em;
}

body[data-page="home"] .project-screen--predictions .project-tabs {
  width: 23.135em;
}

body[data-page="home"] .prediction-card {
  width: calc(100% - .2em);
  max-width: 100%;
  min-height: 31.25em;
  margin-top: .75em;
  padding: 1em 1.25em 1.25em;
  overflow: hidden;
}

body[data-page="home"] .prediction-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
  padding-bottom: .85em;
  border-bottom: 1px solid rgba(49, 48, 48, .14);
}

body[data-page="home"] .prediction-card__header p {
  display: flex;
  align-items: center;
  gap: .45em;
  font-size: .5625em;
  white-space: nowrap;
}

body[data-page="home"] .legend-dot {
  width: .7em;
  height: .7em;
  margin-left: .85em;
  border-radius: 50%;
}

body[data-page="home"] .legend-dot--trial,
body[data-page="home"] .dot--trial {
  background: #51caee;
}

body[data-page="home"] .legend-dot--failed,
body[data-page="home"] .dot--failed {
  background: #f0645d;
}

body[data-page="home"] .legend-line {
  width: 1.5em;
  margin-left: .85em;
  border-top: 1px dashed rgba(49, 48, 48, .75);
}

body[data-page="home"] .scatter-chart {
  position: relative;
  height: 25.5em;
  padding: 1.25em 0 2em 2.5em;
}

body[data-page="home"] .scatter-chart__grid {
  position: relative;
  height: 100%;
  border-bottom: 1px solid rgba(49, 48, 48, .3);
  border-left: 1px solid rgba(49, 48, 48, .3);
  background-image: radial-gradient(circle, rgba(49, 48, 48, .22) .7px, transparent .8px);
  background-size: .6em .6em;
}

body[data-page="home"] .scatter-chart__axis-y {
  position: absolute;
  top: 50%;
  left: -.5em;
  font-size: .5625em;
  transform: rotate(-90deg) translateX(-50%);
  transform-origin: left top;
}

body[data-page="home"] .scatter-chart__axis-x {
  position: absolute;
  right: 0;
  bottom: .25em;
  left: 2.5em;
  font-size: .5625em;
  text-align: center;
}

body[data-page="home"] .trend-line {
  position: absolute;
  z-index: 1;
  bottom: 24%;
  left: 0;
  width: 101%;
  border-top: 1px dashed rgba(49, 48, 48, .7);
  transform: rotate(-17deg);
  transform-origin: left center;
}

body[data-page="home"] .dot {
  position: absolute;
  z-index: 2;
  bottom: var(--y);
  left: var(--x);
  width: .55em;
  height: .55em;
  border-radius: 50%;
  transform: translate(-50%, 50%);
}

/* Impact */
body[data-page="home"] .impact {
  position: sticky;
  z-index: 4;
  top: 0;
  min-height: 51.6875em;
  padding-block: 6.25em 4.75em;
  background-position: center;
  background-size: cover;
}

body[data-page="home"] .impact.section-rule::before {
  right: 0;
  left: 0;
  background: rgba(49, 48, 48, .34);
}

body[data-page="home"] .impact-title {
  max-width: 23.5em;
  margin-top: 1.0625em;
  font-size: 2.875em;
  line-height: 1;
}

body[data-page="home"] .metrics {
  gap: 1em;
  margin-top: 7em;
  border-top: 0;
}

body[data-page="home"] .metric {
  position: relative;
  display: grid;
  min-height: 16.25em;
  grid-template-columns: 1fr;
  grid-template-rows: auto 2.8em 1fr;
  padding: 0;
  border-top: 0;
  border-right: 0;
}

body[data-page="home"] .metric + .metric {
  padding-left: 0;
}

body[data-page="home"] .metric p {
  font-size: 1em;
}

body[data-page="home"] .metric::before,
body[data-page="home"] [data-metric-rule] {
  position: absolute;
  top: 2.6em;
  right: 0;
  left: 0;
  height: 3px;
  background: var(--home-gradient-horizontal);
  content: "";
  -webkit-mask-image: repeating-linear-gradient(90deg, #000 0 3px, transparent 3px 5px);
  mask-image: repeating-linear-gradient(90deg, #000 0 3px, transparent 3px 5px);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 1.412939s cubic-bezier(0, 0, .58, 1);
}

body[data-page="home"] .metric.is-visible::before,
body[data-page="home"] [data-metric-rule].is-drawn {
  transform: scaleX(1);
}

body[data-page="home"] .metric:has([data-metric-rule])::before {
  display: none;
}

body[data-page="home"] .metric [data-metric-rule] {
  display: block;
  width: auto;
  max-width: none;
  justify-self: stretch;
}

body[data-page="home"] .metric strong {
  grid-row: 3;
  grid-column: 1;
  align-self: center;
  background: none;
  color: var(--home-dark);
  font-size: 10em;
  line-height: .8;
  -webkit-text-fill-color: currentColor;
}

body[data-page="home"] .metric strong small {
  color: var(--home-dark);
  font-size: .4em;
}

body[data-page="home"] .metric > span:last-child {
  grid-row: 3;
  grid-column: 1;
  align-self: end;
  justify-self: start;
  max-width: 8.5em;
  margin: 0 0 .5em 9.417em;
  font-size: 1.5em;
  font-weight: 300;
  line-height: 1.05;
}

body[data-page="home"] .metric:nth-child(3) > span:last-child {
  margin-left: 11.875em;
}

body[data-page="home"] .metric:nth-child(2) > span:last-child {
  margin-left: 9.208em;
}

/* Possibilities */
body[data-page="home"] .possibilities,
body[data-page="home"] .possibilities-inner {
  min-height: 50.625em;
}

body[data-page="home"] .possibilities {
  position: relative;
  z-index: 5;
  background: var(--home-dark);
}

body[data-page="home"] .possibilities-inner {
  position: relative;
  display: grid;
  grid-template-columns: 44.375em minmax(0, 1fr);
  align-items: start;
}

body[data-page="home"] .possibilities-inner > .eyebrow {
  position: absolute;
  top: 6.6875em;
  left: 2.25em;
}

body[data-page="home"] .possibilities-inner > div,
body[data-page="home"] .possibilities-content {
  display: contents;
}

body[data-page="home"] .possibilities-intro {
  grid-column: 1;
  align-self: start;
  max-width: 16em;
  margin-top: 7.95em;
  margin-bottom: 0;
  font-family: "Not Display", Georgia, serif;
  font-size: 2.625em;
  font-weight: 300;
  line-height: 1;
  letter-spacing: -.025em;
}

body[data-page="home"] .rotating-lines {
  position: relative;
  display: block;
  height: 6.80435em;
  grid-column: 2;
  align-self: start;
  margin-top: 4.4565em;
  overflow: hidden;
  font-size: 2.875em;
  line-height: 1;
}

body[data-page="home"] .rotating-lines span,
body[data-page="home"] .possibility-item {
  position: absolute;
  top: calc(50% - .136em);
  right: 0;
  bottom: auto;
  left: 0;
  display: block;
  color: transparent;
  background-image: linear-gradient(90deg, #74cbfb 0%, #e19bff 61%, #ff775f 100%);
  background-position: -.62143em 50%;
  background-repeat: no-repeat;
  background-size: 13.04436em 100%;
  background-clip: text;
  opacity: .1;
  transform: translate3d(0, calc(-50% + var(--possibility-offset, 0) * 1.45109em), 0);
  transition:
    opacity var(--possibility-transition-ms, 800ms) cubic-bezier(.45, 0, .55, 1),
    transform var(--possibility-transition-ms, 800ms) cubic-bezier(.45, 0, .55, 1);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

body[data-page="home"] .rotating-lines.is-animating span,
body[data-page="home"] .rotating-lines span.is-animating {
  will-change: transform, opacity;
}

body[data-page="home"] .rotating-lines span.is-near,
body[data-page="home"] .possibility-item.is-near {
  opacity: .3;
}

body[data-page="home"] .rotating-lines span.is-far,
body[data-page="home"] .possibility-item.is-far {
  opacity: .1;
}

body[data-page="home"] .rotating-lines span.is-active,
body[data-page="home"] .possibility-item.is-active {
  opacity: 1;
  transform: translate3d(0, -50%, 0);
}

body[data-page="home"] .rotating-lines span.was-active {
  transform: translate3d(0, calc(-50% + var(--possibility-offset, 0) * 1.45109em), 0);
}

body[data-page="home"] .possibility-item.is-wrapping {
  opacity: 0 !important;
  transition: none !important;
}

body[data-page="home"] .possibilities-meta {
  position: absolute;
  top: 37.125em;
  left: 46.625em;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: flex-start;
  margin-top: 0;
}

body[data-page="home"] .possibilities-meta p {
  font-family: "Not Display", Georgia, serif;
  font-size: 1.125em;
  font-weight: 300;
  line-height: 1.22;
}

body[data-page="home"] .possibilities-meta .button,
body[data-page="home"] .possibilities-meta .text-link {
  min-height: 3.6667em;
  margin-top: 2em;
  padding: 1em 2.1667em;
  border: 0;
  border-radius: 999em;
  font-family: "DM Mono", monospace;
  font-size: .5625em;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
}

/* Stories */
body[data-page="home"] .stories {
  position: relative;
  z-index: 6;
  min-height: 51.25em;
  padding-block: 6.25em 0;
}

body[data-page="home"] .stories.section-rule::before {
  right: 0;
  left: 0;
}

body[data-page="home"] .stories > .site-container {
  max-width: none;
  padding-inline: 0;
}

body[data-page="home"] .stories .section-heading {
  padding-inline: 2em;
}

body[data-page="home"] .section-heading h2 {
  max-width: none;
  margin-top: 1.0625em;
  font-size: 2.875em;
  line-height: 1;
  white-space: nowrap;
}

body[data-page="home"] .section-heading > .button,
body[data-page="home"] .section-heading > a {
  position: relative;
  isolation: isolate;
  font-family: "DM Mono", monospace;
  font-size: .5625em;
  letter-spacing: .2em;
  text-transform: uppercase;
  transition: color .35s ease-out, background-color .35s ease-out;
}

body[data-page="home"] .section-heading > .button::before {
  position: absolute;
  z-index: -1;
  inset: -.55em;
  border-radius: 999em;
  background:
    radial-gradient(ellipse 64% 90% at 18% 12%, rgba(116, 203, 251, .9), transparent 67%),
    radial-gradient(ellipse 72% 100% at 80% 50%, rgba(255, 119, 95, .82), transparent 70%),
    radial-gradient(ellipse 64% 90% at 48% 90%, rgba(225, 155, 255, .86), transparent 68%);
  content: "";
  filter: blur(.22em);
  opacity: 0;
  transition: opacity .35s ease-out;
}

body[data-page="home"] .section-heading > .button:hover,
body[data-page="home"] .section-heading > .button:focus-visible {
  background: var(--home-paper);
  color: var(--home-dark);
  transform: none;
}

body[data-page="home"] .section-heading > .button:hover::before,
body[data-page="home"] .section-heading > .button:focus-visible::before {
  opacity: 1;
}

body[data-page="home"] .story-grid {
  min-height: 36em;
  grid-template-columns: repeat(3, 30em);
  margin-top: 3.75em;
}

body[data-page="home"] .story-card {
  min-height: 36em;
  padding: 1.8125em 2em 3em;
}

body[data-page="home"] .story-card::after {
  height: 48%;
  background: linear-gradient(0deg, rgba(49, 48, 48, .72), transparent);
  opacity: 0;
  transition: opacity .5s ease;
}

body[data-page="home"] .story-card .story-image {
  object-position: center;
  opacity: 0;
  transform: none;
  transition: opacity 1.2501229s ease;
}

body[data-page="home"] .story-card:hover .story-image,
body[data-page="home"] .story-card:focus-visible .story-image {
  opacity: 1;
}

body[data-page="home"] .story-card:hover::after,
body[data-page="home"] .story-card:focus-visible::after {
  opacity: 0;
}

body[data-page="home"] .story-card:nth-child(3):hover::after,
body[data-page="home"] .story-card:nth-child(3):focus-visible::after {
  inset: 0;
  height: auto;
  background: rgba(0, 0, 0, .3);
  opacity: 1;
}

body[data-page="home"] .story-number {
  display: none;
}

body[data-page="home"] .story-logo {
  width: auto;
  max-height: 2em;
  margin-top: 0;
}

body[data-page="home"] .story-card:nth-child(1) .story-logo {
  width: 6.34375em;
}

body[data-page="home"] .story-card:nth-child(2) .story-logo {
  width: 5.75625em;
}

body[data-page="home"] .story-card:nth-child(3) .story-logo {
  width: 10.1375em;
}

body[data-page="home"] .story-card h3 {
  width: 100%;
  max-width: none;
  padding-top: 1em;
  border-top: 1px solid rgba(252, 250, 247, .25);
  font-family: "Not Display", Georgia, serif;
  font-size: 1.5em;
  font-weight: 300;
  line-height: 1.08;
}

body[data-page="home"] .story-card h3 > span {
  display: block;
  max-width: none;
}

body[data-page="home"] .story-link {
  align-self: flex-start;
  margin-top: 13.33em;
  padding-bottom: .3em;
  border-bottom: 1px solid currentColor;
  font-family: "DM Mono", monospace;
  font-size: .421875em;
  letter-spacing: .2em;
}

/* Moats */
body[data-page="home"] .moats {
  position: relative;
  z-index: 7;
  min-height: 37.6875em;
  padding-block: 0;
}

body[data-page="home"] .moats.section-rule::before {
  right: 0;
  left: 0;
}

body[data-page="home"] .moats > .site-container {
  max-width: none;
  padding-inline: 0;
}

body[data-page="home"] .moats > .site-container > .eyebrow {
  display: none;
}

body[data-page="home"] .moat-grid {
  grid-template-columns: repeat(3, 30em);
  margin-top: 0;
  border-top: 0;
}

body[data-page="home"] .moat {
  min-height: 37.6875em;
  grid-template-columns: 1fr;
  grid-template-rows: 20.8344em auto 1fr;
  padding: 2.5em 2em 2em;
}

body[data-page="home"] .moat + .moat {
  padding-left: 2em;
}

body[data-page="home"] .moat > span {
  display: none;
}

body[data-page="home"] .moat h3 {
  grid-column: 1;
  grid-row: 2;
  padding-top: .9em;
  border-top: 1px solid rgba(252, 250, 247, .25);
  font-size: 1.875em;
  line-height: 1;
}

body[data-page="home"] .moat p {
  grid-column: 1;
  grid-row: 3;
  align-self: start;
  max-width: 25em;
  margin-top: 2.7556em;
  font-size: .8125em;
  line-height: 1.38;
}

body[data-page="home"] .moat-orbit {
  display: none;
}

body[data-page="home"] .moat-art {
  position: relative;
  width: 100%;
  height: 14.375em;
  grid-column: 1;
  grid-row: 1;
  overflow: visible;
}

body[data-page="home"] .moat-art img,
body[data-page="home"] .moat-art__layer {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: none;
  opacity: .9;
  transform: translate(-50%, -50%);
  transform-origin: center;
}

body[data-page="home"] .moat-art--data img:first-child,
body[data-page="home"] .moat-art--data .moat-art__layer:first-child {
  width: 13.9018em;
}

body[data-page="home"] .moat-art--data img:nth-child(2) {
  width: 5.18125em;
  margin: -2.35em 0 0 -3.65em;
}

body[data-page="home"] .moat-art--data img:nth-child(3) {
  width: 5.09375em;
  margin: 2.15em 0 0 3.55em;
}

body[data-page="home"] .moat-art--data img:nth-child(4) {
  width: 5.0775em;
  margin: 2.7em 0 0 -3.25em;
}

body[data-page="home"] .moat-art--workflow img:first-child,
body[data-page="home"] .moat-art--workflow .moat-art__layer:first-child {
  width: 18.84em;
}

body[data-page="home"] .moat-art--workflow img:nth-child(2),
body[data-page="home"] .moat-art--workflow img:nth-child(3) {
  width: 8.4775em;
}

body[data-page="home"] .moat-art--workflow img:nth-child(2) {
  margin-left: -3.8em;
}

body[data-page="home"] .moat-art--workflow img:nth-child(3) {
  margin-left: 3.8em;
}

body[data-page="home"] .moat-art--workflow img:nth-child(4) {
  width: .1875em;
}

body[data-page="home"] .moat-art--workflow .moat-art__point {
  width: .1879em;
}

body[data-page="home"] .moat-art__point--left {
  margin-left: -7.25em;
}

body[data-page="home"] .moat-art__point--center {
  margin-top: 1.5em;
}

body[data-page="home"] .moat-art__point--right {
  margin-left: 7.25em;
}

body[data-page="home"] .moat-art__point--top {
  margin-top: -5.4em;
}

body[data-page="home"] .moat-art__point--bottom {
  margin-top: 5.4em;
}

body[data-page="home"] .moat-art--scale img:first-child,
body[data-page="home"] .moat-art--scale .moat-art__layer:first-child {
  width: 13.80875em;
}

body[data-page="home"] .moat-art--scale img:nth-child(2) {
  width: 1.10375em;
  margin: -3.45em 0 0 -5.15em;
}

body[data-page="home"] .moat-art--scale img:nth-child(3) {
  width: 4.03em;
  margin: -2.5em 0 0 4.55em;
}

body[data-page="home"] .moat-art--scale img:nth-child(4) {
  width: 7.945em;
  margin: 3.1em 0 0 -3.7em;
}

body[data-page="home"] .moat-art--scale img:nth-child(5) {
  width: 9.92125em;
  margin: 2.6em 0 0 3.4em;
}

body[data-page="home"] .moat-art--scale img:nth-child(6) {
  width: 10.911em;
  margin: -.35em 0 0 .25em;
}

body[data-page="home"] .moat-art--data.is-animated .moat-art__base {
  animation: home-moat-data-ring 9.601s linear both;
}

body[data-page="home"] .moat-art--data.is-animated .moat-art__layer--data-1 {
  animation: home-moat-data-top 9.601s linear both;
}

body[data-page="home"] .moat-art--data.is-animated .moat-art__layer--data-2 {
  animation: home-moat-data-middle 9.601s linear both;
}

body[data-page="home"] .moat-art--data.is-animated .moat-art__layer--data-3 {
  animation: home-moat-data-bottom 9.601s linear both;
}

body[data-page="home"] .moat-art--workflow.is-animated .moat-art__layer--workflow-left {
  animation: home-moat-workflow-left 4.801s linear both;
}

body[data-page="home"] .moat-art--workflow.is-animated .moat-art__layer--workflow-right {
  animation: home-moat-workflow-right 4.801s linear both;
}

body[data-page="home"] .moat-art--scale.is-animated .moat-art__base {
  animation: home-moat-scale-base 7.801s linear both;
}

body[data-page="home"] .moat-art--scale.is-animated .moat-art__layer--scale-1 {
  animation: home-moat-scale-1 7.801s linear both;
}

body[data-page="home"] .moat-art--scale.is-animated .moat-art__layer--scale-2 {
  animation: home-moat-scale-2 7.801s linear both;
}

body[data-page="home"] .moat-art--scale.is-animated .moat-art__layer--scale-3 {
  animation: home-moat-scale-3 7.801s linear both;
}

body[data-page="home"] .moat-art--scale.is-animated .moat-art__layer--scale-4 {
  animation: home-moat-scale-4 7.801s linear both;
}

body[data-page="home"] .moat-art--scale.is-animated .moat-art__layer--scale-5 {
  animation: home-moat-scale-5 7.801s linear both;
}

/* Footer — shared Figma component, 1440px × 1388px. */
body[data-page="home"] .contact-cta {
  min-height: 0;
}

body[data-page="home"] .site-footer {
  position: relative;
  z-index: 8;
  min-height: 86.75em;
  padding: 0;
  overflow: hidden;
  border-top: 1px solid transparent;
  background: var(--home-dark);
}

body[data-page="home"] .footer-shell {
  position: relative;
  z-index: 2;
  min-height: 86.75em;
}

body[data-page="home"] .footer-gradient {
  position: absolute;
  z-index: 0;
  top: 69.8265em;
  left: -34.3603em;
  width: 158.6536em;
  height: 129.4414em;
  background-image: url("https://notco-ai-monttilva-chi.vercel.app/assets/figma/footer-gradient.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  filter: blur(5.399em);
  mix-blend-mode: lighten;
  opacity: 1;
  transform: none;
  transition: top 2.4s ease-out, left 2.4s ease-out, width 2.4s ease-out, height 2.4s ease-out, filter 2.4s ease-out;
}

body[data-page="home"] .footer-gradient.is-entered {
  top: 14.8819em;
  left: -3.2596em;
  width: 96.4523em;
  height: 78.6929em;
  filter: blur(3.2823em);
}

body[data-page="home"] .footer-cta {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 90em;
  min-height: 54.875em;
  margin-inline: auto;
}

body[data-page="home"] .footer-cta__copy {
  position: absolute;
  top: 17.8056em;
  left: 2.0219em;
  width: 42.4185em;
}

body[data-page="home"] .footer-cta .eyebrow {
  margin-bottom: 1.75em;
}

body[data-page="home"] .footer-cta h2,
body[data-page="home"] .footer-cta__title {
  max-width: 14.1395em;
  font-family: "Not Display", Georgia, serif;
  font-size: 3em;
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: 0;
  transform: translateY(1px);
}

body[data-page="home"] .footer-cta h2 span,
body[data-page="home"] .footer-cta__title span {
  background: none;
  color: inherit;
  -webkit-text-fill-color: currentColor;
}

body[data-page="home"] .footer-cta .button {
  margin-top: 2em;
}

body[data-page="home"] .footer-contact-button {
  position: absolute;
  top: 18em;
  left: .0015em;
  display: inline-flex;
  width: 11.5028em;
  min-height: 3.6491em;
  align-items: center;
  justify-content: center;
  margin-top: 0;
  padding: .72em 1.25em;
  border: .0833em solid currentColor;
  border-radius: 999em;
  background: transparent;
  color: var(--home-paper);
  font-family: "DM Mono", monospace;
  font-size: .5625em;
  line-height: 1.1;
  letter-spacing: .2em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color .3s ease, transform .3s cubic-bezier(.16, 1, .3, 1);
}

body[data-page="home"] .footer-contact-button:hover,
body[data-page="home"] .footer-contact-button:focus-visible {
  background: var(--cerulean);
  color: var(--home-dark);
  transform: translateY(-.14em);
}

body[data-page="home"] .footer-newsletter,
body[data-page="home"] .site-footer .newsletter {
  position: absolute;
  top: 18.25em;
  right: 2.4em;
  width: 36em;
}

body[data-page="home"] .footer-newsletter label,
body[data-page="home"] .site-footer .newsletter label {
  max-width: none;
  font-size: 1.125em;
  line-height: 1.1;
  letter-spacing: -.0313em;
  transform: translate(1px, 1px);
}

body[data-page="home"] .footer-newsletter > div,
body[data-page="home"] .site-footer .newsletter > div {
  position: relative;
  margin-top: 7.2225em;
  border-bottom: 0;
}

body[data-page="home"] .footer-newsletter__field::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: linear-gradient(to bottom, rgba(252, 250, 247, .245) 0 50%, rgba(252, 250, 247, .37) 50% 100%);
  content: "";
  pointer-events: none;
}

body[data-page="home"] .footer-newsletter input,
body[data-page="home"] .site-footer .newsletter input {
  padding: 2px 0 .5889em 1px;
  font-family: "Not Display", Georgia, serif;
  font-size: 1.125em;
  line-height: 1.1;
  letter-spacing: -.004em;
}

body[data-page="home"] .footer-newsletter input::placeholder,
body[data-page="home"] .site-footer .newsletter input::placeholder {
  color: var(--home-paper);
  opacity: 1;
}

body[data-page="home"] .footer-newsletter button,
body[data-page="home"] .site-footer .newsletter button {
  position: absolute;
  top: 0;
  right: 1px;
  display: flex;
  width: 10.0117px;
  height: 17.8896px;
  align-items: center;
  justify-content: center;
  padding: 0;
}

body[data-page="home"] .footer-newsletter button img,
body[data-page="home"] .site-footer .newsletter button img {
  position: static;
  width: 17.8896px;
  max-width: none;
  height: 10.0117px;
  flex: none;
  transform: rotate(90deg);
}

body[data-page="home"] .footer-directory {
  position: absolute;
  z-index: 2;
  top: 54.875em;
  left: 50%;
  display: block;
  width: 100%;
  max-width: 90em;
  min-height: 31.875em;
  padding-inline: 2.25em;
  color: var(--home-dark);
  transform: translateX(-50%);
}

body[data-page="home"] .footer-directory::before {
  position: absolute;
  top: 18.1881em;
  right: 1.7625em;
  left: 38.94375em;
  height: .6002px;
  background: #313030;
  content: "";
}

body[data-page="home"] .footer-directory__nav {
  position: absolute;
  top: 20.0619em;
  right: 1.7625em;
  left: 38.15em;
  display: grid;
  grid-template-columns: 7.4em 7.8em 6.7em 8.2em 9.5em minmax(0, 1fr);
  gap: 0;
}

body[data-page="home"] .footer-directory__group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  font-size: .75em;
  line-height: 1.97;
}

body[data-page="home"] .footer-directory__group > span,
body[data-page="home"] .footer-directory__group > strong,
body[data-page="home"] .footer-directory__group > h3 {
  margin: 0 0 1.2505em;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 1.2508em;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0;
  text-transform: none;
}

body[data-page="home"] .footer-directory a {
  transition: opacity .25s ease;
}

body[data-page="home"] .footer-directory a:hover,
body[data-page="home"] .footer-directory a:focus-visible {
  color: inherit;
  opacity: .58;
}

body[data-page="home"] .site-footer .footer-brand {
  position: absolute;
  top: 9.6775em;
  right: 2.35625em;
  bottom: auto;
  left: auto;
  width: 18.9808em;
}

body[data-page="home"] .site-footer img.footer-brand {
  height: 3.7002em;
}

body[data-page="home"] .footer-emblem {
  position: absolute;
  top: 7.56875em;
  bottom: auto;
  left: .5625em;
  width: 24.1255em;
  height: 24.1255em;
}

body[data-page="home"] .footer-emblem__icon {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  filter: brightness(0);
  object-fit: contain;
  opacity: .72;
}

body[data-page="home"] .footer-emblem__icon--static {
  display: block;
}

body[data-page="home"] .footer-emblem__icon--motion {
  display: none;
}

body[data-page="home"] .footer-emblem.is-looping .footer-emblem__icon--motion {
  display: block;
}

body[data-page="home"] .footer-emblem.is-looping .footer-emblem__icon--static {
  display: none;
}

body[data-page="home"] .footer-compliance {
  position: absolute;
  right: 2.023em;
  bottom: 1.7831em;
  display: flex;
  align-items: flex-end;
  gap: 1.5em;
  color: var(--home-dark);
}

body[data-page="home"] .footer-compliance img {
  width: 4.94025em;
}

body[data-page="home"] .site-footer .footer-bottom {
  position: absolute;
  right: 2em;
  bottom: 1.25em;
  left: 2em;
  margin-top: 0;
  border-top-color: rgba(49, 48, 48, .28);
  color: rgba(49, 48, 48, .72);
}

@keyframes home-moat-data-ring {
  0% { transform: translate(-50%, -50%) rotate(0); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  49.9948% { transform: translate(-50%, -50%) rotate(-90deg); }
  50.0052% { transform: translate(-50%, -50%) rotate(-90deg); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  100% { transform: translate(-50%, -50%) rotate(0); }
}

@keyframes home-moat-data-top {
  0% { transform: translate(-50%, -50%) translateY(0); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  49.9948% { transform: translate(-50%, -50%) translateY(1.0636em); }
  50.0052% { transform: translate(-50%, -50%) translateY(1.0636em); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  100% { transform: translate(-50%, -50%) translateY(0); }
}

@keyframes home-moat-data-middle {
  0% { transform: translate(-50%, -50%) translateY(0); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  49.9948% { transform: translate(-50%, -50%) translateY(.0804em); }
  50.0052% { transform: translate(-50%, -50%) translateY(.0804em); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  100% { transform: translate(-50%, -50%) translateY(0); }
}

@keyframes home-moat-data-bottom {
  0% { transform: translate(-50%, -50%) translateY(0); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  49.9948% { transform: translate(-50%, -50%) translateY(-.8776em); }
  50.0052% { transform: translate(-50%, -50%) translateY(-.8776em); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  100% { transform: translate(-50%, -50%) translateY(0); }
}

@keyframes home-moat-workflow-left {
  0% { transform: translate(-50%, -50%) translateX(0); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  49.9896% { transform: translate(-50%, -50%) translateX(3.8em); }
  50.0104% { transform: translate(-50%, -50%) translateX(3.8em); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  100% { transform: translate(-50%, -50%) translateX(0); }
}

@keyframes home-moat-workflow-right {
  0% { transform: translate(-50%, -50%) translateX(0); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  49.9896% { transform: translate(-50%, -50%) translateX(-3.8em); }
  50.0104% { transform: translate(-50%, -50%) translateX(-3.8em); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  100% { transform: translate(-50%, -50%) translateX(0); }
}

@keyframes home-moat-scale-base {
  0% { transform: translate(-50%, -50%) rotate(0); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  43.5842% { transform: translate(-50%, -50%) rotate(113.007deg); }
  43.597% { transform: translate(-50%, -50%) rotate(113.007deg); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  100% { transform: translate(-50%, -50%) rotate(0); }
}

@keyframes home-moat-scale-1 {
  0% { transform: translate(-50%, -50%) rotate(0); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  43.5842% { transform: translate(-50%, -50%) rotate(-159.557deg); }
  43.597% { transform: translate(-50%, -50%) rotate(-159.557deg); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  100% { transform: translate(-50%, -50%) rotate(0); }
}

@keyframes home-moat-scale-2 {
  0% { transform: translate(-50%, -50%) rotate(0); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  43.5842% { transform: translate(-50%, -50%) rotate(177.929deg); }
  43.597% { transform: translate(-50%, -50%) rotate(177.929deg); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  100% { transform: translate(-50%, -50%) rotate(0); }
}

@keyframes home-moat-scale-3 {
  0% { transform: translate(-50%, -50%) rotate(0); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  43.5842% { transform: translate(-50%, -50%) rotate(-149.577deg); }
  43.597% { transform: translate(-50%, -50%) rotate(-149.577deg); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  100% { transform: translate(-50%, -50%) rotate(0); }
}

@keyframes home-moat-scale-4 {
  0% { transform: translate(-50%, -50%) rotate(0); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  43.5842% { transform: translate(-50%, -50%) rotate(170.254deg); }
  43.597% { transform: translate(-50%, -50%) rotate(170.254deg); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  100% { transform: translate(-50%, -50%) rotate(0); }
}

@keyframes home-moat-scale-5 {
  0% { transform: translate(-50%, -50%) rotate(0) scale(1); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  43.5842% { transform: translate(-50%, -50%) rotate(163.287deg) scale(1.2966); }
  43.597% { transform: translate(-50%, -50%) rotate(163.287deg) scale(1.2966); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  100% { transform: translate(-50%, -50%) rotate(0) scale(1); }
}

/* 1024px retains the 1440px composition through the OSMO root scale. */
@media (min-width: 992px) and (max-width: 1120px) {
  body[data-page="home"] .desktop-nav {
    gap: 1.75em;
  }

  body[data-page="home"] .hero-copy > p {
    font-size: .9375em;
  }
}

/* Tablet, tuned against the 834px OSMO range (including 820px). */
@media (min-width: 768px) and (max-width: 991px) {
  body[data-page="home"] .nav-inner {
    padding-inline: 1.75em;
  }

  body[data-page="home"] .hero--home,
  body[data-page="home"] .hero-inner--home {
    min-height: 52em;
  }

  body[data-page="home"] .hero-inner--home {
    padding-top: 12.5em;
  }

  body[data-page="home"] .hero-media--home {
    top: 0;
    left: 16.5em;
    width: 62em;
    height: 48em;
  }

  body[data-page="home"] .hero-copy {
    width: 34em;
  }

  body[data-page="home"] .hero-copy h1 {
    font-size: 3.75em;
  }

  body[data-page="home"] .hero-trust {
    top: 44em;
    right: 1.75em;
    left: 1.75em;
  }

  body[data-page="home"] .logo-rail {
    gap: 1.25em;
  }

  body[data-page="home"] .challenge,
  body[data-page="home"] .challenge-grid {
    min-height: 47em;
  }

  body[data-page="home"] .challenge-grid {
    grid-template-columns: 43% 57%;
  }

  body[data-page="home"] .challenge-copy {
    min-height: 47em;
    padding: 5em 2.25em 3em 1.75em;
  }

  body[data-page="home"] .challenge-copy h2 {
    margin-top: 5em;
    font-size: 2.5em;
  }

  body[data-page="home"] .challenge-copy > p:last-child {
    margin-top: 2.25em;
  }

  body[data-page="home"] .challenge-media {
    min-height: 47em;
  }

  body[data-page="home"] .journey-sticky {
    height: 100vh;
    height: 100dvh;
    min-height: 0;
  }

  body[data-page="home"] .journey-grid {
    height: 100%;
    min-height: 0;
    grid-template-columns: 21em minmax(0, 1fr);
    padding-left: 1.75em;
  }

  body[data-page="home"] .journey-copy {
    height: 100%;
    min-height: 0;
    padding: 4.5em 2em 3em 0;
  }

  body[data-page="home"] .journey-copy h2 {
    font-size: 2.2em;
  }

  body[data-page="home"] .journey-tabs {
    margin-top: 3em;
  }

  body[data-page="home"] .journey-tabs button {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  body[data-page="home"] .journey-descriptions p,
  body[data-page="home"] .journey-step [data-journey-description] {
    padding-left: 0;
  }

  body[data-page="home"] .journey-stage {
    height: 100%;
    min-height: 0;
  }

  body[data-page="home"] .journey-panel {
    padding: 4em 0 0 1.5em;
  }

  body[data-page="home"] .giuseppe-app,
  body[data-page="home"] .product-window {
    font-size: .52em;
  }

  body[data-page="home"] .metric > span:last-child,
  body[data-page="home"] .metric:nth-child(2) > span:last-child,
  body[data-page="home"] .metric:nth-child(3) > span:last-child {
    margin-left: 8.4em;
    font-size: 1em;
  }

  body[data-page="home"] .metric strong {
    font-size: 8.5em;
  }

  body[data-page="home"] .possibilities-inner {
    grid-template-columns: 1fr 1.2fr;
  }

  body[data-page="home"] .possibilities-intro {
    font-size: 2.25em;
  }

  body[data-page="home"] .rotating-lines {
    font-size: 2.25em;
  }

  body[data-page="home"] .possibilities-meta {
    left: 44%;
  }

  body[data-page="home"] .section-heading h2 {
    font-size: 2.45em;
    white-space: normal;
  }

  body[data-page="home"] .story-grid,
  body[data-page="home"] .moat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body[data-page="home"] .moat,
  body[data-page="home"] .moat + .moat {
    padding-inline: 1.5em;
  }

  body[data-page="home"] .footer-directory__nav {
    top: 1.5em;
    right: 1.75em;
    left: 1.75em;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.25em 1.5em;
  }

  body[data-page="home"] .site-footer,
  body[data-page="home"] .footer-shell {
    min-height: 92em;
  }

  body[data-page="home"] .footer-cta {
    min-height: 52em;
  }

  body[data-page="home"] .footer-cta__copy {
    top: 9em;
    right: 1.75em;
    left: 1.75em;
    width: auto;
  }

  body[data-page="home"] .footer-newsletter,
  body[data-page="home"] .site-footer .newsletter {
    top: 30em;
    right: 1.75em;
    left: 1.75em;
    width: auto;
  }

  body[data-page="home"] .footer-directory {
    top: 52em;
    min-height: 40em;
    padding-inline: 1.75em;
  }

  body[data-page="home"] .footer-gradient {
    top: 72%;
    right: auto;
    bottom: auto;
    left: -40%;
    width: 180%;
    height: 120%;
  }

  body[data-page="home"] .footer-gradient.is-entered {
    top: 25%;
    left: -15%;
    width: 130%;
    height: 90%;
  }

  body[data-page="home"] .footer-directory::before {
    top: 0;
    right: 1.75em;
    left: 1.75em;
  }

  body[data-page="home"] .site-footer .footer-brand {
    top: auto;
    right: 1.75em;
    bottom: 7em;
    width: 15em;
  }

  body[data-page="home"] .site-footer img.footer-brand {
    height: 2.924em;
  }

  body[data-page="home"] .footer-emblem {
    top: auto;
    bottom: -1em;
    left: -1.5em;
    width: 18em;
    height: 18em;
  }
}

/* Mobile layout: structural reflow at 430px and 390px. */
@media (max-width: 767px) {
  body[data-page="home"] .nav-inner {
    padding-inline: var(--page-pad);
  }

  body[data-page="home"] .hero--home,
  body[data-page="home"] .hero-inner--home {
    min-height: 51em;
  }

  body[data-page="home"] .hero--home,
  body[data-page="home"] .hero-media--home {
    background-color: var(--home-video-background);
  }

  body[data-page="home"] .hero-inner--home {
    padding-top: 7.5em;
  }

  body[data-page="home"] .hero-media--home {
    top: 3.75em;
    left: 7em;
    width: 58em;
    height: 33em;
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 66%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 66%, transparent 100%);
  }

  body[data-page="home"] .hero-media--home::after {
    background: linear-gradient(180deg, rgba(48, 48, 48, .08), var(--home-video-background));
  }

  body[data-page="home"] .hero-copy {
    width: 100%;
  }

  body[data-page="home"] .hero-copy h1 {
    font-size: 3.75em;
    white-space: normal;
  }

  body[data-page="home"] .hero-copy h1 br {
    display: none;
  }

  body[data-page="home"] .hero-copy > p {
    max-width: 27em;
    font-size: .9375em;
  }

  body[data-page="home"] .hero-trust {
    top: auto;
    right: var(--page-pad);
    bottom: 1.75em;
    left: var(--page-pad);
  }

  body[data-page="home"] .logo-rail {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.15em 1.5em;
    margin-top: 2.65em;
  }

  body[data-page="home"] .logo-rail img {
    max-height: 1.45em;
  }

  body[data-page="home"] .challenge,
  body[data-page="home"] .challenge-grid {
    position: relative;
    min-height: 0;
  }

  body[data-page="home"] .challenge-grid {
    display: flex;
    flex-direction: column;
  }

  body[data-page="home"] .challenge-copy {
    min-height: 32em;
    padding: 5.5em var(--page-pad) 4em;
  }

  body[data-page="home"] .challenge-copy h2 {
    margin-top: 2.25em;
    font-size: 2.875em;
  }

  body[data-page="home"] .challenge-copy > p:last-child {
    margin-top: 2.5em;
    font-size: .9375em;
  }

  body[data-page="home"] .challenge-media {
    min-height: 0;
    aspect-ratio: 1 / 1;
  }

  body[data-page="home"] .giuseppe-bridge,
  body[data-page="home"] .bridge-copy {
    min-height: 36em;
  }

  body[data-page="home"] .bridge-copy {
    padding-inline: 1.5em;
  }

  body[data-page="home"] .bridge-copy h2 {
    font-size: 2.75em;
  }

  body[data-page="home"] .journey {
    height: auto;
  }

  body[data-page="home"] .journey-sticky {
    position: relative;
    display: block;
    height: auto;
    min-height: 0;
  }

  body[data-page="home"] .journey-grid {
    display: block;
    min-height: 0;
    padding: 0;
  }

  body[data-page="home"] .journey-copy {
    min-height: 44em;
    padding: 5.5em var(--page-pad) 3.5em;
  }

  body[data-page="home"] .journey-copy h2 {
    font-size: 2.875em;
  }

  body[data-page="home"] .journey-tabs {
    margin-top: 3.25em;
  }

  body[data-page="home"] .journey-descriptions p,
  body[data-page="home"] .journey-step [data-journey-description] {
    padding-left: 0;
  }

  body[data-page="home"] .journey-stage {
    min-height: 26em;
  }

  body[data-page="home"] .journey-panel {
    padding: 1.5em 0 0 .875em;
  }

  body[data-page="home"] .giuseppe-app,
  body[data-page="home"] .product-window {
    font-size: .45em;
  }

  body[data-page="home"] .giuseppe-app--discovery,
  body[data-page="home"] .giuseppe-app--elevate {
    transform: none;
  }

  body[data-page="home"] .impact {
    position: relative;
    top: auto;
    min-height: 0;
    padding-block: 5.5em 4em;
  }

  body[data-page="home"] .impact-title {
    font-size: 2.75em;
  }

  body[data-page="home"] .metrics {
    grid-template-columns: 1fr;
    margin-top: 4.5em;
  }

  body[data-page="home"] .metric,
  body[data-page="home"] .metric + .metric {
    min-width: 0;
    min-height: 13.5em;
    grid-template-columns: auto minmax(0, 1fr);
    padding-inline: 0;
    border-right: 0;
    column-gap: 1.25em;
  }

  body[data-page="home"] .metric > p {
    grid-column: 1 / -1;
  }

  body[data-page="home"] .metric strong {
    min-width: 0;
    width: max-content;
    grid-column: 1;
    justify-self: start;
    font-size: 8em;
    white-space: nowrap;
  }

  body[data-page="home"] .metric > span:last-child,
  body[data-page="home"] .metric:nth-child(2) > span:last-child,
  body[data-page="home"] .metric:nth-child(3) > span:last-child {
    position: static;
    grid-row: 3;
    grid-column: 2;
    align-self: end;
    justify-self: start;
    max-width: 8.5em;
    margin: 0 0 1em;
    font-size: 1.25em;
  }

  body[data-page="home"] .possibilities,
  body[data-page="home"] .possibilities-inner {
    min-height: 50em;
  }

  body[data-page="home"] .possibilities-inner {
    display: block;
    padding-top: 5.5em;
  }

  body[data-page="home"] .possibilities-inner > .eyebrow {
    position: static;
  }

  body[data-page="home"] .possibilities-inner > div,
  body[data-page="home"] .possibilities-content {
    display: block;
    margin-top: 4.25em;
  }

  body[data-page="home"] .possibilities-intro {
    max-width: 10em;
    margin-top: 0;
    font-size: 2.55em;
  }

  body[data-page="home"] .rotating-lines {
    gap: .42em;
    margin-top: 2.25em;
    font-size: 2.05em;
  }

  body[data-page="home"] .possibilities-meta {
    position: static;
    margin-top: 3.25em;
  }

  body[data-page="home"] .possibilities-meta p {
    font-size: 1em;
  }

  body[data-page="home"] .stories {
    min-height: 0;
    padding-top: 5.5em;
  }

  body[data-page="home"] .stories .section-heading {
    padding-inline: var(--page-pad);
  }

  body[data-page="home"] .section-heading h2 {
    max-width: 11em;
    font-size: 2.75em;
    white-space: normal;
  }

  body[data-page="home"] .story-grid {
    display: grid;
    min-height: 0;
    grid-template-columns: 1fr;
    margin-top: 3.75em;
  }

  body[data-page="home"] .story-card {
    min-height: 30em;
  }

  body[data-page="home"] .story-card .story-image {
    opacity: .42;
  }

  body[data-page="home"] .story-card::after {
    opacity: .3;
  }

  body[data-page="home"] .moats {
    min-height: 0;
  }

  body[data-page="home"] .moat-grid {
    grid-template-columns: 1fr;
  }

  body[data-page="home"] .moat,
  body[data-page="home"] .moat + .moat {
    min-height: 33em;
    padding: 2.75em var(--page-pad) 2.5em;
    border-right: 0;
    border-bottom: 1px solid var(--line-light);
  }

  body[data-page="home"] .moat p {
    max-width: 30em;
  }

  body[data-page="home"] .site-footer {
    min-height: 92em;
  }

  body[data-page="home"] .footer-cta {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    width: 100%;
    min-height: 40em;
  }

  body[data-page="home"] .footer-cta__copy {
    top: 7em;
    right: var(--page-pad);
    left: var(--page-pad);
    width: auto;
  }

  body[data-page="home"] .footer-cta h2,
  body[data-page="home"] .footer-cta__title {
    font-size: 2.75em;
  }

  body[data-page="home"] .footer-cta h2 br,
  body[data-page="home"] .footer-cta__title br {
    display: none;
  }

  body[data-page="home"] .footer-contact-button {
    position: static;
    width: auto;
    min-height: 2.75em;
    margin-top: 2em;
    font-size: .625em;
  }

  body[data-page="home"] .footer-newsletter,
  body[data-page="home"] .site-footer .newsletter {
    top: 24em;
    right: var(--page-pad);
    left: var(--page-pad);
    width: auto;
  }

  body[data-page="home"] .footer-directory {
    top: 40em;
    left: 50%;
    width: 100%;
    min-height: 52em;
    padding-inline: var(--page-pad);
    transform: translateX(-50%);
  }

  body[data-page="home"] .footer-directory::before {
    top: 0;
    right: var(--page-pad);
    left: var(--page-pad);
  }

  body[data-page="home"] .footer-directory__nav {
    top: 1.5em;
    right: var(--page-pad);
    left: var(--page-pad);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.25em 1.5em;
  }

  body[data-page="home"] .site-footer .footer-brand {
    top: auto;
    right: var(--page-pad);
    bottom: 7.75em;
    left: auto;
    width: 11.5em;
  }

  body[data-page="home"] .site-footer img.footer-brand {
    height: 2.241em;
  }

  body[data-page="home"] .footer-emblem {
    top: auto;
    bottom: -1.5em;
    left: -2em;
    width: 13em;
    height: 13em;
  }

  body[data-page="home"] .footer-compliance {
    right: var(--page-pad);
    bottom: 1.5em;
    left: auto;
    width: auto;
    justify-content: flex-end;
  }

  body[data-page="home"] .footer-gradient {
    top: 72%;
    right: auto;
    bottom: auto;
    left: -50%;
    width: 200%;
    height: 125%;
  }

  body[data-page="home"] .footer-gradient.is-entered {
    top: 18%;
    left: -30%;
    width: 160%;
    height: 110%;
  }
}

@media (max-width: 479px) {
  body[data-page="home"] .hero--home,
  body[data-page="home"] .hero-inner--home {
    min-height: 49em;
  }

  body[data-page="home"] .hero-copy h1 {
    font-size: 3em;
  }

  body[data-page="home"] .hero-copy > p {
    max-width: 23em;
    font-size: .875em;
  }

  body[data-page="home"] .hero-media--home {
    left: 4.5em;
    width: 48em;
    height: 31em;
  }

  body[data-page="home"] .logo-rail {
    gap: .9em 1em;
  }

  body[data-page="home"] .challenge-copy h2,
  body[data-page="home"] .bridge-copy h2,
  body[data-page="home"] .journey-copy h2,
  body[data-page="home"] .impact-title,
  body[data-page="home"] .section-heading h2 {
    font-size: 2.5em;
  }

  body[data-page="home"] .journey-copy {
    min-height: 42em;
  }

  body[data-page="home"] .journey-stage {
    min-height: 24em;
  }

  body[data-page="home"] .journey-panel {
    padding: 1.25em 0 0 .55em;
  }

  body[data-page="home"] .giuseppe-app,
  body[data-page="home"] .product-window {
    font-size: .425em;
  }

  body[data-page="home"] .metric strong {
    font-size: 7em;
  }

  body[data-page="home"] .possibilities-intro {
    font-size: 2.25em;
  }

  body[data-page="home"] .rotating-lines {
    font-size: 1.8em;
  }

  body[data-page="home"] .story-card {
    min-height: 28em;
  }

  body[data-page="home"] .moat,
  body[data-page="home"] .moat + .moat {
    min-height: 31em;
  }

  body[data-page="home"] .site-footer,
  body[data-page="home"] .footer-shell {
    min-height: 96em;
  }

  body[data-page="home"] .footer-directory {
    top: 41em;
    min-height: 55em;
  }

  body[data-page="home"] .footer-gradient {
    top: 72%;
  }

  body[data-page="home"] .footer-gradient.is-entered {
    top: 18%;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="home"] .rotating-lines span,
  body[data-page="home"] .possibility-item,
  body[data-page="home"] .moat-art img,
  body[data-page="home"] .moat-art__layer,
  body[data-page="home"] .footer-gradient,
  body[data-page="home"] .footer-emblem {
    animation: none !important;
    transition: none !important;
  }

  body[data-page="home"] .footer-emblem {
    opacity: 1;
    transform: none;
  }

  body[data-page="home"] .footer-gradient {
    opacity: 1;
    transform: none;
  }

  body[data-page="home"] .footer-emblem__icon--motion {
    display: none;
  }

  body[data-page="home"] .footer-emblem__icon--static {
    display: block;
  }

  body[data-page="home"] .moat-art img,
  body[data-page="home"] .moat-art__layer {
    opacity: 1;
    filter: none;
  }

  body[data-page="home"] .metric::before,
  body[data-page="home"] [data-metric-rule] {
    transform: scaleX(1);
    transition: none;
  }
}

/* Source: platform.css */

/*
 * NotCo AI Platform
 *
 * Desktop measurements follow the Figma 1440px frame through the project's
 * OSMO scale: 1em = 16px at 1440px. Every rule is scoped to Platform so the
 * shared base and Home implementation remain independent.
 */

body[data-page="platform"] {
  --platform-dark: #313030;
  --platform-paper: #fcfaf7;
  --platform-gradient: linear-gradient(161.884deg, #74cbfb 5.56%, #e19bff 54.37%, #ff775f 99.51%);
  overflow-x: clip;
}

body[data-page="platform"] .desktop-nav a[aria-current="page"]::after {
  transform: scaleX(0);
}

body[data-page="platform"] .desktop-nav a[aria-current="page"]:hover::after,
body[data-page="platform"] .desktop-nav a[aria-current="page"]:focus-visible::after {
  transform: scaleX(1);
}

body[data-page="platform"] .site-header {
  height: 3.375em;
}

body[data-page="platform"] .site-header.is-scrolled {
  height: 3.375em;
}

body[data-page="platform"] .brand {
  width: 7.2em;
}

body[data-page="platform"] .nav-inner {
  padding-inline: 2em;
}

body[data-page="platform"] .desktop-nav {
  gap: 3.45em;
  font-size: 1em;
  transform: translateX(-.7em);
}

body[data-page="platform"] .nav-cta {
  width: 10.222em;
  min-height: 3.111em;
  padding: 0;
  font-family: "DM Mono", monospace;
  font-size: .5625em;
  letter-spacing: .12em;
  text-transform: uppercase;
  transform: translateX(-.8em);
}

body[data-page="platform"] .nav-cta:hover,
body[data-page="platform"] .nav-cta:focus-visible {
  transform: translate(-.8em, -.14em);
}

/* Hero — 1440 × 1094.16. */
body[data-page="platform"] .hero--platform,
body[data-page="platform"] .platform-hero-inner {
  height: 68.385em;
  min-height: 68.385em;
}

body[data-page="platform"] .hero--platform {
  background: #303030;
}

body[data-page="platform"] .platform-hero-inner {
  position: relative;
  max-width: 90em;
  padding: 0;
}

body[data-page="platform"] .hero-media--platform {
  z-index: 0;
  top: 22.3406em;
  right: auto;
  bottom: auto;
  left: 9.6125em;
  width: 69.9034em;
  height: 39.3206em;
  -webkit-mask-image: radial-gradient(ellipse 47% 76% at 50% 50%, #000 62%, transparent 100%);
  mask-image: radial-gradient(ellipse 47% 76% at 50% 50%, #000 62%, transparent 100%);
}

body[data-page="platform"] .hero-media--platform::after {
  display: block;
  background: linear-gradient(180deg, #303030 0%, rgba(48, 48, 48, 0) 8%);
}

body[data-page="platform"] .hero-media--platform video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body[data-page="platform"] .platform-hero-mark {
  position: absolute;
  z-index: 2;
  top: 8.26em;
  left: 50%;
  width: 6.357em;
  height: 1.126em;
  max-width: none;
  transform: translateX(-50%);
}

body[data-page="platform"] .platform-hero-copy {
  position: absolute;
  z-index: 2;
  top: 13.076em;
  right: 0;
  left: 0;
  width: auto;
  text-align: center;
}

body[data-page="platform"] .platform-hero-copy h1 {
  width: 13.9636em;
  max-width: none;
  margin: 0 auto;
  background: var(--platform-gradient);
  background-clip: text;
  color: transparent;
  font-family: "Not Display", Georgia, serif;
  font-size: 2.875em;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

body[data-page="platform"] .platform-hero-copy > p:last-child {
  max-width: none;
  margin-top: 1.69em;
  font-size: 1em;
  line-height: 1.2;
}

body[data-page="platform"] .platform-hero-side {
  position: absolute;
  z-index: 2;
  top: 21.733em;
  width: 9.925em;
  font-family: "Not Display", Georgia, serif;
  font-size: 1.875em;
  font-weight: 300;
  line-height: .98;
  letter-spacing: -.025em;
}

body[data-page="platform"] .platform-hero-side--left {
  left: 2.547em;
  text-align: left;
}

body[data-page="platform"] .platform-hero-side--right {
  right: 2.547em;
  text-align: right;
}

/* Intro principles — 1440 × 660.045. */
body[data-page="platform"] .platform-intro,
body[data-page="platform"] .platform-intro-inner {
  height: 41.253em;
  min-height: 41.253em;
}

body[data-page="platform"] .platform-intro {
  padding: 0;
}

body[data-page="platform"] .platform-intro-inner {
  position: relative;
  max-width: 90em;
  padding: 0;
}

body[data-page="platform"] .platform-intro-inner > h2:first-child {
  position: absolute;
  z-index: 2;
  top: 3.413em;
  left: 50%;
  width: 33.758em;
  max-width: none;
  margin: 0;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 1.5em;
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -.03em;
  text-align: center;
  transform: translateX(-50%);
}

body[data-page="platform"] .principles {
  position: absolute;
  inset: 0;
  display: grid;
  margin: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body[data-page="platform"] .principle {
  position: relative;
  display: block;
  min-height: 0;
  grid-template-columns: none;
  grid-template-rows: none;
  gap: 0;
  padding: 0;
  border: 0;
  text-align: center;
}

body[data-page="platform"] .principle + .principle {
  border-left: 0;
}

body[data-page="platform"] .principle + .principle::before {
  position: absolute;
  top: 15.094em;
  left: 0;
  width: 1px;
  height: 18.94em;
  background: rgba(49, 48, 48, .22);
  content: "";
}

body[data-page="platform"] .principle-glyph {
  position: absolute;
  max-width: none;
  max-height: none;
  margin: 0;
  grid-column: auto;
  grid-row: auto;
  align-self: auto;
  justify-self: auto;
  object-fit: contain;
}

body[data-page="platform"] .principle:nth-child(1) .principle-glyph {
  top: 15.491em;
  left: 5.849em;
  width: 10.171em;
  height: 9.302em;
}

body[data-page="platform"] .principle:nth-child(2) .principle-glyph {
  top: 14.034em;
  left: 6.635em;
  width: 10.601em;
  height: 10.767em;
}

body[data-page="platform"] .principle:nth-child(3) .principle-glyph {
  top: 15.098em;
  left: 8.239em;
  width: 5.965em;
  height: 9.703em;
}

body[data-page="platform"] .principle:nth-child(4) .principle-glyph {
  top: 15.71em;
  left: 6.7475em;
  width: 9.082em;
  height: 9.091em;
}

body[data-page="platform"] .principle h3 {
  position: absolute;
  top: 27.889em;
  right: .75em;
  left: .75em;
  grid-column: auto;
  grid-row: auto;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 1em;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: -.02em;
}

/* Divider band — flush against the product visuals. */
body[data-page="platform"] .system-band {
  display: flex;
  height: 10.36em;
  min-height: 10.36em;
  align-items: center;
  justify-content: center;
  border-top: 1px solid rgba(49, 48, 48, .28);
}

body[data-page="platform"] .system-band h2 {
  font-family: "Not Display", Georgia, serif;
  font-size: 1.875em;
  font-weight: 300;
  line-height: 1;
  letter-spacing: -.025em;
  text-align: center;
}

/* Capabilities — three 1440 × 690.047 panels. */
body[data-page="platform"] .capabilities {
  position: relative;
  border-bottom: 0;
  isolation: isolate;
}

@media (min-width: 992px) {
  body[data-page="platform"] .capability {
    position: sticky;
    top: 3.375em;
    background: var(--platform-paper);
  }

  body[data-page="platform"] #concept { z-index: 1; }
  body[data-page="platform"] #discovery { z-index: 2; }
  body[data-page="platform"] #elevate { z-index: 3; }
  body[data-page="platform"] .capabilities > .under-hood { z-index: 4; }
}

body[data-page="platform"] .capability {
  display: grid;
  height: 43.128em;
  min-height: 43.128em;
  padding: 0;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(49, 48, 48, .28);
}

body[data-page="platform"] .capability:first-child {
  border-top: 0;
}

body[data-page="platform"] .capability-visual {
  position: relative;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background: transparent;
}

body[data-page="platform"] .capability-visual > img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

body[data-page="platform"] .capability-copy {
  position: relative;
  min-height: 0;
  padding: 0;
  border-left: 1px solid rgba(49, 48, 48, .28);
  background: var(--platform-paper);
}

body[data-page="platform"] .capability-copy > .eyebrow {
  position: absolute;
  top: 6.333em;
  left: 2.0833em;
}

body[data-page="platform"] .capability-copy h2 {
  position: absolute;
  top: 3.467em;
  left: .8333em;
  max-width: none;
  margin: 0;
  font-family: "Not Display", Georgia, serif;
  font-size: 1.875em;
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -.025em;
}

body[data-page="platform"] .capability-copy > p:not(.eyebrow) {
  position: absolute;
  top: 18.3125em;
  left: 1.5625em;
  width: 30.05em;
  max-width: none;
  margin: 0;
  font-size: 1em;
  line-height: 1.2;
  letter-spacing: -.02em;
}

body[data-page="platform"] .capability-features {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  height: 17.5655em;
  grid-template-columns: repeat(3, 15.139375em);
  overflow: hidden;
  border-top: 1px solid rgba(49, 48, 48, .28);
}

body[data-page="platform"] .capability-feature {
  position: relative;
  min-width: 0;
  overflow: hidden;
}

body[data-page="platform"] .capability-feature + .capability-feature {
  border-left: 1px solid rgba(49, 48, 48, .28);
}

body[data-page="platform"] .capability-feature::before {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 116% 92% at 18% 8%, rgba(225, 155, 255, .8) 0%, rgba(255, 119, 95, .8) 52.393%, rgba(255, 119, 95, 0) 100%);
  content: "";
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease-out;
}

body[data-page="platform"] .capability-feature:is(:hover, :focus-within)::before,
body[data-page="platform"] .capability-feature.is-glowing::before {
  opacity: .9;
}

body[data-page="platform"] .capability-feature img {
  position: absolute;
  z-index: 1;
  top: 1.125em;
  left: 1.5625em;
  width: 2.2em;
  height: 2.2em;
  max-width: none;
  object-fit: contain;
}

body[data-page="platform"] .capability-feature span {
  position: absolute;
  z-index: 1;
  right: 1.25em;
  bottom: .95em;
  left: 1.5625em;
  font-size: .984em;
  line-height: 1.2;
  letter-spacing: -.02em;
}

/* Keep each sticky capability fully framed below the desktop navigation. */
@media (min-width: 992px) {
  body[data-page="platform"] .capability {
    height: calc(100vh - 3.375em);
    height: calc(100svh - 3.375em);
    min-height: calc(100vh - 3.375em);
    min-height: calc(100svh - 3.375em);
  }

  /* Preserve the Figma panel's vertical rhythm across wide/short viewports. */
  body[data-page="platform"] .capability-copy > .eyebrow {
    top: 11.013%;
  }

  body[data-page="platform"] .capability-copy h2 {
    top: 15.073%;
  }

  body[data-page="platform"] .capability-copy > p:not(.eyebrow) {
    top: 42.46%;
  }

  body[data-page="platform"] .capability-features {
    height: 40.73%;
  }
}

@media (max-width: 991px) {
  body[data-page="platform"] .capability-features {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Under the hood — supplied 12-second Figma motion render. */
body[data-page="platform"] .under-hood {
  position: relative;
  height: 50.3em;
  min-height: 50.3em;
  padding: 0;
  overflow: hidden;
}

body[data-page="platform"] .under-hood-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  aspect-ratio: auto;
  border: 0;
}

body[data-page="platform"] .under-hood-media video {
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
}

body[data-page="platform"] .under-hood-label {
  position: absolute;
  z-index: 2;
  top: 6.688em;
  left: 2.662em;
  display: flex;
  width: 25.439em;
  height: 3.75em;
  align-items: flex-start;
  padding-top: 1.37em;
  background: transparent;
  color: var(--platform-paper);
  font-family: "DM Mono", monospace;
  font-size: .75em;
  line-height: 1.5;
  letter-spacing: .2em;
  text-transform: uppercase;
}

/* Enterprise — 1440 × 710. */
body[data-page="platform"] .enterprise {
  height: 44.375em;
  min-height: 44.375em;
  padding: 0;
}

body[data-page="platform"] .enterprise::before,
body[data-page="platform"] .testimonials::before {
  right: 0;
  left: 0;
}

body[data-page="platform"] .enterprise-grid {
  position: relative;
  display: block;
  height: 100%;
  max-width: 90em;
  padding: 0;
}

body[data-page="platform"] .enterprise-grid > h2 {
  position: absolute;
  top: 4.873em;
  left: 1.213em;
  font-family: "Not Display", Georgia, serif;
  font-size: 1.875em;
  font-weight: 300;
  line-height: 1.02;
  letter-spacing: -.025em;
}

body[data-page="platform"] .enterprise-features {
  position: absolute;
  top: 9.075em;
  right: 2.25em;
  left: 31.15em;
  display: grid;
  grid-template-columns: 21.6875em 19.9375em minmax(0, 1fr);
  grid-template-rows: repeat(2, 10.3em);
  gap: 7.02em 0;
}

body[data-page="platform"] .enterprise-features article {
  position: relative;
  display: block;
  min-height: 0;
  grid-template-columns: none;
  grid-template-rows: none;
  gap: 0;
  padding: 0;
  border: 0;
}

body[data-page="platform"] .enterprise-features img {
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  max-width: none;
  margin: 0;
  grid-column: auto;
  grid-row: auto;
}

body[data-page="platform"] .enterprise-features article:nth-child(1) img { width: 2.484em; height: 1.598em; }
body[data-page="platform"] .enterprise-features article:nth-child(2) img { width: 1.584em; height: 2.343em; }
body[data-page="platform"] .enterprise-features article:nth-child(3) img { width: 1.791em; height: 2.188em; }
body[data-page="platform"] .enterprise-features article:nth-child(4) img { width: 1.953em; height: 1.948em; }
body[data-page="platform"] .enterprise-features article:nth-child(5) img { width: 2.097em; height: 2.241em; }
body[data-page="platform"] .enterprise-features article:nth-child(6) img { width: 1.755em; height: 2.294em; }

body[data-page="platform"] .enterprise-features h3 {
  position: absolute;
  top: 3.035em;
  left: 0;
  margin: 0;
  grid-column: auto;
  grid-row: auto;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 1.3125em;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.025em;
}

body[data-page="platform"] .enterprise-features p {
  position: absolute;
  top: 6.54em;
  left: 0;
  width: 13.2em;
  max-width: none;
  grid-column: auto;
  grid-row: auto;
  color: var(--platform-paper);
  font-size: 1em;
  line-height: 1.2;
  letter-spacing: -.02em;
}

/* Testimonial carousel — preserves the Figma layout with functional controls. */
body[data-page="platform"] .testimonials {
  height: 30.611em;
  min-height: 30.611em;
  padding: 0;
}

body[data-page="platform"] .testimonial-shell {
  position: relative;
  display: block;
  height: 100%;
  max-width: 90em;
  padding: 0;
}

body[data-page="platform"] .testimonial-shell > .eyebrow {
  position: absolute;
  top: 6.356em;
  left: 3.08em;
}

body[data-page="platform"] .testimonial-track {
  position: relative;
  height: 100%;
  min-height: 0;
  margin: 0;
}

body[data-page="platform"] .testimonial {
  display: none;
  margin: 0;
}

body[data-page="platform"] .testimonial.is-active {
  display: block;
}

body[data-page="platform"] .testimonial blockquote {
  position: absolute;
  top: 2.542em;
  left: 16.853em;
  width: 27.625em;
  max-width: none;
  font-family: "Not Display", Georgia, serif;
  font-size: 1.875em;
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -.025em;
}

body[data-page="platform"] .testimonial figcaption {
  position: static;
  display: block;
  margin: 0;
}

body[data-page="platform"] .testimonial figcaption img {
  position: absolute;
  top: 16.65em;
  left: 31.606em;
  width: 10.213em;
  height: auto;
  max-width: none;
  max-height: none;
  margin: 0;
  aspect-ratio: var(--testimonial-logo-ratio);
}

body[data-page="platform"] .testimonial-logo--barry {
  --testimonial-logo-ratio: 163.412 / 23.4022;
}

body[data-page="platform"] .testimonial-logo--pepsico {
  --testimonial-logo-ratio: 101.644 / 30.8114;
}

body[data-page="platform"] .testimonial-logo--magnum {
  --testimonial-logo-ratio: 91.9274 / 31.8051;
}

body[data-page="platform"] .testimonial figcaption span {
  position: absolute;
  top: 22.437em;
  right: 6.596em;
  left: auto;
  max-width: 32em;
  text-align: right;
  font-family: "DM Mono", monospace;
  font-size: .75em;
  line-height: 1.5;
  letter-spacing: .2em;
  text-transform: uppercase;
}

body[data-page="platform"] .testimonial-controls {
  position: absolute;
  top: 22.601em;
  right: 6.596em;
  left: 31.606em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  font-size: 1em;
}

body[data-page="platform"] .testimonial-controls button {
  display: grid;
  width: auto;
  height: auto;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

body[data-page="platform"] .testimonial-controls button:disabled {
  opacity: .35;
  cursor: default;
}

body[data-page="platform"] .testimonial-controls button:focus-visible {
  outline: 1px solid currentColor;
  outline-offset: .45em;
}

body[data-page="platform"] .testimonial-nav {
  min-width: 1.5em;
  min-height: 2em;
}

body[data-page="platform"] .testimonial-arrow {
  width: .932em;
  height: 1.664em;
  max-width: none;
}

body[data-page="platform"] .testimonial-arrow--left {
  transform: rotate(180deg);
}

body[data-page="platform"] .testimonial-dots {
  display: flex;
  width: auto;
  height: auto;
  align-items: center;
  gap: .75em;
}

body[data-page="platform"] .testimonial-dots button {
  width: .444em;
  height: .444em;
  border-radius: 50%;
  background: var(--platform-paper);
  opacity: .22;
  transition: opacity 180ms ease;
}

body[data-page="platform"] .testimonial-dots button:hover,
body[data-page="platform"] .testimonial-dots button[aria-current="true"] {
  opacity: 1;
}

/* Footer — the exact shared Figma component used on Home. */
body[data-page="platform"] .site-footer {
  position: relative;
  z-index: 3;
  min-height: 86.75em;
  margin-top: -3.9375em;
  padding: 0;
  overflow: hidden;
  border-top: 0;
  background: var(--platform-dark);
}

body[data-page="platform"] .footer-gradient {
  position: absolute;
  z-index: 0;
  top: 69.8265em;
  left: -34.3603em;
  width: 158.6536em;
  height: 129.4414em;
  background: radial-gradient(ellipse at center, #74cbfb 0%, #e19bff 38.4615%, #ff775f 70.4057%, #313030 99.99%);
  filter: blur(5.399em);
  mix-blend-mode: lighten;
  opacity: 1;
  transform: none;
  transition: top 2.4s ease-out, left 2.4s ease-out, width 2.4s ease-out, height 2.4s ease-out, filter 2.4s ease-out;
}

body[data-page="platform"] .footer-gradient.is-entered {
  top: 14.8819em;
  left: -3.2596em;
  width: 96.4523em;
  height: 78.6929em;
  filter: blur(3.2823em);
}

body[data-page="platform"] .footer-cta {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 90em;
  min-height: 54.875em;
  margin-inline: auto;
}

body[data-page="platform"] .footer-cta__copy {
  position: absolute;
  top: 17.8056em;
  left: 2.0219em;
  width: 42.4185em;
}

body[data-page="platform"] .footer-cta h2 {
  max-width: 14.1395em;
  font-family: "Not Display", Georgia, serif;
  font-size: 3em;
  font-weight: 300;
  line-height: 1;
  letter-spacing: -.025em;
}

body[data-page="platform"] .footer-cta h2 span {
  background: linear-gradient(90deg, #74cbfb 0%, #e19bff 42%, #ff775f 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

body[data-page="platform"] .footer-contact-button {
  position: absolute;
  top: 18em;
  left: .0015em;
  display: inline-flex;
  width: 11.5028em;
  min-height: 3.6491em;
  align-items: center;
  justify-content: center;
  padding: .72em 1.25em;
  border: .0833em solid currentColor;
  border-radius: 999em;
  color: var(--platform-paper);
  font-family: "DM Mono", monospace;
  font-size: .5625em;
  line-height: 1.1;
  letter-spacing: .2em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color .3s ease, transform .3s cubic-bezier(.16, 1, .3, 1);
}

body[data-page="platform"] .footer-contact-button:hover,
body[data-page="platform"] .footer-contact-button:focus-visible {
  background: var(--cerulean);
  color: var(--platform-dark);
  transform: translateY(-.14em);
}

body[data-page="platform"] .footer-newsletter,
body[data-page="platform"] .site-footer .newsletter {
  position: absolute;
  top: 18.25em;
  right: 2.2958em;
  width: 36.04025em;
}

body[data-page="platform"] .footer-newsletter label,
body[data-page="platform"] .site-footer .newsletter label {
  max-width: none;
  font-size: 1.125em;
  line-height: 1.1;
  letter-spacing: -.03em;
}

body[data-page="platform"] .footer-newsletter > div,
body[data-page="platform"] .site-footer .newsletter > div {
  margin-top: 7.2225em;
}

body[data-page="platform"] .footer-newsletter input,
body[data-page="platform"] .site-footer .newsletter input {
  padding: .45em 0 .75em;
  font-family: "Not Display", Georgia, serif;
  font-size: 1.125em;
}

body[data-page="platform"] .footer-newsletter button,
body[data-page="platform"] .site-footer .newsletter button {
  font-size: 1.125em;
}

body[data-page="platform"] .footer-newsletter button img,
body[data-page="platform"] .site-footer .newsletter button img {
  width: 1.05em;
  height: 1.05em;
  transform: rotate(90deg);
}

body[data-page="platform"] .footer-directory {
  position: absolute;
  z-index: 2;
  top: 54.875em;
  left: 50%;
  display: block;
  width: 100%;
  max-width: 90em;
  min-height: 31.875em;
  padding-inline: 2.25em;
  color: var(--platform-dark);
  transform: translateX(-50%);
}

body[data-page="platform"] .footer-directory::before {
  position: absolute;
  top: 18.25em;
  right: 1.7625em;
  left: 38.94375em;
  height: 1px;
  background: rgba(49, 48, 48, .34);
  content: "";
}

body[data-page="platform"] .footer-directory__nav {
  position: absolute;
  top: 18.25em;
  right: 1.7625em;
  left: 38.15em;
  display: grid;
  grid-template-columns: 7.4em 7.8em 6.7em 8.2em 9.5em minmax(0, 1fr);
  gap: 0;
}

body[data-page="platform"] .footer-directory__group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  font-size: .75em;
  line-height: 1.97;
}

body[data-page="platform"] .footer-directory__group > h3 {
  margin: 0 0 .55em;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 1.2508em;
  font-weight: 400;
  line-height: 1.1;
}

body[data-page="platform"] .footer-directory a {
  transition: opacity .25s ease;
}

body[data-page="platform"] .footer-directory a:hover,
body[data-page="platform"] .footer-directory a:focus-visible {
  color: inherit;
  opacity: .58;
}

body[data-page="platform"] .site-footer .footer-brand {
  position: absolute;
  top: 9.6775em;
  right: 2.35625em;
  bottom: auto;
  left: auto;
  width: 18.9808em;
  height: 3.7002em;
  max-width: none;
}

body[data-page="platform"] .footer-emblem {
  position: absolute;
  top: 7.56875em;
  left: .5625em;
  width: 24.1255em;
  height: 24.1255em;
}

body[data-page="platform"] .footer-emblem__icon {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  filter: brightness(0);
  object-fit: contain;
  opacity: .72;
}

body[data-page="platform"] .footer-emblem__icon--static {
  display: block;
}

body[data-page="platform"] .footer-emblem__icon--motion {
  display: none;
}

body[data-page="platform"] .footer-emblem.is-looping .footer-emblem__icon--motion {
  display: block;
}

body[data-page="platform"] .footer-emblem.is-looping .footer-emblem__icon--static {
  display: none;
}

body[data-page="platform"] .footer-compliance {
  position: absolute;
  right: 2.5125em;
  bottom: 1.7831em;
  display: flex;
  align-items: flex-end;
  color: var(--platform-dark);
}

body[data-page="platform"] .footer-compliance img {
  width: 4.94025em;
}

/* Tablet: retain the same elements, reflow only where the desktop split no longer fits. */
@media (min-width: 768px) and (max-width: 991px) {
  body[data-page="platform"] .hero--platform,
  body[data-page="platform"] .platform-hero-inner {
    height: 60em;
    min-height: 60em;
  }

  body[data-page="platform"] .hero-media--platform {
    top: 19em;
    left: 3em;
    width: 46em;
    height: 32em;
  }

  body[data-page="platform"] .platform-hero-mark { top: 7em; }
  body[data-page="platform"] .platform-hero-copy { top: 11em; }
  body[data-page="platform"] .platform-hero-copy h1 { font-size: 2.5em; }
  body[data-page="platform"] .platform-hero-side { top: 21em; font-size: 1.45em; }
  body[data-page="platform"] .platform-hero-side--left { left: 1.2em; }
  body[data-page="platform"] .platform-hero-side--right { right: 1.2em; }

  body[data-page="platform"] .platform-intro,
  body[data-page="platform"] .platform-intro-inner {
    height: 57em;
    min-height: 57em;
  }

  body[data-page="platform"] .platform-intro-inner > h2:first-child {
    top: 3em;
    width: 30em;
    font-size: 1.35em;
  }

  body[data-page="platform"] .principles {
    top: 10em;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
  }

  body[data-page="platform"] .principle + .principle::before { display: none; }
  body[data-page="platform"] .principle:nth-child(even) { border-left: 1px solid rgba(49, 48, 48, .22); }
  body[data-page="platform"] .principle:nth-child(n+3) { border-top: 1px solid rgba(49, 48, 48, .22); }
  body[data-page="platform"] .principle-glyph { top: 2.25em !important; left: 50% !important; width: 8em !important; height: 8em !important; transform: translateX(-50%); }
  body[data-page="platform"] .principle h3 { top: 11.5em; }

  body[data-page="platform"] .capability {
    height: auto;
    min-height: 0;
    grid-template-columns: 1fr;
  }

  body[data-page="platform"] .capability-visual {
    height: auto;
    aspect-ratio: 720 / 690;
  }

  body[data-page="platform"] .capability-copy {
    height: 40em;
    border-top: 1px solid rgba(49, 48, 48, .28);
    border-left: 0;
  }

  body[data-page="platform"] .under-hood {
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  body[data-page="platform"] .enterprise {
    height: 52em;
    min-height: 52em;
  }

  body[data-page="platform"] .enterprise-grid > h2 {
    top: 3em;
    left: 1.75em;
  }

  body[data-page="platform"] .enterprise-features {
    top: 11em;
    right: 1.75em;
    left: 15em;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 9em);
    gap: 2.5em 3em;
  }

  body[data-page="platform"] .testimonial blockquote {
    left: 11em;
    right: 1.75em;
    width: auto;
    font-size: 1.65em;
  }

  body[data-page="platform"] .testimonial figcaption img,
  body[data-page="platform"] .testimonial-controls { left: 18.15em; }
  body[data-page="platform"] .testimonial figcaption span { right: 2.5em; left: auto; }

  body[data-page="platform"] .footer-directory__nav {
    top: 1.5em;
    right: 1.75em;
    left: 1.75em;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.25em 1.5em;
  }

  body[data-page="platform"] .site-footer { min-height: 92em; margin-top: 0; }
  body[data-page="platform"] .footer-cta { min-height: 52em; }
  body[data-page="platform"] .footer-cta__copy { top: 9em; right: 1.75em; left: 1.75em; width: auto; }
  body[data-page="platform"] .footer-newsletter,
  body[data-page="platform"] .site-footer .newsletter { top: 30em; right: 1.75em; left: 1.75em; width: auto; }
  body[data-page="platform"] .footer-directory { top: 52em; min-height: 40em; padding-inline: 1.75em; }
  body[data-page="platform"] .footer-gradient { top: 72%; right: auto; bottom: auto; left: -40%; width: 180%; height: 120%; }
  body[data-page="platform"] .footer-gradient.is-entered { top: 25%; left: -15%; width: 130%; height: 90%; }
  body[data-page="platform"] .footer-directory::before { top: 0; right: 1.75em; left: 1.75em; }
  body[data-page="platform"] .site-footer .footer-brand { top: auto; right: 1.75em; bottom: 7em; width: 15em; height: 2.924em; }
  body[data-page="platform"] .footer-emblem { top: auto; bottom: -1em; left: -1.5em; width: 18em; height: 18em; }
}

/* Mobile: same source content and order, with a single-column composition. */
@media (max-width: 767px) {
  body[data-page="platform"] .capability-copy-break {
    display: none;
  }

  body[data-page="platform"] .nav-inner { padding-inline: var(--page-pad); }

  body[data-page="platform"] .hero--platform,
  body[data-page="platform"] .platform-hero-inner {
    height: 52em;
    min-height: 52em;
  }

  body[data-page="platform"] .platform-hero-mark { top: 6.75em; }
  body[data-page="platform"] .platform-hero-copy { top: 10.5em; padding-inline: var(--page-pad); }
  body[data-page="platform"] .platform-hero-copy h1 { width: auto; font-size: 2.55em; }
  body[data-page="platform"] .platform-hero-copy > p:last-child { margin-top: 1.25em; font-size: .92em; }
  body[data-page="platform"] .hero-media--platform { top: 18em; left: 50%; width: 46em; height: 30em; transform: translateX(-50%); }
  body[data-page="platform"] .platform-hero-side { top: auto; bottom: 2.75em; width: 11em; font-size: 1.15em; }
  body[data-page="platform"] .platform-hero-side--left { left: var(--page-pad); }
  body[data-page="platform"] .platform-hero-side--right { right: var(--page-pad); }

  body[data-page="platform"] .platform-intro,
  body[data-page="platform"] .platform-intro-inner {
    height: 68em;
    min-height: 68em;
  }

  body[data-page="platform"] .platform-intro-inner > h2:first-child { top: 3em; width: calc(100% - 2 * var(--page-pad)); font-size: 1.18em; }
  body[data-page="platform"] .principles { top: 13em; grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(2, 1fr); }
  body[data-page="platform"] .principle + .principle::before { display: none; }
  body[data-page="platform"] .principle:nth-child(even) { border-left: 1px solid rgba(49, 48, 48, .22); }
  body[data-page="platform"] .principle:nth-child(n+3) { border-top: 1px solid rgba(49, 48, 48, .22); }
  body[data-page="platform"] .principle-glyph { top: 2em !important; left: 50% !important; width: 8em !important; height: 8em !important; transform: translateX(-50%); }
  body[data-page="platform"] .principle h3 { top: 11.25em; right: .5em; left: .5em; font-size: .9em; }

  body[data-page="platform"] .system-band { height: 8em; min-height: 8em; padding-inline: var(--page-pad); }
  body[data-page="platform"] .system-band h2 { font-size: 1.65em; }

  body[data-page="platform"] .capability { height: auto; min-height: 0; grid-template-columns: 1fr; }
  body[data-page="platform"] .capability-visual { height: auto; aspect-ratio: 720 / 690; }
  body[data-page="platform"] .capability-copy { height: 39em; border-top: 1px solid rgba(49, 48, 48, .28); border-left: 0; }
  body[data-page="platform"] .capability-copy > .eyebrow { top: 3em; left: var(--page-pad); }
  body[data-page="platform"] .capability-copy h2 { top: 3.2em; left: calc(var(--page-pad) / 1.875); font-size: 1.875em; }
  body[data-page="platform"] .capability-copy > p:not(.eyebrow) { top: 13em; left: var(--page-pad); width: calc(100% - 2 * var(--page-pad)); }
  body[data-page="platform"] .capability-features { height: 15em; }
  body[data-page="platform"] .capability-feature img { left: 1em; }
  body[data-page="platform"] .capability-feature span { right: .65em; bottom: 2em; left: 1em; font-size: .84em; }

  body[data-page="platform"] .under-hood { height: auto; min-height: 0; aspect-ratio: 16 / 9; }
  body[data-page="platform"] .under-hood-label { display: none; }

  body[data-page="platform"] .enterprise { height: 76em; min-height: 76em; }
  body[data-page="platform"] .enterprise-grid > h2 { top: 2.5em; left: var(--page-pad); }
  body[data-page="platform"] .enterprise-features { top: 10em; right: var(--page-pad); left: var(--page-pad); grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(3, 17em); gap: 2.25em 2em; }
  body[data-page="platform"] .enterprise-features h3 { top: 3em; font-size: 1.15em; }
  body[data-page="platform"] .enterprise-features p { top: 6.25em; width: 100%; font-size: .92em; }

  body[data-page="platform"] .testimonials { height: 43em; min-height: 43em; }
  body[data-page="platform"] .testimonial-shell > .eyebrow { top: 4em; left: var(--page-pad); }
  body[data-page="platform"] .testimonial blockquote { top: 4.75em; left: var(--page-pad); width: calc(100% - 2 * var(--page-pad)); font-size: 1.7em; }
  body[data-page="platform"] .testimonial figcaption img { top: 30em; left: var(--page-pad); }
  body[data-page="platform"] .testimonial figcaption span {
    top: 41.5em;
    right: var(--page-pad);
    left: auto;
    max-width: 18em;
    font-size: .7em;
    transform: translateY(calc(1em - 100%));
  }
  body[data-page="platform"] .testimonial-controls { top: 35.5em; right: var(--page-pad); left: var(--page-pad); }

  body[data-page="platform"] .site-footer { min-height: 92em; margin-top: 0; }
  body[data-page="platform"] .footer-cta { min-height: 40em; }
  body[data-page="platform"] .footer-cta__copy { top: 7em; right: var(--page-pad); left: var(--page-pad); width: auto; }
  body[data-page="platform"] .footer-cta h2 { font-size: 2.75em; }
  body[data-page="platform"] .footer-contact-button { position: static; width: auto; min-height: 2.75em; margin-top: 2em; font-size: .625em; }
  body[data-page="platform"] .footer-newsletter,
  body[data-page="platform"] .site-footer .newsletter { top: 24em; right: var(--page-pad); left: var(--page-pad); width: auto; }
  body[data-page="platform"] .footer-directory { top: 40em; left: 50%; width: 100%; min-height: 52em; padding-inline: var(--page-pad); transform: translateX(-50%); }
  body[data-page="platform"] .footer-directory::before { top: 0; right: var(--page-pad); left: var(--page-pad); }
  body[data-page="platform"] .footer-directory__nav { top: 1.5em; right: var(--page-pad); left: var(--page-pad); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.25em 1.5em; }
  body[data-page="platform"] .site-footer .footer-brand { top: auto; right: var(--page-pad); bottom: 7.75em; width: 11.5em; height: 2.241em; }
  body[data-page="platform"] .footer-emblem { top: auto; bottom: -1.5em; left: -2em; width: 13em; height: 13em; }
  body[data-page="platform"] .footer-compliance { right: var(--page-pad); bottom: 1.5em; justify-content: flex-end; }
  body[data-page="platform"] .footer-gradient { top: 72%; right: auto; bottom: auto; left: -50%; width: 200%; height: 125%; }
  body[data-page="platform"] .footer-gradient.is-entered { top: 18%; left: -30%; width: 160%; height: 110%; }
}

@media (max-width: 479px) {
  body[data-page="platform"] .platform-hero-copy h1 { font-size: 2.25em; }
  body[data-page="platform"] .platform-hero-side { font-size: 1em; }
  body[data-page="platform"] .platform-intro-inner > h2:first-child { font-size: 1.08em; }
  body[data-page="platform"] .principle h3 { font-size: .82em; }
  body[data-page="platform"] .capability-copy { height: 40em; }
  body[data-page="platform"] .capability-copy > p:not(.eyebrow) { font-size: .94em; }
  body[data-page="platform"] .capability-feature span { font-size: .75em; }
  body[data-page="platform"] .enterprise { height: 78em; min-height: 78em; }
  body[data-page="platform"] .site-footer { min-height: 96em; }
  body[data-page="platform"] .footer-directory { top: 41em; min-height: 55em; }
}

/* Keep carousel controls comfortably tappable without changing their artwork. */
@media (max-width: 991px) {
  /* Keep the principle artwork proportional and separate from its copy. */
  body[data-page="platform"] .principle {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.75em;
    padding: 2em 1em;
  }

  body[data-page="platform"] .principle-glyph {
    position: static;
    top: auto !important;
    left: auto !important;
    flex: none;
    margin: 0;
    transform: none !important;
  }

  body[data-page="platform"] .principle:nth-child(1) .principle-glyph {
    width: 9.84em !important;
    height: 9em !important;
  }

  body[data-page="platform"] .principle:nth-child(2) .principle-glyph {
    width: 8.86em !important;
    height: 9em !important;
  }

  body[data-page="platform"] .principle:nth-child(3) .principle-glyph {
    width: 5.53em !important;
    height: 9em !important;
  }

  body[data-page="platform"] .principle:nth-child(4) .principle-glyph {
    width: 8.99em !important;
    height: 9em !important;
  }

  body[data-page="platform"] .principle h3 {
    position: static;
    margin: 0;
    padding-inline: .5em;
  }

  body[data-page="platform"] .testimonial-nav {
    min-width: 44px;
    min-height: 44px;
  }

  body[data-page="platform"] .testimonial-dots {
    gap: 0;
  }

  body[data-page="platform"] .testimonial-dots button {
    position: relative;
    width: 44px;
    height: 44px;
    background: transparent;
    opacity: 1;
  }

  body[data-page="platform"] .testimonial-dots button::before {
    width: .444em;
    height: .444em;
    border-radius: 50%;
    background: var(--platform-paper);
    content: "";
    opacity: .22;
    transition: opacity 180ms ease;
  }

  body[data-page="platform"] .testimonial-dots button:hover::before,
  body[data-page="platform"] .testimonial-dots button[aria-current="true"]::before {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="platform"] .capability {
    position: relative;
    top: auto;
    z-index: auto;
  }

  body[data-page="platform"] .capabilities > .under-hood {
    z-index: auto;
  }

  body[data-page="platform"] .capability-feature::before,
  body[data-page="platform"] .footer-gradient,
  body[data-page="platform"] .footer-emblem {
    animation: none !important;
    transition: none !important;
  }

  body[data-page="platform"] .footer-gradient {
    opacity: 1;
    transform: translateX(-50%);
  }

  body[data-page="platform"] .footer-emblem {
    opacity: 1;
    transform: none;
  }

  body[data-page="platform"] .footer-emblem__icon--motion { display: none; }
  body[data-page="platform"] .footer-emblem__icon--static { display: block; }
}

/* Source: shell.css */

/*
 * Shared navigation and footer shell for Home and Platform.
 * This file loads after each page stylesheet so both routes use one canonical shell.
 */

body:is([data-page="home"], [data-page="platform"]) .site-header,
body:is([data-page="home"], [data-page="platform"]) .site-header.is-scrolled {
  position: fixed;
  height: 3.375em;
  border-bottom: 0;
  background: rgba(49, 48, 48, .7);
  color: var(--off-white);
  backdrop-filter: none;
  animation: none;
  transition: background-color .3s ease, border-color .3s ease, color .3s ease;
}

body:is([data-page="home"], [data-page="platform"]) .site-header.is-on-light {
  background: rgba(252, 250, 247, .76);
  color: var(--charcoal);
}

body:is([data-page="home"], [data-page="platform"]) .nav-inner {
  padding-inline: 1.872em 2.511em;
}

body:is([data-page="home"], [data-page="platform"]) .brand {
  display: flex;
  width: 7.137em;
  align-self: stretch;
  align-items: center;
}

body:is([data-page="home"], [data-page="platform"]) .desktop-nav {
  gap: 2.15em;
  font-size: .9375em;
  transform: none;
}

body:is([data-page="home"], [data-page="platform"]) .nav-cta {
  width: 10.589em;
  min-height: 3.068em;
  padding: 0;
  font-family: "DM Mono", monospace;
  font-size: .5474em;
  line-height: 1.5;
  letter-spacing: .1em;
  text-transform: uppercase;
  transform: none;
}

body:is([data-page="home"], [data-page="platform"]) .nav-cta:hover,
body:is([data-page="home"], [data-page="platform"]) .nav-cta:focus-visible {
  transform: translateY(-.14em);
}

body:is([data-page="home"], [data-page="platform"]) .site-header.is-on-light .brand img {
  filter: invert(1);
}

body:is([data-page="home"], [data-page="platform"]) .site-header.is-on-light .nav-cta {
  background: var(--charcoal);
  color: var(--off-white);
}

body.menu-open:is([data-page="home"], [data-page="platform"]) .site-header {
  background: var(--charcoal);
  color: var(--off-white);
}

body.menu-open:is([data-page="home"], [data-page="platform"]) .site-header .brand img {
  filter: none;
}

body:is([data-page="home"], [data-page="platform"]) .site-footer {
  position: relative;
  z-index: 8;
  min-height: 86.75em;
  margin-top: 0;
  padding: 0;
  overflow: hidden;
  border-top: 1px solid transparent;
  background: var(--charcoal);
}

body:is([data-page="home"], [data-page="platform"]) .footer-gradient {
  position: absolute;
  z-index: 0;
  top: 69.8265em;
  left: -34.3603em;
  width: 158.6536em;
  height: 129.4414em;
  background-image: url("https://notco-ai-monttilva-chi.vercel.app/assets/figma/footer-gradient.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  filter: blur(5.399em);
  mix-blend-mode: lighten;
  opacity: 1;
  transform: none;
  transition: top 2.4s ease-out, left 2.4s ease-out, width 2.4s ease-out, height 2.4s ease-out, filter 2.4s ease-out;
}

body:is([data-page="home"], [data-page="platform"]) .footer-gradient.is-entered {
  top: 14.8819em;
  left: -3.2596em;
  width: 96.4523em;
  height: 78.6929em;
  filter: blur(3.2823em);
}

body:is([data-page="home"], [data-page="platform"]) .footer-cta {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 90em;
  min-height: 54.875em;
  margin-inline: auto;
}

body:is([data-page="home"], [data-page="platform"]) .footer-cta__copy {
  position: absolute;
  top: 17.8056em;
  left: 2.0219em;
  width: 42.4185em;
}

body:is([data-page="home"], [data-page="platform"]) .footer-cta .eyebrow {
  margin-bottom: 1.75em;
}

body:is([data-page="home"], [data-page="platform"]) .footer-cta h2,
body:is([data-page="home"], [data-page="platform"]) .footer-cta__title {
  max-width: 14.1395em;
  font-family: "Not Display", Georgia, serif;
  font-size: 3em;
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: 0;
  transform: translateY(1px);
}

body:is([data-page="home"], [data-page="platform"]) .footer-cta h2 span,
body:is([data-page="home"], [data-page="platform"]) .footer-cta__title span {
  background: none;
  color: inherit;
  -webkit-text-fill-color: currentColor;
}

body:is([data-page="home"], [data-page="platform"]) .footer-contact-button {
  position: absolute;
  top: 18em;
  left: .0015em;
  display: inline-flex;
  width: 11.5028em;
  min-height: 3.6491em;
  align-items: center;
  justify-content: center;
  margin-top: 0;
  padding: .72em 1.25em;
  border: .0833em solid currentColor;
  border-radius: 999em;
  background: transparent;
  color: var(--off-white);
  font-family: "DM Mono", monospace;
  font-size: .5625em;
  line-height: 1.1;
  letter-spacing: .2em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color .3s ease, transform .3s cubic-bezier(.16, 1, .3, 1);
}

body:is([data-page="home"], [data-page="platform"]) .footer-contact-button:hover,
body:is([data-page="home"], [data-page="platform"]) .footer-contact-button:focus-visible {
  background: var(--cerulean);
  color: var(--charcoal);
  transform: translateY(-.14em);
}

body:is([data-page="home"], [data-page="platform"]) .footer-newsletter,
body:is([data-page="home"], [data-page="platform"]) .site-footer .newsletter {
  position: absolute;
  top: 18.25em;
  right: 2.4em;
  width: 36em;
}

body:is([data-page="home"], [data-page="platform"]) .footer-newsletter label,
body:is([data-page="home"], [data-page="platform"]) .site-footer .newsletter label {
  max-width: none;
  font-size: 1.125em;
  line-height: 1.1;
  letter-spacing: -.0313em;
  transform: translate(1px, 1px);
}

body:is([data-page="home"], [data-page="platform"]) .footer-newsletter > div,
body:is([data-page="home"], [data-page="platform"]) .site-footer .newsletter > div {
  position: relative;
  margin-top: 7.2225em;
  border-bottom: 0;
}

body:is([data-page="home"], [data-page="platform"]) .footer-newsletter__field::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: linear-gradient(to bottom, rgba(252, 250, 247, .245) 0 50%, rgba(252, 250, 247, .37) 50% 100%);
  content: "";
  pointer-events: none;
}

body:is([data-page="home"], [data-page="platform"]) .footer-newsletter input,
body:is([data-page="home"], [data-page="platform"]) .site-footer .newsletter input {
  padding: 2px 0 .5889em 1px;
  font-family: "Not Display", Georgia, serif;
  font-size: 1.125em;
  line-height: 1.1;
  letter-spacing: -.004em;
}

body:is([data-page="home"], [data-page="platform"]) .footer-newsletter input::placeholder,
body:is([data-page="home"], [data-page="platform"]) .site-footer .newsletter input::placeholder {
  color: var(--off-white);
  opacity: 1;
}

body:is([data-page="home"], [data-page="platform"]) .footer-newsletter button,
body:is([data-page="home"], [data-page="platform"]) .site-footer .newsletter button {
  position: absolute;
  top: -13px;
  right: -16px;
  display: flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0;
}

body:is([data-page="home"], [data-page="platform"]) .footer-newsletter button img,
body:is([data-page="home"], [data-page="platform"]) .site-footer .newsletter button img {
  position: static;
  width: 17.8896px;
  max-width: none;
  height: 10.0117px;
  flex: none;
  transform: rotate(90deg);
}

body:is([data-page="home"], [data-page="platform"]) .footer-directory {
  position: absolute;
  z-index: 2;
  top: 54.875em;
  left: 50%;
  display: block;
  width: 100%;
  max-width: 90em;
  min-height: 31.875em;
  padding-inline: 2.25em;
  color: var(--charcoal);
  transform: translateX(-50%);
}

body:is([data-page="home"], [data-page="platform"]) .footer-directory::before {
  position: absolute;
  top: 18.1881em;
  right: 1.7625em;
  left: 38.94375em;
  height: .6002px;
  background: var(--charcoal);
  content: "";
}

body:is([data-page="home"], [data-page="platform"]) .footer-directory__nav {
  position: absolute;
  top: 20.0619em;
  right: 1.7625em;
  left: 38.15em;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
}

body:is([data-page="home"], [data-page="platform"]) .footer-directory__group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  font-size: .75em;
  line-height: 1.97;
}

body:is([data-page="home"], [data-page="platform"]) .footer-directory__group > span,
body:is([data-page="home"], [data-page="platform"]) .footer-directory__group > strong,
body:is([data-page="home"], [data-page="platform"]) .footer-directory__group > h3 {
  margin: 0 0 1.2505em;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 1.2508em;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0;
  text-transform: none;
}

body:is([data-page="home"], [data-page="platform"]) .footer-directory a {
  transition: opacity .25s ease;
}

body:is([data-page="home"], [data-page="platform"]) .footer-directory a:hover,
body:is([data-page="home"], [data-page="platform"]) .footer-directory a:focus-visible {
  color: inherit;
  opacity: .58;
}

body:is([data-page="home"], [data-page="platform"]) .site-footer .footer-brand {
  position: absolute;
  top: 9.6775em;
  right: 2.35625em;
  bottom: auto;
  left: auto;
  width: 18.9808em;
  height: 3.7002em;
  max-width: none;
}

body:is([data-page="home"], [data-page="platform"]) .footer-emblem {
  position: absolute;
  top: 7.56875em;
  bottom: auto;
  left: .5625em;
  width: 24.1255em;
  height: 24.1255em;
}

body:is([data-page="home"], [data-page="platform"]) .footer-emblem__icon {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  filter: brightness(0);
  object-fit: contain;
  opacity: .72;
}

body:is([data-page="home"], [data-page="platform"]) .footer-emblem__icon--static {
  display: block;
}

body:is([data-page="home"], [data-page="platform"]) .footer-emblem__icon--motion {
  display: none;
}

body:is([data-page="home"], [data-page="platform"]) .footer-emblem.is-looping .footer-emblem__icon--motion {
  display: block;
}

body:is([data-page="home"], [data-page="platform"]) .footer-emblem.is-looping .footer-emblem__icon--static {
  display: none;
}

body:is([data-page="home"], [data-page="platform"]) .footer-compliance {
  position: absolute;
  right: 2.023em;
  bottom: 1.7831em;
  display: flex;
  align-items: flex-end;
  gap: 1.5em;
  color: var(--charcoal);
}

body:is([data-page="home"], [data-page="platform"]) .footer-compliance img {
  width: 4.94025em;
}

@media (min-width: 768px) and (max-width: 991px) {
  body:is([data-page="home"], [data-page="platform"]) .nav-inner {
    padding-inline: 1.75em;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-directory__nav {
    top: 1.5em;
    right: 1.75em;
    left: 1.75em;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.25em 1.5em;
  }

  body:is([data-page="home"], [data-page="platform"]) .site-footer {
    min-height: 92em;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-cta {
    min-height: 52em;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-cta__copy {
    top: 9em;
    right: 1.75em;
    left: 1.75em;
    width: auto;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-newsletter,
  body:is([data-page="home"], [data-page="platform"]) .site-footer .newsletter {
    top: 30em;
    right: 1.75em;
    left: 1.75em;
    width: auto;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-directory {
    top: 52em;
    min-height: 40em;
    padding-inline: 1.75em;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-gradient {
    top: 72%;
    right: auto;
    bottom: auto;
    left: -40%;
    width: 180%;
    height: 120%;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-gradient.is-entered {
    top: 25%;
    left: -15%;
    width: 130%;
    height: 90%;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-directory::before {
    top: 0;
    right: 1.75em;
    left: 1.75em;
  }

  body:is([data-page="home"], [data-page="platform"]) .site-footer .footer-brand {
    top: auto;
    right: 1.75em;
    bottom: 7em;
    width: 15em;
    height: 2.924em;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-emblem {
    top: auto;
    bottom: -1em;
    left: -1.5em;
    width: 18em;
    height: 18em;
  }
}

@media (max-width: 767px) {
  body:is([data-page="home"], [data-page="platform"]) .nav-inner {
    padding-inline: var(--page-pad);
  }

  body:is([data-page="home"], [data-page="platform"]) .site-footer {
    min-height: 0;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-cta {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    display: flex;
    width: 100%;
    flex-direction: column;
    min-height: 40em;
    padding: 7em var(--page-pad) 4em;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-cta__copy {
    position: static;
    width: 100%;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-cta h2,
  body:is([data-page="home"], [data-page="platform"]) .footer-cta__title {
    font-size: 2.75em;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-contact-button {
    position: static;
    width: auto;
    min-height: 2.75em;
    margin-top: 2em;
    font-size: .625em;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-newsletter,
  body:is([data-page="home"], [data-page="platform"]) .site-footer .newsletter {
    position: static;
    width: 100%;
    margin-top: 3em;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-directory {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    min-height: 52em;
    padding-inline: var(--page-pad);
    transform: none;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-directory::before {
    top: 0;
    right: var(--page-pad);
    left: var(--page-pad);
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-directory__nav {
    top: 1.5em;
    right: var(--page-pad);
    left: var(--page-pad);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.25em 1.5em;
  }

  body:is([data-page="home"], [data-page="platform"]) .site-footer .footer-brand {
    top: auto;
    right: var(--page-pad);
    bottom: 7.75em;
    left: auto;
    width: 11.5em;
    height: 2.241em;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-emblem {
    top: auto;
    bottom: 1em;
    left: -1.5em;
    width: 12.5em;
    height: 12.5em;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-compliance {
    right: var(--page-pad);
    bottom: 1.5em;
    left: auto;
    width: auto;
    justify-content: flex-end;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-gradient {
    top: 72%;
    right: auto;
    bottom: auto;
    left: -50%;
    width: 200%;
    height: 125%;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-gradient.is-entered {
    top: 18%;
    left: -30%;
    width: 160%;
    height: 110%;
  }
}

@media (max-width: 479px) {
  body:is([data-page="home"], [data-page="platform"]) .site-footer {
    min-height: 0;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-directory {
    top: auto;
    min-height: 55em;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-gradient {
    top: 72%;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-gradient.is-entered {
    top: 18%;
  }
}

@media (prefers-reduced-motion: reduce) {
  body:is([data-page="home"], [data-page="platform"]) .footer-gradient,
  body:is([data-page="home"], [data-page="platform"]) .footer-emblem {
    transition: none;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-gradient {
    top: 14.8819em;
    left: -3.2596em;
    width: 96.4523em;
    height: 78.6929em;
    filter: blur(3.2823em);
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-emblem__icon--motion {
    display: none;
  }

  body:is([data-page="home"], [data-page="platform"]) .footer-emblem__icon--static {
    display: block;
  }
}

