@media (prefers-reduced-motion: no-preference) {
  .js .reveal {
    opacity: 0;
    transform: translateY(18px);
    transition:
      opacity 520ms ease,
      transform 520ms ease;
  }

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

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

  .artifact-side-tabs__nav {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
  }

  .gradient-text {
    animation-duration: 18s !important;
    animation-iteration-count: infinite !important;
    animation-name: gradientShift !important;
    animation-play-state: running !important;
    animation-timing-function: linear !important;
  }

  .brand-drift,
  .brand-drift::after {
    animation-duration: 14s !important;
    animation-iteration-count: infinite !important;
    animation-play-state: running !important;
  }
}

@media (max-width: 980px) {
  .nav-toggle {
    display: block;
  }

  .nav {
    position: fixed;
    inset: 68px var(--pad) auto var(--pad);
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0.45rem;
    padding: 0.85rem;
    border: 1px solid rgba(214, 255, 238, 0.16);
    border-radius: 8px;
    background:
      linear-gradient(145deg, rgba(103, 232, 185, 0.1), rgba(103, 232, 249, 0.045) 46%),
      rgba(9, 17, 17, 0.88);
    box-shadow:
      0 28px 80px rgba(0, 0, 0, 0.5),
      inset 0 1px 0 rgba(255, 255, 255, 0.08);
    -webkit-backdrop-filter: blur(22px) saturate(1.18);
    backdrop-filter: blur(22px) saturate(1.18);
  }

  .nav.is-open {
    display: flex;
  }

  .nav__link,
  .nav__cta {
    justify-content: center;
    width: 100%;
    margin-left: 0;
  }

  .language-switch {
    margin-left: 0;
  }

  .feature-grid,
  .artifact-decision-layout,
  .split-section,
  .site-footer {
    grid-template-columns: minmax(0, 1fr);
  }

  .site-footer > div,
  .site-footer__links,
  .site-footer__legal,
  .site-footer__mail,
  .site-footer__meta {
    grid-column: 1;
    justify-self: start;
  }

  .split-section__media-stack {
    margin-top: 0;
  }

  .capability-item {
    grid-template-columns: minmax(0, 1fr);
  }

  .legal-list div {
    grid-template-columns: minmax(0, 1fr);
  }

  .artifact-side-tabs {
    padding-top: 0;
  }
}

@media (max-width: 640px) {
  :root {
    --pad: 1rem;
  }

  .hero {
    min-height: 84svh;
    padding-top: 4.5rem;
  }

  h1 {
    max-width: 100%;
    font-size: clamp(2.55rem, 14vw, 4.35rem);
    hyphens: auto;
    overflow-wrap: anywhere;
  }

  h2,
  h3 {
    max-width: min(100%, 18ch);
    hyphens: auto;
    overflow-wrap: anywhere;
  }

  .hero__statement {
    max-width: 100%;
    font-size: clamp(1.72rem, 11vw, 3.3rem);
    hyphens: auto;
    overflow-wrap: anywhere;
  }

  .section-heading,
  .split-section__copy,
  .feature-card,
  .feature-card__body,
  .capability-item,
  .artifact-side-tabs,
  .artifact-side-tabs__content,
  .cta-section__inner {
    min-width: 0;
    max-width: 100%;
  }

  .section-heading > *,
  .split-section__copy > *,
  .feature-card__body > *,
  .capability-item > *,
  .artifact-side-tabs__content > *,
  .cta-section__inner > * {
    min-width: 0;
    max-width: 100%;
  }

  .eyebrow,
  .section-heading p,
  .split-section p,
  .feature-card p,
  .capability-item p,
  .cta-section p {
    max-width: 100%;
    hyphens: auto;
    overflow-wrap: anywhere;
  }

  .hero__actions .button {
    flex: 1 1 13rem;
    min-width: 0;
    max-width: 100%;
    white-space: normal;
  }

  .section,
  .split-section,
  .cta-section {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .process-step {
    grid-template-columns: minmax(0, 1fr);
  }

  .artifact-side-tabs__panel {
    min-height: 0;
  }

  .site-header {
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
  }

  .brand__name {
    max-width: 42vw;
    overflow-wrap: anywhere;
  }
}
