/* Figma Variables */
:root {
  --black: #000816;
  --white: #ffffff;
  --main-blue: #005bff;
  --gray: #cfcfcf;
  --dark-blue: #00163b;
  --card-glass: rgb(0 91 255 / 0.4);
  --card-dark: var(--dark-blue);

  --font-onest: 'Onest', system-ui, sans-serif;

  --gutter: 20px;
  --margin: 64px;
  --max-width: 1440px;
  --header-height: 68px;

  --radius-button: 14px;
  --radius-card: 20px;
  --radius-hero: 80px;
  --radius-section: 64px;

  --blur-glass: 25px;
  --shadow-card-hover: 0 0 30px rgb(1 174 251 / 45%);
  --shadow-btn-hover: 0 8px 24px rgb(0 91 255 / 0.25);
  --gradient-btn-hover: linear-gradient(266.6deg, #4184ff 0%, #005dff 100%);
  --gradient-btn-hover-p3: linear-gradient(
    266.6deg,
    color(display-p3 0.322 0.51 1) 0%,
    color(display-p3 0 0.357 1) 100%
  );
  --shadow-pill-hover: 0 0 24px rgb(0 91 255 / 0.5);

  --text-nav: 16px;
  --leading-nav: 25px;
  --text-hero-tag: 44px;
  --text-btn-hero: 20px;
  --text-btn-header: 16px;
  --text-stat-label: 24px;
  --leading-stat-label: 31px;
  --text-stat-value: 54px;
  --leading-stat-value: 54px;
  --text-feature-title: 27px;
  --leading-feature-title: 35px;
  --text-body: 20px;
  --leading-body: 1.45;
  --text-section-title: 72px;
  --text-task-title: 40px;
  --text-task-label: 24px;
  --text-prize-label: 24px;
  --text-prize-amount: 96px;
  --text-prize-tag: 16px;
  --text-prize-card-title: 24px;
  --leading-prize-row: 25px;
  --text-reason-heading: 24px;
  --leading-reason-heading: 31px;
  --text-reason-body: 20px;
  --leading-reason-body: 25px;
  --text-team-label: 24px;
  --text-team-name: 24px;
  --text-team-role: 16px;
  --leading-team-role: 1.2;
  --section-gap-lg: 64px;
  --section-gap-md: 40px;

  --accent-blue: #5995ff;
  --text-timeline-date: 32px;
  --text-timeline-date-sm: 25px;
  --text-stats-value: 17px;
  --text-stats-label: 13px;
  --leading-stats-value: 31px;
  --leading-stats-label: 20px;
  --text-stats-heading: 70px;
  --radius-faq: 32px;
  --radius-stat-icon: 12px;
}

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

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-height);
  overflow-x: clip;
}

body {
  margin: 0;
  font-family: var(--font-onest);
  font-weight: 400;
  color: var(--white);
  background: var(--black);
  -webkit-font-smoothing: antialiased;
}

/* ——— Rules page ——— */

.page {
  overflow: hidden;

}
.rules-page {
  padding-block: 64px;
}

.rules-page__inner {
  display: grid;
  gap: 32px;
}

.rules-page__header {
  display: grid;
  gap: 12px;
  max-width: 980px;
}

.rules-page__title {
  margin: 0;
  font-size: clamp(32px, 4vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.rules-page__subtitle {
  margin: 0;
  color: rgb(255 255 255 / 0.75);
  font-size: 18px;
  line-height: 1.4;
}

.rules-doc {
  max-width: 980px;
  display: grid;
  gap: 12px;
  font-size: 18px;
  line-height: 1.6;
}

.rules-doc h2 {
  margin: 28px 0 6px;
  font-size: 26px;
  line-height: 1.2;
}

.rules-doc h3 {
  margin: 18px 0 6px;
  font-size: 20px;
  line-height: 1.25;
}

.rules-doc p {
  margin: 0;
}

.rules-doc ul {
  list-style: none;
  padding-left: 0;
  display: grid;
  gap: 6px;
}

.rules-doc a {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: rgb(255 255 255 / 0.35);
}

.rules-table {
  overflow: auto;
  border: 1px solid rgb(255 255 255 / 0.14);
  border-radius: 16px;
  background: rgb(255 255 255 / 0.04);
  backdrop-filter: blur(12px);
}

.rules-table table {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
}

.rules-table th,
.rules-table td {
  padding: 12px 14px;
  border-bottom: 1px solid rgb(255 255 255 / 0.1);
  text-align: left;
  vertical-align: top;
  font-size: 14px;
  line-height: 1.35;
}

.rules-table th:first-child,
.rules-table td[rowspan]:first-child {
  width: 3rem;
  text-align: center;
  vertical-align: middle;
}

.rules-table td[rowspan]:nth-child(2) {
  width: 8rem;
  vertical-align: middle;
}

.rules-table th:nth-child(3) {
  width: 4.5rem;
  text-align: center;
}

.rules-table th:last-child,
.rules-table td:last-child {
  min-width: 280px;
}

.rules-table thead th {
  position: sticky;
  top: 0;
  background: rgb(0 8 22 / 0.9);
  backdrop-filter: blur(10px);
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

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

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

h1,
h2,
h3,
p {
  margin: 0;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

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

/* ——— Header ——— */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--black);
}

.site-header__inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: var(--max-width);
  height: var(--header-height);
  margin-inline: auto;
  padding-inline: var(--margin);
}

.site-header__logo {
  display: flex;
  align-items: center;
  height: 64px;
  border-radius: 24px;
  animation: header-enter 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: 0.04s;
}

.site-header__logo:focus-visible {
  outline: 2px solid var(--main-blue);
  outline-offset: 2px;
}

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

.menu-button {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  margin-left: auto;
  padding: 0;
  border: 1px solid rgb(255 255 255 / 0.2);
  border-radius: var(--radius-button);
  background: transparent;
  cursor: pointer;
  transition: background-color 0.2s;
  animation: header-enter 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: 0.1s;
}

.menu-button:hover {
  background: rgb(255 255 255 / 0.1);
}

.menu-button:focus-visible {
  outline: 2px solid var(--main-blue);
  outline-offset: 2px;
}

.menu-button__bar {
  display: block;
  width: 20px;
  height: 2px;
  margin-inline: auto;
  background: var(--white);
  border-radius: 1px;
  transition: transform 0.2s, opacity 0.2s;
}

.nav-toggle:checked + .menu-button .menu-button__bar:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.nav-toggle:checked + .menu-button .menu-button__bar:nth-child(2) {
  opacity: 0;
}

.nav-toggle:checked + .menu-button .menu-button__bar:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.site-nav {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: 1080px;
  width: 100%;
}

.site-nav__list {
  display: flex;
  align-items: center;
  gap: 40px;
  padding: 12px 48px;
}

.site-nav__list li {
  animation: header-enter 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.site-nav__list li:nth-child(1) {
  animation-delay: 0.1s;
}

.site-nav__list li:nth-child(2) {
  animation-delay: 0.14s;
}

.site-nav__list li:nth-child(3) {
  animation-delay: 0.18s;
}

.site-nav__list li:nth-child(4) {
  animation-delay: 0.22s;
}

.site-nav__list li:nth-child(5) {
  animation-delay: 0.26s;
}

.site-nav__list li:nth-child(6) {
  animation-delay: 0.3s;
}

.site-nav .btn--header {
  animation: header-enter 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: 0.36s;
}

.nav-link {
  font-size: var(--text-nav);
  line-height: var(--leading-nav);
  white-space: nowrap;
  transition: opacity 0.2s;
}

.nav-link:hover {
  opacity: 0.7;
}

.nav-link:focus-visible {
  border-radius: 4px;
  outline: 2px solid var(--main-blue);
  outline-offset: 4px;
  opacity: 1;
}

/* ——— Buttons ——— */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: inherit;
  font-weight: 700;
  line-height: normal;
  white-space: nowrap;
  border: none;
  cursor: pointer;
  transition:
    background 0.2s,
    background-color 0.2s,
    color 0.2s,
    border-color 0.2s,
    transform 0.2s,
    box-shadow 0.2s;
}

.btn:active {
  transform: scale(0.98);
}

.btn--primary {
  height: 64px;
  padding: 16px 26px;
  font-size: var(--text-btn-hero);
  color: var(--main-blue);
  background: var(--white);
  border-radius: var(--radius-button);
}

.btn--primary:hover {
  color: var(--white);
  background: var(--gradient-btn-hover);
  background: var(--gradient-btn-hover-p3);
  box-shadow: var(--shadow-btn-hover);
}

.btn--primary:focus-visible {
  outline: 2px solid var(--white);
  outline-offset: 2px;
}

.btn--outline {
  height: 64px;
  padding: 16px 26px;
  font-size: var(--text-btn-hero);
  color: var(--white);
  background: transparent;
  border: 2px solid var(--white);
  border-radius: var(--radius-button);
}

.btn--outline:hover {
  background: rgb(255 255 255 / 0.1);
  border-color: rgb(255 255 255 / 0.9);
}

.btn--outline:focus-visible {
  outline: 2px solid var(--main-blue);
  outline-offset: 2px;
}

.btn--header {
  height: 46px;
  padding: 14px 16px;
  font-size: var(--text-btn-header);
  color: var(--main-blue);
  background: var(--white);
  border-radius: var(--radius-button);
}

.btn--header:hover {
  color: var(--white);
  background: var(--gradient-btn-hover);
  background: var(--gradient-btn-hover-p3);
  box-shadow: var(--shadow-btn-hover);
}

.btn--header:focus-visible {
  outline: 2px solid var(--main-blue);
  outline-offset: 2px;
}

/* ——— Hero ——— */
.hero {
  position: relative;
  overflow: hidden;
  border-radius: 0 0 var(--radius-hero) var(--radius-hero);
  min-height: min(1425px, auto);
}

.hero__bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: var(--black);
  pointer-events: none;
}

/* Both layers form one radial figure: the circles are the filled arcs,
   the pattern is the outer spokes. They share a centre, so they must rotate
   together — we rotate the wrapper and position the layers concentrically
   inside it (same proven placement as .site-footer__bg-art). */
.hero__bg-art {
  position: absolute;
  top: -954px;
  left: -264px;
  width: min(3060px, 200vw);
  max-width: none;
  transform-origin: 50% 50%;
  animation: hero-circles-spin 100s linear infinite;
  will-change: transform;
}

.hero__bg-circles {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  opacity: 1;
}

.hero__bg-pattern {
  position: absolute;
  top: 24.58%;
  left: -16.96%;
  width: 80.59%;
  max-width: none;
  height: auto;
}

.hero__content {
  position: relative;
  z-index: 1;
  padding-top: 101px;
  padding-bottom: 64px;
}

.hero__title {
  position: relative;
  margin-bottom: 49px;
}

@media (max-width: 767px) {
  .hero__title {
    margin-bottom: 20px;
  }
}

.hero__title-img {
  display: block;
  width: 100%;
  max-width: 1312px;
  height: auto;
  color: var(--white);
  overflow: visible;
}

.hero__title-char {
  transform-box: fill-box;
  transform-origin: 50% 100%;
  animation: hero-title-char 0.72s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: calc(0.1s + var(--char) * 0.075s);
}

.hero__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px 32px;
  margin-bottom: 122px;
}

.hero__tagline {
  display: flex;
  align-items: center;
  gap: 16px 20px;
  animation: hero-fade-up 0.75s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: 0.28s;
}

@media (max-width: 470px) {
  .hero__tagline  {
    gap: 12px;
  }
}

.hero__tagline-text {
  font-size: clamp(28px, 4vw, var(--text-hero-tag));
  font-weight: 700;
  line-height: normal;
  text-transform: uppercase;
}

@media (max-width: 470px) {
  .hero__tagline-text {
    font-size: 24px;
  }
}

@media (max-width: 354px) {
  .hero__tagline-text {
    font-size: 20px;
  }
}

.hero__tagline-logo {
  width: min(274px, 60vw);
  height: auto;
  margin-top: -7px;
}

@media (max-width: 767px) {
  .hero__tagline-logo {
    width: min(200px, 60vw);
    margin-top: -4px;
  }
}

@media (max-width: 470px) {
  .hero__tagline-logo {
    width: min(145px, 50vw);
    margin-top: -3px;

  }
}

@media (max-width: 354px) {
  .hero__tagline-logo {
    width: min(120px, 50vw);
    margin-top: -2px;
  }
}


.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  animation: hero-fade-up 0.75s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: 0.36s;
}

.hero__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gutter);
}

.hero__grid .glass-card {
  animation: hero-fade-up 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.hero__grid .glass-card:nth-child(1) {
  animation-delay: 0.44s;
}

.hero__grid .glass-card:nth-child(2) {
  animation-delay: 0.52s;
}

.hero__grid .glass-card:nth-child(3) {
  animation-delay: 0.6s;
}

.hero__grid .glass-card:nth-child(4) {
  animation-delay: 0.68s;
}

.hero__grid .glass-card:nth-child(5) {
  animation-delay: 0.76s;
}

.hero__grid .glass-card:nth-child(6) {
  animation-delay: 0.84s;
}

/* ——— Mobile hero background ———
   On desktop the radial art is tuned with fixed px offsets (top: -954px …).
   On narrow screens the hero becomes a tall stacked column, but those offsets
   push the art's bright centre far above the viewport, leaving the lower grid
   on plain black. Here we (1) fill the backdrop with the same deep blue the art
   fades into — so any uncovered area reads as blue, not black — and (2) re-anchor
   and enlarge the art so its glow (which is also its rotation origin, keeping the
   spin centred) sits in the upper-middle and washes down across the cards. */
@media (max-width: 767px) {
  /* A smooth blue radial does the heavy lifting for full-height coverage; the
     SVG arcs are transparent between facets, so this field shows through them
     just like the desktop macto — bright upper-middle fading to deep blue. */
  .hero__bg {
    background:
      radial-gradient(135% 68% at 58% 27%,
        #1255d6 0%,
        #0a3f9e 28%,
        #062a72 50%,
        #021843 74%,
        #000816 96%);
  }

  .hero__bg-art {
    top: -660px;
    left: -945px;
    width: 2400px;
  }
}

@keyframes hero-circles-spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes hero-fade-up {
  from {
    opacity: 0;
    transform: translateY(24px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes hero-title-char {
  from {
    opacity: 0;
    transform: translateY(36px) scale(0.88);
  }

  70% {
    transform: translateY(-4px) scale(1.02);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes header-enter {
  from {
    opacity: 0;
    transform: translateY(-12px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes header-menu-item {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-footer__bg-art,
  .hero__bg-art,
  .hero__title-char,
  .hero__tagline,
  .hero__actions,
  .hero__grid .glass-card,
  .site-header__logo,
  .menu-button,
  .site-nav__list li,
  .site-nav .btn--header,
  .nav-toggle:checked ~ .site-nav .site-nav__list li,
  .nav-toggle:checked ~ .site-nav .btn--header {
    animation: none;
    will-change: auto;
  }

  .site-nav {
    transition: none;
  }

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

/* ——— Scroll reveal (sections after hero) ——— */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: calc(var(--reveal-i, 0) * 0.08s);
}

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

.reveal--left {
  transform: translateX(-24px);
}

.reveal--left.is-visible {
  transform: translateX(0);
}

.reveal--scale {
  transform: translateY(20px) scale(0.96);
}

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

/* ——— Glass cards ——— */
.glass-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-card);
  background: var(--card-glass);
  backdrop-filter: blur(var(--blur-glass));
  -webkit-backdrop-filter: blur(var(--blur-glass));
  transition:
    transform 0.3s,
    box-shadow 0.3s;
}

.glass-card:hover {
  transform: scale(1.01);
  box-shadow: var(--shadow-card-hover);
}

.glass-card:focus-within {
  outline: 2px solid rgb(0 91 255 / 0.6);
  outline-offset: 2px;
}

.glass-card__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 16px;
  min-height: 100%;
  padding: 24px;
}

.glass-card--stat .glass-card__inner {
  min-height: 149px;
}

.glass-card--feature .glass-card__inner {
  justify-content: flex-start;
  gap: 12px;
  min-height: 500px;
  padding-top: 312px;
}

.glass-card__label {
  font-size: var(--text-stat-label);
  line-height: var(--leading-stat-label);
}

.glass-card__value {
  font-size: clamp(36px, 5vw, var(--text-stat-value));
  font-weight: 700;
  line-height: var(--leading-stat-value);
}

.glass-card__value--upper {
  text-transform: uppercase;
}

.glass-card__heading {
  font-size: var(--text-feature-title);
  font-weight: 700;
  line-height: var(--leading-feature-title);
}

.glass-card__text {
  max-width: 376px;
  font-size: var(--text-body);
  line-height: var(--leading-body);
}

.glass-card__glow--stat {
  position: absolute;
  left: 24px;
  bottom: -57px;
  z-index: 0;
  pointer-events: none;
}

.glass-card__glow--stat img {
  position: absolute;
  bottom: 0;
  left: 0;
}

.glass-card__glow--stat img:last-child {
  width: 180px;
}

.glass-card__glow--stat img:first-child {
  width: 206px;
}

/* Feature card decorations */
.glass-card__decor {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.glass-card__decor img {
  position: absolute;
  max-width: none;
}

.decor-glow--lg {
  top: -139px;
  left: -160px;
  width: 277px;
  opacity: 0.9;
}

.decor-glow--md {
  top: -58px;
  left: -75px;
  width: 180px;
}

.decor-glow--br {
  right: -82px;
  bottom: -57px;
  width: 225px;
}

.decor-glow--tr {
  top: -157px;
  right: -108px;
  width: 341px;
}

.decor-glow--bl,
.decor-glow--bl-sm {
  left: -13px;
  bottom: 112px;
}

.decor-glow--bl {
  width: 226px;
}

.decor-glow--bl-sm {
  width: 197px;
}

.decor-illus--spring {
  top: -40px;
  right: -80px;
  width: min(400px, 90%);
  transform: rotate(15deg) scaleY(-1);
}

.decor-blend--spring {
  top: 20px;
  right: -120px;
  width: 480px;
  mix-blend-mode: color;
  opacity: 0.85;
}

.decor-illus--arrow {
  top: -63px;
left: 74px;
width: min(520px, 100%);
transform: rotate(130deg) scaleY(-1);
}

.decor-blend--arrow {
  top: -60px;
  left: -20px;
  width: 400px;
  mix-blend-mode: color;
  opacity: 0.85;
}

.decor-illus--box {
  top: -50px;
  right: -55px;
  width: min(380px, 100%);
  object-fit: cover;
}

.decor-blend--box {
  top: 40px;
  right: -100px;
  width: 420px;
  mix-blend-mode: color;
  opacity: 0.85;
}

/* ——— Tasks ——— */
.tasks {
  padding: 64px 0;
}

@media (max-width: 767px) {
  .tasks {
    padding: 40px 0;
  }
}

.tasks__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px;
  margin-bottom: 64px;
}

.tasks__title {
  font-size: clamp(40px, 6vw, var(--text-section-title));
  font-weight: 700;
  line-height: normal;
}

.tasks__logo {
  width: min(338px, 70vw);
  height: auto;
}

@media (min-width: 767px) {
  .tasks__logo {
    padding: 5px 0 0 0;

  }
}

@media (max-width: 767px) {
  .tasks__logo {
max-width: 200px;

  }
}

.tasks__list {
  display: flex;
  flex-direction: column;
  gap: 52px;
}

.task {
  display: grid;
  grid-template-columns: 202px 1fr;
  gap: 70px;
  align-items: start;
}

.task__pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  width: 202px;
  height: 56px;
  padding: 0 24px;
  font-size: var(--text-task-label);
  line-height: normal;
  color: var(--white);
  background: var(--main-blue);
  border-radius: var(--radius-card);
}

.task__arrow {
  flex-shrink: 0;
  width: 24px;
  height: auto;
}

.task__name {
  margin-bottom: 20px;
  font-size: clamp(26px, 3.5vw, var(--text-task-title));
  font-weight: 700;
  line-height: normal;
  max-width: 1040px;
}

.task__desc {
  max-width: 1040px;
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--gray);
}

/* ——— Prize pool ——— */
.prize-pool {
  position: relative;
  padding: var(--section-gap-lg) 0 80px;
  overflow: hidden;
  background: var(--black);
  border-radius: var(--radius-section) var(--radius-section) 0 0;
}

.prize-pool__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.prize-pool__bg img {
  position: absolute;
  top: -50%;
  left: 50%;
  width: 100%;
  min-width: 1440px;
  max-width: none;
  height: auto;
  transform: translateX(-50%);
}

.prize-pool__inner {
  position: relative;
  z-index: 1;
}

.prize-pool__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-bottom: var(--section-gap-lg);
  text-align: center;
}

.prize-pool__label {
  font-size: var(--text-prize-label);
  font-weight: 700;
  line-height: normal;
}

.prize-pool__amount {
  font-size: clamp(48px, 10vw, var(--text-prize-amount));
  font-weight: 700;
  line-height: normal;
  /* font-variant-numeric: tabular-nums; */
}

.prize-pool__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gutter);
}

.prize-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-height: 460px;
  padding: 32px;
  overflow: hidden;
  color: var(--black);
  background: var(--white);
  border-radius: var(--radius-card);
  transition:
    transform 0.3s,
    box-shadow 0.3s;
}

.prize-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
}

.prize-card:focus-within {
  outline: 2px solid var(--main-blue);
  outline-offset: 2px;
}

.prize-card__bg {
  position: absolute;
  left: 50%;
  top: 0;
  width: 100%;
  transform: translate(-50%, 50%);
  pointer-events: none;
}

.prize-card--flip .prize-card__bg {
  bottom: 0;
  top: auto;
  transform: translate(-50%, -50%) rotate(180deg);
}

.prize-card__bg-shapes {
  position: absolute;
  left: 50%;
  top: 48%;
  width: 100%;
  max-width: none;
  transform: translate(-50%, -50%) rotate(-63deg);
}

.prize-card__bg-pattern {
  position: absolute;
  left: 50%;
  top: 68%;
  width: 60%;
  max-width: none;
  transform: translate(-50%, -50%) rotate(-63deg);
}

.prize-card__tag {
  position: relative;
  z-index: 1;
  font-size: var(--text-prize-tag);
  font-weight: 700;
  line-height: normal;
  color: var(--main-blue);
}

.prize-card__title {
  position: relative;
  z-index: 1;
  flex: 1;
  font-size: var(--text-prize-card-title);
  font-weight: 400;
  line-height: normal;
}

.prize-card__rows {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.prize-card__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-top: 12px;
  font-size: var(--text-prize-label);
  line-height: var(--leading-prize-row);
  border-top: 1px solid rgb(0 8 22 / 0.12);
}

.prize-card__row:first-child {
  padding-top: 0;
  border-top: none;
}

.prize-card__sum {
  font-weight: 400;
  text-align: right;
}

.prize-card__currency {
  color: var(--main-blue);
}

/* ——— Reasons ——— */
.reasons {
  padding-bottom: var(--section-gap-lg);
}

.reasons__inner {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 24px 32px;
}

.reasons__header {
  grid-column: 1;
  grid-row: 1;
  margin-bottom: calc(var(--section-gap-md) - 24px);
}

.reasons__inner > .btn--reasons {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  justify-self: end;
}

.reasons__grid {
  grid-column: 1 / -1;
  grid-row: 2;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(2, minmax(320px, auto));
  gap: var(--gutter);
}

.reasons__title {
  font-size: clamp(40px, 6vw, var(--text-section-title));
  font-weight: 700;
  line-height: 1.25;
}

.btn--reasons {
  height: 79px;
  padding: 24px 40px;
  font-size: var(--text-reason-heading);
  color: var(--white);
  background: var(--main-blue);
  border-radius: var(--radius-button);
}

.btn--reasons:hover {
  background: #1a6fff;
  box-shadow: var(--shadow-btn-hover);
}

.btn--reasons:focus-visible {
  outline: 2px solid var(--white);
  outline-offset: 2px;
}

.reason-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-card);
  background: var(--card-dark);
  transition:
    transform 0.3s,
    box-shadow 0.3s;
}

.reason-card:hover {
  transform: scale(1.01);
  box-shadow: var(--shadow-card-hover);
}

.reason-card:focus-within {
  outline: 2px solid rgb(0 91 255 / 0.6);
  outline-offset: 2px;
}

.reason-card--experience {
  grid-column: 1 / span 2;
  grid-row: 1;
}

.reason-card--engineering {
  grid-column: 3 / span 2;
  grid-row: 1;
}

.reason-card--mentorship {
  grid-column: 5 / span 2;
  grid-row: 1;
}

.reason-card--artifacts {
  grid-column: 1 / span 3;
  grid-row: 2;
}

.reason-card--conference {
  grid-column: 4 / span 3;
  grid-row: 2;
}

.reason-card__decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.reason-card__decor img {
  position: absolute;
  max-width: none;
}

.reason-glow--tr {
  top: -18px;
  right: -42px;
  width: 277px;
}

.reason-glow--tl {
  top: -70px;
  left: -114px;
  width: 206px;
}

.reason-glow--tl-sm {
  top: -70px;
  left: -114px;
  width: 180px;
}

.reason-illus--experience {
  top: -138px;
  right: -40px;
  width: min(402px, 95%);
  /* filter: blur(7px); */
  transform: rotate(14.74deg);
}

@media (max-width: 767px) {
  .reason-illus--experience {
    right: -70px;
  }
}

.reason-blend {
  top: -42px;
  right: -60px;
  width: 334px;
  mix-blend-mode: color;
  opacity: 0.9;
}

.reason-glow--br {
  right: 21px;
  bottom: -27px;
  width: 206px;
}

.reason-glow--br-sm {
  right: 47px;
  bottom: -27px;
  width: 180px;
}

.reason-glow--tc {
  top: -105px;
  left: 132px;
  width: 209px;
}

.reason-illus--engineering {
  top: -53px;
  right: 0;
  width: min(341px, 70%);
  /* filter: blur(3.5px); */
}

.reason-blend--engineering {
  top: -60px;
  left: 132px;
  width: 334px;
}

.reason-glow--bl {
  left: 78px;
  bottom: -29px;
  width: 211px;
}

.reason-glow--bl-sm {
  left: 78px;
  bottom: -29px;
  width: 184px;
}

.reason-glow--tr-lg {
  top: -88px;
  right: -36px;
  width: 248px;
}

.reason-illus--mentorship {
  top: -90px;
  right: -80px;
  width: min(392px, 90%);
  /* filter: blur(5.5px); */
  transform: rotate(10.37deg);
}

.reason-blend--mentorship {
  top: -41px;
  right: -35px;
  width: 293px;
}

.reason-glow--artifacts-tr {
  top: -70px;
  right: 31px;
  width: 230px;
}

.reason-glow--artifacts-m {
  left: 97px;
  bottom: -36px;
  width: 226px;
}

.reason-glow--artifacts-m-sm {
  left: 97px;
  bottom: -36px;
  width: 197px;
}

.reason-illus--artifacts {
  top: -15px;
  right: -60px;
  width: min(350px, 70%);
  transform: rotate(10.43deg);
  object-fit: cover;
}

@media (max-width: 767px) {
  .reason-illus--artifacts {
    top: -10px;
    right: -30px;
  }
}

.reason-blend--artifacts {
  top: -106px;
  right: -80px;
  width: 421px;
}



.reason-glow--conf-br {
  right: 0;
  bottom: -52px;
  width: 206px;
}

.reason-glow--conf-tl {
  top: -76px;
  left: -83px;
  width: 230px;
}

.reason-glow--conf-br-sm {
  right: 26px;
  bottom: -52px;
  width: 180px;
}

.reason-illus--conference {
  top: 0;
  right: -80px;
  width: min(439px, 80%);
}

@media (max-width: 767px) {
  .reason-illus--conference {
    right: -30px;
  }
}

.reason-blend--conference {
  top: -49px;
  right: -20px;
  width: 334px;
}

.reason-card__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 12px;
  min-height: 320px;
  padding: 32px;
  padding-top: 170px;
}

.reason-card__content--wide .reason-card__text {
  max-width: 498px;
}

.reason-card__heading {
  font-size: var(--text-reason-heading);
  font-weight: 700;
  line-height: var(--leading-reason-heading);
}

.reason-card__text {
  max-width: 360px;
  font-size: var(--text-reason-body);
  line-height: var(--leading-reason-body);
}

@media (max-width: 767px) {
  .reason-card__text {
    font-size: 15px;
  }
}

/* ——— Team ——— */
.team {
  position: relative;
  padding: var(--section-gap-lg) 0 80px;
  overflow: hidden;
  background: var(--dark-blue);
  border-radius: var(--radius-section) var(--radius-section) 0 0;
}

.team__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-bottom: 32px;
  text-align: center;
}

.team__label {
  font-size: var(--text-team-label);
  font-weight: 700;
  line-height: normal;
}

.team__logo {
  width: min(440px, 90vw);
  height: auto;
}

.team__intro {
  max-width: 832px;
  margin: 0 auto 32px;
  font-size: var(--text-team-role);
  line-height: var(--leading-body);
  text-align: center;
}

.team__bg {
  position: absolute;
  bottom: -220px;
  right: 0;
  width: 40%;
  height: 45%;
  object-fit: cover;
  z-index: 1;
}

@media (min-width: 1500px) {
  .team__bg {
    bottom: -140px;
  }
}

@media (max-width: 1200px) {
  .team__bg {
    display: none;
  }
}

.team__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px 24px;
  width: 100%;
  min-width: 0;
  z-index: 2;
}

.team__grid .team-member:nth-child(5) {
  grid-column: 1;
  grid-row: 2;
}

.team__grid .team-member:nth-child(6) {
  grid-column: 2;
  grid-row: 2;
}

.team__grid .team-member:nth-child(7) {
  grid-column: 3;
  grid-row: 2;
}

.team__grid .team-member:nth-child(8) {
  grid-column: 1;
  grid-row: 3;
}

.team__grid .team-member:nth-child(9) {
  grid-column: 2;
  grid-row: 3;
}


.team-member {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
  max-width: 100%;
}

.team-member__photo {
  position: relative;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: var(--radius-card);
  background: radial-gradient(
    ellipse 80% 80% at 20% 88%,
    var(--main-blue) 23%,
    #0046c5 43%,
    #00328b 62%,
    #001d51 81%,
    #000816 100%
  );
  transition: transform 0.3s;
}

@media (hover: hover) {
  .team-member:hover .team-member__photo {
    transform: scale(1.02);
  }
}

.team-member__photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center bottom;
}

.team-member__info {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.team-member__name {
  font-size: var(--text-team-name);
  font-weight: 700;
  line-height: normal;
  overflow-wrap: anywhere;
}

.team-member__role {
  font-size: var(--text-team-role);
  line-height: var(--leading-team-role);
  color: var(--gray);
  overflow-wrap: anywhere;
}

.team-member:focus-within .team-member__name {
  color: var(--main-blue);
}

/* ——— Timeline ——— */
.timeline {
  position: relative;
  min-height: 1090px;
  padding: var(--section-gap-lg) var(--margin);
  overflow-x: clip;
}

.timeline__bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.timeline__bg-image {
  position: absolute;
  top: -160px;
  left: 50%;
  width: 100vw;
  min-height: 1440px;
  max-width: none;
  height: auto;
  object-fit: cover;
  object-position: center top;
  transform: translateX(-50%);
  filter: blur(5px);
  opacity: 0.9;
}

.timeline__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: clamp(32px, 8vw, 120px);
  width: 100%;
  max-width: 1312px;
  margin-inline: auto;
  padding: 0 clamp(16px, 4vw, 48px);
  
}

.timeline__title {
  position: sticky;
  top: calc(var(--header-height) + var(--section-gap-lg));
  z-index: 2;
  flex: 0 0 auto;
  align-self: flex-start;
  max-width: 345px;
  padding-top: 0;
  font-size: clamp(40px, 6vw, var(--text-section-title));
  font-weight: 700;
  line-height: normal;
}

.timeline__body {
  display: flex;
  flex: 0 1 641px;
  align-items: stretch;
  gap: 28px;
  padding-top: 20px;
  /*backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  background: linear-gradient(
    90deg,
    rgb(0 8 22 / 0) 0.34%,
    rgb(0 8 22 / 0.7) 22.57%,
    rgb(0 8 22 / 0.7) 70.63%,
    rgb(0 8 22 / 0) 99.62%
  );*/
}

.timeline__line-wrap {
  display: flex;
  flex-shrink: 0;
  align-self: stretch;
  width: 32px;
}

.timeline__line {
  width: 32px;
  height: 100%;
  min-height: 100%;
  object-fit: fill;
}

.timeline__events {
  display: flex;
  flex-direction: column;
  gap: var(--section-gap-md);
}

.timeline-event {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.timeline-event--multi {
  gap: 12px;
}

.timeline-event--multi .timeline-event__details + .timeline-event__details {
  margin-top: 16px;
}

.timeline-event__date {
  font-size: clamp(24px, 3vw, var(--text-timeline-date));
  font-weight: 700;
  line-height: 40px;
}

.timeline-event__date--sm {
  font-size: var(--text-timeline-date-sm);
  line-height: 31px;
}

.timeline-event__title {
  font-size: var(--text-body);
  line-height: var(--leading-reason-body);
}

.timeline-event__details {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.timeline-event__note {
  font-size: var(--text-body);
  font-weight: 700;
  line-height: var(--leading-reason-body);
  color: var(--accent-blue);
}

/* ——— Squad ——— */
.squad {
  padding: var(--section-gap-lg) 0;
}

.squad__header {
  margin-bottom: var(--section-gap-lg);
  text-align: center;
}

.squad__title {
  margin-bottom: 12px;
  font-size: clamp(40px, 6vw, var(--text-section-title));
  font-weight: 700;
  line-height: normal;
}

@media (max-width: 767px) {
  .squad__title {
    text-align: left;
  }
}

.squad__intro {
  max-width: 868px;
  margin-inline: auto;
  font-size: var(--text-prize-label);
  line-height: var(--leading-body);
  color: var(--gray);
}

@media (max-width: 767px) {
  .squad__intro {
    text-align: left;
    font-size: 16px;
  }
}

.squad__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gutter);
  align-items: stretch;
  margin-bottom: 20px;
}

.squad-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 574px;
  padding: 24px;
  overflow: hidden;
  color: var(--white);
  background: var(--main-blue);
  border-radius: var(--radius-card);
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  will-change: transform;
  transition:
    transform 0.3s,
    box-shadow 0.3s;
}

.squad-card:hover {
  transform: translateY(-4px) translateZ(0);
  -webkit-transform: translateY(-4px) translateZ(0);
  box-shadow: var(--shadow-card-hover);
}

.squad-card__bg {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 200%;
  aspect-ratio: 1;
  transform: translate(-50%, -20%);
  opacity: 0.35;
  mix-blend-mode: overlay;
  pointer-events: none;
}

.squad-card__circles,
.squad-card__pattern {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.squad-card__visual {
  position: relative;
  z-index: 1;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 320px;
  max-width: 360px;
  margin-inline: auto;
  pointer-events: none;
}

.squad-card__visual img {
  display: block;
  width: min(100%, 320px);
  height: auto;
  object-fit: contain;
}

.squad-card__tag {
  position: relative;
  z-index: 1;
  font-size: var(--text-prize-tag);
  font-weight: 700;
  line-height: normal;
}

.squad-card__name {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  min-height: 4.5em;
  max-width: 360px;
  font-size: var(--text-body);
  font-weight: 700;
  line-height: normal;
}

.squad-card__team {
  position: relative;
  z-index: 1;
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  gap: 13px;
  margin-top: auto;
}

.squad-card__team-label {
  font-size: var(--text-body);
  font-weight: 700;
  line-height: var(--leading-reason-body);
}

.squad-card__divider {
  width: 100%;
  height: 1px;
}

.squad-card__team-desc {
  min-height: 6.25em;
  max-width: 360px;
  font-size: var(--text-body);
  line-height: var(--leading-reason-body);
}

.squad__footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 64px;
  text-align: center;
}

@media (max-width: 767px) {
  .squad__footer {
    gap: 32px;
  }
}

.squad__disclaimer {
  font-size: 16px;
  line-height: var(--leading-body);
  color: var(--gray);
  opacity: 0.6;
}

.btn--squad {
  height: 79px;
  padding: 24px 40px;
  font-size: var(--text-reason-heading);
  color: var(--main-blue);
  background: var(--white);
  border-radius: var(--radius-button);
}

.btn--squad:hover {
  background: #e8eeff;
  box-shadow: var(--shadow-btn-hover);
}

.btn--squad:focus-visible {
  outline: 2px solid var(--main-blue);
  outline-offset: 2px;
}

/* ——— Stats ——— */
.stats {
  padding: var(--section-gap-lg) 0;
}

.stats__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-bottom: var(--section-gap-lg);
}

@media screen and (max-width: 575px) {
  .stats__header {
    justify-content: flex-start;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    gap: 8px;
    margin-bottom: 32px;

  }
}

.stats__logo {
  width: min(175px, 45vw);
  height: auto;
}

@media screen and (max-width: 575px) {
  .stats__logo {
    max-width: 130px;

  }
}

@media screen and (min-width: 442px) {
  .stats__logo {
    padding: 10px 0 0 0;

  }
}

.stats__title {
  font-size: clamp(40px, 8vw, var(--text-stats-heading));
  font-weight: 700;
  line-height: normal;
}

.stats__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(260px, 270px));
  justify-content: center;
  gap: 32px 64px;
  max-width: 1120px;
  margin-inline: auto;
}

@media screen and (max-width: 575px) {
  .stats__grid {
    gap: 16px;
  }
}

.stat-item {
  display: flex;
  gap: 16px;
  align-items: center;
}

@media screen and (max-width: 575px) {
  .stat-item {
    gap: 24px;
  }
}

.stat-item__icon {
  position: relative;
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  overflow: hidden;
  border-radius: var(--radius-stat-icon);
  background: var(--dark-blue);
}

.stat-item__icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.stat-item__icon--empty {
  background: var(--dark-blue);
}

.stat-item__value {
  font-size: var(--text-stats-value);
  font-weight: 700;
  line-height: var(--leading-stats-value);
}

.stat-item__label {
  font-size: var(--text-stats-label);
  line-height: var(--leading-stats-label);
}

/* ——— Video ——— */
.video-block {
  position: relative;
  z-index: 2;
  padding: 32px 0 var(--section-gap-lg);
}

.video-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  text-align: center;
  background: var(--dark-blue);
  border-radius: var(--radius-card);
}

.video-card__title {
  position: relative;
  z-index: 1;
  margin-bottom: auto;
  font-size: clamp(32px, 6vw, var(--text-section-title));
  font-weight: 700;
  line-height: normal;
}

.video-card__title:empty {
  display: none;
}

.video-card__media {
  position: relative;
  z-index: 1;
  width: 100%;
  flex: 1 1 auto;
  overflow: hidden;
  border-radius: 12px;
}

.video-card__video {
  display: block;
  width: 100%;
  height: auto;
  background: var(--dark-blue);
}

.video-card__play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 135px;
  height: 135px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  transform: translate(-50%, -50%);
  transition:
    transform 0.2s,
    opacity 0.2s,
    visibility 0.2s;
}

.video-card__play:hover {
  transform: translate(-50%, -50%) scale(1.05);
}

.video-card__play:focus-visible {
  outline: 2px solid var(--white);
  outline-offset: 4px;
  border-radius: 50%;
}

.video-card__play img {
  display: block;
  width: 135px;
  height: 135px;
}

@media screen and (max-width: 991px) {
  .video-card__play img {
    width: 100px;
    height: 100px;
  }
}

@media screen and (max-width: 767px) {
  .video-card__play img {
    width: 48px;
    height: 48px;
  }
}

.video-card.is-playing .video-card__play {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.video-card__brand {
  position: relative;
  z-index: 1;
  width: min(220px, 60vw);
  height: auto;
  margin-top: auto;
}

/* ——— Chat CTA ——— */
.chat-cta {
  position: relative;
  z-index: 1;
  padding: 60px 0 40px 0;
  text-align: center;
  background: transparent;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

@media screen and (min-width: 991px) {
  .chat-cta {
    min-height: 524px;
  }
}

.chat-cta__bg {
  position: absolute;
  top: 70%;
  right: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 200%;
  pointer-events: none;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .chat-cta__bg {
    display: none;
  }
}

.chat-cta__bg img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
}

.chat-cta__decor {
  position: absolute;
  z-index: 2;
  pointer-events: none;
  max-width: 300px;
}

.chat-cta__decor img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  filter: blur(1px);
}

.chat-cta__decor--left {
  top: 112px;
  left: 19px;
  width: min(470px, 34vw);
}

.chat-cta__decor--left img {
  transform: rotate(162.22deg) scaleY(-1);
}

.chat-cta__decor--right {
  top: -53px;
  right: 0;
  width: min(535px, min(38vw, 100%));
}

.chat-cta__decor--right img {
  transform: rotate(14.38deg);
}

.chat-cta__inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.chat-cta__label {
  font-size: var(--text-timeline-date);
  font-weight: 700;
  line-height: normal;
  text-transform: uppercase;
}

.chat-cta__logo {
  width: min(440px, 90vw);
  height: auto;
}

.chat-cta__text {
  max-width: 645px;
  font-size: var(--text-body);
  line-height: var(--leading-reason-body);
}

.btn--chat {
  margin-top: 24px;
  height: 79px;
  padding: 24px 40px;
  font-size: var(--text-reason-heading);
  color: var(--main-blue);
  background: var(--white);
  border-radius: var(--radius-button);
}

.btn--chat:hover {
  background: #e8eeff;
  box-shadow: var(--shadow-btn-hover);
}

.btn--chat:focus-visible {
  outline: 2px solid var(--main-blue);
  outline-offset: 2px;
}

/* ——— FAQ ——— */
.faq {
  position: relative;
  z-index: 2;
  padding: var(--section-gap-lg) 0 120px;
}

.faq__title {
  margin-bottom: var(--section-gap-md);
  font-size: clamp(40px, 6vw, var(--text-section-title));
  font-weight: 700;
  line-height: normal;
  text-align: center;
}

.faq__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-width: 868px;
  margin-inline: auto;
}

.faq-item {
  overflow: hidden;
  background: var(--dark-blue);
  border-radius: var(--radius-faq);
  transition: background-color 0.2s;
}

.faq-item[open] {
  background: var(--main-blue);
}

.faq-item__summary {
  display: flex;
  gap: 48px;
  align-items: center;
  padding: 8px 8px 8px 40px;
  list-style: none;
  cursor: pointer;
}

.faq-item__summary::-webkit-details-marker {
  display: none;
}

.faq-item__summary::marker {
  content: '';
}

.faq-item__question {
  flex: 1;
  padding: 12px 0;
  font-size: var(--text-body);
  font-weight: 700;
  line-height: normal;
  text-align: left;
}

.faq-item__toggle {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  background: url('../images/faq-icon-open.svg') center / contain no-repeat;
  transition: transform 0.2s;
}

.faq-item[open] .faq-item__toggle {
  background-image: url('../images/faq-icon-close.svg');
}

.faq-item__summary:hover .faq-item__toggle {
  transform: scale(1.05);
}

.faq-item__summary:focus-visible {
  outline: 2px solid var(--white);
  outline-offset: -2px;
  border-radius: var(--radius-faq);
}

.faq-item__answer {
  padding: 0 40px 20px;
}

.faq-item__answer p {
  font-size: var(--text-team-role);
  line-height: var(--leading-body);
  color: var(--gray);
}

.faq-item[open] .faq-item__answer p {
  color: rgb(255 255 255 / 0.85);
}

.faq-item__answer a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ——— Site footer ——— */
.site-footer {
  position: relative;
  padding: 64px 0 64px;
  overflow: hidden;
  background: var(--black);
  border-radius: var(--radius-section) var(--radius-section) 0 0;
}

.site-footer__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: var(--black);
  pointer-events: none;
}

/* Hero artboard: circles 3060×3060, pattern offset −519px / +752px, width 80.59%.
   Circles (filled arcs) + pattern (outer spokes) are one radial figure sharing a
   centre, so the whole wrapper rotates as a unit — that keeps the spokes tracing
   the arc edges instead of creeping across the circles. */
.site-footer__bg-art {
  position: absolute;
  top: -58vw;
  left: calc(50% - min(1530px, 100vw));
  width: min(3060px, 200vw);
  pointer-events: none;
  transform-origin: 50% 50%;
  animation: hero-circles-spin 100s linear infinite;
  will-change: transform;
}

.site-footer__bg-circles {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
}

.site-footer__bg-pattern {
  position: absolute;
  top: 24.58%;
  left: -16.96%;
  width: 80.59%;
  max-width: none;
  height: auto;
}

.site-footer__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto auto;
  gap: 24px 40px;
  align-items: start;
}

.site-footer__logo {
  grid-column: 1;
  grid-row: 1;
  width: min(440px, 80vw);
  height: auto;
}

.site-footer__terms {
  grid-column: 1;
  grid-row: 2;
  font-size: var(--text-reason-heading);
  font-weight: 700;
  line-height: var(--leading-reason-heading);
  text-decoration: underline;
  transition: opacity 0.2s;
}

.site-footer__terms:hover {
  opacity: 0.75;
}

.site-footer__terms:focus-visible {
  outline: 2px solid var(--main-blue);
  outline-offset: 4px;
  border-radius: 4px;
}

.site-footer__partners {
  grid-column: 1;
  grid-row: 3;
  display: flex;
  flex-wrap: wrap;
  gap: 32px 48px;
}

.site-footer__partner {
  display: flex;
  flex-direction: column;
  width: 280px;
}

.site-footer__partner-link {
  display: flex;
  align-items: center;
  height: 49px;
  max-width: 240px;
}

.site-footer__partner p {
  margin-top: 8px;
  font-size: var(--text-body);
  line-height: var(--leading-reason-body);
}

.site-footer__partner--organizer img {
  width: auto;
  height: 49px;
  max-width: 100%;
}

.site-footer__partner--oxygen img {
  width: auto;
  height: 26px;
  max-width: 100%;
}

.site-footer__social {
  grid-column: 2;
  grid-row: 3;
  display: flex;
  gap: var(--gutter);
  align-self: end;
}

.site-footer__social-link {
  display: block;
  border-radius: var(--radius-card);
  transition:
    transform 0.2s,
    opacity 0.2s;
}

.site-footer__social-link:hover {
  transform: scale(1.05);
  opacity: 0.9;
}

.site-footer__social-link:focus-visible {
  outline: 2px solid var(--main-blue);
  outline-offset: 2px;
}

.site-footer__social-link img {
  width: 64px;
  height: 64px;
}

/* ——— Responsive ——— */
@media (max-width: 1200px) {
  :root {
    --margin: 40px;
  }

  .hero__row {
    margin-bottom: 80px;
  }

  .glass-card--feature .glass-card__inner {
    min-height: 480px;
    padding-top: 292px;
  }

  .task {
    gap: 40px;
  }

  .prize-pool__cards {
    grid-template-columns: 1fr;
  }

  .prize-card {
    min-height: 400px;
  }

  .reasons__grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
  }

  .reason-card--experience,
  .reason-card--engineering,
  .reason-card--mentorship,
  .reason-card--artifacts,
  .reason-card--conference {
    grid-column: span 1;
    grid-row: auto;
  }

  .reason-card--artifacts {
    grid-column: span 2;
  }

  .reason-card--conference {
    grid-column: span 2;
  }

  .team__grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .team__grid .team-member:nth-child(-n+4),
  .team__grid .team-member:nth-child(n+5) {
    grid-column: span 1;
    grid-row: auto;
  }

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

  .squad-card__name {
    min-height: 0;
  }

  .squad-card__visual {
    min-height: 280px;
  }

  .squad-card__team-desc {
    min-height: 0;
  }

  .stats__grid {
    grid-template-columns: repeat(2, minmax(260px, 280px));
    justify-content: center;
    max-width: 820px;
    gap: 28px 56px;
  }
}

@media (max-width: 1023px) {
  .menu-button {
    display: flex;
  }

  .site-nav {
    position: absolute;
    top: var(--header-height);
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 16px var(--margin) 24px;
    background: var(--black);
    border-top: 1px solid rgb(255 255 255 / 0.1);
    visibility: hidden;
    opacity: 0;
    transform: translateY(-10px);
    pointer-events: none;
    transition:
      visibility 0s linear 0.28s,
      opacity 0.28s ease,
      transform 0.28s ease;
  }

  .nav-toggle:checked ~ .site-nav {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    transition:
      visibility 0s,
      opacity 0.28s ease,
      transform 0.28s ease;
  }

  .nav-toggle:checked ~ .site-nav .site-nav__list li {
    animation: header-menu-item 0.32s cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  .nav-toggle:checked ~ .site-nav .site-nav__list li:nth-child(1) {
    animation-delay: 0.04s;
  }

  .nav-toggle:checked ~ .site-nav .site-nav__list li:nth-child(2) {
    animation-delay: 0.08s;
  }

  .nav-toggle:checked ~ .site-nav .site-nav__list li:nth-child(3) {
    animation-delay: 0.12s;
  }

  .nav-toggle:checked ~ .site-nav .site-nav__list li:nth-child(4) {
    animation-delay: 0.16s;
  }

  .nav-toggle:checked ~ .site-nav .site-nav__list li:nth-child(5) {
    animation-delay: 0.2s;
  }

  .nav-toggle:checked ~ .site-nav .site-nav__list li:nth-child(6) {
    animation-delay: 0.24s;
  }

  .nav-toggle:checked ~ .site-nav .btn--header {
    animation: header-menu-item 0.32s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 0.28s;
  }

  .site-nav__list {
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    padding: 0;
  }

  .nav-link {
    display: block;
    padding: 12px;
    border-radius: var(--radius-button);
  }

  .btn--header {
    width: 100%;
  }

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

  .glass-card--feature {
    grid-column: span 2;
  }

  .glass-card--feature .glass-card__inner {
    min-height: 400px;
  }

  .task {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .reasons__inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
  }

  .reasons__header {
    margin-bottom: calc(var(--section-gap-md) - 20px);
  }

  .reasons__inner > .btn--reasons {
    grid-column: auto;
    grid-row: auto;
    align-self: stretch;
    justify-self: stretch;
    width: 100%;
  }

  .reasons__grid {
    grid-column: auto;
    grid-row: auto;
    grid-template-columns: 1fr;
  }

  .reason-card--artifacts,
  .reason-card--conference {
    grid-column: span 1;
  }

  .timeline__inner {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
  }

  .timeline__title {
    position: static;
    max-width: none;
    margin-bottom: 8px;
  }

  .timeline__body {
    flex: 1 1 auto;
    padding-top: 0;
  }

  .squad-card {
    min-height: 520px;
  }

  .site-footer__inner {
    grid-template-columns: 1fr;
  }

  .site-footer__social {
    grid-column: 1;
    grid-row: 4;
    justify-content: flex-start;
  }

  .chat-cta__decor {
    opacity: 0.4;
  }
}

@media (max-width: 767px) {
  :root {
    --margin: 20px;
  }

  .hero {
    border-radius: 0 0 36px 36px;
  }

  .hero .hero__bg {
    inset: 0;
    width: auto;
    height: auto;
    overflow: hidden;
  }

  .hero .hero__bg-art {
    top: clamp(-520px, -90vw, -280px);
    left: calc(50% - min(520px, 72vw));
    width: min(3060px, 260vw);
    max-width: none;
  }

  .site-footer__bg-art {
    top: -52vw;
    left: calc(50% - min(1530px, 120vw));
    width: min(3060px, 240vw);
  }

  .prize-pool,
  .team {
    border-radius: 40px 40px 0 0;
  }

  .hero__content {
    padding-top: 80px;
    padding-bottom: 40px;
  }

  .hero__row {
    margin-bottom: 48px;
  }

  .btn--primary,
  .btn--outline {
    width: 100%;
  }

  .hero__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .glass-card--feature {
    grid-column: span 1;
    background: rgb(0 100 255 / 60%);
    position: relative;

  }

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

  .glass-card--feature-1::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 80%;
    height: 80%;
    background: url('../images/elem.webp') no-repeat center center;
    background-size: cover;
  }

  .glass-card--feature-1::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 100, 255, 0.4);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    
  }

  .glass-card--feature-2::before {
    content: '';
    position: absolute;
    top: 0;
    left: -40px;
    width: 80%;
    height: 100%;
    background: url('../images/elem-2.webp') no-repeat center center;
    background-size: cover;
  }

  .glass-card--feature-2::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 100, 255, 0.2);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  
  }

  .glass-card--feature-3::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 60%;
    height: 60%;
    background: url('../images/elem-3.webp') no-repeat center center;
    background-size: cover;
  }

  .glass-card--feature-3::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 120%;
    height: 120%;
    /* background: rgba(0, 100, 255, 0.2); */
    background: rgba(2 91 255 / 0.4);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  
  }


  .glass-card--stat .glass-card__inner {
    min-height: 0;
    padding: 20px;
    gap: 12px;
  }

  .glass-card--feature .glass-card__decor {
    display: none;
  }

  .glass-card--feature .glass-card__inner {
    min-height: 0;
    justify-content: flex-start;
    gap: 16px;
    padding: 20px;
  }

  .glass-card--feature .glass-card__heading {
    font-size: 24px;
    line-height: 32px;
  }

  .glass-card--feature .glass-card__text {
    max-width: none;
  }

  .tasks__header {
    margin-bottom: 32px;
    gap: 8px;
  }




  .tasks__list {
    gap: 40px;
  }

  .prize-card {
    min-height: auto;
    padding: 24px;
  }

  .prize-card__bg {
    opacity: 0.6;
  }

  .reason-card__content {
    min-height: 180px;
    padding: 20px;
    padding-top: 80px;
  }

  .reason-card__decor img {
    opacity: 0.75;
  }

  .timeline {
    min-height: auto;
  }

  .timeline__bg-image {
    opacity: 0.55;
  }

  .faq-item__summary {
    padding-left: 24px;
    gap: 16px;
  }

  .faq-item__answer {
    padding-inline: 24px;
  }

  .site-footer,
  .prize-pool,
  .team {
    border-radius: 40px 40px 0 0;
  }

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

@media (max-width: 575px) {

  .team__grid {
    gap: 24px 16px;
  }
  .team-member__name {
    font-size: 14px;
  }

  .team-member__role {
    font-size: 14px;
  }

  .team-member__info {
    gap: 8px;
  }
}
