/*
Theme Name: Kinetic Intelligence
Theme URI: https://kineticintelligence.example
Author: Kobo Page Builder
Description: Arc-generated theme for the Kinetic Intelligence site. Ships the KI dark-mode design system (tokens, Inter, component CSS) as the theme stylesheet — no Bootstrap. Loads its sections/blocks into the builder on activation; the pack's sections carry their own nav and footer.
Version: 1.5.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: kinetic-intelligence-arc
*/

:root {
  --color-bg: #0e0e12;
  --color-surface: #19191e;
  --color-border: #2c2c32;
  --color-brand: #5c45ff;
  --color-brand-glow: #9843ff;
  --color-text: #ffffff;
  --color-text-muted: #cecece;
  --color-text-subtle: #9c9c9c;
  --font-sans: "Inter", "Inter V", system-ui, sans-serif;
  --type-h1: 500 77px/81px var(--font-sans);
  --type-h2: 500 60px/65px var(--font-sans);
  --type-h3: 500 37px/48px var(--font-sans);
  --type-h4: 400 20px/26px var(--font-sans);
  --type-h5: 500 18px/34px var(--font-sans);
  --type-h6: 500 16px/21px var(--font-sans);
  --type-body: 400 18px/29px var(--font-sans);
  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --space-4: 32px;
  --space-5: 48px;
  --space-6: 64px;
  --space-7: 96px;
  --space-8: 128px;
  --space-9: 160px;
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-pill: 9999px;
  --shadow-glow-inset: inset 0 0 6px 3px rgba(152, 67, 255, .25);
  --shadow-glow-outer: 0 0 60px rgba(92, 69, 255, .25);
  --blur-card: blur(14px);
  --container-max: 1280px;
  --section-pad-y: clamp(64px, 10vw, 160px);
  --bp-sm: 640px;
  --bp-md: 768px;
  --bp-lg: 1024px;
  --bp-xl: 1440px
}

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

* {
  margin: 0
}

html,
body {
  min-height: 100%
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility
}

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

input,
button,
textarea,
select {
  font: inherit;
  color: inherit
}

button {
  background: none;
  border: 0;
  cursor: pointer
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word
}

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

ul,
ol {
  list-style: none;
  padding: 0
}

#root,
#__next {
  isolation: isolate
}

.display-none,
.d-none {
  display: none !important
}

@font-face {
  font-family: Inter;
  src: url(./assets/fonts/Inter-Regular.woff2) format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap
}

@font-face {
  font-family: Inter;
  src: url(./assets/fonts/Inter-Medium.woff2) format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap
}

@font-face {
  font-family: Inter V;
  src: url(./assets/fonts/InterV.woff2) format("woff2-variations"), url(./assets/fonts/InterV.woff2) format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap
}

body {
  font: var(--type-body);
  color: var(--color-text);
  background: var(--color-bg)
}

h1,
.h1 {
  font: var(--type-h1);
  letter-spacing: -.02em;
  font-size: clamp(44px, 6vw, 77px);
  line-height: 1.05
}

h2,
.h2 {
  font: var(--type-h2);
  letter-spacing: -.02em;
  font-size: clamp(36px, 5vw, 60px);
  line-height: 1.08
}

h3,
.h3 {
  font: var(--type-h3);
  letter-spacing: -.03em;
  font-size: clamp(26px, 3vw, 37px);
  line-height: 1.25
}

h4,
.h4 {
  font: var(--type-h4);
  letter-spacing: -.03em
}

h5,
.h5 {
  font: var(--type-h5)
}

h6,
.h6 {
  font: var(--type-h6);
  text-transform: uppercase;
  letter-spacing: .08em
}

.text-muted {
  color: var(--color-text-muted)
}

.text-subtle {
  color: var(--color-text-subtle)
}

.text-brand {
  color: var(--color-brand)
}

.text-center {
  text-align: center
}

.lead {
  font: var(--type-h5);
  color: var(--color-text-muted)
}

.container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 48px)
}

.section {
  padding-block: var(--section-pad-y);
  position: relative
}

.section--tight {
  padding-block: clamp(48px, 7vw, 96px)
}

.grid {
  display: grid;
  gap: var(--space-4)
}

.grid-12 {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--space-4)
}

.grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-5)
}

.grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-4)
}

@media (max-width: 1023px) {
  .grid-4 {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (max-width: 767px) {

  .grid-2,
  .grid-4 {
    grid-template-columns: 1fr
  }
}

.flex {
  display: flex
}

.flex-col {
  display: flex;
  flex-direction: column
}

.items-center {
  align-items: center
}

.justify-between {
  justify-content: space-between
}

.justify-center {
  justify-content: center
}

.gap-2 {
  gap: var(--space-2)
}

.gap-3 {
  gap: var(--space-3)
}

.gap-4 {
  gap: var(--space-4)
}

.stack>*+* {
  margin-top: var(--space-3)
}

.stack-lg>*+* {
  margin-top: var(--space-5)
}

.glow-inset {
  box-shadow: var(--shadow-glow-inset)
}

.glow-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-glow-inset);
  backdrop-filter: var(--blur-card);
  -webkit-backdrop-filter: var(--blur-card)
}

@supports not (backdrop-filter: blur(1px)) {
  .glow-card {
    background: #19191ef2
  }
}

.ambient-glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(ellipse 60% 50% at 50% 30%, rgba(92, 69, 255, .22), transparent 70%), radial-gradient(ellipse 40% 30% at 50% 60%, rgba(152, 67, 255, .12), transparent 70%)
}

.grid-lines {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: linear-gradient(to right, rgba(255, 255, 255, .04) 1px, transparent 1px), linear-gradient(to bottom, rgba(255, 255, 255, .04) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, #000 30%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, #000 30%, transparent 80%)
}

:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 3px;
  border-radius: 4px
}

.is-revealed {
  opacity: 1 !important;
  transform: none !important
}

[data-reveal] {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .6s ease, transform .6s ease
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal] {
    opacity: 1;
    transform: none;
    transition: none
  }
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-1);
  padding: 10px 32px;
  font: 500 18px/1.4 var(--font-sans);
  border-radius: var(--radius-pill);
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease, color .18s ease;
  text-decoration: none;
  white-space: nowrap
}

.btn--primary {
  background: #ffffffeb;
  color: var(--color-bg);
  border-color: #fff
}

.btn--primary:hover {
  background: #fff;
  transform: translateY(-1px);
  box-shadow: 0 8px 24px #9843ff40, var(--shadow-glow-outer)
}

.btn--ghost {
  background: transparent;
  color: var(--color-text);
  border-color: #fff
}

.btn--ghost:hover {
  background: #ffffff14;
  transform: translateY(-1px)
}

.btn--brand {
  background: var(--color-brand);
  color: #fff;
  border-color: var(--color-brand)
}

.btn--brand:hover {
  background: var(--color-brand-glow);
  box-shadow: var(--shadow-glow-outer)
}

.btn--sm {
  padding: 6px 24px;
  font-size: 16px
}

.btn--lg {
  padding: 14px 40px;
  font-size: 20px
}

.eyebrow-backup {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  font: 500 16px/1.35 var(--font-sans);
  color: var(--color-text);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  -webkit-backdrop-filter: blur(7px);
  white-space: nowrap;
  background: linear-gradient(180deg, #19191e, #5c45ff 317.19%);
  border: 1px solid #2C2C32;
  backdrop-filter: blur(7px)
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 16px;
  font: 500 16px/1.35 var(--font-sans);
  color: var(--color-text);
  width: fit-content;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  -webkit-backdrop-filter: blur(7px);
  white-space: nowrap;
  background: linear-gradient(180deg, #19191e, #5c45ff 317.19%);
  backdrop-filter: blur(7px);
  box-sizing: border-box;
  border-radius: 8px;
  transition: all .2s eas
}

.stat {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-4);
  border-radius: var(--radius-md);
  border: 1px solid #28283f;
  background: linear-gradient(132deg, var(--color-surface) 0%, var(--color-bg) 100%);
  position: relative;
  overflow: hidden
}

.stat__value {
  font: 400 clamp(56px, 8vw, 77px)/1 var(--font-sans);
  color: #737373;
  letter-spacing: -.06em
}

.stat__label {
  font: 400 16px/1.35 var(--font-sans);
  color: var(--color-text);
  max-width: 24ch
}

.stat__chip {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  padding: 6px 14px;
  font: 500 11px/1 var(--font-sans);
  border-radius: var(--radius-pill);
  border: .5px solid var(--color-border);
  background: linear-gradient(168deg, var(--color-surface) 0%, var(--color-bg) 100%);
  color: var(--color-text);
  align-self: flex-start
}

.logo-mark {
  height: 40px;
  width: auto;
  object-fit: contain;
  filter: grayscale(1);
  opacity: .7;
  transition: opacity .18s ease, filter .18s ease
}

.logo-mark:hover {
  opacity: 1;
  filter: none
}

.site-logo {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-text)
}

.site-logo__mark {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--color-brand), var(--color-brand-glow));
  color: #fff;
  font: 700 18px/1 var(--font-sans);
  letter-spacing: -.02em
}

.site-logo__wordmark {
  font: 500 18px/1 var(--font-sans);
  letter-spacing: -.01em
}

.logo-reel {
  position: relative;
  overflow: hidden
}

.logo-reel__track {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(24px, 4vw, 43px);
  flex-wrap: wrap;
  padding-block: var(--space-4)
}

.logo-reel:before,
.logo-reel:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 20%;
  pointer-events: none;
  z-index: 1
}

.logo-reel:before {
  left: 0;
  background: linear-gradient(to right, var(--color-bg), transparent)
}

.logo-reel:after {
  right: 0;
  background: linear-gradient(to left, var(--color-bg), transparent)
}

@media (max-width: 767px) {
  .logo-reel__track {
    gap: var(--space-3)
  }
}

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: var(--space-4);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  overflow: hidden;
  isolation: isolate;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease
}

.card:hover {
  transform: translateY(-2px);
  border-color: #5c45ff80;
  box-shadow: var(--shadow-glow-inset), 0 12px 40px #5c45ff2e
}

.pillar-card {
  min-height: 382px;
  padding: var(--space-4);
  background: radial-gradient(100% 70% at 50% 125%, rgba(92, 69, 255, .5), transparent 62%), linear-gradient(180deg, #0e0e12 55%, #14122a);
  justify-content: flex-end
}

.pillar-card__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none
}

.pillar-card__media>img {
  position: absolute;
  width: auto;
  height: auto
}

.pillar-card__content {
  position: relative;
  z-index: 1
}

.pillar-card__title {
  font: 500 clamp(28px, 3vw, 37px)/1.25 var(--font-sans);
  letter-spacing: -.03em;
  color: var(--color-text);
  margin-bottom: var(--space-2)
}

.pillar-card__body {
  font: 400 18px/1.55 var(--font-sans);
  color: var(--color-text-muted)
}

.result-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  min-height: 480px;
  padding: var(--space-6) var(--space-4) var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-glow-inset);
  background: radial-gradient(110% 60% at 50% 130%, rgba(92, 69, 255, .45), transparent 60%), linear-gradient(180deg, #0e0e12 55%, #14122a);
  overflow: hidden
}

.result-card__logo {
  height: 36px;
  display: flex;
  align-items: center;
  color: var(--color-text);
  font: 500 18px/1 var(--font-sans);
  letter-spacing: .04em;
  text-transform: uppercase
}

.result-card__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-3)
}

.result-card__title {
  font: 500 clamp(28px, 3vw, 37px)/1.3 var(--font-sans);
  letter-spacing: -.03em;
  color: var(--color-text)
}

.result-card__body {
  font: 400 18px/1.62 var(--font-sans);
  color: var(--color-text-muted)
}

.section-header {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  max-width: 812px
}

.section-header--center {
  align-items: center;
  text-align: center;
  margin-inline: auto
}

.section-header__title {
  font: var(--type-h2);
  font-size: clamp(36px, 5vw, 60px);
  line-height: 1.08;
  letter-spacing: -.02em
}

.section-header__title .accent {
  color: var(--color-text-subtle)
}

.section-header__body {
  font: 500 20px/1.55 var(--font-sans);
  color: var(--color-text);
  max-width: 60ch
}

.section-header--center .section-header__body {
  max-width: 534px
}

.challenge-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3)
}

.challenge-list__item {
  position: relative;
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--color-border);
  font: 400 20px/1.3 var(--font-sans);
  color: var(--color-text);
  letter-spacing: -.02em
}

.challenge-list__item:last-child {
  border-bottom: 0
}

.form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3)
}

.form__field {
  display: flex;
  flex-direction: column;
  gap: 6px
}

.form__field--full {
  grid-column: 1 / -1
}

.form__label {
  font: 500 14px/1.3 var(--font-sans);
  color: var(--color-text-subtle)
}

.form__input,
.form__textarea {
  width: 100%;
  padding: 14px 20px;
  font: 400 16px/1.35 var(--font-sans);
  color: var(--color-text);
  background: linear-gradient(174deg, #16161d 0%, var(--color-bg) 100%);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  transition: border-color .18s ease, box-shadow .18s ease
}

.form__input::placeholder,
.form__textarea::placeholder {
  color: var(--color-text);
  opacity: .85
}

.form__textarea {
  resize: vertical;
  min-height: 180px
}

.form__input:focus,
.form__textarea:focus {
  outline: none;
  border-color: var(--color-brand);
  box-shadow: 0 0 0 2px #5c45ff40
}

.form__field[data-error=true] .form__input,
.form__field[data-error=true] .form__textarea {
  border-color: #ff5a5a
}

.form__error {
  font: 400 13px/1.3 var(--font-sans);
  color: #ff8a8a;
  min-height: 1em
}

.form__submit-row {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: var(--space-3)
}

.form__message {
  grid-column: 1 / -1;
  margin: 0;
  font: 400 14px/1.4 var(--font-sans);
  color: #ff8a8a
}

.form__message[hidden] {
  display: none
}

.form__success {
  grid-column: 1 / -1;
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-sm);
  background: #5c45ff1f;
  border: 1px solid rgba(92, 69, 255, .4);
  color: var(--color-text)
}

@media (max-width: 767px) {
  .form {
    grid-template-columns: 1fr
  }
}

.site-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  width: 100%;
  padding-block: var(--space-2);
  background: #0e0e1299;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid transparent;
  transition: background .2s ease, border-color .2s ease, padding-block .2s ease
}

.site-nav.is-scrolled {
  background: #0e0e12eb;
  border-bottom-color: var(--color-border);
  padding-block: var(--space-1)
}

.site-logo {
  transition: transform .2s ease;
  transform-origin: left center
}

.site-nav.is-scrolled .site-logo {
  transform: scale(.85)
}

@media (prefers-reduced-motion: reduce) {

  .site-nav,
  .site-logo {
    transition: none
  }
}

.site-nav__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4)
}

.site-nav__links {
  display: flex;
  align-items: center;
  gap: var(--space-5);
  list-style: none;
  margin: 0;
  padding: 0
}

.site-nav__link {
  font: 500 16px/1 var(--font-sans);
  color: var(--color-text-muted);
  padding: var(--space-1) 0;
  position: relative;
  transition: color .18s ease
}

.site-nav__link:hover,
.site-nav__link.is-active {
  color: var(--color-text)
}

.site-nav__link.is-active:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 2px;
  background: var(--color-brand)
}

.site-nav__toggle {
  display: none;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  color: var(--color-text)
}

.site-nav__toggle svg {
  width: 24px;
  height: 24px
}

@media (max-width: 1023px) {

  .site-nav__primary,
  .site-nav__cta {
    display: none
  }

  .site-nav__toggle {
    display: inline-flex
  }
}

.mobile-drawer {
  position: fixed;
  inset: 0;
  z-index: 100;
  background: #0e0e12f2;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  display: flex;
  flex-direction: column;
  padding: var(--space-4);
  transform: translate(100%);
  transition: transform .24s ease;
  visibility: hidden
}

.mobile-drawer.is-open {
  transform: translate(0);
  visibility: visible
}

.mobile-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-6)
}

.mobile-drawer__close {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text)
}

.mobile-drawer__links {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  list-style: none;
  margin: 0;
  padding: 0
}

.mobile-drawer__link {
  font: 500 24px/1.2 var(--font-sans);
  color: var(--color-text);
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--color-border)
}

.mobile-drawer__cta {
  margin-top: var(--space-5)
}

.site-nav__links .menu-item {
  position: relative;
  display: flex;
  align-items: center
}

.site-nav__links .menu-item-has-children>.site-nav__link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1)
}

.site-nav__links .menu-item-has-children>.site-nav__link:after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .16s ease
}

.site-nav__links .menu-item-has-children:hover>.site-nav__link:after,
.site-nav__links .menu-item-has-children:focus-within>.site-nav__link:after {
  transform: rotate(225deg) translateY(1px)
}

.site-nav__links .sub-menu {
  position: absolute;
  top: calc(100% + var(--space-2));
  left: 0;
  z-index: 60;
  min-width: 220px;
  margin: 0;
  padding: var(--space-1);
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 2px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: inset 0 0 6px 3px #9843ff40;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s
}

.site-nav__links .sub-menu:before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  height: var(--space-2)
}

.site-nav__links .menu-item-has-children:hover>.sub-menu,
.site-nav__links .menu-item-has-children:focus-within>.sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0)
}

.site-nav__links .sub-menu a {
  display: block;
  white-space: nowrap;
  padding: var(--space-1) var(--space-2);
  border-radius: var(--radius-sm);
  font: 500 15px/1.4 var(--font-sans);
  color: var(--color-text-muted);
  transition: color .16s ease, background .16s ease
}

.site-nav__links .sub-menu a:hover,
.site-nav__links .sub-menu a:focus-visible {
  color: var(--color-text);
  background: #5c45ff24
}

.site-nav__links .sub-menu .menu-item-has-children>.site-nav__link:after {
  transform: rotate(-45deg)
}

.site-nav__links .sub-menu .sub-menu {
  top: calc(-1 * var(--space-1));
  left: calc(100% + var(--space-1))
}

.site-nav__links .sub-menu .sub-menu:before {
  inset: 0 100% 0 auto;
  width: var(--space-1);
  height: auto
}

@media (prefers-reduced-motion: reduce) {

  .site-nav__links .sub-menu,
  .site-nav__links .menu-item-has-children>.site-nav__link:after {
    transition: none
  }
}

.mobile-drawer__links .sub-menu {
  list-style: none;
  margin: var(--space-1) 0 0;
  padding: 0 0 0 var(--space-3);
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  border-left: 1px solid var(--color-border)
}

.mobile-drawer__links .sub-menu a {
  display: block;
  padding: var(--space-1) 0;
  font: 500 18px/1.3 var(--font-sans);
  color: var(--color-text-muted)
}

.mobile-drawer__links .sub-menu a:hover {
  color: var(--color-text)
}

.site-footer {
  position: relative;
  padding-block: var(--space-7) var(--space-5);
  background: var(--color-bg) url(./assets/img/footer-bg.png) right center / auto 100% no-repeat;
  overflow: hidden;
  isolation: isolate
}

.site-footer__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-5)
}

.site-footer__wordmark {
  display: block;
  width: clamp(280px, 55vw, 770px);
  height: auto
}

.site-footer__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  flex-wrap: wrap
}

.site-footer__legal {
  font: 500 11px/1.4 var(--font-sans);
  color: #a9a9a9;
  letter-spacing: .02em
}

.site-footer__links {
  display: flex;
  gap: var(--space-3);
  font: 500 14px/1 var(--font-sans);
  color: var(--color-text-muted)
}

.site-footer__links a:hover {
  color: var(--color-text)
}

@font-face {
  font-family: swiper-icons;
  src: url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA);
  font-weight: 400;
  font-style: normal
}

:root {
  --swiper-theme-color: #007aff
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block
}

.swiper-vertical>.swiper-wrapper {
  flex-direction: column
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translateZ(0)
}

.swiper-horizontal {
  touch-action: pan-y
}

.swiper-vertical {
  touch-action: pan-x
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block
}

.swiper-slide-invisible-blank {
  visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d
}

.swiper-3d {
  perspective: 1200px
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide {
  transform-style: preserve-3d
}

.swiper-css-mode>.swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
  display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: start start
}

.swiper-css-mode.swiper-horizontal>.swiper-wrapper {
  scroll-snap-type: x mandatory
}

.swiper-css-mode.swiper-vertical>.swiper-wrapper {
  scroll-snap-type: y mandatory
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
  scroll-snap-type: none
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: none
}

.swiper-css-mode.swiper-centered>.swiper-wrapper:before {
  content: "";
  flex-shrink: 0;
  order: 9999
}

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after)
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10
}

.swiper-3d .swiper-slide-shadow {
  background: #00000026
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, #00000080, #0000)
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0)
  }

  to {
    transform: rotate(360deg)
  }
}

.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0)
}

.swiper-virtual.swiper-css-mode .swiper-wrapper:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after {
  height: 1px;
  width: var(--swiper-virtual-size)
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after {
  width: 1px;
  height: var(--swiper-virtual-size)
}

:root {
  --swiper-navigation-size: 44px
}

.swiper-button-next,
.swiper-button-prev {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size)/ 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - (var(--swiper-navigation-size)/ 2));
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color))
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
  opacity: .35;
  cursor: auto;
  pointer-events: none
}

.swiper-button-next.swiper-button-hidden,
.swiper-button-prev.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none
}

.swiper-navigation-disabled .swiper-button-next,
.swiper-navigation-disabled .swiper-button-prev {
  display: none !important
}

.swiper-button-next svg,
.swiper-button-prev svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform-origin: center
}

.swiper-rtl .swiper-button-next svg,
.swiper-rtl .swiper-button-prev svg {
  transform: rotate(180deg)
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto
}

.swiper-button-lock {
  display: none
}

.swiper-button-next:after,
.swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: "prev"
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: "next"
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: .3s opacity;
  transform: translateZ(0);
  z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0
}

.swiper-pagination-disabled>.swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(.33);
  position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(.33)
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, .2)
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer
}

.swiper-pagination-bullet:only-child {
  display: none !important
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color))
}

.swiper-pagination-vertical.swiper-pagination-bullets,
.swiper-vertical>.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0, -50%, 0)
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: .2s transform, .2s top
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translate(-50%);
  white-space: nowrap
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: .2s transform, .2s left
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: .2s transform, .2s right
}

.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit)
}

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));
  position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top
}

.swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0
}

.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-vertical>.swiper-pagination-progressbar {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0
}

.swiper-pagination-lock {
  display: none
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, .1))
}

.swiper-scrollbar-disabled>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important
}

.swiper-horizontal>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))
}

.swiper-scrollbar.swiper-scrollbar-vertical,
.swiper-vertical>.swiper-scrollbar {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, .5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0
}

.swiper-scrollbar-cursor-drag {
  cursor: move
}

.swiper-scrollbar-lock {
  display: none
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center
}

.swiper-zoom-container>canvas,
.swiper-zoom-container>img,
.swiper-zoom-container>svg {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain
}

.swiper-slide-zoomed {
  cursor: move;
  touch-action: none
}

.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000
}

.swiper-free-mode>.swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto
}

.swiper-grid>.swiper-wrapper {
  flex-wrap: wrap
}

.swiper-grid-column>.swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none
}

.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto
}

.swiper.swiper-cube {
  overflow: visible
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  opacity: .6;
  z-index: 0
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  inset: 0;
  filter: blur(50px)
}

.swiper-cube .swiper-slide-next+.swiper-slide {
  pointer-events: auto;
  visibility: visible
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.swiper.swiper-flip {
  overflow: visible
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto
}

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height
}

.swiper.swiper-cards {
  overflow: visible
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden
}

vertical-carousel,
.vc {
  display: block
}

.vc-swiper {
  height: 208px;
  width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 16%, #000 84%, transparent);
  mask-image: linear-gradient(to bottom, transparent, #000 16%, #000 84%, transparent)
}

.vc--top .vc-swiper {
  -webkit-mask-image: linear-gradient(to bottom, #000 60%, transparent);
  mask-image: linear-gradient(to bottom, #000 60%, transparent)
}

.vc-slide {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  border-radius: var(--radius-md);
  border: 1px solid transparent;
  background: transparent;
  color: var(--color-text-subtle);
  box-sizing: border-box;
  will-change: opacity, transform
}

.vc-slide.is-focused {
  background: var(--color-surface);
  border-color: var(--color-border);
  color: var(--color-text);
  box-shadow: inset 0 0 6px #9843ff40
}

.vc-lead {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: radial-gradient(80% 80% at 33% 33%, var(--color-brand) 0%, #16161c 100%);
  color: #fff;
  overflow: hidden
}

.vc-lead--img img {
  width: 24px;
  height: 24px;
  object-fit: contain
}

.vc-lead--badge {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .02em
}

.vc-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0
}

.vc-title {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  color: inherit;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.vc-subtitle {
  font-size: 13px;
  line-height: 1.3;
  color: var(--color-text-subtle);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.vc-check {
  flex: 0 0 auto;
  margin-left: auto;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1.5px solid var(--color-border);
  color: var(--color-text-subtle)
}

.vc-slide.is-focused .vc-check {
  background: var(--color-brand);
  border-color: var(--color-brand);
  color: #fff
}

.vc-nav {
  color: var(--color-text-muted)
}

.vc-nav:after {
  font-size: 18px
}

.hero {
  position: relative;
  padding-block: clamp(96px, 12vw, 180px) var(--space-7);
  text-align: center;
  overflow: hidden;
  isolation: isolate
}

.hero__inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  max-width: 812px;
  margin-inline: auto
}

.hero__title {
  font: 500 clamp(44px, 7vw, 76px)/1.05 var(--font-sans);
  letter-spacing: -.02em;
  color: var(--color-text)
}

.hero__title .accent {
  background: linear-gradient(to right, #fff, #2c274d);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}

.hero__sub {
  font: 500 clamp(18px, 2vw, 20px)/1.55 var(--font-sans);
  color: var(--color-text);
  max-width: 534px
}

.hero__ctas {
  display: flex;
  gap: var(--space-2);
  flex-wrap: wrap;
  justify-content: center
}

flow-field-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  mask-image: linear-gradient(to right, transparent 0%, black 16%, black 84%, transparent 100%), linear-gradient(to bottom, transparent 0%, black 12%, black 88%, transparent 100%);
  mask-composite: intersect;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 16%, black 84%, transparent 100%), linear-gradient(to bottom, transparent 0%, black 12%, black 88%, transparent 100%);
  -webkit-mask-composite: destination-in
}

.hero__visual {
  position: relative;
  z-index: 1;
  margin-top: var(--space-6);
  max-width: 1366px;
  margin-inline: auto;
  height: clamp(320px, 50vw, 748px);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  overflow: hidden
}

.hero__visual:after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 50% 60% at 50% 50%, rgba(92, 69, 255, .18), transparent 70%);
  pointer-events: none
}

.vanity {
  position: relative;
  width: 100%;
  max-width: 1920px;
  aspect-ratio: 1920 / 1000;
  background: #0e0e12;
  isolation: isolate;
  margin: 0 auto
}

.vanity__glow {
  position: absolute;
  width: 48.33%;
  aspect-ratio: 928 / 808;
  pointer-events: none;
  mix-blend-mode: screen
}

.vanity__glow img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.vanity__glow--right {
  left: calc(50% + 99px);
  top: 9.7%
}

.vanity__glow--left {
  left: -16px;
  top: 28.5%
}

.vanity__card-grid {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 257fr 396fr 258fr 258fr 396fr;
  column-gap: 1.04%;
  padding: 0 7.19%
}

.vanity__col {
  position: relative
}

.vanity__card {
  position: absolute;
  width: 100%;
  border-radius: 10px;
  border: 1px solid #28283f;
  background: linear-gradient(138deg, #16161dcc 1%, #0e0e12cc 98%);
  overflow: hidden
}

.vanity__card--left-top {
  top: 31.1%;
  height: 24.9%
}

.vanity__card--left-tall {
  top: 58.5%;
  height: 42.9%
}

.vanity__card--main {
  top: 44.9%;
  height: 42.7%;
  overflow: hidden;
  background: linear-gradient(132deg, #16161d 1%, #0e0e12 82%)
}

.vanity__card--bar-bottom {
  top: 89.4%;
  height: 7.5%
}

.vanity__card--mid-left {
  top: 53.8%;
  height: 26.7%
}

.vanity__card--bar-top {
  top: 43.3%;
  height: 7.5%
}

.vanity__card--mid-right {
  top: 53.8%;
  height: 26.7%
}

.vanity__card--right-top {
  top: 11.9%;
  height: 30.3%
}

.vanity__card--right-tall {
  top: 44.9%;
  height: 42.7%
}

.vanity__dropdown {
  position: absolute;
  right: 4%;
  top: 11.5%;
  width: 41.4%;
  height: 9.37%;
  border: .5px solid #2c2c32;
  border-radius: 60px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(168deg, #16161d 1%, #0e0e12 98%)
}

.vanity__dropdown span {
  font: 500 clamp(8px, .57vw, 11px)/1 var(--font-sans);
  color: #fff;
  white-space: nowrap
}

.vanity__stat-value {
  position: absolute;
  left: 2%;
  top: 40.7%;
  font: 400 clamp(30px, 4vw, 77px)/1 var(--font-sans);
  color: #737373;
  letter-spacing: -.06em;
  white-space: nowrap
}

.vanity__line {
  position: absolute;
  height: 4px;
  overflow: hidden;
  pointer-events: none;
  mix-blend-mode: screen
}

.vanity__line img {
  position: absolute;
  width: 100%;
  height: 131.51%;
  top: -15.76%;
  left: 0;
  max-width: none
}

.vanity__line--1 {
  left: 36.77%;
  top: 44.9%;
  width: 5.78%
}

.vanity__line--2 {
  left: 37.29%;
  top: 10.2%;
  width: 5.78%
}

.vanity__content {
  position: absolute;
  left: 21.6%;
  top: 10.3%;
  width: 42.3%;
  display: flex;
  flex-direction: column;
  gap: 3.2%
}

.vanity__headline {
  font: 500 clamp(24px, 3.125vw, 60px)/1.09 var(--font-sans);
  color: #fff
}

.vanity__badge-jan {
  position: absolute;
  left: 22.4%;
  top: 57%;
  display: inline-flex;
  align-items: center;
  padding: .42% .83%;
  border-radius: 50px;
  border: 1px solid #2c2c32;
  background: linear-gradient(139deg, #16161de6 1%, #0e0e12e6 98%)
}

.vanity__badge-jan span {
  font: 500 clamp(10px, .83vw, 16px)/1 var(--font-sans);
  color: #fff;
  white-space: nowrap
}

.vanity__stat-label {
  position: absolute;
  left: 22.4%;
  top: 70.4%;
  width: 12.66%;
  font: 400 clamp(10px, .83vw, 16px)/1.34 var(--font-sans);
  color: #fff
}

.vanity__num {
  position: absolute;
  font: 400 clamp(30px, 4vw, 77px)/1 var(--font-sans);
  color: #737373;
  letter-spacing: -.06em;
  white-space: nowrap
}

.vanity__desc {
  position: absolute;
  font: 400 clamp(10px, .83vw, 16px)/1.34 var(--font-sans);
  color: #fff
}

.vanity__emblem {
  position: absolute;
  pointer-events: none;
  height: auto;
  opacity: 1
}

.vanity__graphic {
  position: absolute;
  pointer-events: none
}

.vanity__card--left-top .vanity__emblem {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 52.5%
}

.vanity__card--left-tall .vanity__num {
  left: 5.1%;
  top: 59.7%
}

.vanity__card--left-tall .vanity__desc {
  left: 5.1%;
  top: 78.3%;
  width: 94.6%
}

.vanity__card--left-tall .vanity__graphic {
  left: 18.3%;
  top: 18.4%;
  width: 57%
}

.vanity__card--main .vanity__graphic {
  left: 38.6%;
  top: 43.6%;
  width: 62.6%
}

.vanity__card--bar-bottom .vanity__emblem {
  left: 50%;
  top: 9.3%;
  transform: translate(-50%);
  width: 44.7%
}

.vanity__card--mid-left .vanity__num {
  left: 5.4%;
  top: 31.8%
}

.vanity__card--mid-left .vanity__desc {
  left: 5.4%;
  top: 61.8%;
  width: 94.2%
}

.vanity__card--mid-left .vanity__graphic {
  left: 65.5%;
  top: 6.7%;
  width: 27.9%
}

.vanity__card--bar-top .vanity__emblem {
  left: 50%;
  top: 16%;
  transform: translate(-50%);
  width: 68.6%
}

.vanity__card--mid-right .vanity__emblem {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 52.3%
}

.vanity__card--right-top .vanity__num {
  left: 7.1%;
  top: 42.9%
}

.vanity__card--right-top .vanity__desc {
  left: 7.1%;
  top: 69.3%;
  width: 61.4%
}

.vanity__card--right-top .vanity__graphic {
  left: 68.4%;
  top: 19.5%;
  width: 17.9%
}

.vanity__card--right-tall .vanity__num {
  left: 5.6%;
  top: 29.5%
}

.vanity__card--right-tall .vanity__desc {
  left: 5.6%;
  top: 48.2%;
  width: 61.4%
}

.vanity__card--right-tall .vanity__graphic {
  left: 28.8%;
  top: 51.5%;
  width: 76.3%
}

.vanity__dropdown {
  gap: clamp(4px, .31vw, 6px)
}

.vanity__dropdown img {
  width: clamp(8px, .57vw, 11px);
  height: auto;
  flex-shrink: 0
}

@media (max-width: 1400px) {
  .vanity__card-grid {
    grid-template-columns: 257fr 396fr 258fr 396fr
  }

  .vanity__card-grid>.vanity__col:nth-child(3) {
    display: none
  }

  .vanity__content {
    left: 24.45%
  }

  .vanity__badge-jan,
  .vanity__stat-label {
    left: 25.2%
  }
}

@media (max-width: 1100px) {
  .vanity__card-grid {
    grid-template-columns: 396fr 258fr 258fr
  }

  .vanity__card-grid>.vanity__col:nth-child(1) {
    display: none
  }

  .vanity__card-grid>.vanity__col:nth-child(3) {
    display: block
  }

  .vanity__card-grid>.vanity__col:nth-child(5) {
    display: none
  }

  .vanity__content {
    left: 7.19%
  }

  .vanity__badge-jan,
  .vanity__stat-label {
    left: 8%
  }

  .vanity__glow--left {
    display: none
  }
}

@media (max-width: 768px) {
  .vanity {
    aspect-ratio: auto;
    height: auto;
    padding: clamp(64px, 12vw, 96px) 24px;
    display: flex;
    flex-direction: column
  }

  .vanity__glow,
  .vanity__line {
    display: none
  }

  .vanity__content {
    position: static;
    left: auto;
    top: auto;
    width: 100%;
    gap: 16px;
    margin-bottom: 32px;
    order: -1
  }

  .vanity__headline {
    font-size: clamp(28px, 8vw, 40px);
    line-height: 1.12
  }

  .vanity__card-grid {
    position: static;
    inset: auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 0;
    column-gap: 0
  }

  .vanity__card-grid>.vanity__col:nth-child(1),
  .vanity__card-grid>.vanity__col:nth-child(2),
  .vanity__card-grid>.vanity__col:nth-child(3),
  .vanity__card-grid>.vanity__col:nth-child(4),
  .vanity__card-grid>.vanity__col:nth-child(5) {
    display: contents
  }

  .vanity__card--left-top,
  .vanity__card--bar-bottom,
  .vanity__card--bar-top,
  .vanity__card--mid-right {
    display: none
  }

  .vanity__card {
    position: static;
    width: 100%;
    height: auto;
    padding: 24px
  }

  .vanity__num,
  .vanity__stat-value {
    position: static;
    left: auto;
    top: auto;
    font-size: clamp(40px, 12vw, 60px);
    margin-bottom: 12px
  }

  .vanity__desc {
    position: static;
    left: auto;
    top: auto;
    width: 100%;
    font-size: 16px
  }

  .vanity__graphic,
  .vanity__dropdown,
  .vanity__badge-jan,
  .vanity__stat-label {
    display: none
  }
}

.challenge {
  padding-block: var(--section-pad-y);
  position: relative;
  overflow: hidden
}

.challenge:before {
  content: "";
  position: absolute;
  right: -20%;
  top: 20%;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(92, 69, 255, .18), transparent 65%);
  pointer-events: none;
  z-index: 0
}

.challenge__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: var(--space-6);
  align-items: start
}

.challenge__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  max-width: 491px
}

.challenge__header {
  display: flex;
  flex-direction: column;
  gap: 27px
}

.challenge__title {
  font: 500 clamp(28px, 3.5vw, 37px)/1.3 var(--font-sans);
  letter-spacing: -.06em
}

.challenge-list {
  padding: 0;
  margin: 0
}

.challenge-list__item {
  display: block;
  border-bottom: 1px solid var(--color-border)
}

.challenge-list__item[open] {
  border-bottom: none
}

.challenge-list__item[open]:after {
  content: "";
  display: block;
  height: 1px;
  background: linear-gradient(to right, var(--color-brand), transparent)
}

.challenge-list__item::part(base) {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0
}

.challenge-list__item::part(header) {
  font: var(--type-h4);
  letter-spacing: -.06em;
  color: var(--color-text);
  padding-block: 10px;
  padding-inline: 0
}

.challenge-list__item::part(header):hover {
  background: transparent;
  color: var(--color-text)
}

.challenge-list__item::part(summary-icon) {
  display: none
}

.challenge-list__item::part(content) {
  padding: 0
}

.challenge-list__detail {
  font: var(--type-body);
  color: var(--color-text-muted);
  padding-bottom: 22px;
  padding-right: var(--space-4)
}

.challenge__right {
  display: flex;
  flex-direction: column;
  gap: var(--space-4)
}

.challenge__lead {
  font: 400 20px/1.3 var(--font-sans);
  letter-spacing: -.06em;
  color: var(--color-text);
  width: 70%;
  margin-left: auto
}

@media (max-width: 1280px) {
  .challenge__lead {
    width: 85%
  }
}

@media (max-width: 1023px) {
  .challenge__lead {
    width: 100%;
    margin-left: 0
  }
}

.challenge__visual {
  min-height: 470px;
  height: 100%;
  position: relative
}

.challenge__visual:after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 60% at 50% 100%, rgba(152, 67, 255, .3), transparent 60%);
  pointer-events: none;
  z-index: 1
}

.challenge__visual-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center
}

@media (max-width: 1023px) {
  .challenge__inner {
    grid-template-columns: 1fr
  }

  .challenge__visual {
    min-height: 320px
  }
}

.pillars {
  padding-block: var(--section-pad-y);
  position: relative
}

.pillars__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-auto-rows: 382px;
  gap: var(--space-3);
  margin-top: var(--space-6)
}

.pillars__grid .pillar-card:nth-child(1) {
  grid-column: 1 / 3
}

.pillars__grid .pillar-card:nth-child(2) {
  grid-column: 3 / 6
}

.pillars__grid .pillar-card:nth-child(3) {
  grid-column: 1 / 4
}

.pillars__grid .pillar-card:nth-child(4) {
  grid-column: 4 / 6
}

.pillar-card--integration .pillar-card__media>img {
  top: -5%;
  left: 75%;
  transform: translate(-50%);
  width: min(300px, 58%)
}

.pillar-card--automation .pillar-card__media>img {
  top: 7%;
  left: 50%;
  transform: translate(-50%);
  width: min(300px, 55%)
}

.pillar-card--literacy .pillar-card__media vertical-carousel,
.pillar-card--literacy .pillar-card__media .pillar-card__carousel {
  position: absolute;
  top: var(--space-3);
  right: var(--space-3);
  width: min(347px, 46%)
}

.pillar-card--automation .pillar-card__media vertical-carousel,
.pillar-card--automation .pillar-card__media .pillar-card__carousel {
  position: absolute;
  top: 7%;
  left: 50%;
  transform: translate(-50%);
  width: min(300px, 55%)
}

.pillar-card--literacy {
  justify-content: center
}

.pillar-card--literacy .pillar-card__media>img {
  top: var(--space-3);
  right: var(--space-3);
  width: min(347px, 46%)
}

.pillar-card--security .pillar-card__media>img {
  top: 50%;
  right: 0;
  transform: translateY(-52%);
  height: 85%;
  width: auto
}

.pillar-card--literacy .pillar-card__content,
.pillar-card--security .pillar-card__content {
  max-width: 400px
}

@media (max-width: 1023px) {
  .pillars__grid {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: auto
  }

  .pillars__grid .pillar-card:nth-child(n) {
    grid-column: auto
  }
}

@media (max-width: 767px) {
  .pillars__grid {
    grid-template-columns: 1fr
  }
}

.cta-banner {
  padding-block: var(--section-pad-y);
  position: relative;
  text-align: center;
  overflow: hidden;
  isolation: isolate
}

.cta-banner:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 60% at 50% 60%, rgba(152, 67, 255, .22), transparent 65%);
  z-index: -1
}

.cta-banner__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  align-items: center;
  max-width: 812px;
  margin-inline: auto
}

.cta-banner__title {
  font: 500 clamp(36px, 5vw, 60px)/1.08 var(--font-sans);
  letter-spacing: -.02em
}

.cta-banner__title .accent {
  color: var(--color-text-subtle)
}

.cta-banner__body {
  font: 500 clamp(18px, 2vw, 20px)/1.55 var(--font-sans);
  max-width: 534px;
  color: var(--color-text)
}

.progress {
  padding-block: var(--section-pad-y);
  position: relative;
  text-align: center;
  overflow: hidden
}

.progress__steps {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-4) 0;
  padding: 0;
  width: min(1600px, calc(100vw - 80px));
  margin: var(--space-6) 0 0;
  margin-left: calc(50% - (min(1600px, calc(100vw - 80px))/2))
}

.progress__step {
  display: inline-flex;
  align-items: center
}

.progress__step:not(:last-child):after {
  content: "";
  flex: 0 0 auto;
  width: clamp(24px, 3vw, 56px);
  height: 12px;
  filter: drop-shadow(0 0 5px rgba(152, 67, 255, .45));
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='12' viewBox='0 0 8 12'%3E%3Cpath d='M0 1 L7 6 L0 11 Z' fill='%239843ff'/%3E%3C/svg%3E") no-repeat right center / 8px 12px, linear-gradient(90deg, rgba(152, 67, 255, .25), var(--color-brand-glow)) no-repeat left center / calc(100% - 5px) 2px
}

.progress__card {
  --radius: 16px;
  --inner-radius: 12px;
  --glow-left: 26%;
  --glow-width: 38%;
  --glow-height: 12px;
  --glow-top: 0;
  --glow-bottom: auto;
  --glow-shift-y: 45%;
  position: relative;
  display: inline-flex;
  padding: 6px;
  border-radius: var(--radius);
  background: radial-gradient(180px 110px at 34% 42%, #27377842, #0000 70%), linear-gradient(180deg, #070b18, #050914);
  overflow: visible
}

.progress__card:before {
  content: "";
  position: absolute;
  left: var(--glow-left);
  top: var(--glow-top);
  bottom: var(--glow-bottom);
  transform: translateY(var(--glow-shift-y));
  width: var(--glow-width);
  height: var(--glow-height);
  border-radius: 999px;
  pointer-events: none;
  background: radial-gradient(ellipse at center, #fffffffa, #ffffffeb 12%, #e1dcffb8 28%, #968cff59 52%, #5a50f000 78%), linear-gradient(90deg, #786eff00, #aaa0ff47 35%, #ffffffbf, #aaa0ff47 65%, #786eff00);
  filter: blur(1.6px)
}

.progress__step:nth-child(2n) .progress__card {
  --glow-left: 62%;
  --glow-width: 30%;
  --glow-top: auto;
  --glow-bottom: 0;
  --glow-shift-y: -45%
}

.progress__card-inner {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .5em .95em;
  border-radius: var(--inner-radius);
  background: linear-gradient(180deg, #141a32b8, #0a0e1ed1);
  box-shadow: 0 0 10px #4b49ff38, inset 0 0 0 1px #ffffff05;
  color: #f4f6fb;
  font-size: 16px;
  line-height: 1;
  white-space: nowrap;
  -webkit-font-smoothing: antialiased
}

.progress__card-inner:before {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: inset 0 2px #706effbf, inset -2px 0 #6260ff8c, inset 2px 0 #5a58ff40, inset 0 -2px #5a58ff40
}

.progress__stage {
  position: relative;
  width: 100%;
  max-width: 720px;
  margin: var(--space-7) auto 0;
  aspect-ratio: 1153 / 1545
}

.progress__layer {
  position: absolute;
  display: block;
  height: auto;
  transition: transform .8s cubic-bezier(.22, 1, .36, 1);
  transform: translateY(0)
}

.progress__layer--execution {
  left: 2.18%;
  top: 0;
  width: 95.76%;
  z-index: 4
}

.progress__layer--intelligence {
  left: 2.43%;
  top: 18.49%;
  width: 95.78%;
  z-index: 3
}

.progress__layer--governance {
  left: 0;
  top: 36.48%;
  width: 95.78%;
  z-index: 2
}

.progress__layer--foundation {
  left: .7%;
  top: 54.41%;
  width: 99.3%;
  z-index: 1
}

@media (max-width: 560px) {
  .progress__card-inner {
    font-size: 14px;
    padding: .5em .9em
  }
}

.who {
  padding-block: var(--section-pad-y);
  position: relative;
  overflow: hidden
}

.who__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-6);
  align-items: center
}

.who__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-5)
}

.who__title {
  font: 500 clamp(36px, 5vw, 60px)/1.08 var(--font-sans);
  letter-spacing: -.02em
}

.who__title .accent {
  color: var(--color-text-subtle)
}

.who__body {
  font: 500 20px/1.55 var(--font-sans);
  color: var(--color-text);
  max-width: 534px
}

.who__media {
  position: relative
}

.who__glow {
  position: absolute;
  z-index: 0;
  width: 166%;
  height: 122%;
  background: url(./assets/img/who-glow.png) center / contain no-repeat;
  pointer-events: none
}

.who__glow--1 {
  top: -12%;
  left: -3%
}

.who__glow--2 {
  top: 0;
  left: -46%;
  opacity: .7
}

.who__visual {
  position: relative;
  z-index: 1;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-surface);
  background: #0003;
  overflow: hidden;
  aspect-ratio: 673 / 800
}

.who__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.who__visual:after {
  content: "";
  position: absolute;
  inset: 0;
  background: #0003;
  pointer-events: none
}

@media (max-width: 1023px) {
  .who__inner {
    grid-template-columns: 1fr
  }
}

.results {
  padding-block: var(--section-pad-y);
  position: relative;
  overflow: hidden
}

.results .container {
  position: relative;
  z-index: 1
}

.results__header {
  text-align: center;
  margin-bottom: var(--space-7)
}

.results__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3)
}

@media (max-width: 1023px) {
  .results__grid {
    grid-template-columns: 1fr
  }
}

.contact {
  padding-block: var(--section-pad-y);
  position: relative
}

.contact__inner {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: var(--space-7);
  align-items: start
}

.contact__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  max-width: 534px
}

.contact__title {
  font: 500 clamp(36px, 5vw, 60px)/1.08 var(--font-sans);
  letter-spacing: -.02em
}

.contact__body {
  font: 500 20px/1.55 var(--font-sans);
  color: var(--color-text)
}

@media (max-width: 1023px) {
  .contact__inner {
    grid-template-columns: 1fr
  }
}

/* ── Smooth scroll (opt-in utility) ──────────────────────────────────────
   Add class "smooth-scroll" to a page/post's root element to make in-page
   anchor navigation (e.g. a TOC's #hash links) animate instead of jump.
   :has() lifts it to the scroll root so document-level anchors work;
   scroll-margin-top offsets targets so they clear the sticky .site-nav. */
html:has(.smooth-scroll) {
  scroll-behavior: smooth
}

.smooth-scroll {
  scroll-behavior: smooth
}

.smooth-scroll :where([id]) {
  scroll-margin-top: 5.5rem
}

@media (prefers-reduced-motion:reduce) {

  html:has(.smooth-scroll),
  .smooth-scroll {
    scroll-behavior: auto
  }
}