@font-face {
  font-family: "Geologica";
  src: url("assets/fonts/geologica-200.ttf") format("truetype");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Geologica";
  src: url("assets/fonts/geologica-300.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Geologica";
  src: url("assets/fonts/geologica-400.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Geologica";
  src: url("assets/fonts/geologica-500.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Geologica";
  src: url("assets/fonts/geologica-600.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Geologica";
  src: url("assets/fonts/geologica-700.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --orange: #f47f00;
  --ink: #050505;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  background: #fff;
  color: var(--ink);
  font-family: "Geologica", Arial, sans-serif;
}

button, a { font: inherit; }

button { cursor: pointer; }

.hero {
  isolation: isolate;
  position: relative;
  min-height: 850px;
  overflow: hidden;
}

.hero__photo {
  --hero-photo: url("assets/raw-image-1.webp");
  position: absolute;
  z-index: -2;
  inset: 0 0 72px;
  background-image: linear-gradient(rgba(255, 255, 255, .3), rgba(255, 255, 255, .3)), var(--hero-photo);
  background-position: center;
  background-size: cover;
  filter: blur(2.5px);
  transform: scale(1.005);
}

.hero__photo, .hero__content, .slider-control { transition: opacity .16s ease; }
html.hero-is-pending .hero__photo, html.hero-is-pending .hero__content, html.hero-is-pending .slider-control { opacity: 0; pointer-events: none; }

.header {
  height: 88px;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  background: rgba(255, 255, 255, .3);
  backdrop-filter: blur(24px);
}

.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(100%, 1440px);
  height: 100%;
  margin: 0 auto;
  padding: 0 80px;
}

.brand { display: block; width: 200px; height: 64px; }
.brand img { display: block; width: 100%; height: 100%; }
.header__brands { display: flex; flex: 0 0 auto; align-items: center; gap: 16px; }
.header__partner { display: flex; width: 104px; flex-direction: column; align-items: center; gap: 3px; }
.header__partner img { display: block; width: 100%; height: auto; }
.header__partner span { color: rgb(0 0 0 / 48%); font-size: 8px; font-weight: 500; letter-spacing: .35px; line-height: 11px; text-transform: uppercase; }

.nav { display: flex; align-items: center; gap: 32px; margin-left: auto; margin-right: auto; }
.nav a {
  color: rgba(0, 0, 0, .7);
  font-size: 14.4px;
  font-weight: 500;
  line-height: 21.6px;
  text-decoration: none;
  transition: color .2s ease;
}
.nav a:hover, .nav a:focus-visible { color: var(--orange); }

.header__button {
  min-height: 44px;
  padding: 10px 24px;
  border: 1px solid rgba(244, 127, 0, .5);
  border-radius: 999px;
  background: transparent;
  box-shadow: 0 0 15px rgba(224, 147, 44, .1);
  color: #000;
  font-size: 14.4px;
  font-weight: 500;
  line-height: 21.6px;
  transition: background-color .2s ease;
}
.header__button:hover, .header__button:focus-visible { background: rgba(244, 127, 0, .12); }

.hero__content {
  width: min(100% - 160px, 1280px);
  margin: 0 auto;
  padding-top: 33px;
}

.eyebrow {
  margin: 0 0 20px;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: .8px;
  text-transform: uppercase;
}
.eyebrow span, .lead span, h1 em { color: var(--orange); font-style: normal; }
.eyebrow .eyebrow__diagnosis { color: currentColor; }

h1 {
  margin: 0 0 11px;
  max-width: 680px;
  color: #000;
  font-size: 96px;
  font-weight: 600;
  letter-spacing: -2.2px;
  line-height: .9625;
}

.lead {
  margin: 0 0 14px;
  color: rgba(0, 0, 0, .8);
  font-size: 24px;
  font-weight: 300;
  line-height: 32px;
}

.description {
  max-width: 608px;
  margin: 0 0 18px;
  color: rgba(0, 0, 0, .6);
  font-size: 18px;
  font-weight: 300;
  line-height: 29.25px;
}

.actions { display: flex; align-items: center; gap: 24px; margin-bottom: 45px; }

.checkup-button {
  min-height: 56px;
  padding: 16px 32px;
  border: 0;
  border-radius: 999px;
  background: var(--orange);
  box-shadow: 0 0 12px rgba(224, 147, 44, .35);
  color: #000;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  transition: background-color .2s ease, transform .2s ease;
}
.checkup-button:hover, .checkup-button:focus-visible { background: #ff9200; transform: translateY(-1px); }

.about-link { display: inline-flex; align-items: center; gap: 16px; padding: 0; border: 0; background: transparent; color: rgba(0, 0, 0, .8); font-size: 16px; font-weight: 500; line-height: 24px; text-decoration: none; }
.about-link__icon { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: rgba(255,255,255,.05); backdrop-filter: blur(8px); }
.about-link__icon img { width: 16px; height: 16px; }

.statistics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; width: 726px; margin: 0; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.1); }
.statistics div { min-width: 0; }
.statistics dt { margin: 0 0 4px; font-size: 48px; font-weight: 600; letter-spacing: -1.2px; line-height: 48px; }
.statistics dd { margin: 0; color: rgba(0,0,0,.5); font-size: 14px; font-weight: 400; line-height: 17.5px; }

.slider-control { position: absolute; right: 32px; bottom: 140px; display: flex; align-items: center; gap: 10px; padding: 12px 16px; border: 1px solid rgba(244,127,0,.2); border-radius: 999px; background: rgba(244,127,0,.2); box-shadow: 0 8px 24px rgba(0,0,0,.1); backdrop-filter: blur(10px); }
.slider-control__button { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; background: rgba(255,255,255,.05); }
.slider-control__button:hover, .slider-control__button:focus-visible { background: rgba(255,255,255,.18); }
.slider-control__button img { width: 16px; height: 16px; }
.slider-control__count { width: 70px; color: #fff; font-size: 14px; font-weight: 500; line-height: 20px; text-align: center; white-space: nowrap; }
.slider-control__progress { display: flex; gap: 3px; }
.slider-control__progress i { display: block; width: 5px; height: 5px; border-radius: 50%; background: rgba(255,255,255,.32); transition: background-color .2s ease, transform .2s ease; }
.slider-control__progress i.is-active { background: #fff; transform: scale(1.2); }

.ticker { position: absolute; right: 0; bottom: 0; left: 0; height: 72px; border-top: 1px solid rgba(255,255,255,.05); background: #fff; overflow: hidden; }
.ticker__viewport { width: 100%; height: 100%; overflow: hidden; }
.ticker__track { display: flex; align-items: center; width: max-content; height: 100%; animation: ticker-slide 71.833332s linear infinite; will-change: transform; }
.ticker__group { display: flex; flex: 0 0 auto; align-items: center; gap: 24px; height: 100%; padding-right: 24px; }
.ticker__track span { display: inline-flex; align-items: center; min-height: 60px; padding: 16px 32px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; background: rgba(255,255,255,.02); color: rgba(0,0,0,.9); font-size: 20px; font-weight: 300; line-height: 28px; white-space: nowrap; }
@keyframes ticker-slide { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.application-dialog { width: min(calc(100% - 32px), 420px); padding: 36px; border: 0; border-radius: 24px; box-shadow: 0 20px 70px rgba(0,0,0,.25); color: #000; }
.application-dialog::backdrop { background: rgba(0,0,0,.35); backdrop-filter: blur(3px); }
.application-dialog h2 { margin: 0; font-size: 30px; font-weight: 600; letter-spacing: -.75px; line-height: 36px; }
.application-dialog p { margin: 8px 0 28px; font-size: 16px; line-height: 24px; }
.application-dialog__close { position: absolute; top: 10px; right: 14px; border: 0; background: transparent; font-size: 28px; line-height: 1; }
.application-form { display: grid; gap: 16px; }
.application-form__intro { color: rgba(0,0,0,.6); }
.application-form__field { display: grid; gap: 7px; color: rgba(0,0,0,.8); font-size: 14px; font-weight: 500; line-height: 20px; text-align: left; }
.application-form__field input { width: 100%; min-height: 52px; padding: 14px 16px; border: 1px solid rgba(0,0,0,.18); border-radius: 12px; outline: 0; background: #fff; color: #000; font: inherit; font-size: 16px; font-weight: 400; line-height: 24px; transition: border-color .2s ease, box-shadow .2s ease; }
.application-form__field input::placeholder { color: rgba(0,0,0,.38); }
.application-form__field input:focus { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(244,127,0,.14); }
.application-form__field input[aria-invalid="true"] { border-color: #bd2727; }
.application-form__error { min-height: 18px; color: #a61f1f; font-size: 12px; font-weight: 400; line-height: 18px; }
.application-form__submit { justify-self: start; margin-top: 4px; }
.application-success { text-align: center; }
.application-success p { color: rgba(0,0,0,.6); }
.form-consent { display: flex; align-items: flex-start; gap: 10px; color: rgba(0,0,0,.58); font-size: 12px; font-weight: 300; line-height: 18px; text-align: left; }
.form-consent input { width: 18px; height: 18px; margin: 0; flex: 0 0 auto; accent-color: var(--orange); cursor: pointer; }
.form-consent input[aria-invalid="true"] { outline: 1px solid #bd2727; outline-offset: 2px; }
.form-consent a { color: rgba(0,0,0,.9); font-weight: 500; text-decoration-color: rgba(244,127,0,.75); text-decoration-thickness: 1px; text-underline-offset: 2px; }
.form-consent a:hover, .form-consent a:focus-visible { color: var(--orange); }
.application-confirmation { max-width: 390px; }

@media (max-width: 900px) {
  .hero { min-height: 810px; }
  .header__inner { padding: 0 32px; }
  .nav { display: none; }
  .hero__content { width: min(100% - 64px, 760px); }
  h1 { font-size: clamp(64px, 10.2vw, 88px); }
  .slider-control { right: 24px; }
}

@media (max-width: 620px) {
  .hero { min-height: 900px; }
  .hero__photo { inset-bottom: 72px; background-position: 61% center; }
  .header { height: 72px; }
  .header__inner { padding: 0 18px; }
  .header__brands { gap: 8px; }
  .brand { width: 116px; height: 37px; }
  .header__partner { width: 50px; gap: 1px; }
  .header__partner span { font-size: 6px; letter-spacing: .2px; line-height: 8px; }
  .header__button { min-height: 38px; padding: 7px 9px; font-size: 12px; line-height: 18px; }
  .hero__content { width: calc(100% - 40px); padding-top: 27px; }
  .eyebrow { margin-bottom: 14px; font-size: 11px; line-height: 16px; letter-spacing: .48px; }
  h1 { margin-bottom: 18px; font-size: clamp(48px, 15.5vw, 68px); letter-spacing: -1.6px; }
  .lead { margin-bottom: 17px; font-size: 18px; line-height: 25px; }
  .description { max-width: 420px; margin-bottom: 20px; font-size: 14px; line-height: 21px; }
  .actions { align-items: flex-start; gap: 14px; margin-bottom: 35px; }
  .checkup-button { min-height: 48px; padding: 12px 20px; font-size: 14px; line-height: 20px; }
  .about-link { gap: 9px; font-size: 12px; line-height: 18px; }
  .about-link__icon { width: 40px; height: 40px; }
  .statistics { width: 100%; gap: 10px; padding-top: 7px; }
  .statistics dt { font-size: 34px; line-height: 36px; letter-spacing: -.8px; }
  .statistics dd { font-size: 10px; line-height: 13px; }
  .slider-control { right: 16px; bottom: 91px; gap: 8px; padding: 8px 11px; }
  .slider-control__button { width: 28px; height: 28px; }
  .ticker { height: 64px; }
  .ticker__group { gap: 12px; padding-right: 12px; }
  .ticker__track span { min-height: 52px; padding: 12px 18px; font-size: 16px; line-height: 24px; }
  .application-dialog { width: min(calc(100% - 32px), 420px); padding: 32px 24px; }
  .application-dialog h2 { font-size: 26px; line-height: 32px; }
}

@media (prefers-reduced-motion: reduce) { .ticker__track { animation-play-state: paused; } }
@media (prefers-reduced-motion: reduce) { .hero__photo, .hero__content, .slider-control { transition: none; } }

.smart-network {
  position: relative;
  z-index: 1;
  height: 692px;
  overflow: visible;
  background: #fff;
}

.smart-network__inner {
  position: relative;
  width: min(100%, 1440px);
  height: 100%;
  margin: 0 auto;
  padding: 0 80px;
}

.smart-network__copy { position: relative; z-index: 2; padding-top: 47px; }

.smart-network h2 {
  width: 830px;
  margin: 0;
  color: #000;
  font-size: 60px;
  font-weight: 600;
  letter-spacing: -1.5px;
  line-height: 66px;
}

.smart-network h2 span { color: var(--orange); }

.smart-network__copy > p {
  width: 847px;
  margin: 40px 0 0;
  color: rgba(0, 0, 0, .6);
  font-size: 21.6px;
  font-weight: 300;
  line-height: 34.56px;
}

.smart-network__copy strong { color: rgba(0, 0, 0, .9); font-weight: 500; }

.smart-network__phone {
  position: absolute;
  z-index: 1;
  top: -151px;
  left: 650px;
  display: grid;
  width: 1081.516px;
  height: 777.259px;
  margin: 0;
  place-items: center;
  pointer-events: none;
}

.smart-network__phone img {
  display: block;
  width: 973.984px;
  height: 543.7px;
  max-width: none;
  object-fit: cover;
  transform: rotate(15deg);
}

.smart-network__cards {
  position: relative;
  z-index: 2;
  display: flex;
  width: 1280px;
  margin-top: 60px;
  padding-top: 0;
}

.feature-card {
  width: 490px;
  height: 245.069px;
  padding: 40px;
  border: 1px solid rgba(255, 255, 255, .05);
  border-radius: 16px;
  background: #fff;
}

.feature-card--experts { width: 340px; height: 170px; }

.feature-card h3 {
  margin: 0 0 10px;
  color: rgba(0, 0, 0, .95);
  font-size: 36px;
  font-weight: 600;
  letter-spacing: -.9px;
  line-height: 40px;
  white-space: nowrap;
}

.feature-card h3 span { color: rgba(0, 0, 0, .5); font-size: 30px; font-weight: 300; letter-spacing: 0; line-height: 36px; }

.feature-card p {
  width: 330px;
  margin: 0;
  color: rgba(0, 0, 0, .5);
  font-size: 16px;
  font-weight: 300;
  line-height: 26px;
}

@media (max-width: 1100px) {
  .smart-network { height: auto; min-height: 720px; overflow: hidden; }
  .smart-network__inner { width: min(100%, 960px); padding: 0 40px 64px; }
  .smart-network h2 { width: 680px; font-size: 52px; line-height: 58px; }
  .smart-network__copy > p { width: min(100%, 660px); font-size: 19px; line-height: 30px; }
  .smart-network__phone { top: -110px; left: 445px; transform: scale(.78); transform-origin: top left; }
  .smart-network__cards { width: 100%; margin-top: 55px; }
  .feature-card { flex: 1 1 0; min-width: 0; padding: 28px; }
  .feature-card--experts { width: 28%; }
  .feature-card h3 { font-size: 29px; line-height: 34px; white-space: normal; }
  .feature-card h3 span { font-size: 24px; line-height: 30px; }
  .feature-card p { width: 100%; font-size: 14px; line-height: 22px; }
}

@media (max-width: 700px) {
  .smart-network { min-height: 0; overflow: hidden; }
  .smart-network__inner { width: 100%; padding: 54px 20px 48px; }
  .smart-network__copy { padding: 0; }
  .smart-network h2 { width: 100%; font-size: clamp(35px, 10vw, 46px); letter-spacing: -1px; line-height: 1.08; }
  .smart-network__copy > p { width: 100%; margin-top: 26px; font-size: 16px; line-height: 25px; }
  .smart-network__phone { position: relative; top: auto; left: auto; width: 100%; height: 275px; margin: -7px auto 0; transform: none; }
  .smart-network__phone img { width: 493px; height: 275px; transform: translateX(calc(50vw - 266.5px)) rotate(15deg); }
  .smart-network__cards { display: grid; grid-template-columns: 1fr; width: 100%; margin-top: 4px; gap: 0; }
  .feature-card, .feature-card--experts { width: 100%; height: auto; min-height: 145px; padding: 26px 0; border-width: 1px 0 0; border-radius: 0; }
  .feature-card:last-child { border-bottom: 1px solid rgba(0,0,0,.08); }
  .feature-card h3 { margin-bottom: 7px; font-size: 27px; line-height: 33px; }
  .feature-card h3 span { font-size: 23px; line-height: 30px; }
  .feature-card p { max-width: 330px; font-size: 14px; line-height: 22px; }
}

.process-section {
  height: 843px;
  border-top: 1px solid rgba(255,255,255,.05);
  background: #fff;
}

.process-section__inner {
  width: min(100%, 1440px);
  height: 100%;
  margin: 0 auto;
  padding: 96px 80px 0;
}

.section-kicker {
  margin: 0;
  color: #000;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .7px;
  line-height: 20px;
  opacity: .9;
  text-transform: uppercase;
}

.process-section h2 {
  width: 1190px;
  margin: 20px 0 0;
  color: #000;
  font-size: 60px;
  font-weight: 600;
  letter-spacing: -1.5px;
  line-height: 66px;
}

.process-section h2 span { color: var(--orange); }

.process-section__intro {
  width: 1164px;
  margin: 12px 0 0;
  color: rgba(0,0,0,.6);
  font-size: 18px;
  font-weight: 300;
  line-height: 28.8px;
}

.process-section__intro strong { color: rgba(0,0,0,.9); font-weight: 500; }

.process-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
  width: 1280px;
  height: 367.752px;
  margin-top: 40px;
}

.process-timeline::before {
  position: absolute;
  z-index: 0;
  top: 180px;
  right: 32px;
  left: 32px;
  height: 1px;
  background: rgba(255,255,255,.1);
  content: "";
}

.process-timeline::after {
  position: absolute;
  z-index: 0;
  top: 179px;
  left: 32px;
  width: 405.33px;
  height: 2px;
  background: linear-gradient(90deg, rgba(224,147,44,0), rgba(224,147,44,.14) 7.1429%, rgba(224,147,44,.29) 14.2858%, rgba(224,147,44,.43) 21.4287%, rgba(224,147,44,.57) 28.5716%, rgba(224,147,44,.71) 35.7145%, rgba(224,147,44,.86) 42.8574%, #e0932c 50%, rgba(224,147,44,.86) 57.1423%, rgba(224,147,44,.71) 64.2852%, rgba(224,147,44,.57) 71.4281%, rgba(224,147,44,.43) 78.571%, rgba(224,147,44,.29) 85.7139%, rgba(224,147,44,.14) 92.8568%, rgba(224,147,44,0));
  filter: blur(2px);
  opacity: .5;
  content: "";
}

.process-step { position: relative; z-index: 1; min-width: 0; }

.process-step__marker {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  height: 160px;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 16px;
  background: rgba(255,255,255,.02);
}

.process-step__top { display: flex; align-items: flex-start; justify-content: space-between; }
.process-step__top > span { color: rgba(0,0,0,.1); font-size: 48px; font-weight: 500; letter-spacing: -2.4px; line-height: 48px; }
.process-step__top i { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; background: rgba(244,127,0,.05); }
.process-step__top img { display: block; width: 20px; height: 20px; }
.process-step__marker > p { margin: 0; color: rgba(0,0,0,.4); font-size: 12px; font-weight: 600; letter-spacing: 1.2px; line-height: 16px; text-transform: uppercase; white-space: nowrap; }

.process-step__copy { margin-top: 32px; }
.process-step__copy h3 { min-height: 50px; margin: 0 0 12px; color: rgba(0,0,0,.95); font-size: 20px; font-weight: 500; line-height: 25px; }
.process-step__copy p { margin: 0; color: rgba(0,0,0,.5); font-size: 14px; font-weight: 300; line-height: 22.75px; }

@media (max-width: 1100px) {
  .process-section { height: auto; min-height: 850px; }
  .process-section__inner { width: min(100%, 960px); padding: 72px 40px; }
  .process-section h2, .process-section__intro { width: 100%; }
  .process-section h2 { font-size: 52px; line-height: 58px; }
  .process-timeline { grid-template-columns: repeat(3, 1fr); width: 100%; height: auto; row-gap: 42px; }
  .process-timeline::before, .process-timeline::after { display: none; }
}

@media (max-width: 700px) {
  .process-section { min-height: 0; }
  .process-section__inner { padding: 54px 20px; }
  .section-kicker { font-size: 11px; line-height: 16px; letter-spacing: .55px; }
  .process-section h2 { margin-top: 15px; font-size: clamp(35px, 10vw, 46px); letter-spacing: -1px; line-height: 1.08; }
  .process-section__intro { margin-top: 24px; font-size: 16px; line-height: 25px; }
  .process-timeline { grid-template-columns: 1fr; gap: 26px; margin-top: 34px; }
  .process-step { display: grid; grid-template-columns: 112px 1fr; gap: 16px; }
  .process-step__marker { height: 112px; padding: 15px; }
  .process-step__top > span { font-size: 34px; line-height: 34px; letter-spacing: -1.7px; }
  .process-step__top i { width: 30px; height: 30px; }
  .process-step__top img { width: 16px; height: 16px; }
  .process-step__marker > p { font-size: 8px; letter-spacing: .7px; line-height: 11px; white-space: normal; }
  .process-step__copy { margin: 0; }
  .process-step__copy h3 { min-height: 0; margin-bottom: 7px; font-size: 18px; line-height: 23px; }
  .process-step__copy p { font-size: 13px; line-height: 20px; }
}

.gallery-section {
  height: 701px;
  border-top: 1px solid rgba(255,255,255,.05);
  padding-top: 40px;
  background: #fff;
  overflow: hidden;
}

.gallery-section__head {
  width: min(100%, 1440px);
  height: 89px;
  margin: 0 auto;
  padding: 0 80px;
}

.gallery-section h2 {
  margin: 16px 0 0;
  color: #000;
  font-size: 48px;
  font-weight: 600;
  letter-spacing: -1.2px;
  line-height: 52.8px;
}

.gallery-viewport {
  position: relative;
  width: 100%;
  height: 432px;
  margin-top: 48px;
  padding: 16px 80px;
  overflow: hidden;
  touch-action: pan-y;
}

.gallery-rail {
  display: flex;
  gap: 24px;
  width: max-content;
  transition: transform .5s cubic-bezier(.2,.75,.25,1);
  will-change: transform;
}

.gallery-viewport.is-dragging { cursor: grabbing; }
.gallery-viewport.is-dragging .gallery-item { cursor: grabbing; }

.gallery-rail figure {
  width: 204px;
  height: 400px;
  margin: 0;
  overflow: hidden;
  border-radius: 16px;
  flex: 0 0 auto;
}

.gallery-rail img { display: block; width: 204px; height: 400px; object-fit: cover; }
.gallery-item { cursor: zoom-in; }
.gallery-item:focus-visible { outline: 2px solid var(--orange); outline-offset: 4px; }

.gallery-arrow {
  position: absolute;
  z-index: 2;
  top: 50%;
  display: grid;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 50%;
  background: rgba(0,0,0,.55);
  box-shadow: 0 6px 18px rgba(0,0,0,.16);
  backdrop-filter: blur(8px);
  place-items: center;
  transform: translateY(-50%);
  transition: background-color .2s ease, transform .2s ease;
}
.gallery-arrow img { display: block; width: 16px; height: 16px; }
.gallery-arrow--previous { left: 28px; }
.gallery-arrow--next { right: 28px; }
.gallery-arrow:hover, .gallery-arrow:focus-visible { background: var(--orange); transform: translateY(-50%) scale(1.06); }

.gallery-pagination { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 32px; }
.gallery-pagination button { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 999px; background: rgba(0,0,0,.28); box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); transition: width .25s ease, background-color .25s ease, transform .25s ease; }
.gallery-pagination button:hover, .gallery-pagination button:focus-visible { background: rgba(0,0,0,.55); transform: scale(1.12); }
.gallery-pagination button.is-active { width: 32px; background: var(--orange); box-shadow: 0 0 9px rgba(244,127,0,.45); }

.gallery-lightbox { width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 32px; border: 0; background: rgba(0,0,0,.94); color: #fff; }
.gallery-lightbox::backdrop { background: rgba(0,0,0,.72); }
.gallery-lightbox__close { position: fixed; z-index: 1; top: 20px; right: 24px; display: grid; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; font-size: 30px; font-weight: 200; line-height: 1; place-items: center; }
.gallery-lightbox__close:hover, .gallery-lightbox__close:focus-visible { border-color: var(--orange); background: var(--orange); color: #000; }
.gallery-lightbox__figure { display: grid; width: 100%; height: 100%; margin: 0; place-items: center; }
.gallery-lightbox__image { display: block; max-width: min(84vw, 640px); max-height: calc(100dvh - 96px); object-fit: contain; }
.gallery-lightbox__caption { position: fixed; right: 24px; bottom: 20px; left: 24px; color: rgba(255,255,255,.72); font-size: 14px; font-weight: 400; line-height: 20px; text-align: center; }

@media (max-width: 700px) {
  .gallery-section { height: auto; padding: 54px 0 48px; }
  .gallery-section__head { width: 100%; height: auto; padding: 0 20px; }
  .gallery-section h2 { margin-top: 13px; font-size: clamp(34px, 9vw, 44px); letter-spacing: -1px; line-height: 1.1; }
  .gallery-viewport { height: 326px; margin-top: 27px; padding: 16px 20px; }
  .gallery-rail { gap: 14px; }
  .gallery-rail figure, .gallery-rail img { width: 150px; height: 294px; border-radius: 12px; }
  .gallery-arrow { width: 34px; height: 34px; }
  .gallery-arrow--previous { left: 8px; }
  .gallery-arrow--next { right: 8px; }
  .gallery-pagination { gap: 8px; margin-top: 20px; }
  .gallery-pagination button { width: 9px; height: 9px; }
  .gallery-pagination button.is-active { width: 28px; }
  .gallery-lightbox { padding: 20px; }
  .gallery-lightbox__close { top: 12px; right: 12px; width: 40px; height: 40px; font-size: 26px; }
  .gallery-lightbox__image { max-width: calc(100vw - 40px); max-height: calc(100dvh - 76px); }
  .gallery-lightbox__caption { right: 16px; bottom: 12px; left: 16px; font-size: 12px; line-height: 18px; }
}

.community-section {
  position: relative;
  height: 549px;
  border-top: 1px solid rgba(255,255,255,.05);
  background: #fff;
}

.community-section__inner {
  position: relative;
  width: min(100%, 1440px);
  height: 531px;
  margin: 0 auto;
  padding: 0 80px;
}

.community-section__content {
  position: relative;
  width: 1111px;
  height: 439px;
  top: 46px;
}

.community-section .section-kicker { position: absolute; top: 40px; left: 0; }

.community-section h2 {
  position: absolute;
  top: 99px;
  left: 0;
  width: 748px;
  margin: 0;
  color: #000;
  font-size: 60px;
  font-weight: 600;
  letter-spacing: -1.5px;
  line-height: 66px;
}

.community-section h2 span { color: var(--orange); }

.community-section__copy {
  position: absolute;
  top: 293px;
  left: 0;
  width: 707px;
  margin: 0;
  color: rgba(0,0,0,.6);
  font-size: 20px;
  font-weight: 300;
  line-height: 32px;
}

.community-section__copy strong { color: rgba(0,0,0,.9); font-weight: 500; }

.community-section__phone {
  position: absolute;
  top: -68px;
  left: 871px;
  width: 350px;
  height: 584px;
  margin: 0;
  pointer-events: none;
}

.community-section__phone img { display: block; width: 350px; height: 584px; object-fit: cover; }

@media (max-width: 1100px) {
  .community-section { height: auto; min-height: 590px; overflow: hidden; }
  .community-section__inner { width: min(100%, 960px); height: 590px; padding: 0 40px; }
  .community-section__content { width: 100%; }
  .community-section h2 { width: 620px; font-size: 52px; line-height: 58px; }
  .community-section__copy { width: 590px; font-size: 18px; line-height: 29px; }
  .community-section__phone { top: -42px; left: 600px; transform: scale(.83); transform-origin: top left; }
}

@media (max-width: 700px) {
  .community-section { min-height: 0; overflow: hidden; }
  .community-section__inner { width: 100%; height: auto; padding: 54px 20px 40px; }
  .community-section__content { display: flex; flex-direction: column; width: 100%; height: auto; top: auto; }
  .community-section .section-kicker, .community-section h2, .community-section__copy, .community-section__phone { position: static; }
  .community-section h2 { width: 100%; margin-top: 15px; font-size: clamp(35px, 10vw, 46px); letter-spacing: -1px; line-height: 1.08; }
  .community-section__copy { width: 100%; margin-top: 27px; font-size: 16px; line-height: 25px; }
  .community-section__phone { align-self: center; width: 240px; height: 400px; margin: 18px 0 -55px; transform: rotate(8deg); transform-origin: center; }
  .community-section__phone img { width: 240px; height: 400px; }
}

.audience-section {
  height: 658px;
  border-top: 1px solid rgba(255,255,255,.05);
  background: #fff;
}

.audience-section__inner {
  position: relative;
  width: min(100%, 1440px);
  height: 540px;
  margin: 0 auto;
  padding: 0 80px;
  top: 59px;
}

.audience-section__copy {
  position: absolute;
  top: 90px;
  left: 80px;
  width: 727px;
}

.audience-section__copy .section-kicker { margin-bottom: 20px; }

.audience-section h2 {
  width: 727px;
  height: 192px;
  margin: 0 0 32px;
  color: #000;
  font-size: 56px;
  font-weight: 600;
  letter-spacing: -1.4px;
  line-height: 61.6px;
}

.audience-section h2 span { color: var(--orange); }

.audience-section__copy > p {
  width: 702px;
  margin: 0;
  color: rgba(0,0,0,.6);
  font-size: 20px;
  font-weight: 300;
  line-height: 32px;
}

.audience-section__copy > p strong { color: rgba(0,0,0,.9); font-weight: 500; }

.audience-card {
  position: absolute;
  top: 57px;
  right: 80px;
  width: 559px;
  height: 428px;
  overflow: hidden;
  padding: 64px;
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 32px;
  background: rgba(255,255,255,.8);
  box-shadow: 0 25px 50px -12px rgba(0,0,0,.25);
  backdrop-filter: blur(24px);
}

.audience-card::before {
  position: absolute;
  top: 0;
  left: 470px;
  width: 256px;
  height: 256px;
  border-radius: 50%;
  background: rgba(244,127,0,.1);
  filter: blur(80px);
  content: "";
}

.audience-card__value { position: relative; z-index: 1; display: flex; align-items: flex-start; height: 120px; white-space: nowrap; }
.audience-card__value strong, .audience-card__value b { color: #000; font-size: 120px; font-weight: 700; letter-spacing: -6px; line-height: 120px; }
.audience-card__value span { margin: 41px 0 0 10px; color: rgba(0,0,0,.4); font-size: 72px; font-weight: 500; letter-spacing: -1.8px; line-height: 72px; }
.audience-card__value b { margin-left: 5px; font-weight: 700; }

.audience-card__caption { position: relative; z-index: 1; margin: 8px 0 0; color: rgba(0,0,0,.5); font-size: 24px; font-weight: 300; letter-spacing: .6px; line-height: 32px; }
.audience-card__fact { position: relative; z-index: 1; display: flex; align-items: center; gap: 12px; margin-top: 24px; color: #000; font-size: 14px; font-weight: 500; letter-spacing: .7px; line-height: 20px; text-transform: uppercase; }
.audience-card__fact i { width: 8px; height: 8px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 10px rgba(224,147,44,.5); }
.audience-card__tags { position: relative; z-index: 1; display: flex; align-items: flex-start; gap: 16px; margin-top: 24px; }
.audience-card__tags span { height: 57px; padding: 14px 24px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; background: rgba(255,255,255,.02); color: rgba(0,0,0,.8); font-size: 18px; font-weight: 300; line-height: 28px; white-space: nowrap; }

@media (max-width: 1100px) {
  .audience-section { height: auto; min-height: 650px; overflow: hidden; }
  .audience-section__inner { width: min(100%, 960px); height: 650px; padding: 0 40px; top: 0; }
  .audience-section__copy { top: 75px; left: 40px; width: 520px; }
  .audience-section h2 { width: 530px; height: auto; font-size: 46px; line-height: 52px; }
  .audience-section__copy > p { width: 510px; font-size: 18px; line-height: 29px; }
  .audience-card { top: 85px; right: -120px; transform: scale(.8); transform-origin: top right; }
}

@media (max-width: 700px) {
  .audience-section { min-height: 0; overflow: hidden; }
  .audience-section__inner { display: flex; flex-direction: column; width: 100%; height: auto; padding: 54px 20px; }
  .audience-section__copy { position: static; width: 100%; }
  .audience-section__copy .section-kicker { margin-bottom: 15px; }
  .audience-section h2 { width: 100%; height: auto; margin-bottom: 26px; font-size: clamp(35px, 9.7vw, 46px); letter-spacing: -1px; line-height: 1.08; }
  .audience-section__copy > p { width: 100%; font-size: 16px; line-height: 25px; }
  .audience-card { position: relative; top: auto; right: auto; width: 100%; height: 300px; margin-top: 30px; padding: 34px 28px; transform: none; border-radius: 24px; }
  .audience-card__value { height: 82px; }
  .audience-card__value strong, .audience-card__value b { font-size: 82px; letter-spacing: -4px; line-height: 82px; }
  .audience-card__value span { margin: 30px 0 0 7px; font-size: 47px; letter-spacing: -1.2px; line-height: 48px; }
  .audience-card__caption { margin-top: 6px; font-size: 18px; line-height: 25px; }
  .audience-card__fact { gap: 9px; margin-top: 22px; font-size: 10px; letter-spacing: .45px; line-height: 14px; }
  .audience-card__fact i { width: 6px; height: 6px; }
  .audience-card__tags { gap: 7px; margin-top: 15px; }
  .audience-card__tags span { height: 42px; padding: 8px 13px; font-size: 13px; line-height: 24px; }
}

.value-section {
  min-height: 1580px;
  border-top: 1px solid rgba(255,255,255,.05);
  background: #fff;
}

.value-section__inner {
  width: min(calc(100% - 160px), 1280px);
  margin: 0 auto;
  padding-top: 96px;
}

.value-section__intro { width: 100%; }
.value-section__intro .section-kicker { margin: 0; }

.value-section h2 {
  height: 96px;
  margin: 20px 0 0;
  color: #000;
  font-size: 60px;
  font-weight: 600;
  letter-spacing: -1.8px;
  line-height: 75.6px;
}

.value-section h2 span { color: var(--orange); }

.value-section__intro > p {
  width: 100%;
  margin: 32px 0 0;
  color: rgba(0,0,0,.7);
  font-size: 21.6px;
  font-weight: 300;
  line-height: 36px;
}

.value-section__intro > p strong { color: rgba(0,0,0,.95); font-weight: 500; }

.value-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: 400px 300px 350px;
  gap: 24px;
  width: 100%;
  margin-top: 32px;
}

.value-card {
  position: relative;
  overflow: hidden;
  min-width: 0;
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 24px;
  background: #fff;
}

.value-card__copy h3 {
  margin: 0;
  color: rgba(0,0,0,.95);
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -.6px;
  line-height: 32px;
}

.value-card__copy p {
  margin: 12px 0 0;
  color: rgba(0,0,0,.5);
  font-size: 16px;
  font-weight: 300;
  line-height: 26px;
}

.value-card--diagnosis { grid-column: span 8; }
.diagnosis-art { position: absolute; top: 0; right: 0; width: 422.109px; height: 398.889px; opacity: .6; }
.diagnosis-art__layer { position: absolute; display: block; max-width: none; }
.diagnosis-art__layer--01, .diagnosis-art__layer--04 { top: 10.32%; right: 12.5%; bottom: 10.32%; left: 12.5%; width: 75%; height: 79.36%; }
.diagnosis-art__layer--02 { top: 23.54%; right: 25%; bottom: 23.54%; left: 25%; width: 50%; height: 52.92%; }
.diagnosis-art__layer--03 { top: 36.77%; right: 37.5%; bottom: 36.77%; left: 37.5%; width: 25%; height: 26.46%; }
.diagnosis-art__layer--05 { top: 10.32%; right: 23.5%; width: 26.5%; height: 39.68%; }
.diagnosis-art__layer--06 { top: 29.36%; left: 65.5%; width: 4%; height: 4.24%; }
.diagnosis-art__layer--07 { top: 25.13%; left: 61.5%; width: 12%; height: 12.7%; }

.value-card__copy--diagnosis { position: absolute; top: 211px; left: 48px; width: 384px; }
.value-card__copy--diagnosis h3 { font-size: 30px; letter-spacing: -.75px; line-height: 36px; }
.value-card__copy--diagnosis p { margin-top: 16px; font-size: 18px; line-height: 29.25px; }

.value-card--search { display: flex; flex-direction: column; grid-column: span 4; justify-content: flex-end; padding: 32px; }
.search-art { position: absolute; top: 48px; left: 32px; width: 345.564px; height: 127.995px; }
.search-art > img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.search-art__node { position: absolute; display: grid; place-items: center; border: 1px solid rgba(0,0,0,.1); border-radius: 50%; background: rgba(0,0,0,.05); }
.search-art__node b { display: block; border-radius: 50%; }
.search-art__node--start { top: 40px; left: 16px; width: 48px; height: 48px; }
.search-art__node--start b { width: 8px; height: 8px; background: rgba(0,0,0,.3); }
.search-art__node--middle { top: 49px; left: 91px; width: 30px; height: 30px; opacity: .5; }
.search-art__node--end { top: 40px; left: 281.6px; width: 48px; height: 48px; border-color: rgba(244,127,0,.5); background: rgba(244,127,0,.1); box-shadow: 0 0 20px rgba(224,147,44,.2); }
.search-art__node--end b { width: 12px; height: 12px; background: var(--orange); }

.value-card--errors { display: flex; flex-direction: column; grid-column: span 4; padding: 32px; }
.value-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; }
.value-icon--orange { border: 1px solid rgba(244,127,0,.3); background: rgba(244,127,0,.1); }
.value-icon img { display: block; width: 24px; height: 24px; }
.value-card--errors .value-card__copy { margin-top: auto; }

.value-card--track { display: flex; grid-column: span 8; align-items: flex-end; gap: 32px; padding: 32px; }
.value-card--track .value-card__copy { width: 358px; flex: 1 0 0; }
.value-card--track .value-card__copy h3 { font-size: 30px; letter-spacing: -.75px; line-height: 36px; }
.value-card--track .value-card__copy p { max-width: 448px; font-size: 18px; line-height: 29.25px; }
.track-art { display: block; width: 400.947px; height: 234.896px; margin-right: -10px; flex: 0 0 auto; }

.value-card--networking { display: flex; flex-direction: column; grid-column: span 5; justify-content: space-between; padding: 32px; }
.request-art { position: relative; width: 454.227px; height: 127.995px; flex: 0 0 auto; }
.request-art__orbit { position: absolute; display: block; border-radius: 50%; }
.request-art__orbit--inner { top: 16px; left: 179px; width: 96px; height: 96px; border: 1px solid rgba(244,127,0,.4); opacity: .3; }
.request-art__orbit--outer { top: -16px; left: 147px; width: 160px; height: 160px; border: 1px solid rgba(0,0,0,.1); opacity: .3; }
.request-art__person { position: absolute; display: grid; place-items: center; border-radius: 50%; }
.request-art__person img { display: block; }
.request-art__person--one { top: 16px; left: 113.5px; width: 32px; height: 32px; border: 1px solid rgba(0,0,0,.1); background: rgba(0,0,0,.05); }
.request-art__person--one img { width: 12px; height: 12px; }
.request-art__person--two { top: 72px; left: 300.7px; width: 40px; height: 40px; border: 1px solid rgba(244,127,0,.3); background: rgba(244,127,0,.1); }
.request-art__person--two img { width: 16px; height: 16px; }
.request-art > span { position: absolute; top: 49.44px; left: 173.92px; padding: 6px 16px; border: 1px solid rgba(244,127,0,.5); border-radius: 999px; background: #000; color: #000; font-size: 12px; font-weight: 500; letter-spacing: .3px; line-height: 16px; white-space: nowrap; }

.value-card--partners { display: flex; grid-column: span 7; align-items: center; gap: 32px; padding: 48px; }
.value-card--partners .value-card__copy { width: 308px; flex: 1 0 0; }
.value-card--partners .value-card__copy h3 { font-size: 30px; letter-spacing: -.75px; line-height: 36px; }
.value-card--partners .value-card__copy p { margin-top: 16px; font-size: 18px; line-height: 29.25px; }
.partners-art { position: relative; width: 300px; height: 250px; flex: 0 0 auto; opacity: .8; }
.partners-art > img { position: absolute; inset: 0; display: block; width: 300px; height: 250px; }
.partners-art span { position: absolute; white-space: nowrap; }
.partners-art__business { top: 106.5px; left: 92.5px; padding: 8px 16px; border: 1px solid var(--orange); border-radius: 999px; background: #fff; box-shadow: 0 0 10px rgba(224,147,44,.2); color: #000; font-size: 14px; font-weight: 500; line-height: 20px; }
.partners-art__tag { padding: 4px 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; background: rgba(255,255,255,.05); color: rgba(0,0,0,.8); font-size: 12px; font-weight: 500; letter-spacing: .6px; line-height: 16px; text-transform: uppercase; }
.partners-art__tag--partners { top: 20px; left: 101.5px; }
.partners-art__tag--vendors { top: 204.91px; left: 30px; }
.partners-art__tag--clients { top: 204.91px; left: 164.16px; }

@media (max-width: 1100px) {
  .value-section { min-height: 0; }
  .value-section__inner { width: min(calc(100% - 80px), 880px); padding: 76px 0; }
  .value-section h2 { height: auto; font-size: 50px; line-height: 1.12; }
  .value-section__intro > p { font-size: 19px; line-height: 31px; }
  .value-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; margin-top: 44px; }
  .value-card { grid-column: span 1; min-height: 330px; }
  .value-card--diagnosis, .value-card--search { min-height: 400px; }
  .value-card--track, .value-card--partners { grid-column: span 2; }
  .value-card--networking { min-height: 350px; }
  .diagnosis-art { right: -125px; transform: scale(.9); transform-origin: top right; }
  .value-card__copy--diagnosis { width: min(50%, 330px); }
  .search-art { transform: scale(.85); transform-origin: top left; }
  .track-art { width: 330px; height: auto; }
  .request-art { transform: scale(.85); transform-origin: top left; }
  .value-card--partners { padding: 40px; }
  .partners-art { transform: scale(.86); transform-origin: center right; margin-right: -22px; }
}

@media (max-width: 700px) {
  .value-section__inner { width: 100%; padding: 54px 20px; }
  .value-section h2 { margin-top: 15px; font-size: clamp(35px, 9.5vw, 46px); letter-spacing: -1px; line-height: 1.08; }
  .value-section__intro > p { margin-top: 25px; font-size: 16px; line-height: 25px; }
  .value-section__intro > p br { display: none; }
  .value-grid { grid-template-columns: 1fr; gap: 16px; margin-top: 32px; }
  .value-card, .value-card--diagnosis, .value-card--search, .value-card--track, .value-card--partners { grid-column: span 1; min-height: 280px; border-radius: 18px; }
  .value-card--diagnosis { min-height: 350px; }
  .diagnosis-art { right: -131px; transform: scale(.71); transform-origin: top right; }
  .value-card__copy--diagnosis { top: auto; bottom: 28px; left: 28px; width: calc(100% - 56px); }
  .value-card__copy--diagnosis h3, .value-card--track .value-card__copy h3, .value-card--partners .value-card__copy h3 { font-size: 24px; letter-spacing: -.6px; line-height: 30px; }
  .value-card__copy--diagnosis p, .value-card--track .value-card__copy p, .value-card--partners .value-card__copy p { font-size: 16px; line-height: 25px; }
  .value-card--search, .value-card--errors, .value-card--networking { padding: 28px; }
  .value-card--search { min-height: 300px; }
  .search-art { top: 24px; left: 28px; transform: scale(.78); }
  .value-card--errors { min-height: 240px; }
  .value-card--track { display: block; padding: 28px; }
  /* На узких экранах декоративные схемы не должны пересекать текст карточек. */
  .track-art, .request-art, .partners-art { display: none; }
  .value-card--track, .value-card--networking, .value-card--partners { min-height: 0; }
  .value-card--track .value-card__copy, .value-card--partners .value-card__copy { width: 100%; }
  .value-card--networking { padding: 28px; }
  .value-card--partners { display: block; padding: 28px; }
}

.cta-section {
  position: relative;
  height: 1180px;
  overflow: hidden;
  border-top: 1px solid rgba(255,255,255,.05);
  background: #fff;
}

.cta-section__glow {
  position: absolute;
  top: -333px;
  left: calc(50% + 96.5px);
  width: 1000px;
  height: 1000px;
  border-radius: 50%;
  background: rgba(244,127,0,.05);
  filter: blur(200px);
  pointer-events: none;
}

.cta-content {
  position: absolute;
  top: 63px;
  left: 50%;
  width: min(100%, 1440px);
  height: 739px;
  padding: 0 80px 77px;
  transform: translateX(-50%);
}

.cta-content__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 48px;
  width: 100%;
  height: 690px;
}

.cta-copy { grid-column: span 6; align-self: stretch; padding-top: 124.576px; }
.cta-copy .section-kicker { margin: 0 0 24px; }

.cta-copy h2 {
  width: 747px;
  height: 154px;
  margin: 0;
  color: #000;
  font-size: 64px;
  font-weight: 600;
  letter-spacing: -1.6px;
  line-height: 67.2px;
}

.cta-copy h2 span { color: var(--orange); }

.cta-copy > p {
  width: 512px;
  margin: 0;
  color: rgba(0,0,0,.6);
  font-size: 20px;
  font-weight: 300;
  line-height: 32px;
}

.cta-copy > p strong { color: rgba(0,0,0,.9); font-weight: 500; }

.cta-form {
  position: relative;
  display: flex;
  flex-direction: column;
  grid-column: 7 / span 6;
  justify-self: end;
  width: 511.997px;
  height: 690px;
  padding: 48px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 32px;
  background: rgba(255,255,255,.8);
  box-shadow: 0 25px 50px -12px rgba(0,0,0,.25);
  backdrop-filter: blur(24px);
}

.cta-form::before {
  position: absolute;
  top: 0;
  left: 255px;
  width: 256px;
  height: 256px;
  border-radius: 50%;
  background: rgba(244,127,0,.1);
  filter: blur(80px);
  content: "";
  pointer-events: none;
}

.cta-form__field, .cta-form__consent, .cta-form__submit, .cta-form__note { position: relative; z-index: 1; }
.cta-form__field { display: flex; flex-direction: column; width: 100%; }
.cta-form__field + .cta-form__field { margin-top: 24px; }
.cta-form__field > span:first-child { margin-bottom: 8px; color: rgba(0,0,0,.4); font-size: 12px; font-weight: 500; letter-spacing: .6px; line-height: 16px; text-transform: uppercase; }

.cta-form input, .cta-form select {
  width: 100%;
  height: 48.542px;
  padding: 12px 16px;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.1);
  border-radius: 8px 8px 0 0;
  outline: 0;
  background: rgba(255,255,255,.05);
  color: rgba(0,0,0,.85);
  font: 400 16px/20px "Geologica", Arial, sans-serif;
}

.cta-form select { line-height: 24px; }

.cta-form input::placeholder, .cta-form select:invalid { color: rgba(0,0,0,.2); opacity: 1; }
.cta-form input:focus, .cta-form select:focus { border-bottom-color: rgba(244,127,0,.75); background: rgba(244,127,0,.04); }

.cta-form__select { position: relative; display: block; }
.cta-form select { display: block; padding-right: 48px; appearance: none; cursor: pointer; }
.cta-form__select img { position: absolute; top: 16px; right: 16px; display: block; width: 16px; height: 16px; pointer-events: none; }
.cta-form__consent { margin-top: 24px; }
.cta-form .form-consent input[type="checkbox"] { box-sizing: border-box; width: 18px; min-width: 18px; height: 18px; min-height: 18px; margin: 0; padding: 0; border: 1px solid rgba(0,0,0,.45); border-radius: 4px; background: #fff; flex: 0 0 18px; }
.cta-form__consent > span { min-width: 0; }

.cta-form__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  height: 68px;
  margin-top: 30px;
  padding: 20px 32px;
  overflow: hidden;
  border: 0;
  border-radius: 12px;
  background: var(--orange);
  box-shadow: 0 0 30px rgba(224,147,44,.2);
  color: #000;
  font-size: 18px;
  font-weight: 500;
  line-height: 28px;
  transition: background-color .2s ease, transform .2s ease;
}

.cta-form__submit::before { position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent); content: ""; transition: left .45s ease; }
.cta-form__submit:hover, .cta-form__submit:focus-visible { background: #ff9200; transform: translateY(-1px); }
.cta-form__submit:hover::before, .cta-form__submit:focus-visible::before { left: 100%; }
.cta-form__submit span, .cta-form__submit img { position: relative; z-index: 1; }
.cta-form__submit img { width: 20px; height: 20px; }
.cta-form__note { width: 100%; margin: 8px 0 0; color: rgba(0,0,0,.4); font-size: 12px; font-weight: 300; line-height: 16px; text-align: center; white-space: nowrap; }

.site-footer {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 330px;
  border-top: 1px solid rgba(255,255,255,.05);
  background: #fff;
}

.site-footer__inner {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  align-items: center;
  gap: 24px 40px;
  width: min(100%, 1440px);
  height: 100%;
  margin: 0 auto;
  padding: 36px 80px 32px;
}

.site-footer__brand { display: block; width: 200.036px; height: 63.718px; flex: 0 0 auto; }
.site-footer__brand img { display: block; width: 100%; height: 100%; }
.site-footer__nav { display: flex; align-items: center; justify-self: end; gap: 32px; }
.site-footer__nav a { color: rgba(0,0,0,.5); font-size: 14px; font-weight: 500; line-height: 20px; text-decoration: none; white-space: nowrap; }
.site-footer__nav a:nth-last-child(-n + 2) { font-weight: 200; }
.site-footer__nav a:hover, .site-footer__nav a:focus-visible { color: var(--orange); }
.site-footer__details { display: grid; grid-column: 1 / -1; align-self: stretch; align-content: center; gap: 8px; padding-top: 24px; border-top: 1px solid rgba(0,0,0,.1); color: rgba(0,0,0,.52); font-size: 12px; font-weight: 300; line-height: 18px; }
.site-footer__details p { margin: 0; }

@media (max-width: 1100px) {
  .cta-section { height: 1060px; }
  .cta-content { top: 54px; width: min(100%, 960px); padding: 0 40px; }
  .cta-content__grid { grid-template-columns: 1fr 1fr; gap: 32px; height: 640px; }
  .cta-copy { grid-column: span 1; padding-top: 100px; }
  .cta-copy h2 { width: 100%; height: 142px; font-size: 50px; line-height: 56px; }
  .cta-copy > p { width: 100%; font-size: 18px; line-height: 29px; }
  .cta-form { grid-column: span 1; width: 100%; height: 640px; padding: 36px; transform: scale(.9); transform-origin: top right; }
  .site-footer__inner { width: min(100%, 960px); padding: 32px 40px 28px; }
  .site-footer__nav { gap: 18px; }
  .site-footer__nav a { font-size: 12px; }
  .site-footer__details { padding-top: 18px; font-size: 10px; line-height: 15px; }
}

@media (max-width: 700px) {
  .cta-section { height: auto; overflow: hidden; }
  .cta-section__glow { top: 420px; left: 45%; width: 500px; height: 500px; filter: blur(110px); }
  .cta-content { position: relative; top: auto; left: auto; width: 100%; height: auto; padding: 54px 20px 64px; transform: none; }
  .cta-content__grid { display: block; width: 100%; height: auto; }
  .cta-copy { padding: 0; }
  .cta-copy .section-kicker { margin-bottom: 15px; }
  .cta-copy h2 { width: 100%; height: auto; font-size: clamp(35px, 10.5vw, 46px); letter-spacing: -1px; line-height: 1.08; }
  .cta-copy > p { width: 100%; margin-top: 26px; font-size: 16px; line-height: 25px; }
  .cta-form { width: 100%; height: auto; min-height: 660px; margin-top: 32px; padding: 28px; border-radius: 24px; transform: none; }
  .cta-form__field + .cta-form__field { margin-top: 18px; }
  .cta-form__consent { margin-top: 20px; }
  .cta-form__submit { height: 60px; margin-top: 28px; padding: 16px 24px; font-size: 16px; line-height: 24px; }
  .cta-form__note { font-size: 10px; white-space: normal; }
  .site-footer { position: relative; height: auto; }
  .site-footer__inner { display: flex; flex-direction: column; width: 100%; padding: 34px 20px; gap: 28px; }
  .site-footer__brand { align-self: center; width: 164px; height: 52px; }
  .site-footer__nav { justify-content: center; flex-wrap: wrap; gap: 12px 18px; }
  .site-footer__nav a { font-size: 11px; line-height: 16px; }
  .site-footer__details { display: grid; align-self: stretch; gap: 10px; padding-top: 22px; font-size: 11px; line-height: 17px; }
}
