:root {

  --bg: #0e1a2b;

  --bg-2: #13243c;

  --panel: rgba(14, 26, 43, 0.88);

  --panel-strong: rgba(14, 26, 43, 0.94);

  --text: #f2f6fa;

  --text-soft: #d8e5f3;

  --text-muted: #b4c6d9;

  --accent: #7fb3e6;

  --accent-strong: #97c5f1;

  --accent-line: rgba(127, 179, 230, 0.36);

  --surface: rgba(255, 255, 255, 0.03);

  --surface-2: rgba(255, 255, 255, 0.045);

  --light-bg: #ffffff;

  --light-bg-2: #f4f8fc;

  --light-card: #ffffff;

  --light-border: rgba(19, 36, 60, 0.10);

  --light-title: #13243c;

  --light-text: #4c647c;

  --shadow-soft: 0 10px 30px rgba(0, 0, 0, 0.12);

  --shadow-medium: 0 18px 48px rgba(0, 0, 0, 0.18);

  --radius-sm: 14px;

  --radius-md: 18px;

  --radius-lg: 22px;

  --section-separator: rgba(19, 36, 60, 0.06);

  --header-h: 92px;

  --hero-parallax: 0px;

}

* {

  box-sizing: border-box;

}

html {

  scroll-behavior: smooth;

  overflow-x: clip;

}

body {

  margin: 0;

  min-width: 320px;

  background: var(--bg);

  color: var(--text);

  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Arial, sans-serif;

  overflow-x: clip;

  text-rendering: optimizeLegibility;

  -webkit-font-smoothing: antialiased;

}

a {

  text-decoration: none;

  color: inherit;

}

img {

  display: block;

  max-width: 100%;

  height: auto;

}

button, input, textarea {

  font: inherit;

}

.container {

  width: min(1280px, calc(100% - 96px));

  margin-inline: auto;

}

.header {

  position: fixed;

  top: 0;

  left: 0;

  right: 0;

  z-index: 50;

  height: var(--header-h);

  transform: translateZ(0);

  transition: height 0.35s ease, box-shadow 0.35s ease, background-color 0.35s ease, backdrop-filter 0.35s ease;

}

.header__bg {

  position: absolute;

  inset: 0;

  pointer-events: none;

  background-image: radial-gradient(circle at 20% 0%, rgba(127,179,230,0.12), transparent 28%),

    radial-gradient(circle at 75% 0%, rgba(127,179,230,0.08), transparent 24%),

    linear-gradient(180deg, rgba(14,26,43,0.80) 0%, rgba(14,26,43,0.58) 58%, rgba(14,26,43,0.34) 100%),

    url("assets/hero-bg-desktop.webp");

  background-repeat: no-repeat;

  background-size: auto, auto, auto, cover;

  background-position: center, center, center, right top;

  transition: opacity 0.35s ease, background 0.35s ease;

}

.header.is-sticky {

  height: 82px;

  backdrop-filter: none;

  box-shadow: 0 10px 28px rgba(7, 18, 35, 0.22);

}

.header.is-sticky .header__bg {

  background: linear-gradient(180deg, rgba(12, 24, 42, 0.98) 0%, rgba(12, 24, 42, 0.96) 100%);

}

.header__inner {

  position: relative;

  height: 100%;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 24px;

}

.brand {

  display: flex;

  align-items: center;

  min-width: 320px;

  flex-shrink: 0;

}

.brand--mobile {

  min-width: auto;

}

.brand__logo {

  height: 55px;

  filter: drop-shadow(0 0 0 rgba(0,0,0,0));

  width: auto;

  max-width: 324px;

  object-fit: contain;

  object-position: left center;

  transform-origin: left center;

  transition: height 0.35s ease, opacity 0.35s ease;

}

.header.is-sticky .brand__logo {

  height: 50px;

}

.brand__logo--sm {

  height: 52px;

  max-width: 234px;

}

.nav {

  display: flex;

  align-items: center;

  gap: clamp(24px, 3vw, 44px);

}

.nav__link {

  position: relative;

  padding: 10px 0;

  font-size: 16px;

  font-weight: 500;

  letter-spacing: 0.2px;

  color: var(--text-soft);

  opacity: 0.96;

  transition: color 0.28s ease, opacity 0.28s ease, transform 0.28s ease;

}

.nav__link:hover,

.nav__link:focus-visible {

  color: var(--accent-strong);

  opacity: 1;

  transform: translateY(-1px);

}

.nav__link::after {

  content: "";

  position: absolute;

  left: 0;

  bottom: 1px;

  width: 100%;

  height: 1px;

  background: linear-gradient(90deg, rgba(127,179,230,0.1), rgba(127,179,230,0.92), rgba(127,179,230,0.1));

  transform-origin: center;

  transform: scaleX(0.2);

  opacity: 0;

  transition: transform 0.3s ease, opacity 0.3s ease;

}

.nav__link:hover::after,

.nav__link.is-active::after,

.nav__link:focus-visible::after {

  transform: scaleX(1);

  opacity: 1;

}

.nav__link.is-active {

  color: var(--accent);

  opacity: 1;

}

.header__actions {

  display: flex;

  align-items: center;

  gap: 12px;

  flex-shrink: 0;

}

.btn {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  min-height: 48px;

  white-space: nowrap;

  padding: 12px 22px;

  border-radius: var(--radius-sm);

  font-size: 15px;

  font-weight: 600;

  letter-spacing: 0.2px;

  border: 1px solid rgba(127,179,230,0.7);

  color: #8dbbe8;

  background: rgba(255,255,255,0.02);

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);

  transition: transform 0.28s ease, background 0.28s ease, color 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease, opacity 0.28s ease;

}

.btn:hover,

.btn:focus-visible {

  border-color: rgba(160,205,245,0.92);

  background: linear-gradient(180deg, rgba(127,179,230,0.14), rgba(127,179,230,0.08));

  color: var(--text);

  box-shadow: 0 10px 28px rgba(0,0,0,0.14), inset 0 1px 0 rgba(255,255,255,0.04);

  transform: translateY(-1px);

}

.btn--solid {

  background: linear-gradient(180deg, rgba(127,179,230,0.22), rgba(127,179,230,0.12));

  color: var(--text);

}

.btn--ghost {

  background: transparent;

}

.btn--full {

  width: 100%;

}

.burger {

  display: none;

  width: 48px;

  height: 48px;

  flex: 0 0 48px;

  border-radius: var(--radius-sm);

  position: relative;

  padding: 0;

  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.01));

  border: 1px solid rgba(127,179,230,0.32);

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 6px 18px rgba(0,0,0,0.14);

  cursor: pointer;

  transition: transform 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease, background 0.28s ease;

}

.burger:hover,

.burger:focus-visible {

  transform: translateY(-1px);

  border-color: rgba(127,179,230,0.56);

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 10px 24px rgba(0,0,0,0.16);

}

.burger span {

  position: absolute;

  left: 50%;

  width: 20px;

  height: 2px;

  background: #e6eef8;

  border-radius: 2px;

  transform: translateX(-50%);

  transition: top 0.28s ease, transform 0.28s ease, opacity 0.22s ease, width 0.28s ease;

}

.burger span:nth-child(1) {

  top: 16px;

}

.burger span:nth-child(2) {

  top: 23px;

}

.burger span:nth-child(3) {

  top: 30px;

}

.burger.is-active span:nth-child(1) {

  top: 23px;

  transform: translateX(-50%) rotate(45deg);

}

.burger.is-active span:nth-child(2) {

  opacity: 0;

  width: 12px;

}

.burger.is-active span:nth-child(3) {

  top: 23px;

  transform: translateX(-50%) rotate(-45deg);

}

.mobile {

  position: fixed;

  inset: 0;

  z-index: 60;

  background: rgba(0,0,0,0.18);

  backdrop-filter: blur(6px);

  opacity: 0;

  visibility: hidden;

  pointer-events: none;

  transition: opacity 0.32s ease, visibility 0.32s ease;

}

.mobile.is-open {

  opacity: 1;

  visibility: visible;

  pointer-events: auto;

}

.mobile__panel {

  position: absolute;

  top: 12px;

  left: 12px;

  right: 12px;

  background: linear-gradient(180deg, rgba(17, 33, 57, 0.98), rgba(14, 26, 43, 0.98));

  border: 1px solid rgba(127,179,230,0.18);

  border-radius: var(--radius-lg);

  padding: 18px;

  box-shadow: var(--shadow-medium);

  transform: translateY(-14px) scale(0.985);

  opacity: 0;

  transition: transform 0.36s cubic-bezier(.22,.61,.36,1), opacity 0.32s ease;

  max-height: calc(100dvh - 24px);

  overflow: auto;

}

.mobile.is-open .mobile__panel {

  transform: translateY(0) scale(1);

  opacity: 1;

}

.mobile__top {

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 12px;

  min-height: 64px;

}

.mobile__close {

  width: 48px;

  height: 48px;

  border-radius: var(--radius-sm);

  border: 1px solid rgba(127,179,230,0.42);

  background: rgba(255,255,255,0.015);

  cursor: pointer;

  position: relative;

}

.mobile__close span {

  position: absolute;

  left: 50%;

  top: 50%;

  width: 18px;

  height: 2px;

  background: var(--text-soft);

  border-radius: 2px;

}

.mobile__close span:first-child {

  transform: translate(-50%, -50%) rotate(45deg);

}

.mobile__close span:last-child {

  transform: translate(-50%, -50%) rotate(-45deg);

}

.mobile__nav {

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  gap: 18px;

  padding: 28px 0 8px;

}

.mobile__link {

  width: 100%;

  text-align: center;

  font-size: clamp(20px, 5vw, 24px);

  font-weight: 500;

  color: var(--text-soft);

  padding: 12px 16px;

  border-radius: var(--radius-sm);

  transition: background-color 0.28s ease, color 0.28s ease, transform 0.28s ease;

}

.mobile__link:hover,

.mobile__link:focus-visible,

.mobile__link.is-active {

  background: rgba(127,179,230,0.08);

  color: var(--accent-strong);

  transform: translateY(-1px);

}

.mobile__cta {

  margin-top: 6px;

}

.mobile__link.is-active {

  box-shadow: inset 0 0 0 1px rgba(127,179,230,0.18);

}

.hero {

  min-height: calc(100svh - var(--header-h));

  height: calc(100svh - var(--header-h));

  display: flex;

  align-items: center;

  margin-top: var(--header-h);

  padding-top: 0;

  overflow: visible;

  position: relative;

  isolation: isolate;

  background: linear-gradient(180deg, #0e1a2b 0%, #102243 100%);

}

.hero::before {

  content: "";

  position: absolute;

  top: calc(-1 * var(--header-h));

  right: 0;

  bottom: 0;

  left: 0;

  background-image: url("assets/hero-bg-desktop.webp");

  background-size: cover;

  background-repeat: no-repeat;

  background-position: right center;

  transform: translate3d(0, var(--hero-parallax), 0) scale(1.06);

  transform-origin: center center;

  will-change: transform;

  z-index: -3;

}

.hero::after {

  content: "";

  position: absolute;

  top: calc(-1 * var(--header-h));

  right: 0;

  bottom: 0;

  left: 0;

  background: linear-gradient(90deg, rgba(9, 24, 48, 0.94) 0%, rgba(10, 27, 54, 0.84) 26%, rgba(11, 31, 61, 0.46) 52%, rgba(12, 34, 67, 0.10) 72%, rgba(12, 34, 67, 0.02) 100%),

    linear-gradient(180deg, rgba(14,26,43,0.24) 0%, rgba(14,26,43,0.08) 28%, rgba(14,26,43,0.18) 100%);

  z-index: -2;

}

.hero__inner {

  display: grid;

  grid-template-columns: minmax(0, 760px);

  gap: 0;

  align-items: center;

  transform: translateY(-10px);

}

.hero__content {

  max-width: 760px;

  padding: clamp(18px, 2.6vw, 32px);

  border-radius: calc(var(--radius-lg) + 6px);

  background: linear-gradient(180deg, rgba(13, 27, 49, 0.72), rgba(13, 27, 49, 0.54));

  border: 1px solid rgba(255, 255, 255, 0.05);

  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18);

  backdrop-filter: blur(10px);

}

.hero__eyebrow {

  margin: 0 0 14px;

  color: var(--accent);

  font-size: 14px;

  font-weight: 700;

  letter-spacing: 0.18em;

  text-transform: uppercase;

}

.hero__title {

  font-size: clamp(42px, 6vw, 64px);

  line-height: 1.08;

  margin: 0;

}

.hero__text {

  margin: 18px 0 0;

  max-width: 620px;

  font-size: clamp(16px, 2.2vw, 19px);

  line-height: 1.7;

  color: var(--text-soft);

}

.hero__actions {

  margin-top: 22px;

  display: flex;

  flex-wrap: wrap;

  gap: 12px;

}

.hero__visual,

.hero__fingerprint {

  display: none;

}

.section {

  padding: clamp(72px, 10vw, 116px) 0;

  position: relative;

  border-top: 1px solid var(--section-separator);

}

.section::before {

  content: "";

  position: absolute;

  top: 0;

  left: 50%;

  transform: translateX(-50%);

  width: min(180px, 28vw);

  height: 1px;

  background: linear-gradient(90deg, transparent, rgba(19, 36, 60, 0.14), transparent);

  opacity: 0.9;

}

.section--light {

  background: #ffffff;

}

.section--soft {

  background: linear-gradient(180deg, var(--light-bg-2), #edf3fa 100%);

}

.about-section {

  position: relative;

  overflow: hidden;

  background: linear-gradient(180deg, #f7fafd 0%, #f1f6fc 100%);

}

.about-section::before {

  content: "";

  position: absolute;

  inset: 0;

  background: radial-gradient(circle at 12% 16%, rgba(118, 166, 220, 0.10), transparent 26%),

    radial-gradient(circle at 88% 4%, rgba(83, 128, 187, 0.08), transparent 22%),

    linear-gradient(90deg, rgba(255,255,255,0.80) 0%, rgba(246,250,254,0.94) 42%, rgba(239,246,252,1) 100%);

  pointer-events: none;

}

.about {

  display: grid;

  grid-template-columns: minmax(0, 1fr) minmax(380px, 0.92fr);

  gap: clamp(32px, 4vw, 64px);

  align-items: center;

  position: relative;

  z-index: 1;

}

.about__content {

  max-width: 700px;

  position: relative;

  z-index: 1;

}

.about__title {

  margin: 0;

  max-width: 9ch;

  font-size: clamp(36px, 4.8vw, 62px);

  line-height: 1.02;

  letter-spacing: -0.04em;

  color: #13243c;

}

.about__lead {

  margin: 26px 0 0;

  max-width: 38ch;

  color: #546b85;

  font-size: clamp(18px, 1.65vw, 21px);

  line-height: 1.82;

  position: relative;

  padding-top: 18px;

}

.about__lead::before {

  content: "";

  position: absolute;

  left: 0;

  top: 0;

  width: 88px;

  height: 2px;

  border-radius: 999px;

  background: linear-gradient(90deg, rgba(57,103,158,0.75), rgba(145,185,230,0.25));

}

.about__accent,

.about__accent::before,

.about__accent-label {

  display: none;

}

.about__panel {

  display: grid;

  gap: 0;

  position: relative;

  z-index: 1;

  padding: 28px 30px 14px;

  border-radius: 32px;

  background: linear-gradient(180deg, rgba(255,255,255,0.97), rgba(246,250,254,0.99));

  border: 1px solid rgba(74, 118, 173, 0.10);

  box-shadow: 0 20px 44px rgba(17, 44, 77, 0.06),

    0 10px 24px rgba(17, 44, 77, 0.03),

    inset 0 1px 0 rgba(255,255,255,0.98);

}

.about__panel::before {

  content: "";

  position: absolute;

  inset: 0;

  border-radius: inherit;

  background: linear-gradient(180deg, rgba(96, 146, 203, 0.05), transparent 22%);

  pointer-events: none;

}

.about__panel-head {

  position: relative;

  z-index: 1;

  margin: 0 0 10px;

  color: #58789c;

  font-size: 13px;

  font-weight: 800;

  letter-spacing: 0.14em;

  text-transform: uppercase;

}

.about__item {

  position: relative;

  display: grid;

  grid-template-columns: 72px 1fr;

  gap: 18px;

  align-items: start;

  padding: 24px 0;

}

.about__item + .about__item {

  border-top: 1px solid rgba(74, 118, 173, 0.10);

}

.about__item:last-child {

  padding-bottom: 6px;

}

.about__num {

  position: relative;

  z-index: 1;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 56px;

  height: 56px;

  border-radius: 18px;

  background: linear-gradient(180deg, #eef6ff, #dce9f8);

  color: #315f92;

  border: 1px solid rgba(92, 136, 188, 0.12);

  font-size: 14px;

  font-weight: 800;

  letter-spacing: 0.08em;

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.92), 0 8px 18px rgba(17, 44, 77, 0.05);

}

.about__item h3 {

  position: relative;

  z-index: 1;

  margin: 4px 0 8px;

  font-size: 22px;

  line-height: 1.14;

  letter-spacing: -0.02em;

  color: #17385c;

}

.about__item p {

  position: relative;

  z-index: 1;

  margin: 0;

  color: #5b728c;

  line-height: 1.72;

  font-size: 16px;

}

.section__inner {

  max-width: 920px;

  padding: 0;

  border-radius: 0;

  background: transparent;

  border: 0;

  box-shadow: none;

}

.section__title {

  margin: 0;

  font-size: clamp(28px, 4vw, 40px);

  line-height: 1.15;

  letter-spacing: -0.02em;

  color: var(--light-title);

}

.section__text {

  margin: 14px 0 0;

  color: var(--light-text);

  font-size: clamp(16px, 2.2vw, 18px);

  line-height: 1.75;

}

.section__intro {

  max-width: 860px;

}

.services-block {

  max-width: 1200px;

}

.services-grid {

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

}

.service-card {

  position: relative;

  overflow: hidden;

  min-height: 100%;

  border: 1px solid rgba(63, 104, 151, 0.12);

  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease, background 0.3s ease;

}

.service-card::before {

  content: "";

  position: absolute;

  top: -36px;

  left: -18px;

  width: 140px;

  height: 140px;

  background: radial-gradient(circle, rgba(156, 196, 235, 0.18) 0%, rgba(156, 196, 235, 0) 72%);

  pointer-events: none;

}

.service-card::after {

  content: "";

  position: absolute;

  top: -60px;

  right: -40px;

  width: 180px;

  height: 180px;

  background: radial-gradient(circle, rgba(150, 190, 232, 0.16) 0%, rgba(150, 190, 232, 0) 70%);

  pointer-events: none;

}

.service-card:hover,

.service-card:focus-within {

  border-color: rgba(72, 128, 191, 0.24);

}

.service-card:hover .service-card__icon,

.service-card:focus-within .service-card__icon {

  transform: translateY(-2px) scale(1.02);

  box-shadow: inset 0 1px 0 rgba(255,255,255,1),

    inset 0 -1px 0 rgba(71, 116, 165, 0.10),

    0 16px 32px rgba(87, 148, 218, 0.16);

}

.service-card--accent {

  background: linear-gradient(180deg, rgba(250,253,255,1), rgba(238,246,255,0.99));

  border-color: rgba(71, 124, 185, 0.18);

}

.service-card__head {

  position: relative;

  display: grid;

  grid-template-columns: 58px 1fr;

  align-items: start;

  padding: 0 0 18px;

  margin: 0 0 18px;

  border-bottom: 1px solid rgba(19, 36, 60, 0.06);

}

.service-card__head::after {

  content: "";

  position: absolute;

  left: 0;

  right: 0;

  bottom: -1px;

  height: 1px;

  background: linear-gradient(90deg, rgba(84, 138, 198, 0.18), rgba(84, 138, 198, 0.28), rgba(84, 138, 198, 0.18));

}

.service-card__icon {

  display: grid;

  place-items: center;

  color: #235b95;

  border: 1px solid rgba(132, 175, 221, 0.18);

  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease, color 0.3s ease;

}

.service-card__icon svg {

  width: 26px;

  height: 26px;

  stroke: currentColor;

  stroke-width: 1.9;

  fill: none;

  stroke-linecap: round;

  stroke-linejoin: round;

}

.service-card__title {

  margin: 0;

  color: #17375f;

  text-wrap: balance;

}

.service-card__subtitle {

  margin: 8px 0 0;

}

.service-card__list {

  list-style: none;

  padding: 0;

  display: grid;

  color: #556b83;

  font-size: 16px;

  line-height: 1.58;

}

.service-card__note {

  margin: 22px 0 0;

  font-size: 15px;

}

.services-cta {

  margin-top: 48px;

  padding: 40px 32px;

  border-radius: 32px;

  text-align: center;

  background: radial-gradient(circle at 50% 0%, rgba(124, 172, 226, 0.18), transparent 42%),

    linear-gradient(180deg, rgba(249,253,255,1), rgba(233,243,255,0.98));

  border: 1px solid rgba(87, 139, 197, 0.16);

  box-shadow: 0 28px 60px rgba(16, 34, 64, 0.08),

    inset 0 1px 0 rgba(255,255,255,0.96);

}

.services-cta__title {

  margin: 0;

  color: var(--light-title);

  font-size: clamp(24px, 3vw, 32px);

  line-height: 1.2;

  font-weight: 800;

}

.services-cta__title span {

  color: var(--light-text);

  font-weight: 600;

}

.services-cta__text {

  margin: 12px auto 0;

  max-width: 720px;

  color: var(--light-text);

  font-size: 17px;

  line-height: 1.7;

}

.services-cta__button {

  margin-top: 22px;

  min-width: 220px;

  background: linear-gradient(180deg, #2e6096 0%, #16385b 100%);

  border-color: rgba(22, 56, 91, 0.96);

  color: #ffffff;

  box-shadow: 0 16px 32px rgba(22, 53, 89, 0.22),

    inset 0 1px 0 rgba(255,255,255,0.18);

}

.services-cta__button:hover,

.services-cta__button:focus-visible {

  background: linear-gradient(180deg, #3974b4 0%, #1d4674 100%);

  border-color: rgba(29, 70, 116, 1);

  color: #ffffff;

}

.service-card:nth-child(1) .service-card__icon {

  background: linear-gradient(180deg, rgba(235,246,255,0.98), rgba(192,223,255,0.92));

  color: #2d69a8;

}

.service-card:nth-child(2) .service-card__icon {

  background: linear-gradient(180deg, rgba(239,245,255,0.98), rgba(205,229,255,0.90));

  color: #375e99;

}

.service-card:nth-child(3) .service-card__icon {

  background: linear-gradient(180deg, rgba(240,249,255,0.98), rgba(210,238,255,0.90));

  color: #2e678f;

}

.service-card:nth-child(4) .service-card__icon {

  background: linear-gradient(180deg, rgba(244,247,255,0.98), rgba(219,233,255,0.90));

  color: #436897;

}

.service-card:nth-child(5) .service-card__icon {

  background: linear-gradient(180deg, rgba(236,246,255,0.98), rgba(196,224,249,0.90));

  color: #29659e;

}

.service-card:nth-child(6) .service-card__icon {

  background: linear-gradient(180deg, rgba(240,248,255,0.98), rgba(208,232,255,0.92));

  color: #3566a5;

}

.reveal {

  opacity: 0;

  transform: translateY(26px);

  transition: opacity 0.68s cubic-bezier(.22,.61,.36,1),

    transform 0.68s cubic-bezier(.22,.61,.36,1);

  will-change: opacity, transform;

}

.reveal.is-visible {

  opacity: 1;

  transform: translateY(0);

}

.services-grid .service-card:nth-child(1) {

  transition-delay: 0.02s;

}

.services-grid .service-card:nth-child(2) {

  transition-delay: 0.10s;

}

.services-grid .service-card:nth-child(3) {

  transition-delay: 0.18s;

}

.services-grid .service-card:nth-child(4) {

  transition-delay: 0.06s;

}

.services-grid .service-card:nth-child(5) {

  transition-delay: 0.14s;

}

.services-grid .service-card:nth-child(6) {

  transition-delay: 0.22s;

}

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

  .reveal,

  .reveal.is-visible {

    opacity: 1;

    transform: none;

    transition: none;

  }

}

@media (max-width: 1180px) {

  .services-grid {

    grid-template-columns: repeat(2, minmax(0, 1fr));

  }

}

@media (max-width: 1180px) {

  .container {

    width: min(1280px, calc(100% - 48px));

  }

  .brand {

    min-width: 280px;

  }

  .brand__logo {

    max-width: 288px;

  }

}

@media (max-width: 980px) {

  .hero::before {

    background-image: url("assets/hero-bg-mobile.webp");

  }

  .header__bg {

    background-image: radial-gradient(circle at 20% 0%, rgba(127,179,230,0.12), transparent 28%),

      radial-gradient(circle at 75% 0%, rgba(127,179,230,0.08), transparent 24%),

      linear-gradient(180deg, rgba(14,26,43,0.80) 0%, rgba(14,26,43,0.58) 58%, rgba(14,26,43,0.34) 100%);

    background-repeat: no-repeat;

    background-size: auto, auto, auto;

    background-position: center, center, center;

  }

  .header.is-sticky .header__bg {

    background: linear-gradient(180deg, rgba(12, 24, 42, 0.92) 0%, rgba(12, 24, 42, 0.84) 100%);

  }

  :root {

    --header-h: 76px;

  }

  .container {

    width: calc(100% - 24px);

  }

  .header.is-sticky {

    height: 72px;

  }

  .brand {

    min-width: 0;

  }

  .brand__logo {

    height: 46px;

    max-width: 230px;

  }

  .header.is-sticky .brand__logo {

    height: 42px;

  }

  .nav {

    display: none;

  }

  .header__actions {

    flex: 0 0 auto;

    gap: 8px;

    width: auto;

  }

  .header__cta {

    display: inline-flex;

    min-height: 48px;

    padding: 0 16px;

    font-size: 13px;

    border-radius: var(--radius-sm);

    text-align: center;

    flex: 0 1 auto;

  }

  .burger {

    display: inline-flex;

  }

  .hero {

    margin-top: 0;

    min-height: 66svh;

    height: auto;

    align-items: center;

    padding-top: 10px;

    padding-bottom: 18px;

  }

  .hero::before {

    background-position: 80% center;

    transform: translate3d(0, var(--hero-parallax), 0) scale(1.12);

  }

  .hero::after {

    background: linear-gradient(180deg, rgba(10, 26, 49, 0.56) 0%, rgba(10, 26, 49, 0.66) 100%),

      linear-gradient(90deg, rgba(9, 24, 48, 0.92) 0%, rgba(10, 27, 54, 0.82) 34%, rgba(11, 31, 61, 0.48) 62%, rgba(12, 34, 67, 0.16) 100%);

  }

  .hero__inner {

    grid-template-columns: 1fr;

    gap: 24px;

    transform: none;

    min-height: 100%;

    align-content: center;

  }

  .hero__content {

    max-width: 100%;

    margin-inline: auto;

    text-align: center;

    display: flex;

    flex-direction: column;

    align-items: center;

  }

  .hero__actions {

    width: 100%;

    justify-content: center;

  }

  .hero__actions .btn {

    flex: 1 1 220px;

    max-width: 320px;

  }

  .section__inner {

    text-align: center;

    margin-inline: auto;

  }

  .services-grid {

    grid-template-columns: 1fr;

    gap: 16px;

    margin-top: 28px;

  }

  .service-card {

    padding: 22px;

    text-align: left;

  }

  .service-card__head {

    grid-template-columns: 48px 1fr;

    gap: 14px;

  }

  .service-card__icon {

    width: 48px;

    height: 48px;

    border-radius: 14px;

  }

  .service-card__title {

    font-size: 22px;

  }

  .services-cta {

    margin-top: 28px;

    padding: 24px 18px;

  }

}

@media (max-width: 640px) {

  .mobile__panel {

    top: 8px;

    left: 8px;

    right: 8px;

    padding: 16px;

    max-height: calc(100dvh - 16px);

  }

  .header__inner {

    gap: 8px;

  }

  .header__cta {

    min-width: 0;

    width: auto;

    max-width: 210px;

    padding-inline: 14px;

    line-height: 1.1;

  }

  .brand__logo {

    max-width: 170px;

  }

  .btn {

    min-height: 46px;

    padding: 11px 16px;

  }

  .hero__title {

    word-break: normal;

  }

}

@media (max-width: 640px) {

  .hero {

    min-height: auto;

    height: auto;

    padding-top: calc(var(--header-h) + 18px);

    padding-bottom: 28px;

  }

  .hero__inner {

    min-height: auto;

    align-content: start;

  }

}

@media (max-width: 420px) {

  .container {

    width: calc(100% - 20px);

  }

  .header__cta {

    max-width: 180px;

    font-size: 12px;

    padding-inline: 12px;

  }

  .burger,

  .mobile__close {

    width: 46px;

    height: 46px;

    flex-basis: 46px;

  }

}

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

  *, *::before, *::after {

    animation: none;

    transition-duration: 0.01ms;

    transition-delay: 0ms;

    scroll-behavior: auto;

  }

}

@media (max-width: 640px) {

  .service-card__list,

  .service-card__note,

  .services-cta__text {

    font-size: 15px;

  }

}

@media (max-width: 980px) {

  .about {

    grid-template-columns: 1fr;

    gap: 30px;

  }

  .about__content,

  .about__lead {

    max-width: 100%;

  }

  .about__panel {

    padding: 22px 20px 10px;

    border-radius: 26px;

  }

}

@media (max-width: 640px) {

  .about__title {

    max-width: 100%;

    font-size: clamp(30px, 9vw, 42px);

  }

  .about__lead {

    font-size: 16px;

    line-height: 1.8;

  }

  .about__item {

    padding: 18px 0;

    grid-template-columns: 50px 1fr;

    gap: 14px;

  }

  .about__num {

    width: 48px;

    height: 48px;

    border-radius: 16px;

  }

  .about__item h3 {

    font-size: 19px;

  }

  .about__item p {

    font-size: 15px;

  }

}

.about2 {

  position: relative;

  overflow: hidden;

  background: radial-gradient(circle at 18% 24%, rgba(66, 133, 244, 0.08), transparent 28%),

    radial-gradient(circle at 84% 18%, rgba(137, 186, 255, 0.12), transparent 24%),

    linear-gradient(180deg, #eef4fa 0%, #f8fbff 100%);

}

.about2::before {

  content: "";

  position: absolute;

  inset: 0;

  background: linear-gradient(90deg, rgba(255,255,255,0.25) 0%, rgba(255,255,255,0) 22%, rgba(255,255,255,0.18) 48%, rgba(255,255,255,0) 76%, rgba(255,255,255,0.18) 100%);

  pointer-events: none;

}

.about2__grid {

  position: relative;

  z-index: 1;

  display: grid;

  grid-template-columns: minmax(0, 1.04fr) minmax(360px, 0.96fr);

}

.about2__left {

  animation: aboutFadeUp .8s ease both;

}

.about2__title {

  margin: 0;

  font-weight: 800;

  color: #102f57;

}

.about2__text {

  margin: 24px 0 0;

  font-size: 18px;

  line-height: 1.82;

  color: #607188;

}

.about2__trust {

  display: grid;

  gap: 14px;

}

.about2__trust-item {

  display: flex;

  align-items: center;

  gap: 14px;

  min-height: 72px;

  padding: 18px 20px;

  border-radius: 20px;

  border: 1px solid rgba(228, 236, 246, 0.96);

  background: rgba(255, 255, 255, 0.68);

  box-shadow: 0 12px 34px rgba(16, 47, 87, 0.045);

  color: #28496f;

  font-size: 16px;

  font-weight: 600;

  backdrop-filter: blur(10px);

  animation: aboutFadeUp .8s ease both;

}

.about2__trust-item:nth-child(1) {

  animation-delay: .12s;

}

.about2__trust-item:nth-child(2) {

  animation-delay: .20s;

}

.about2__trust-item:nth-child(3) {

  animation-delay: .28s;

}

.about2__check {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 30px;

  height: 30px;

  flex: 0 0 30px;

  border-radius: 999px;

  background: linear-gradient(180deg, #eef6ff 0%, #dcecff 100%);

  color: #2b6bcc;

  font-weight: 800;

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.85);

}

.about2__cta {

  display: inline-flex;

  align-items: center;

  gap: 10px;

  padding: 15px 22px;

  border-radius: 16px;

  background: linear-gradient(180deg, rgba(31, 62, 108, 0.96) 0%, rgba(17, 43, 80, 0.98) 100%);

  border: 1px solid rgba(90, 134, 198, 0.22);

  color: #ffffff;

  text-decoration: none;

  font-weight: 700;

  letter-spacing: -0.01em;

  box-shadow: 0 16px 34px rgba(16, 47, 87, 0.22);

  animation: aboutFadeUp .8s ease both;

  animation-delay: .34s;

}

.about2__cta:hover,

.about2__cta:focus-visible {

  filter: brightness(1.03);

}

.about2__cta span {

  transition: transform 0.22s ease;

}

.about2__cta:hover span,

.about2__cta:focus-visible span {

  transform: translateX(3px);

}

.about2__right {

  min-width: 0;

  animation: aboutFadeUp .8s ease both;

  animation-delay: .12s;

}

.about2__card {

  position: relative;

  border-radius: 34px;

  border: 1px solid rgba(255,255,255,0.9);

  background: linear-gradient(180deg, rgba(255,255,255,0.88) 0%, rgba(255,255,255,0.8) 100%);

  box-shadow: 0 26px 80px rgba(18, 45, 84, 0.08);

  backdrop-filter: blur(14px);

}

.about2__card::after {

  content: "";

  position: absolute;

  left: -60px;

  bottom: -70px;

  width: 220px;

  height: 220px;

  border-radius: 999px;

  background: radial-gradient(circle, rgba(119, 173, 255, 0.14), transparent 70%);

  pointer-events: none;

}

.about2__card-title {

  border-bottom: 1px solid rgba(225, 233, 243, 0.9);

  color: #1b416f;

  font-weight: 800;

  text-wrap: balance;

}

.about2__steps {

  display: grid;

  gap: 0;

}

.about2__step {

  display: grid;

  grid-template-columns: 64px minmax(0, 1fr);

  align-items: start;

}

.about2__step:hover {

  transform: translateX(4px);

}

.about2__step-side {

  display: flex;

  justify-content: center;

}

.about2__num {

  width: 52px;

  height: 52px;

  border-radius: 18px;

  border: 1px solid rgba(197, 216, 239, 0.95);

  display: inline-flex;

  align-items: center;

  justify-content: center;

  font-size: 16px;

  font-weight: 800;

  transition: transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease;

}

.about2__step:hover .about2__num {

  transform: translateY(-1px);

  background: linear-gradient(180deg, #2b6bcc 0%, #1e57ab 100%);

  color: #fff;

  box-shadow: 0 16px 32px rgba(31, 95, 191, 0.20);

}

.about2__step-main h4 {

  font-weight: 800;

  color: #1b416f;

  transition: color .22s ease;

}

.about2__step:hover .about2__step-main h4 {

  color: #2b6bcc;

}

.about2__step-main p {

  margin: 0;

  color: #667a92;

}

.about2__flow {

  display: grid;

  gap: 18px;

}

.about2__flow-arrow {

  border-right: 2px solid #9bb7da;

  border-bottom: 2px solid #9bb7da;

  margin-top: -2px;

}

@keyframes aboutFadeUp {

  from {

  opacity: 0;

  transform: translateY(18px);

  }

  to {

  opacity: 1;

  transform: translateY(0);

  }

}

.section--services {

  background: radial-gradient(circle at 18% 0%, rgba(123, 168, 224, 0.20), transparent 32%),

    radial-gradient(circle at 82% 12%, rgba(164, 201, 239, 0.16), transparent 28%),

    linear-gradient(180deg, #edf5fd 0%, #dde9f7 52%, #d7e4f3 100%);

}

.services-block .section__intro {

  max-width: 900px;

  margin-inline: auto;

  text-align: center;

}

.services-block .section__title {

  font-size: clamp(24px, 3vw, 34px);

  line-height: 1.14;

  letter-spacing: -0.028em;

}

.services-block__lead {

  max-width: 760px;

  margin-inline: auto;

}

.services-grid {

  margin-top: 44px;

  gap: 26px;

}

.service-card {

  background: linear-gradient(180deg, rgba(255,255,255,0.995) 0%, rgba(249,252,255,0.99) 40%, rgba(242,247,253,0.99) 100%);

  box-shadow: 0 22px 48px rgba(18, 43, 77, 0.08),

    0 10px 24px rgba(18, 43, 77, 0.05),

    inset 0 1px 0 rgba(255,255,255,0.96),

    inset 0 -1px 0 rgba(181, 205, 233, 0.10);

}

.service-card:hover,

.service-card:focus-within {

  transform: translateY(-10px);

  box-shadow: 0 28px 60px rgba(18, 43, 77, 0.10),

    0 14px 30px rgba(18, 43, 77, 0.06),

    inset 0 1px 0 rgba(255,255,255,0.98),

    inset 0 -1px 0 rgba(181, 205, 233, 0.12);

}

.service-card__title {

  font-size: 28px;

  letter-spacing: -0.03em;

}

.service-card__subtitle {

  font-weight: 700;

  letter-spacing: 0.03em;

  text-transform: uppercase;

  font-size: 12px;

  color: #6b86a7;

}

.service-card__icon {

  width: 54px;

  height: 54px;

  border-radius: 18px;

  background: linear-gradient(180deg, rgba(239,246,255,0.98) 0%, rgba(216,233,252,0.98) 100%);

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.9),

    0 10px 22px rgba(91, 141, 210, 0.12);

}

.service-card__list li {

  position: relative;

  padding-left: 18px;

}

.service-card__list li::before {

  content: "";

  position: absolute;

  left: 0;

  top: 10px;

  width: 7px;

  height: 7px;

  border-radius: 999px;

  background: linear-gradient(180deg, #7db6ff 0%, #3f7fdb 100%);

  box-shadow: 0 0 0 4px rgba(125, 182, 255, 0.12);

}

.service-card__note {

  border-top: 1px solid rgba(205, 219, 236, 0.9);

  font-weight: 700;

  color: #21466f;

}

@media (max-width: 1080px) {

  .about2__grid {

    grid-template-columns: 1fr;

    gap: 34px;

  }

  .about2__left,

  .about2__right {

    max-width: none;

  }

  .services-grid {

    grid-template-columns: repeat(2, minmax(0, 1fr));

  }

}

@media (max-width: 640px) {

  .about2__text {

    font-size: 17px;

    line-height: 1.75;

  }

  .about2__trust-item {

    min-height: 68px;

    padding: 16px;

    align-items: flex-start;

  }

  .about2__card {

    border-radius: 26px;

  }

  .about2__step,

  .about2__flow {

    grid-template-columns: 50px minmax(0, 1fr);

    gap: 14px;

  }

  .about2__num {

    width: 44px;

    height: 44px;

    border-radius: 14px;

    font-size: 15px;

  }

  .about2__flow-line {

    height: 20px;

  }

  .services-grid {

    grid-template-columns: 1fr;

  }

  .services-block .section__title {

    font-size: 28px;

  }

  .service-card__title {

    font-size: 24px;

  }

}

.about2__num {

  background: linear-gradient(180deg, #eaf2fb 0%, #d9e6f5 100%);

  color: #244a77;

  border-color: rgba(182, 204, 229, 0.96);

  box-shadow: 0 8px 20px rgba(29, 63, 108, 0.08),

    inset 0 1px 0 rgba(255, 255, 255, 0.92);

}

.about2__step:hover .about2__num,

.about2__step:focus-within .about2__num {

  background: linear-gradient(180deg, #244a77 0%, #1a385f 100%) !important;

  color: #ffffff !important;

  box-shadow: 0 14px 28px rgba(21, 47, 87, 0.16),

    inset 0 1px 0 rgba(255,255,255,0.10) !important;

}

.about2__step:hover .about2__step-main h4,

.about2__step:focus-within .about2__step-main h4 {

  color: #1e416c !important;

}

.about2__trust--group {

  gap: 0;

  padding: 10px;

  border-radius: 24px;

  background: rgba(255, 255, 255, 0.58);

  border: 1px solid rgba(223, 232, 243, 0.92);

  box-shadow: 0 14px 34px rgba(16, 47, 87, 0.045),

    inset 0 1px 0 rgba(255,255,255,0.88);

  backdrop-filter: blur(10px);

}

.about2__trust--group .about2__trust-item {

  min-height: 60px;

  padding: 14px 16px;

  margin: 0;

  border: 0;

  border-radius: 16px;

  background: transparent;

  box-shadow: none;

  animation: none;

}

.about2__trust--group .about2__trust-item + .about2__trust-item {

  border-top: 1px solid rgba(221, 231, 242, 0.92);

}

.about2__trust--group .about2__check {

  width: 28px;

  height: 28px;

  flex: 0 0 28px;

  background: linear-gradient(180deg, #edf5ff 0%, #dce9f8 100%);

  color: #2a5f98;

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.92);

}

.about2__trust--group .about2__trust-item span:last-child {

  color: #29496d;

  font-weight: 600;

}

@media (max-width: 640px) {

  .about2__trust--group {

    padding: 8px;

    border-radius: 20px;

  }

  .about2__trust--group .about2__trust-item {

    min-height: 56px;

    padding: 12px 14px;

  }

}

.about2__flow {

  grid-template-columns: 64px minmax(0, 1fr);

  align-items: center;

}

.about2__flow-side {

  width: 52px;

  margin: 0 auto;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

}

.about2__flow-line {

  width: 2px;

  border-radius: 999px;

}

.about2__flow-arrow {

  position: relative;

  width: 12px;

  height: 8px;

  margin: 0 auto;

  background: transparent;

  border: 0;

  transform: none;

}

.about2__flow-arrow::before,

.about2__flow-arrow::after {

  content: "";

  position: absolute;

  top: 2px;

  width: 8px;

  height: 2px;

  border-radius: 999px;

}

.about2__flow-arrow::before {

  left: 0;

  transform: rotate(35deg);

  transform-origin: left center;

}

.about2__flow-arrow::after {

  right: 0;

  transform: rotate(-35deg);

  transform-origin: right center;

}

.about2__card-title {

  margin: 0 0 22px;

  padding-bottom: 16px;

  font-size: clamp(21px, 2.1vw, 30px);

  line-height: 1.12;

  letter-spacing: -0.028em;

}

.about2__step {

  gap: 18px;

  padding: 3px 0;

}

.about2__step-main h4 {

  margin: 4px 0 10px;

  font-size: 18px;

  line-height: 1.22;

  letter-spacing: -0.02em;

}

.about2__step-main p {

  font-size: 16px;

}

.about2__flow {

  min-height: 40px;

  margin: 2px 0 8px;

}

.about2__flow-side {

  gap: 6px;

}

.about2__flow-line {

  height: 24px;

}

.about2__step,

.about2__flow {

  opacity: 0;

  transform: translateY(10px);

}

.about2.is-animated .about2__step,

.about2.is-animated .about2__flow {

  animation: about2StepIn 0.56s cubic-bezier(.22,.61,.36,1) forwards;

}

.about2.is-animated .about2__step--s1 {

  animation-delay: .06s;

}

.about2.is-animated .about2__flow--s1 {

  animation-delay: .16s;

}

.about2.is-animated .about2__step--s2 {

  animation-delay: .26s;

}

.about2.is-animated .about2__flow--s2 {

  animation-delay: .36s;

}

.about2.is-animated .about2__step--s3 {

  animation-delay: .46s;

}

@keyframes about2StepIn {

  from {

  opacity: 0;

  transform: translateY(10px);

  }

  to {

  opacity: 1;

  transform: translateY(0);

  }

}

.about2.is-animated .about2__step--s1 .about2__num {

  animation: about2BadgePulse .85s ease .08s both;

}

.about2.is-animated .about2__step--s2 .about2__num {

  animation: about2BadgePulse .85s ease .28s both;

}

.about2.is-animated .about2__step--s3 .about2__num {

  animation: about2BadgePulse .85s ease .48s both;

}

@keyframes about2BadgePulse {

  0% {

  background: linear-gradient(180deg, #eaf2fb 0%, #d9e6f5 100%);

  color: #244a77;

  box-shadow:

  0 8px 20px rgba(29, 63, 108, 0.08),

  inset 0 1px 0 rgba(255,255,255,0.92);

  }

  35%,

  65% {

  background: linear-gradient(180deg, #244a77 0%, #1a385f 100%);

  color: #ffffff;

  box-shadow:

  0 16px 32px rgba(21, 47, 87, 0.18),

  inset 0 1px 0 rgba(255,255,255,0.10);

  }

  100% {

  background: linear-gradient(180deg, #eaf2fb 0%, #d9e6f5 100%);

  color: #244a77;

  box-shadow:

  0 8px 20px rgba(29, 63, 108, 0.08),

  inset 0 1px 0 rgba(255,255,255,0.92);

  }

}

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

  .about2__step,

  .about2__flow {

    opacity: 1;

    transform: none;

    animation: none;

  }

  .about2__num {

    animation: none;

  }

}

@media (max-width: 640px) {

  .about2__card {

    padding: 24px 18px 22px;

  }

  .about2__card-title {

    font-size: 22px;

  }

  .about2__step-main h4 {

    font-size: 17px;

  }

  .about2__step-main p {

    font-size: 15px;

    line-height: 1.64;

  }

}

.about2__trust-item strong {

  font-size: 18px;

  font-weight: 800;

  color: #1f3f6b;

}

.about2__trust-item {

  transition: transform .24s ease,

    box-shadow .24s ease,

    background-color .24s ease,

    border-color .24s ease;

}

@media (hover: hover) and (pointer: fine) {

  .about2__trust-item:hover {

    transform: translateY(-2px);

    box-shadow: 0 10px 24px rgba(15, 41, 84, 0.055),

      inset 0 0 0 1px rgba(220, 232, 244, 0.88) !important;

    background: linear-gradient(180deg, rgba(250, 252, 255, 0.96), rgba(244, 249, 254, 0.96)) !important;

  }

}

.about2__cta {

  transition: transform .24s ease,

    box-shadow .24s ease,

    filter .24s ease;

}

.about2__cta:hover,

.about2__cta:focus-visible {

  transform: translateY(-2px) scale(1.02) !important;

  box-shadow: 0 18px 38px rgba(16, 47, 87, 0.28),

    0 0 0 4px rgba(36, 74, 119, 0.12) !important;

}

.about2__cta-note {

  font-size: 13px;

  line-height: 1.45;

  color: #6f8095;

  letter-spacing: 0.01em;

}

.about2__flow-line {

  background: linear-gradient(

      180deg,

      rgba(188, 206, 227, 0.08) 0%,

      rgba(125, 159, 197, 0.62) 46%,

      rgba(205, 221, 239, 0.14) 100%

    );

  box-shadow: 0 1px 0 rgba(255,255,255,0.55),

    0 0 0 1px rgba(255,255,255,0.02),

    0 0 10px rgba(157, 182, 211, 0.08);

}

.about2__flow-arrow {

  opacity: 0.82;

  animation: about2FlowArrow 2.4s ease-in-out infinite;

}

.about2__flow-arrow::before,

.about2__flow-arrow::after {

  background: linear-gradient(90deg, #aac0d9 0%, #8ea9c6 100%);

}

@keyframes about2FlowArrow {

  0% {

  transform: translateY(-1px);

  opacity: 0.38;

  }

  50% {

  transform: translateY(3px);

  opacity: 0.95;

  }

  100% {

  transform: translateY(-1px);

  opacity: 0.38;

  }

}

.about2__step {

  transition: transform .24s ease,

    opacity .24s ease;

}

@media (hover: hover) and (pointer: fine) {

  .about2__steps:hover .about2__step {

    opacity: 0.8;

  }

  .about2__steps:hover .about2__step:hover {

    opacity: 1;

    transform: translateX(4px);

  }

  .about2__steps:hover .about2__step:hover .about2__num {

    transform: translateY(-1px) scale(1.03);

    box-shadow: 0 14px 30px rgba(16, 47, 87, 0.14),

      inset 0 1px 0 rgba(255,255,255,0.92) !important;

  }

  .about2__steps:hover .about2__step:hover .about2__step-main h4 {

    color: #29517d !important;

  }

}

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

  .about2__flow-arrow {

    animation: none;

  }

}

.about2__trust {

  margin-top: 20px;

}

.about2__cta {

  margin-top: 18px;

}

.about2__cta-note {

  margin-top: 8px;

}

.about2__step-main p {

  line-height: 1.76;

}

.service-card {

  padding-bottom: 28px;

}

@media (max-width: 640px) {

  .service-card__note {

    margin-top: 18px;

  }

}

.about2__card {

  padding: 36px 32px 36px;

}

.service-card__list li {

  padding-bottom: 0;

}

.service-card__title {

  line-height: 1.08;

}

.service-card__subtitle {

  margin-top: 4px;

}

.about2.section {

  padding-bottom: 80px;

}

.service-card__list {

  margin-top: 10px;

}

.services-grid > .service-card {

  align-self: stretch;

}

@media (min-width: 901px) {

  .services-grid {

    grid-auto-rows: 1fr;

  }

}

@media (max-width: 640px) {

  .about2.section {

    padding-bottom: 22px;

  }

}

.about2__grid {

  gap: clamp(24px, 3vw, 40px);

  align-items: start;

}

.about2__left {

  max-width: 760px;

}

.about2__right {

  max-width: 470px;

}

.about2__title {

  max-width: 14.8ch;

  font-size: clamp(32px, 4.4vw, 50px);

  line-height: 1.03;

  letter-spacing: -0.04em;

  text-wrap: balance;

}

.about2__text {

  max-width: 60ch;

}

.about2__trust {

  max-width: 600px;

}

.section--services {

  padding-top: 44px;

}

.services-grid {

  row-gap: 22px;

  column-gap: 22px;

  align-items: stretch;

}

.service-card {

  display: flex;

  flex-direction: column;

  height: 100%;

  padding: 24px 24px 22px;

  border-radius: 26px;

}

.service-card__head {

  gap: 14px;

  margin-bottom: 8px;

}

.service-card__body {

  display: flex;

  flex-direction: column;

  flex: 1 1 auto;

  gap: 16px;

}

.service-card__list {

  margin: 14px 0;

  gap: 12px;

}

.service-card__list li {

  line-height: 1.68;

}

.service-card__note {

  margin-top: auto;

  padding-top: 18px;

  line-height: 1.48;

}

@media (max-width: 900px) {

  .about2__left,

  .about2__right {

    max-width: none;

  }

  .about2__grid {

    gap: 28px;

  }

  .services-grid {

    row-gap: 18px;

    column-gap: 18px;

  }

}

@media (max-width: 640px) {

  .about2__title {

    max-width: none;

    font-size: clamp(30px, 8.6vw, 40px);

  }

  .section--services {

    padding-top: 34px;

  }

  .service-card {

    padding: 20px 18px 18px;

    border-radius: 22px;

  }

  .service-card__body {

    gap: 14px;

  }

  .service-card__list {

    gap: 10px;

  }

  .service-card__list li {

    line-height: 1.6;

  }

  .service-card__note {

    padding-top: 14px;

  }

}

.consult-strip {

  background: #ffffff;

}

.consult-strip__inner,

.contacts-form-card,

.contacts-info-card,

.contacts-map-card {

  position: relative;

  overflow: hidden;

  border-radius: 30px;

  border: 1px solid rgba(218, 229, 242, 0.9);

  background: linear-gradient(180deg, rgba(255,255,255,0.97) 0%, rgba(248,251,255,0.94) 100%);

  box-shadow: 0 24px 54px rgba(19, 45, 82, 0.07), inset 0 1px 0 rgba(255,255,255,0.96);

}

.consult-strip__inner {

  display: grid;

  grid-template-columns: minmax(0, 1.2fr) auto;

  gap: 28px;

  align-items: center;

  padding: 30px 34px;

}

.consult-strip__eyebrow {

  display: inline-flex;

  align-items: center;

  min-height: 34px;

  padding: 0 14px;

  border-radius: 999px;

  background: rgba(238, 246, 255, 0.9);

  border: 1px solid rgba(210, 224, 240, 0.9);

  color: #6f89a8;

  font-size: 12px;

  font-weight: 700;

  letter-spacing: 0.14em;

  text-transform: uppercase;

}

.consult-strip__title {

  margin: 16px 0 0;

  color: #16365e;

  font-size: clamp(28px, 3vw, 40px);

  line-height: 1.08;

  letter-spacing: -0.03em;

}

.consult-strip__text {

  margin: 14px 0 0;

  color: #5e738c;

  line-height: 1.72;

  font-size: 17px;

}

.consult-strip__actions {

  display: flex;

  flex-wrap: wrap;

  gap: 12px;

}

.consult-strip__btn {

  min-width: 196px;

}

.consult-strip__btn--ghost {

  color: #244a77;

  border-color: rgba(176, 202, 232, 0.95);

  background: rgba(244, 249, 255, 0.9);

  box-shadow: none;

}

.consult-strip__btn--ghost:hover,

.consult-strip__btn--ghost:focus-visible {

  color: #17385c;

  background: rgba(236, 245, 255, 0.95);

  box-shadow: 0 14px 26px rgba(19, 45, 82, 0.07);

}

.contacts-section {

  background: radial-gradient(circle at 14% 8%, rgba(123, 168, 224, 0.18), transparent 28%),

    radial-gradient(circle at 88% 18%, rgba(164, 201, 239, 0.16), transparent 24%),

    linear-gradient(180deg, #eef5fc 0%, #dde9f8 100%);

}

.contacts-layout {

  display: grid;

  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);

  gap: 30px;

}

.contacts-form-card,

.contacts-info-card {

  padding: 30px;

}

.contacts-form-card__title {

  max-width: 20ch;

  margin: 0;

  color: #16365e;

  font-size: clamp(26px, 2.9vw, 36px);

  line-height: 1.08;

  letter-spacing: -0.03em;

  text-wrap: balance;

}

.contacts-form {

  gap: 16px;

  margin-top: 18px;

}

.contacts-form__field {

  display: grid;

  gap: 8px;

}

.contacts-form__field span {

  font-size: 13px;

  color: #6e839f;

  font-weight: 700;

  letter-spacing: 0.01em;

}

.contacts-form__field input,

.contacts-form__field textarea {

  width: 100%;

  padding: 15px 16px;

  border-radius: 18px;

  border: 1px solid rgba(206, 220, 237, 0.95);

  background: rgba(255,255,255,0.96);

  color: #17385c;

  outline: none;

  transition: border-color .24s ease, box-shadow .24s ease, background-color .24s ease, transform .24s ease;

}

.contacts-form__field textarea {

  min-height: 160px;

  resize: vertical;

}

.contacts-form__field input::placeholder,

.contacts-form__field textarea::placeholder {

  color: #8ba0b8;

  transition: opacity .2s ease, transform .2s ease;

}

.contacts-form__field input:focus,

.contacts-form__field textarea:focus {

  border-color: rgba(92, 136, 197, 0.82);

  box-shadow: 0 0 0 4px rgba(127, 179, 230, 0.12);

  background: #fff;

  transform: translateY(-1px);

}

.contacts-form__field input:focus::placeholder,

.contacts-form__field textarea:focus::placeholder {

  opacity: .6;

  transform: translateX(3px);

}

.contacts-info-wrap {

  gap: 20px;

}

.contacts-info-list {

  display: grid;

  gap: 12px;

}

.contacts-info-item {

  display: grid;

  grid-template-columns: 44px minmax(0, 1fr);

  gap: 14px;

  align-items: start;

  padding: 14px 15px;

  border-radius: 18px;

  background: rgba(244, 249, 255, 0.78);

  border: 1px solid rgba(220, 232, 245, 0.95);

  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease, background-color .24s ease;

}

.contacts-info-item__icon {

  display: inline-flex;

  width: 40px;

  height: 40px;

  align-items: center;

  justify-content: center;

  border-radius: 12px;

  background: linear-gradient(180deg, #edf5ff 0%, #dce9f8 100%);

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.92);

  transition: transform .24s ease, box-shadow .24s ease;

}

.contacts-info-item__content {

  display: grid;

  gap: 4px;

}

.contacts-info-item__label {

  color: #7a90ab;

  font-size: 11px;

  font-weight: 700;

  letter-spacing: 0.1em;

  text-transform: uppercase;

}

.contacts-info-item__value {

  color: #17385c;

  font-size: 15px;

  line-height: 1.5;

  font-weight: 600;

}

.contacts-form__submit {

  position: relative;

  overflow: hidden;

  padding: 16px 26px;

  border: none;

  border-radius: 18px;

  background: linear-gradient(135deg, #173a6a 0%, #214b83 55%, #173a6a 100%);

  color: #ffffff;

  box-shadow: 0 16px 34px rgba(23, 58, 106, 0.22), inset 0 1px 0 rgba(255,255,255,0.12);

  gap: 12px;

  transition: transform .24s ease, box-shadow .24s ease, filter .24s ease;

}

.contacts-form__submit:hover,

.contacts-form__submit:focus-visible {

  transform: translateY(-2px);

  box-shadow: 0 22px 42px rgba(23, 58, 106, 0.28), inset 0 1px 0 rgba(255,255,255,0.16);

  filter: brightness(1.03);

}

.contacts-form__submit:active {

  transform: translateY(0);

  box-shadow: 0 10px 22px rgba(23, 58, 106, 0.20), inset 0 1px 0 rgba(255,255,255,0.10);

}

.contacts-form__submit::after {

  content: "";

  position: absolute;

  inset: 0;

  border-radius: inherit;

  opacity: 0;

  pointer-events: none;

  background: radial-gradient(circle at 30% 20%, rgba(255,255,255,0.18), transparent 55%);

  transition: opacity .24s ease;

}

.contacts-form__submit:hover::after,

.contacts-form__submit:focus-visible::after {

  opacity: 1;

}

.contacts-form__submit-text,

.contacts-form__submit-icon,

.contacts-form__submit-loader {

  position: relative;

  z-index: 1;

}

.contacts-form__submit-icon {

  font-size: 18px;

  line-height: 1;

  transition: transform .24s ease, opacity .24s ease;

}

.contacts-form__submit:hover .contacts-form__submit-icon,

.contacts-form__submit:focus-visible .contacts-form__submit-icon {

  transform: translateX(2px) rotate(-10deg);

}

.contacts-form__submit-loader {

  display: none;

  width: 18px;

  height: 18px;

  border-radius: 999px;

  border: 2px solid rgba(255,255,255,0.38);

  border-top-color: #fff;

  animation: contactsSpin .8s linear infinite;

}

.contacts-form__submit.is-loading .contacts-form__submit-loader {

  display: inline-block;

}

.contacts-form__submit.is-loading .contacts-form__submit-icon {

  display: none;

}

@keyframes contactsSpin {

  to { transform: rotate(360deg); }

}

@media (hover: hover) and (pointer: fine) {

  .contacts-form__field:hover input,

  .contacts-form__field:hover textarea {

    border-color: rgba(183, 204, 228, 0.98);

    background: rgba(255,255,255,0.98);

  }

  .contacts-info-item:hover {

    transform: translateY(-3px);

    box-shadow: 0 14px 30px rgba(19, 45, 82, 0.08);

    border-color: rgba(178, 202, 231, 0.95);

    background: rgba(248, 251, 255, 0.92);

  }

  .contacts-info-item:hover .contacts-info-item__icon {

    transform: scale(1.04);

    box-shadow: 0 10px 20px rgba(127, 179, 230, 0.16);

  }

  .contacts-map-card:hover {

    box-shadow: 0 26px 58px rgba(19, 45, 82, 0.09), inset 0 1px 0 rgba(255,255,255,0.96);

  }

}

@media (max-width: 1080px) {

  .contacts-layout,

  .consult-strip__inner {

    grid-template-columns: 1fr;

    gap: 24px;

  }

  .contacts-form-card__title {

    max-width: none;

  }

}

@media (max-width: 640px) {

  #contacts {

    margin-top: 40px;

  }

  .contacts-form-card,

  .contacts-info-card,

  .consult-strip__inner {

    padding: 22px 18px;

    border-radius: 24px;

  }

  .contacts-map-card {

    border-radius: 24px;

  }

  .contacts-form__submit,

  .consult-strip__btn {

    width: 100%;

    justify-content: center;

  }

  .contacts-form__submit {

    min-height: 58px;

  }

  .contacts-form-card__title {

    font-size: clamp(24px, 7.6vw, 30px);

  }

  .contacts-form__field input,

  .contacts-form__field textarea {

    padding: 14px;

  }

}

.contacts-form__submit {

  justify-content: center;

}

.contacts-form__submit-icon {

  display: none;

}

.contacts-form__honeypot {

  position: absolute;

  left: -9999px;

  opacity: 0;

  pointer-events: none;

}

.contacts-form__status {

  min-height: 22px;

  margin-top: 8px;

  font-size: 14px;

  line-height: 1.45;

  color: #69809b;

}

.contacts-form__status.is-success {

  color: #1f8b61;

}

.contacts-form__status.is-error {

  color: #c25151;

}

.contacts-form__submit:disabled {

  cursor: default !important;

}

.contacts-info-wrap {

  justify-content: space-between;

}

.contacts-form__submit.is-success {

  background: linear-gradient(135deg, #2d9b67 0%, #38b976 55%, #2d9b67 100%) !important;

  color: #ffffff !important;

  box-shadow: 0 16px 30px rgba(56, 185, 118, 0.24),

    inset 0 1px 0 rgba(255,255,255,0.14) !important;

}

.contacts-form__submit.is-success:hover,

.contacts-form__submit.is-success:focus-visible {

  transform: none !important;

  filter: none !important;

  box-shadow: 0 16px 30px rgba(56, 185, 118, 0.24),

    inset 0 1px 0 rgba(255,255,255,0.14) !important;

}

@media (max-width: 1080px) {

  .contacts-map-card {

    height: 360px;

  }

  .contacts-map-card iframe {

    height: 360px;

  }

}

@media (max-width: 640px) {

  .contacts-map-card {

    height: 290px;

  }

  .contacts-map-card iframe {

    height: 290px;

  }

}

.contacts-layout {

  align-items: stretch;

}

.contacts-form-card {

  height: 100%;

  display: flex;

  flex-direction: column;

}

.contacts-form {

  flex: 1 1 auto;

  display: flex;

  flex-direction: column;

}

.contacts-form > *:last-child {

  margin-bottom: 0;

}

.contacts-info-wrap {

  display: flex;

  flex-direction: column;

  align-self: stretch;

  height: 100%;

}

.contacts-map-card {

  flex: 1 1 auto;

  min-height: 0;

  height: auto;

  border-radius: 28px;

  overflow: hidden;

}

.contacts-map-card iframe {

  width: 100%;

  height: 100%;

  min-height: 0;

  border: 0;

  display: block;

}

.contacts-form__submit {

  min-height: 56px;

  flex: 0 0 auto;

}

.contacts-form__submit:disabled {

  opacity: 0.6 !important;

}

@media (max-width: 1080px) {

  .contacts-info-wrap,

  .contacts-map-card,

  .contacts-map-card iframe,

  .contacts-form-card,

  .contacts-form {

    height: auto;

  }

  .contacts-map-card {

    min-height: 340px;

    flex: 0 0 auto;

  }

  .contacts-map-card iframe {

    min-height: 340px;

  }

}

@media (max-width: 640px) {

  .contacts-map-card {

    min-height: 280px;

  }

  .contacts-map-card iframe {

    min-height: 280px;

  }

}

.contacts-form__submit,

.contacts-form__submit:disabled,

.contacts-form__submit.is-loading,

.contacts-form__submit.is-success {

  opacity: 1 !important;

}

.contacts-form__submit.is-success .contacts-form__submit-loader {

  display: none !important;

}

.consult-builder {

  background: radial-gradient(circle at 16% 10%, rgba(122, 166, 223, 0.16), transparent 30%),

    radial-gradient(circle at 86% 4%, rgba(215, 228, 245, 0.9), transparent 34%),

    linear-gradient(180deg, #f4f8fd 0%, #e6effa 100%);

}

.consult-builder__form {

  position: relative;

}

.consult-builder__grid {

  display: grid;

}

.consult-builder__left,

.consult-builder__right {

  min-width: 0;

}

.consult-builder__eyebrow {

  display: inline-flex;

  align-items: center;

  min-height: 34px;

  padding: 0 16px;

  border-radius: 999px;

  background: rgba(245, 249, 255, 0.86);

  border: 1px solid rgba(217, 229, 243, 0.95);

  color: #29496f;

  font-size: 12px;

  font-weight: 700;

  letter-spacing: 0.14em;

  text-transform: uppercase;

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.9);

}

.consult-builder__title {

  margin: 0;

  color: #16365e;

}

.consult-builder__lead {

  margin: 0;

  color: #637992;

}

.consult-card {

  position: relative;

  overflow: hidden;

  border-radius: 30px;

  border: 1px solid rgba(218, 229, 242, 0.95);

  background: linear-gradient(180deg, rgba(255,255,255,0.97) 0%, rgba(248,251,255,0.94) 100%);

  box-shadow: 0 24px 54px rgba(19, 45, 82, 0.07), inset 0 1px 0 rgba(255,255,255,0.96);

}

.consult-card__icon {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 56px;

  height: 56px;

  border-radius: 18px;

  background: linear-gradient(180deg, #eef5ff 0%, #dce9f8 100%);

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.96);

  font-size: 24px;

}

.consult-card__title {

  margin: 2px 0 0;

  color: #16365e;

  line-height: 1.25;

}

.consult-builder__textarea-wrap textarea,

.consult-services__other-input {

  width: 100%;

  border: 1px solid rgba(209, 222, 238, 0.95);

  border-radius: 20px;

  background: rgba(255,255,255,0.96);

  color: #17385c;

  outline: none;

  transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease, background-color .22s ease;

}

.consult-builder__textarea-wrap textarea {

  padding: 18px 18px 20px;

  resize: vertical;

}

.consult-builder__textarea-wrap textarea::placeholder,

.consult-services__other-input::placeholder {

  color: #91a5bb;

}

.consult-builder__textarea-wrap textarea:focus,

.consult-services__other-input:focus {

  border-color: rgba(92, 136, 197, 0.82);

  box-shadow: 0 0 0 4px rgba(127, 179, 230, 0.12);

  background: #fff;

  transform: translateY(-1px);

}

.consult-builder__chips {

  display: flex;

  flex-wrap: wrap;

  gap: 10px;

}

.consult-builder__chip {

  display: inline-flex;

  align-items: center;

  padding: 0 14px;

  border-radius: 999px;

  background: rgba(244, 249, 255, 0.92);

  border: 1px solid rgba(218, 229, 242, 0.95);

  color: #486888;

  font-weight: 600;

}

.consult-builder__submit {

  min-height: 62px;

  padding: 17px 28px;

  justify-content: center;

  border-radius: 18px;

  border: none;

  color: #fff;

  background: linear-gradient(135deg, #173a6a 0%, #214b83 55%, #173a6a 100%);

  box-shadow: 0 16px 34px rgba(23, 58, 106, 0.22), inset 0 1px 0 rgba(255,255,255,0.12);

  transition: transform .24s ease, box-shadow .24s ease, filter .24s ease;

}

.consult-builder__submit:hover,

.consult-builder__submit:focus-visible {

  transform: translateY(-2px);

  box-shadow: 0 22px 42px rgba(23, 58, 106, 0.28), inset 0 1px 0 rgba(255,255,255,0.16);

  filter: brightness(1.03);

}

.consult-builder__submit-loader {

  display: none;

  width: 18px;

  height: 18px;

  border-radius: 999px;

  border: 2px solid rgba(255,255,255,0.38);

  border-top-color: #fff;

  animation: consultSpin .8s linear infinite;

}

.consult-builder__submit.is-loading .consult-builder__submit-loader {

  display: inline-block;

}

.consult-builder__submit.is-success {

  background: linear-gradient(135deg, #2d9b67 0%, #38b976 55%, #2d9b67 100%);

  box-shadow: 0 16px 30px rgba(56, 185, 118, 0.24), inset 0 1px 0 rgba(255,255,255,0.14);

}

.consult-builder__policy {

  margin: 0;

  color: #7d92a9;

  font-size: 13px;

  line-height: 1.55;

}

.consult-builder__status {

  min-height: 22px;

  margin-top: 14px;

  color: #68809b;

  font-size: 14px;

  line-height: 1.45;

}

.consult-builder__status.is-success {

  color: #1f8b61;

}

.consult-builder__status.is-error {

  color: #c25151;

}

.consult-badges {

  display: grid;

}

.consult-badge {

  border: 1px solid rgba(218, 229, 242, 0.95);

  background: linear-gradient(180deg, rgba(255,255,255,0.97) 0%, rgba(248,251,255,0.94) 100%);

  box-shadow: 0 18px 40px rgba(19, 45, 82, 0.06), inset 0 1px 0 rgba(255,255,255,0.96);

}

.consult-badge__icon {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  background: linear-gradient(180deg, #4379ec 0%, #2c5dbf 100%);

  box-shadow: 0 12px 22px rgba(63, 104, 191, 0.24);

}

.consult-badge__title {

  margin: 14px 0 0;

  color: #16365e;

  line-height: 1.25;

}

.consult-badge__text {

  margin: 8px 0 0;

  color: #7087a2;

  line-height: 1.5;

}

.consult-services {

  display: grid;

  gap: 12px;

}

.consult-services__option {

  position: relative;

  display: grid;

  grid-template-columns: 44px minmax(0, 1fr) 24px;

  align-items: center;

  border: 1px solid rgba(218, 229, 242, 0.95);

  background: rgba(255,255,255,0.92);

  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease;

  cursor: pointer;

}

.consult-services__option input {

  position: absolute;

  opacity: 0;

  pointer-events: none;

}

.consult-services__mark,

.consult-services__check {

  display: inline-flex;

  align-items: center;

  justify-content: center;

}

.consult-services__mark {

  width: 38px;

  height: 38px;

  border-radius: 12px;

  background: linear-gradient(180deg, #eef5ff 0%, #dce9f8 100%);

  color: #39679f;

}

.consult-services__label {

  color: #18395f;

  font-weight: 600;

  line-height: 1.4;

}

.consult-services__check {

  border: 1px solid rgba(206, 220, 237, 0.95);

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.96);

}

.consult-services__option.is-checked .consult-services__check::before {

  content: "✓";

  color: #fff;

  font-size: 13px;

  font-weight: 700;

}

.consult-services__other {

  display: grid;

  gap: 12px;

}

.consult-services__other-input {

  min-height: 64px;

  padding: 0 16px;

}

.consult-builder__honeypot {

  position: absolute;

  left: -9999px;

  opacity: 0;

  pointer-events: none;

}

@keyframes consultSpin {

  to { transform: rotate(360deg); }

}

@media (hover: hover) and (pointer: fine) {

  .consult-badge:hover,

  .consult-card:hover {

    box-shadow: 0 26px 58px rgba(19, 45, 82, 0.08), inset 0 1px 0 rgba(255,255,255,0.96);

  }

}

@media (max-width: 820px) {

  .consult-badges {

    grid-template-columns: 1fr;

  }

  .consult-builder__footer {

    grid-template-columns: 1fr;

  }

  .consult-builder__submit {

    width: 100%;

    min-width: 0;

  }

  .consult-services__other {

    grid-template-columns: 1fr;

  }

}

@media (max-width: 640px) {

  .consult-card--message,

  .consult-card--services {

    padding: 20px 16px;

    border-radius: 24px;

  }

  .consult-builder__title {

    font-size: clamp(30px, 9vw, 42px);

    line-height: 1;

  }

  .consult-builder__lead {

    font-size: 16px;

  }

  .consult-card__head {

    gap: 12px;

  }

  .consult-card__icon {

    width: 50px;

    height: 50px;

    border-radius: 16px;

    font-size: 20px;

  }

  .consult-services__option {

    grid-template-columns: 38px minmax(0, 1fr) 20px;

    gap: 10px;

    min-height: 58px;

    padding: 10px 12px;

  }

  .consult-services__label {

    font-size: 15px;

  }

  .consult-services__mark {

    width: 34px;

    height: 34px;

    font-size: 16px;

  }

}

.consult-builder {

  padding-top: 110px;

}

.consult-builder__left {

  display: flex;

  flex-direction: column;

  gap: 22px;

}

.consult-builder__right {

  display: flex;

  flex-direction: column;

  gap: 18px;

}

.consult-card--services {

  margin-top: 0;

}

.consult-badges {

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 12px;

}

.consult-badge {

  min-height: 156px;

}

.consult-badge__title {

  font-size: 16px;

}

.consult-badge__text {

  font-size: 14px;

}

.consult-card__title {

  font-size: 17px;

}

.consult-builder__chips {

  margin-top: 14px;

}

.consult-builder__chip {

  font-size: 12px;

  min-height: 32px;

}

.consult-services__option {

  padding: 10px 12px;

}

.consult-services__label {

  font-size: 15px;

}

.consult-services__other {

  grid-template-columns: minmax(0, 1fr) 200px;

}

@media (max-width: 1180px) {

  .consult-badges {

    grid-template-columns: repeat(3, minmax(0, 1fr));

  }

}

@media (max-width: 980px) {

  .consult-builder__grid {

    gap: 22px;

  }

  .consult-badges {

    grid-template-columns: 1fr 1fr 1fr;

  }

}

@media (max-width: 760px) {

  .consult-badges {

    grid-template-columns: 1fr;

  }

  .consult-services__other {

    grid-template-columns: 1fr;

  }

  .consult-builder__submit {

    width: 100%;

    min-width: 0;

  }

}

.consult-badge {

  padding: 18px 16px;

  border-radius: 26px;

}

.consult-badge__icon,

.consult-services__mark,

.consult-card__icon {

  background: linear-gradient(145deg, rgba(244, 248, 255, 0.96), rgba(229, 237, 248, 0.92));

  border: 1px solid rgba(182, 198, 220, 0.35);

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.9),

    0 6px 14px rgba(15, 23, 42, 0.05);

  color: #4f79ab;

}

.consult-badge__icon {

  width: 42px;

  height: 42px;

  border-radius: 14px;

  font-size: 18px;

}

.consult-card__icon {

  color: #557aa8;

}

.consult-services__option {

  border-radius: 20px;

  gap: 14px;

}

.consult-services__option.is-checked {

  border-color: rgba(128, 163, 210, 0.45) !important;

  background: rgba(244, 248, 255, 0.92) !important;

  box-shadow: 0 12px 24px rgba(19, 45, 82, 0.04) !important;

}

.consult-services__option.is-checked .consult-services__mark {

  filter: grayscale(0.12) saturate(0.85) !important;

}

.consult-services__check {

  width: 24px;

  height: 24px;

  border-radius: 9px;

  background: rgba(255,255,255,0.92);

}

.consult-services__option.is-checked .consult-services__check {

  box-shadow: 0 8px 16px rgba(52, 103, 195, 0.18) !important;

}

@media (hover: hover) and (pointer: fine) {

  .consult-services__option:hover {

    border-color: rgba(186, 206, 232, 0.72) !important;

    box-shadow: 0 10px 20px rgba(19, 45, 82, 0.04) !important;

  }

  .consult-services__option:hover .consult-services__mark {

    filter: grayscale(0.18) saturate(0.82) !important;

    box-shadow: inset 0 1px 0 rgba(255,255,255,0.92),

      0 8px 16px rgba(15, 23, 42, 0.06) !important;

  }

}

.consult-card__icon,

.consult-badge__icon,

.consult-services__mark,

.contacts-info-item__icon {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  background: linear-gradient(145deg, rgba(245,248,253,0.96), rgba(232,238,247,0.94));

  border: 1px solid rgba(190, 204, 223, 0.34);

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.9),

    0 6px 14px rgba(15, 23, 42, 0.045);

  color: #6281a8;

}

.consult-card__icon svg,

.consult-badge__icon svg,

.consult-services__mark svg,

.contacts-info-item__icon svg {

  width: 20px;

  height: 20px;

  stroke: currentColor;

  stroke-width: 1.8;

  stroke-linecap: round;

  stroke-linejoin: round;

  fill: none;

}

.consult-card__icon svg {

  width: 22px;

  height: 22px;

}

.consult-services__mark svg {

  width: 18px;

  height: 18px;

}

.contacts-info-item__icon svg {

  width: 18px;

  height: 18px;

}

.consult-badge__icon {

  color: #5e7ea7;

}

.consult-services__mark {

  filter: none;

  font-size: 0;

}

.consult-services__option.is-checked .consult-services__mark {

  background: linear-gradient(145deg, rgba(239,245,255,0.98), rgba(224,234,248,0.96)) !important;

  color: #4a73a6 !important;

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.92),

    0 8px 16px rgba(15, 23, 42, 0.05) !important;

}

.consult-services__option.is-checked .consult-services__check {

  background: linear-gradient(180deg, #4c7fdd 0%, #3567c3 100%) !important;

  border-color: rgba(83, 122, 196, 0.85) !important;

}

.contacts-info-item__icon {

  font-size: 0;

}

@media (max-width: 980px) {

  .consult-builder__left,

  .consult-builder__title,

  .consult-builder__lead {

    max-width: none;

  }

}

.consult-builder__lead {

  font-size: 15px;

  line-height: 1.62;

}

.consult-card__head--simple {

  grid-template-columns: 56px;

  gap: 0;

  margin-bottom: 14px;

}

.consult-card__head--simple + .consult-builder__textarea-wrap {

  margin-top: 0;

}

.consult-card__title,

.consult-card__text,

.consult-builder__chips {

  display: none;

}

.consult-builder__textarea-wrap textarea {

  min-height: 240px;

}

.consult-builder__submit {

  width: 100%;

  min-width: 0;

}

.consult-card--services {

  padding: 22px 22px 22px;

  border: 1px solid rgba(204, 220, 240, 0.98);

  box-shadow: 0 26px 54px rgba(19, 45, 82, 0.08),

    inset 0 1px 0 rgba(255,255,255,0.98);

}

.consult-card__head--compact {

  grid-template-columns: 64px minmax(0, 1fr);

  gap: 16px;

  margin-bottom: 18px;

  padding-bottom: 14px;

  border-bottom: 1px solid rgba(217, 228, 241, 0.92);

}

.consult-card__head--compact .consult-card__icon {

  width: 50px;

  height: 50px;

  border-radius: 16px;

}

.consult-card__head--compact .consult-card__title {

  display: block;

  margin: 0;

  font-size: 18px;

}

.consult-card__head--compact .consult-card__text {

  display: block;

  margin-top: 6px;

  color: #778ea8;

  font-size: 14px;

}

.consult-services__option {

  min-height: 64px;

}

@media (max-width: 1180px) {

  .consult-builder__title {

    max-width: 14ch;

  }

}

@media (max-width: 980px) {

  .consult-builder__title,

  .consult-builder__lead {

    max-width: none;

  }

}

.consult-builder__title,

.consult-builder__lead,

.consult-card--message,

.consult-card--services {

  opacity: 0;

  transform: translateY(18px);

  animation: consultFadeUp .7s ease forwards;

}

.consult-builder__title {

  animation-delay: .05s;

}

.consult-builder__lead {

  animation-delay: .14s;

}

.consult-card--message {

  animation-delay: .22s;

}

.consult-card--services {

  animation-delay: .32s;

}

@keyframes consultFadeUp {

  to {

  opacity: 1;

  transform: translateY(0);

  }

}

.consult-builder__title {

  background-size: 100% 100%;

  transition: letter-spacing .24s ease, transform .24s ease;

}

.consult-builder__title:hover {

  transform: translateY(-1px);

}

.consult-card,

.consult-badge,

.consult-services__option,

.consult-builder__submit {

  transition: transform .24s ease,

    box-shadow .24s ease,

    border-color .24s ease,

    background-color .24s ease,

    filter .24s ease;

}

@media (hover: hover) and (pointer: fine) {

  .consult-badge:hover {

    transform: translateY(-4px);

  }

  .consult-card--message:hover,

  .consult-card--services:hover {

    transform: translateY(-2px);

  }

  .consult-services__option:hover {

    transform: translateX(3px);

  }

  .consult-builder__submit:hover {

    transform: translateY(-2px) scale(1.01);

  }

}

.consult-services__option.is-checked {

  animation: consultCheckedPop .28s ease;

}

.consult-services__option.is-checked .consult-services__check::before {

  animation: consultCheckIn .22s ease;

}

@keyframes consultCheckedPop {

  0% {

  transform: scale(.985);

  }

  60% {

  transform: scale(1.008);

  }

  100% {

  transform: scale(1);

  }

}

@keyframes consultCheckIn {

  0% {

  opacity: 0;

  transform: scale(.65);

  }

  100% {

  opacity: 1;

  transform: scale(1);

  }

}

.consult-services__option.is-checked::after {

  content: "";

  position: absolute;

  inset: 0;

  border-radius: inherit;

  pointer-events: none;

  box-shadow: inset 0 0 0 1px rgba(84, 124, 195, 0.18);

  animation: consultGlowFade .5s ease;

}

@keyframes consultGlowFade {

  0% {

  opacity: 0;

  }

  35% {

  opacity: 1;

  }

  100% {

  opacity: .45;

  }

}

.consult-builder__submit.is-success {

  animation: consultSuccessPulse .45s ease;

}

@keyframes consultSuccessPulse {

  0% {

  transform: scale(.985);

  }

  50% {

  transform: scale(1.015);

  }

  100% {

  transform: scale(1);

  }

}

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

  .consult-builder__title,

  .consult-builder__lead,

  .consult-card--message,

    .consult-card--services,

  .consult-services__option,

  .consult-builder__submit {

    animation: none;

    transition: none;

    transform: none;

    opacity: 1;

  }

}

.consult-card__text {

  margin-top: 6px;

}

.consult-builder__grid {

  grid-template-columns: minmax(0, 1.18fr) minmax(390px, 0.82fr);

  gap: 38px;

  align-items: start;

}

.consult-builder__left {

  min-width: 0;

  max-width: none;

  padding-right: 8px;

}

.consult-builder__right {

  min-width: 0;

}

.consult-builder__title {

  max-width: none;

  width: 100%;

  font-size: clamp(40px, 4vw, 40px);

  line-height: 1.02;

  letter-spacing: -0.04em;

  text-wrap: balance;

}

.consult-card--message {

  padding: 28px 30px 30px;

}

.consult-card__head {

  display: grid;

  gap: 16px;

  align-items: start;

  margin-bottom: 16px;

}

.consult-card__text {

  display: block;

  margin: 6px 0 0;

  color: #6f859e;

  font-size: 14.5px;

  line-height: 1.5;

  max-width: 46ch;

}

@media (max-width: 1180px) {

  .consult-builder__grid {

    grid-template-columns: minmax(0, 1.06fr) minmax(360px, 0.9fr);

    gap: 28px;

  }

  .consult-builder__title {

    font-size: clamp(36px, 4.4vw, 56px);

  }

}

@media (max-width: 980px) {

  .consult-builder__grid {

    grid-template-columns: 1fr;

  }

  .consult-builder__left,

  .consult-builder__right,

  .consult-builder__title,

  .consult-builder__lead {

    max-width: none;

    padding-right: 0;

  }

}

#contacts {

  margin-top: 0;

}

.consult-builder {

  padding-bottom: clamp(48px, 7vw, 78px);

}

.contacts-section {

  margin-top: 0;

  border-top: none;

}

.contacts-section::before {

  display: none;

}

.consult-builder,

#consult {

  position: relative;

  padding-bottom: clamp(80px, 10vw, 140px);

}

#consult::after {

  content: "";

  position: absolute;

  left: 0;

  right: 0;

  bottom: -1px;

  height: 120px;

  background: linear-gradient(

    to bottom,

    rgba(230, 239, 250, 0) 0%,

    rgba(230, 239, 250, 0.72) 42%,

    rgba(230, 239, 250, 1) 100%

  );

  pointer-events: none;

  z-index: 0;

}

#services,

.services-section {

  position: relative;

  padding-top: clamp(72px, 10vw, 116px);

  background: linear-gradient(

    180deg,

    #e6effa 0%,

    #eef4fb 42%,

    #f7fbff 100%

  );

}

#services::before,

.services-section::before {

  content: "";

  position: absolute;

  top: -84px;

  left: 50%;

  transform: translateX(-50%);

  width: min(72%, 980px);

  height: 170px;

  background: radial-gradient(

    ellipse at center,

    rgba(120, 160, 220, 0.18) 0%,

    rgba(120, 160, 220, 0.08) 38%,

    transparent 72%

  );

  pointer-events: none;

  z-index: 0;

}

#services > .container,

.services-section > .container {

  position: relative;

  z-index: 1;

}

@media (max-width: 980px) {

  #consult::after {

    height: 88px;

  }

  #services,

  .services-section {

    padding-top: clamp(36px, 5vw, 64px);

  }

  #services::before,

  .services-section::before {

    top: -64px;

    height: 128px;

    width: min(88%, 760px);

  }

}

:root {

  --probiz-btn-bg: linear-gradient(135deg, #173a6a 0%, #214b83 55%, #173a6a 100%);

  --probiz-btn-shadow: 0 16px 34px rgba(23, 58, 106, 0.22), inset 0 1px 0 rgba(255,255,255,0.12);

  --probiz-btn-shadow-hover: 0 22px 42px rgba(23, 58, 106, 0.28), inset 0 1px 0 rgba(255,255,255,0.16);

  --probiz-status-success: #1f8b61;

  --probiz-status-error: #c25151;

  --probiz-status-muted: #69809b;

}

#consultSubmitBtn,

#contactSubmitBtn,

.consult-builder__submit,

.contacts-form__submit {

  width: 100% !important;

  min-height: 60px !important;

  height: 60px !important;

  margin: 0 !important;

  padding: 16px 26px !important;

  border: 0 !important;

  border-radius: 18px !important;

  background: var(--probiz-btn-bg) !important;

  color: #fff !important;

  box-shadow: var(--probiz-btn-shadow) !important;

  display: flex !important;

  align-items: center !important;

  justify-content: center !important;

  filter: none !important;

}

#consultSubmitBtn:hover,

#consultSubmitBtn:focus-visible,

#contactSubmitBtn:hover,

#contactSubmitBtn:focus-visible,

.consult-builder__submit:hover,

.contacts-form__submit:hover {

  transform: translateY(-2px) !important;

  box-shadow: var(--probiz-btn-shadow-hover) !important;

  filter: brightness(1.03) !important;

}

.consult-builder__footer {

  display: grid;

  grid-template-columns: 1fr;

  gap: 16px;

  margin-top: 16px;

  align-items: stretch;

}

.contacts-form__submit,

#contactSubmitBtn {

  margin-top: 0 !important;

}

#consultFormStatus,

#contactFormStatus,

.consult-builder__status,

.contacts-form__status {

  display: block !important;

  min-height: 22px !important;

  margin-top: 8px !important;

  padding: 0 !important;

  font-size: 14px !important;

  line-height: 1.45 !important;

  color: var(--probiz-status-muted) !important;

  white-space: normal !important;

  word-break: break-word !important;

  overflow-wrap: anywhere !important;

}

#consultFormStatus.is-success,

#contactFormStatus.is-success,

.consult-builder__status.is-success,

.contacts-form__status.is-success {

  color: var(--probiz-status-success) !important;

}

#consultFormStatus.is-error,

#contactFormStatus.is-error,

.consult-builder__status.is-error,

.contacts-form__status.is-error {

  color: var(--probiz-status-error) !important;

}

.consult-card--message,

.contacts-form-card {

  padding-bottom: 30px;

}

#contacts,

.contacts-section {

  margin-top: 0;

  border-top: 1px solid rgba(184, 204, 230, 0.42);

}

@media (max-width: 640px) {

  #consultSubmitBtn,

  #contactSubmitBtn,

  .consult-builder__submit,

  .contacts-form__submit {

    min-height: 56px !important;

    height: 56px !important;

  }

  #consultFormStatus,

  #contactFormStatus,

  .consult-builder__status,

  .contacts-form__status {

    min-height: 22px !important;

    font-size: 13.5px !important;

  }

}

.consult-builder__contact-fields {

  display: grid;

  gap: 14px;

  margin: 18px 0 14px;

}

.consult-builder__field {

  display: grid;

  gap: 8px;

}

.consult-builder__field span {

  color: #375674;

  font-size: 13px;

  font-weight: 700;

  line-height: 1.25;

}

.consult-builder__field input {

  width: 100%;

  min-height: 54px;

  padding: 0 20px;

  border-radius: 18px;

  border: 1px solid rgba(201, 216, 232, 0.95);

  background: rgba(255,255,255,0.86);

  color: #16365e;

  font: inherit;

  outline: none;

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.94);

  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;

}

.consult-builder__field input::placeholder {

  color: #9aabbf;

}

.consult-builder__field input:focus {

  border-color: rgba(67, 121, 236, 0.44);

  background: rgba(255,255,255,0.96);

  box-shadow: 0 0 0 4px rgba(67, 121, 236, 0.08), inset 0 1px 0 rgba(255,255,255,0.96);

}

@media (max-width: 640px) {

  .consult-builder__contact-fields {

    gap: 12px;

    margin: 16px 0 12px;

  }

  .consult-builder__field input {

    min-height: 52px;

    border-radius: 16px;

  }

}

.contacts-layout--simple {

  display: grid;

  grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1.05fr);

  gap: 30px;

  align-items: stretch;

}

.contacts-info-card--main,

.contacts-map-card--simple {

  min-height: 360px;

  height: 100%;

}

.contacts-info-card--main {

  display: grid;

  align-content: center;

  gap: 24px;

  padding: clamp(28px, 3vw, 42px);

}

.contacts-info-card__title {

  max-width: 18ch;

  margin: 0;

}

.contacts-info-card--main .contacts-info-list {

  gap: 14px;

}

.contacts-info-card--main .contacts-info-item {

  min-height: 76px;

  align-items: center;

}

.contacts-map-card--simple iframe {

  width: 100%;

  height: 100%;

  min-height: 360px;

  border: 0;

}

.contacts-form,

.contacts-form__status,

.contacts-form__submit,

#contactSubmitBtn,

#contactFormStatus {

  display: none;

}

@media (max-width: 1080px) {

  .contacts-layout--simple {

    grid-template-columns: 1fr;

  }

  .contacts-info-card--main,

  .contacts-map-card--simple,

  .contacts-map-card--simple iframe {

    min-height: 320px;

  }

  .contacts-info-card--main {

    align-content: start;

  }

}

@media (max-width: 640px) {

  .contacts-info-card--main,

  .contacts-map-card--simple,

  .contacts-map-card--simple iframe {

    min-height: 280px;

  }

}

/* ===== POLISHED SERVICES CHECKLIST HEADER ===== */

.consult-card--services .consult-services-head {

  position: relative;

  display: grid;

  grid-template-columns: 56px minmax(0, 1fr);

  gap: 16px;

  align-items: center;

  padding: 18px 20px;

  margin-bottom: 20px;

  border-radius: 24px;

  background:

    radial-gradient(circle at 14% 18%, rgba(105, 151, 215, 0.16), transparent 34%),

    linear-gradient(135deg, rgba(232, 242, 255, 0.98), rgba(255, 255, 255, 0.94));

  border: 1px solid rgba(188, 211, 238, 0.9);

  box-shadow:

    inset 0 1px 0 rgba(255,255,255,0.96),

    0 16px 34px rgba(23,58,106,0.07);

}

.consult-card--services .consult-services-head::after {

  content: "";

  position: absolute;

  left: 47px;

  bottom: -20px;

  width: 1px;

  height: 20px;

  background: linear-gradient(to bottom, rgba(55, 100, 160, 0.28), transparent);

  pointer-events: none;

}

.consult-card--services .consult-services-head .consult-card__icon {

  width: 54px;

  height: 54px;

  border-radius: 18px;

  color: #245184;

  background: linear-gradient(180deg, #eef6ff 0%, #dceaf9 100%);

  border: 1px solid rgba(204, 220, 238, 0.95);

  box-shadow:

    inset 0 1px 0 rgba(255,255,255,0.94),

    0 10px 22px rgba(23,58,106,0.07);

}

.consult-card--services .consult-services-head .consult-card__icon svg {

  width: 24px;

  height: 24px;

}

.consult-services-head__content {

  min-width: 0;

}

.consult-services-head__row {

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 14px;

}

.consult-card--services .consult-services-head .consult-card__title {

  margin: 0;

  color: #16365e;

  font-size: clamp(18px, 1.6vw, 22px);

  line-height: 1.18;

  letter-spacing: -0.025em;

}

.consult-card--services .consult-services-head .consult-card__text {

  margin: 7px 0 0;

  color: #6b819b;

  font-size: 14px;

  line-height: 1.45;

}

.consult-services-head__badge {

  display: inline-flex;

  align-items: center;

  min-height: 30px;

  padding: 0 11px;

  border-radius: 999px;

  background: rgba(23, 58, 106, 0.08);

  border: 1px solid rgba(184, 205, 232, 0.8);

  color: #173a6a;

  font-size: 12px;

  font-weight: 800;

  line-height: 1;

  white-space: nowrap;

  letter-spacing: 0.01em;

}

.consult-card--services .consult-services {

  margin-top: 2px;

}

@media (max-width: 720px) {

  .consult-card--services .consult-services-head {

    grid-template-columns: 48px minmax(0, 1fr);

    gap: 13px;

    padding: 16px;

    border-radius: 20px;

  }

  .consult-card--services .consult-services-head .consult-card__icon {

    width: 46px;

    height: 46px;

    border-radius: 15px;

  }

  .consult-services-head__row {

    align-items: flex-start;

    flex-direction: column;

    gap: 8px;

  }

  .consult-services-head__badge {

    min-height: 28px;

    font-size: 11px;

  }

  .consult-card--services .consult-services-head::after {

    left: 39px;

  }

}

/* ===== CONSULT LOGICAL GROUPING: FORM + SERVICES AS ONE UNIT ===== */

.consult-builder__form {

  max-width: 1180px;

  margin: 0 auto;

}

.consult-builder__grid {

  position: relative;

  display: grid;

  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);

  gap: clamp(22px, 3vw, 34px);

  align-items: stretch;

  padding: clamp(18px, 2.2vw, 28px);

  border-radius: 34px;

  background:

    radial-gradient(circle at 12% 10%, rgba(135, 177, 230, 0.12), transparent 28%),

    linear-gradient(180deg, rgba(255,255,255,0.72), rgba(244,249,255,0.58));

  border: 1px solid rgba(205, 220, 238, 0.72);

  box-shadow:

    inset 0 1px 0 rgba(255,255,255,0.8),

    0 24px 60px rgba(19,45,82,0.06);

}

.consult-builder__left,

.consult-builder__right {

  min-width: 0;

  display: flex;

}

.consult-card--message,

.consult-card--services {

  width: 100%;

  height: 100%;

}

.consult-builder__right {

  align-items: stretch;

}

.consult-badges--bottom {

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: clamp(16px, 2vw, 22px);

  margin-top: clamp(20px, 2.8vw, 32px);

}

.consult-badges--bottom .consult-badge {

  min-height: 150px;

}

@media (max-width: 980px) {

  .consult-builder__grid {

    grid-template-columns: 1fr;

  }

  .consult-badges--bottom {

    grid-template-columns: 1fr;

  }

  .consult-badges--bottom .consult-badge {

    min-height: auto;

  }

}

@media (max-width: 640px) {

  .consult-builder__grid {

    padding: 14px;

    border-radius: 26px;

  }

}

/* ===== PREMIUM SERVICES CHECKLIST INTEGRATION ===== */

/* One logical module: form + services */

.consult-builder__grid {

  position: relative;

  align-items: stretch;

}

.consult-builder__left,

.consult-builder__right {

  min-width: 0;

}

.consult-card--services {

  display: flex;

  flex-direction: column;

}

/* Sticky right column only on desktop */

@media (min-width: 981px) {

  .consult-builder__right {

    position: sticky;

    top: 28px;

    align-self: start;

  }

}

/* Premium action header */

.consult-card--services .consult-services-head {

  position: relative;

  padding: 18px 20px;

  margin-bottom: 18px;

  border-radius: 24px;

  background:

    radial-gradient(circle at 14% 18%, rgba(105, 151, 215, 0.16), transparent 34%),

    linear-gradient(135deg, rgba(232, 242, 255, 0.98), rgba(255,255,255,0.94));

  border: 1px solid rgba(188, 211, 238, 0.9);

  box-shadow:

    inset 0 1px 0 rgba(255,255,255,0.96),

    0 16px 34px rgba(23,58,106,0.07);

}

.consult-card--services .consult-services-head::after {

  content: "";

  position: absolute;

  left: 47px;

  bottom: -18px;

  width: 1px;

  height: 18px;

  background: linear-gradient(to bottom, rgba(55,100,160,0.26), transparent);

  pointer-events: none;

}

.consult-services-head__badge {

  display: inline-flex;

  align-items: center;

  min-height: 30px;

  padding: 0 11px;

  border-radius: 999px;

  background: rgba(23, 58, 106, 0.08);

  border: 1px solid rgba(184, 205, 232, 0.8);

  color: #173a6a;

  font-size: 12px;

  font-weight: 800;

  line-height: 1;

  white-space: nowrap;

  letter-spacing: 0.01em;

}

/* Unified service list instead of separate cards */

.consult-services {

  display: flex;

  flex-direction: column;

  gap: 0;

  margin-top: 2px;

  overflow: hidden;

  border-radius: 22px;

  background: rgba(255,255,255,0.76);

  border: 1px solid rgba(215,228,242,0.86);

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.9);

}

.consult-services__option {

  position: relative;

  display: grid;

  grid-template-columns: 44px minmax(0, 1fr) 24px;

  gap: 14px;

  align-items: center;

  min-height: 66px;

  padding: 14px 16px;

  margin: 0;

  border: 0;

  border-bottom: 1px solid rgba(220,232,246,0.9);

  border-radius: 0;

  background: transparent;

  box-shadow: none;

  cursor: pointer;

  transition:

    background-color .22s ease,

    box-shadow .22s ease,

    transform .22s ease;

}

.consult-services__option:last-of-type {

  border-bottom: 0;

}

.consult-services__option:hover {

  background: rgba(226,239,255,0.72);

}

.consult-services__option:active {

  transform: scale(0.995);

}

.consult-services__option.is-checked,

.consult-services__option:has(input:checked) {

  background: linear-gradient(135deg, rgba(232,242,255,0.96), rgba(255,255,255,0.92));

  box-shadow: inset 4px 0 0 #2b65b8;

}

.consult-services__label {

  color: #16365e;

  font-weight: 750;

  line-height: 1.35;

}

.consult-services__mark {

  width: 40px;

  height: 40px;

  border-radius: 14px;

  color: #456b91;

  background: linear-gradient(180deg, #f2f7ff 0%, #e5eef8 100%);

  border: 1px solid rgba(205,220,238,0.95);

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.92);

  transition:

    background .22s ease,

    color .22s ease,

    transform .22s ease,

    border-color .22s ease;

}

.consult-services__option.is-checked .consult-services__mark,

.consult-services__option:has(input:checked) .consult-services__mark {

  color: #1f4f91;

  border-color: rgba(43,101,184,0.32);

  transform: scale(1.03);

}

.consult-services__check {

  width: 22px;

  height: 22px;

  border-radius: 8px;

  border: 1px solid rgba(190,205,225,0.95);

  background: rgba(255,255,255,0.9);

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.9);

  transition:

    background .22s ease,

    border-color .22s ease,

    transform .22s ease;

}

.consult-services__check::after {

  content: "";

  display: block;

  width: 9px;

  height: 5px;

  margin: 6px auto 0;

  border-left: 2px solid #fff;

  border-bottom: 2px solid #fff;

  transform: rotate(45deg) scale(0);

  transition: transform .22s ease;

}

.consult-services__option.is-checked .consult-services__check,

.consult-services__option:has(input:checked) .consult-services__check {

  background: linear-gradient(135deg, #2b65b8, #1f4f91);

  border-color: rgba(43,101,184,0.75);

  transform: scale(1.04);

}

.consult-services__option.is-checked .consult-services__check::after,

.consult-services__option:has(input:checked) .consult-services__check::after {

  transform: rotate(45deg) scale(1);

}

/* Other row stays connected with the same visual language */

.consult-services__other {

  display: grid;

  grid-template-columns: minmax(0, 1fr) minmax(180px, 0.9fr);

  gap: 12px;

  align-items: stretch;

  padding: 0;

  border-top: 1px solid rgba(220,232,246,0.9);

}

.consult-services__other .consult-services__option {

  border-bottom: 0;

}

.consult-services__other-input {

  min-height: 58px;

  align-self: center;

  margin: 8px 10px 8px 0;

  border-radius: 16px;

}

/* Keep badges as supporting trust row below the main module */

.consult-badges--bottom {

  margin-top: clamp(20px, 2.8vw, 32px);

}

@media (max-width: 980px) {

  .consult-builder__right {

    position: static;

  }

}

@media (max-width: 720px) {

  .consult-services-head__row {

    align-items: flex-start;

    flex-direction: column;

    gap: 8px;

  }

  .consult-services-head__badge {

    min-height: 28px;

    font-size: 11px;

  }

  .consult-services__other {

    grid-template-columns: 1fr;

  }

  .consult-services__other-input {

    margin: 0 12px 12px;

  }

}

/* ===== REPAIR: ONE CLEAN CONSULT MODULE ===== */

/* один спільний блок для форми + сервісів */

.consult-builder__grid {

  display: grid;

  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);

  gap: clamp(24px, 3vw, 34px);

  align-items: stretch;

  padding: clamp(24px, 3vw, 34px);

  border-radius: 34px;

  background:

    radial-gradient(circle at 18% 8%, rgba(126, 171, 226, 0.12), transparent 28%),

    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(246,250,255,0.9));

  border: 1px solid rgba(210, 224, 241, 0.82);

  box-shadow:

    0 26px 62px rgba(19,45,82,0.075),

    inset 0 1px 0 rgba(255,255,255,0.96);

}

/* прибираємо ефект двох окремих карток всередині */

.consult-card--message,

.consult-card--services {

  width: 100%;

  height: 100%;

  padding: 0;

  border: 0;

  border-radius: 0;

  background: transparent;

  box-shadow: none;

  overflow: visible;

}

/* лівій частині даємо внутрішній ритм без окремої рамки */

.consult-card--message {

  display: flex;

  flex-direction: column;

}

.consult-card--message .consult-card__head {

  margin-bottom: 22px;

}

/* права частина — частина того ж модуля */

.consult-card--services {

  display: flex;

  flex-direction: column;

}

/* header сервісів залишаємо помітним, але не як окрему важку картку */

.consult-card--services .consult-services-head {

  margin: 0 0 18px;

  padding: 18px 20px;

  border-radius: 24px;

  background:

    radial-gradient(circle at 14% 18%, rgba(105,151,215,0.14), transparent 34%),

    linear-gradient(135deg, rgba(232,242,255,0.92), rgba(255,255,255,0.86));

  border: 1px solid rgba(188,211,238,0.78);

  box-shadow:

    inset 0 1px 0 rgba(255,255,255,0.92),

    0 14px 30px rgba(23,58,106,0.055);

}

.consult-card--services .consult-services-head::after {

  display: none;

}

/* список як один суцільний блок */

.consult-services {

  display: flex;

  flex-direction: column;

  gap: 0;

  overflow: hidden;

  border-radius: 24px;

  background: rgba(255,255,255,0.62);

  border: 1px solid rgba(214,228,243,0.78);

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.88);

}

/* рядки без окремих карток і без квадратних рамок */

.consult-services__option {

  position: relative;

  display: grid;

  grid-template-columns: 44px minmax(0, 1fr) 24px;

  gap: 14px;

  align-items: center;

  min-height: 66px;

  margin: 0;

  padding: 14px 16px;

  border: 0;

  border-bottom: 1px solid rgba(220,232,246,0.86);

  border-radius: 0;

  background: transparent;

  box-shadow: none;

  cursor: pointer;

  transition:

    background-color .22s ease,

    box-shadow .22s ease,

    transform .22s ease;

}

.consult-services__option:last-of-type {

  border-bottom: 0;

}

.consult-services__option:hover {

  background: rgba(226,239,255,0.5);

}

.consult-services__option.is-checked,

.consult-services__option:has(input:checked) {

  background: rgba(232,242,255,0.78);

  box-shadow: inset 4px 0 0 #2b65b8;

}

/* чекбокси нормалізуємо, щоб не було "попливших" іконок */

.consult-services__check {

  width: 22px;

  height: 22px;

  border-radius: 8px;

  border: 1px solid rgba(190,205,225,0.95);

  background: rgba(255,255,255,0.92);

}

.consult-services__option.is-checked .consult-services__check,

.consult-services__option:has(input:checked) .consult-services__check {

  background: linear-gradient(135deg, #2b65b8, #1f4f91);

  border-color: rgba(43,101,184,0.75);

}

/* останній рядок ближче до поля, поле ширше */

.consult-services__other {

  display: grid;

  grid-template-columns: minmax(0, 0.7fr) minmax(230px, 1.3fr);

  gap: 10px;

  align-items: center;

  padding: 10px 12px;

  border-top: 1px solid rgba(220,232,246,0.86);

  background: rgba(255,255,255,0.42);

}

.consult-services__other .consult-services__option {

  min-height: 54px;

  padding: 8px 0;

  border-bottom: 0;

}

.consult-services__other-input {

  min-height: 52px;

  margin: 0;

  border-radius: 16px;

}

/* бейдж не ламає заголовок */

.consult-services-head__row {

  display: flex;

  align-items: flex-start;

  justify-content: space-between;

  gap: 14px;

}

.consult-services-head__badge {

  flex: 0 0 auto;

}

/* нижні бейджі залишаються окремим підтримуючим рядком */

.consult-badges--bottom {

  margin-top: clamp(22px, 3vw, 34px);

}

/* на планшеті/мобілці один стовпець */

@media (max-width: 980px) {

  .consult-builder__grid {

    grid-template-columns: 1fr;

  }

  .consult-builder__right {

    position: static;

  }

}

@media (max-width: 720px) {

  .consult-builder__grid {

    padding: 18px;

    border-radius: 28px;

  }

  .consult-services-head__row {

    flex-direction: column;

    gap: 8px;

  }

  .consult-services__other {

    grid-template-columns: 1fr;

  }

}

/* ===== RECOVERY: BALANCED CONSULT SERVICES ===== */

/* прибираємо sticky/внутрішній скрол — секція рухається як звичайний блок сторінки */

.consult-builder__right {

  position: static;

  align-self: stretch;

}

.consult-card--services {

  max-height: none;

  overflow: visible;

}

/* залишаємо один спільний модуль, але без агресивного розвалу стилів */

.consult-builder__grid {

  align-items: stretch;

}

/* права частина — охайна картка без "каші" */

.consult-card--services {

  padding: 24px;

  border-radius: 28px;

  background: rgba(255,255,255,0.72);

  border: 1px solid rgba(210,224,241,0.82);

  box-shadow:

    inset 0 1px 0 rgba(255,255,255,0.92),

    0 18px 44px rgba(19,45,82,0.055);

}

/* header сервісів мʼякий, не окремий важкий блок */

.consult-card--services .consult-services-head {

  margin: 0 0 18px;

  padding: 18px 20px;

  border-radius: 22px;

  background:

    radial-gradient(circle at 16% 18%, rgba(105,151,215,0.12), transparent 34%),

    linear-gradient(135deg, rgba(236,246,255,0.9), rgba(255,255,255,0.82));

  border: 1px solid rgba(188,211,238,0.72);

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.9);

}

.consult-card--services .consult-services-head::after {

  display: none;

}

/* список: один суцільний блок, не окремі великі картки */

.consult-services {

  display: flex;

  flex-direction: column;

  gap: 0;

  overflow: hidden;

  border-radius: 22px;

  background: rgba(255,255,255,0.58);

  border: 1px solid rgba(216,229,244,0.86);

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.9);

}

.consult-services__option {

  position: relative;

  display: grid;

  grid-template-columns: 42px minmax(0, 1fr) 22px;

  gap: 14px;

  align-items: center;

  min-height: 62px;

  margin: 0;

  padding: 12px 14px;

  border: 0;

  border-bottom: 1px solid rgba(220,232,246,0.86);

  border-radius: 0;

  background: transparent;

  box-shadow: none;

  cursor: pointer;

  transition: background-color .2s ease, box-shadow .2s ease;

}

.consult-services__option:last-of-type {

  border-bottom: 0;

}

.consult-services__option:hover {

  background: rgba(232,242,255,0.5);

}

.consult-services__option.is-checked,

.consult-services__option:has(input:checked) {

  background: rgba(232,242,255,0.72);

  box-shadow: inset 3px 0 0 rgba(43,101,184,0.9);

}

/* іконки сервісів */

.consult-services__mark {

  width: 38px;

  height: 38px;

  border-radius: 13px;

}

/* чекбокс — акуратний, без вилазіння і подвійних галочок */

.consult-services__check {

  position: relative;

  width: 20px;

  height: 20px;

  border-radius: 7px;

  border: 1px solid rgba(190,205,225,0.95);

  background: rgba(255,255,255,0.95);

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.9);

  flex: 0 0 20px;

}

.consult-services__check svg {

  display: none;

}

.consult-services__check::after {

  content: "";

  position: absolute;

  left: 5px;

  top: 4px;

  width: 8px;

  height: 5px;

  border-left: 2px solid #fff;

  border-bottom: 2px solid #fff;

  transform: rotate(45deg) scale(0);

  transform-origin: center;

  transition: transform .18s ease;

}

.consult-services__option.is-checked .consult-services__check,

.consult-services__option:has(input:checked) .consult-services__check {

  background: linear-gradient(135deg, #2b65b8, #1f4f91);

  border-color: rgba(43,101,184,0.78);

}

.consult-services__option.is-checked .consult-services__check::after,

.consult-services__option:has(input:checked) .consult-services__check::after {

  transform: rotate(45deg) scale(1);

}

/* рядок "Інше" ближче до інпуту, але без зламу списку */

.consult-services__other {

  display: grid;

  grid-template-columns: minmax(0, 0.72fr) minmax(220px, 1.28fr);

  gap: 10px;

  align-items: center;

  padding: 10px 12px;

  background: rgba(255,255,255,0.4);

  border-top: 1px solid rgba(220,232,246,0.86);

}

.consult-services__other .consult-services__option {

  min-height: 52px;

  padding: 8px 0;

  border-bottom: 0;

}

.consult-services__other-input {

  min-height: 52px;

  margin: 0;

  border-radius: 16px;

}

/* не даємо старим правилам робити з рядків "плитки" */

.consult-services__option + .consult-services__option {

  margin-top: 0;

}

@media (max-width: 980px) {

  .consult-builder__right {

    position: static;

  }

}

@media (max-width: 720px) {

  .consult-card--services {

    padding: 20px;

    border-radius: 24px;

  }

  .consult-services__other {

    grid-template-columns: 1fr;

  }

}

.consult-card--message,

.consult-card--message:hover,

.consult-card--message:focus-within {

  transform: none;

  translate: none;

  filter: none;

  border-color: rgba(218, 229, 242, 0.95);

  box-shadow: 0 24px 54px rgba(19, 45, 82, 0.07), inset 0 1px 0 rgba(255,255,255,0.96);

}

.consult-card--message::before,

.consult-card--message::after {

  opacity: 0;

  transform: none;

}

.consult-card--services {

  padding: 24px;

  border-radius: 28px;

  background: linear-gradient(180deg, rgba(255,255,255,0.88), rgba(248,251,255,0.78));

  border: 1px solid rgba(211, 224, 240, 0.84);

  box-shadow: 0 18px 42px rgba(19,45,82,0.052), inset 0 1px 0 rgba(255,255,255,0.94);

  overflow: visible;

}

.consult-card--services .consult-services-head {

  margin: 0 0 16px;

  padding: 16px 18px;

  border-radius: 22px;

  background: linear-gradient(135deg, rgba(239,247,255,0.84), rgba(255,255,255,0.76));

  border: 1px solid rgba(192, 211, 235, 0.66);

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.92);

}

.consult-card--services .consult-services-head::after {

  display: none;

}

.consult-card--services .consult-card__icon,

.consult-card--services .consult-services__mark {

  background: linear-gradient(180deg, #f3f8ff 0%, #e7f0fa 100%);

  border: 1px solid rgba(207, 221, 238, 0.86);

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.92);

  color: #476f97;

}

.consult-card--services .consult-services-head__badge {

  background: rgba(23, 58, 106, 0.065);

  border: 1px solid rgba(184, 205, 232, 0.64);

  box-shadow: none;

}

.consult-card--services .consult-services {

  display: flex;

  flex-direction: column;

  gap: 0;

  overflow: hidden;

  border-radius: 22px;

  background: rgba(255,255,255,0.62);

  border: 1px solid rgba(216, 229, 244, 0.76);

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.92);

}

.consult-card--services .consult-services__option {

  position: relative;

  display: grid;

  grid-template-columns: 40px minmax(0, 1fr) 20px;

  gap: 13px;

  align-items: center;

  min-height: 60px;

  margin: 0;

  padding: 12px 14px;

  border: 0;

  border-bottom: 1px solid rgba(220,232,246,0.72);

  border-radius: 0;

  background: transparent;

  box-shadow: none;

  transform: none;

  cursor: pointer;

  transition: background-color .18s ease;

}

.consult-card--services .consult-services__option:last-of-type {

  border-bottom: 0;

}

.consult-card--services .consult-services__option:hover {

  background: rgba(232,242,255,0.38);

  box-shadow: none;

  transform: none;

}

.consult-card--services .consult-services__option.is-checked,

.consult-card--services .consult-services__option:has(input:checked) {

  background: rgba(232,242,255,0.5);

  border-color: rgba(220,232,246,0.72);

  box-shadow: none;

}

.consult-card--services .consult-services__label {

  color: #17385c;

  font-weight: 700;

  line-height: 1.35;

}

.consult-card--services .consult-services__mark {

  width: 36px;

  height: 36px;

  border-radius: 12px;

}

.consult-card--services .consult-services__check {

  position: relative;

  display: block;

  width: 20px;

  height: 20px;

  min-width: 20px;

  border-radius: 7px;

  border: 1.5px solid rgba(194, 209, 226, 0.96);

  background: rgba(255,255,255,0.96);

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.96);

  overflow: hidden;

}

.consult-card--services .consult-services__check::before,

.consult-card--services .consult-services__option.is-checked .consult-services__check::before,

.consult-card--services .consult-services__option:has(input:checked) .consult-services__check::before {

  content: "";

  display: none;

}

.consult-card--services .consult-services__check::after {

  content: "";

  position: absolute;

  left: 6px;

  top: 3px;

  width: 5px;

  height: 10px;

  border-right: 2px solid #fff;

  border-bottom: 2px solid #fff;

  opacity: 0;

  transform: rotate(45deg) scale(0.72);

  transform-origin: center;

  transition: opacity .16s ease, transform .16s ease;

}

.consult-card--services .consult-services__option.is-checked .consult-services__check,

.consult-card--services .consult-services__option:has(input:checked) .consult-services__check {

  background: #2b65b8;

  border-color: #2b65b8;

  box-shadow: 0 5px 12px rgba(43,101,184,0.16);

}

.consult-card--services .consult-services__option.is-checked .consult-services__check::after,

.consult-card--services .consult-services__option:has(input:checked) .consult-services__check::after {

  opacity: 1;

  transform: rotate(45deg) scale(1);

}

.consult-card--services .consult-services__other {

  display: grid;

  grid-template-columns: minmax(0, 0.66fr) minmax(230px, 1.34fr);

  gap: 10px;

  align-items: center;

  padding: 10px 12px;

  background: rgba(255,255,255,0.34);

  border-top: 1px solid rgba(220,232,246,0.72);

}

.consult-card--services .consult-services__other .consult-services__option {

  min-height: 50px;

  padding: 8px 0;

  border-bottom: 0;

}

.consult-card--services .consult-services__other-input {

  min-height: 52px;

  margin: 0;

  border-radius: 16px;

}

@media (max-width: 720px) {

  .consult-card--services {

    padding: 20px;

    border-radius: 24px;

  }

  .consult-card--services .consult-services__other {

    grid-template-columns: 1fr;

  }

}

/* ===== FINAL CALM FORM FIX ===== */

/* 1) Ліва форма: прибираємо рамку/картку і будь-який hover-візуал */

.consult-card--message,

.consult-card--message:hover,

.consult-card--message:focus-within {

  border: 0 !important;

  background: transparent !important;

  box-shadow: none !important;

  transform: none !important;

  filter: none !important;

}

.consult-card--message::before,

.consult-card--message::after,

.consult-card--message:hover::before,

.consult-card--message:hover::after {

  content: none !important;

  display: none !important;

}

/* щоб поля не виглядали обрізаними після прибирання картки */

.consult-card--message {

  overflow: visible !important;

}

/* 2) Права секція: спокійніший, менш "наляпистий" блок */

.consult-card--services {

  padding: 22px !important;

  border-radius: 28px !important;

  background: rgba(255,255,255,0.62) !important;

  border: 1px solid rgba(217, 229, 243, 0.62) !important;

  box-shadow: 0 18px 42px rgba(19, 45, 82, 0.045) !important;

}

.consult-card--services .consult-services-head {

  margin: 0 0 14px !important;

  padding: 14px 16px !important;

  border-radius: 20px !important;

  background: rgba(244, 249, 255, 0.72) !important;

  border: 1px solid rgba(213, 226, 242, 0.72) !important;

  box-shadow: none !important;

}

.consult-card--services .consult-card__icon,

.consult-card--services .consult-services__mark {

  background: rgba(239, 246, 254, 0.84) !important;

  border: 1px solid rgba(208, 222, 239, 0.72) !important;

  box-shadow: none !important;

  color: #42698f !important;

}

.consult-card--services .consult-services-head__badge {

  background: rgba(23, 58, 106, 0.055) !important;

  border: 1px solid rgba(190, 209, 232, 0.55) !important;

  box-shadow: none !important;

}

/* Список: без синіх заливок рядків, без "плиток", тільки легкий список */

.consult-card--services .consult-services {

  overflow: hidden !important;

  border-radius: 18px !important;

  background: rgba(255,255,255,0.42) !important;

  border: 1px solid rgba(220, 231, 244, 0.68) !important;

  box-shadow: none !important;

}

.consult-card--services .consult-services__option {

  position: relative !important;

  display: grid !important;

  grid-template-columns: 38px minmax(0, 1fr) 20px !important;

  gap: 12px !important;

  align-items: center !important;

  min-height: 58px !important;

  margin: 0 !important;

  padding: 11px 14px !important;

  border: 0 !important;

  border-bottom: 1px solid rgba(223, 234, 246, 0.68) !important;

  border-radius: 0 !important;

  background: transparent !important;

  box-shadow: none !important;

  transform: none !important;

}

.consult-card--services .consult-services__option:hover {

  background: rgba(242, 247, 253, 0.68) !important;

  box-shadow: none !important;

  transform: none !important;

}

.consult-card--services .consult-services__option.is-checked,

.consult-card--services .consult-services__option:has(input:checked) {

  background: rgba(246, 250, 255, 0.78) !important;

  box-shadow: inset 2px 0 0 rgba(43, 101, 184, 0.58) !important;

}

.consult-card--services .consult-services__option:last-of-type {

  border-bottom: 0 !important;

}

.consult-card--services .consult-services__label {

  color: #17385c !important;

  font-weight: 700 !important;

  line-height: 1.35 !important;

}

.consult-card--services .consult-services__mark {

  width: 34px !important;

  height: 34px !important;

  border-radius: 12px !important;

}

/* 3) Галочка: повністю перекриваємо старі псевдо-елементи */

.consult-card--services .consult-services__check {

  position: relative !important;

  display: block !important;

  width: 19px !important;

  height: 19px !important;

  min-width: 19px !important;

  border-radius: 7px !important;

  border: 1.5px solid rgba(194, 210, 228, 0.95) !important;

  background: #fff !important;

  box-shadow: none !important;

  overflow: hidden !important;

}

.consult-card--services .consult-services__check::before {

  content: none !important;

  display: none !important;

}

.consult-card--services .consult-services__check::after {

  content: "" !important;

  position: absolute !important;

  left: 6px !important;

  top: 3px !important;

  width: 5px !important;

  height: 10px !important;

  border: 0 !important;

  border-right: 2px solid #fff !important;

  border-bottom: 2px solid #fff !important;

  opacity: 0 !important;

  transform: rotate(45deg) scale(0.75) !important;

  transform-origin: center !important;

  transition: opacity .16s ease, transform .16s ease !important;

}

.consult-card--services .consult-services__option.is-checked .consult-services__check,

.consult-card--services .consult-services__option:has(input:checked) .consult-services__check {

  background: #245184 !important;

  border-color: #245184 !important;

}

.consult-card--services .consult-services__option.is-checked .consult-services__check::after,

.consult-card--services .consult-services__option:has(input:checked) .consult-services__check::after {

  opacity: 1 !important;

  transform: rotate(45deg) scale(1) !important;

}

/* Інше: ближче і спокійніше */

.consult-card--services .consult-services__other {

  display: grid !important;

  grid-template-columns: minmax(0, 0.62fr) minmax(240px, 1.38fr) !important;

  gap: 8px !important;

  align-items: center !important;

  padding: 10px 12px !important;

  background: rgba(255,255,255,0.34) !important;

  border-top: 1px solid rgba(223, 234, 246, 0.68) !important;

}

.consult-card--services .consult-services__other .consult-services__option {

  min-height: 48px !important;

  padding: 7px 0 !important;

  border-bottom: 0 !important;

}

.consult-card--services .consult-services__other-input {

  min-height: 50px !important;

  margin: 0 !important;

  border-radius: 15px !important;

  background: rgba(255,255,255,0.82) !important;

  box-shadow: none !important;

}

@media (max-width: 720px) {

  .consult-card--services {

    padding: 18px !important;

    border-radius: 24px !important;

  }

  .consult-card--services .consult-services__other {

    grid-template-columns: 1fr !important;

  }

}

/* ===== FINAL CHECKBOX VISUAL FIX ===== */

/* Базовий стан чекбокса */

.consult-card--services .consult-services__check {

  position: relative !important;

  display: flex !important;

  align-items: center !important;

  justify-content: center !important;

  width: 20px !important;

  height: 20px !important;

  min-width: 20px !important;

  border-radius: 7px !important;

  border: 1.5px solid rgba(195, 211, 229, 0.95) !important;

  background: rgba(255, 255, 255, 0.96) !important;

  box-shadow: inset 0 1px 0 rgba(255,255,255,0.96) !important;

  overflow: hidden !important;

}

/* Повністю вимикаємо старі галочки / псевдо-іконки */

.consult-card--services .consult-services__check::before,

.consult-card--services .consult-services__check::after {

  content: "" !important;

  display: none !important;

  border: 0 !important;

  width: auto !important;

  height: auto !important;

  margin: 0 !important;

  transform: none !important;

}

/* Активний стан чекбокса */

.consult-card--services .consult-services__option.is-checked .consult-services__check,

.consult-card--services .consult-services__option:has(input:checked) .consult-services__check,

.consult-card--services .consult-services__option input:checked ~ .consult-services__check {

  background: linear-gradient(135deg, #2b65b8, #1f4f91) !important;

  border-color: rgba(43, 101, 184, 0.9) !important;

  box-shadow: 0 5px 12px rgba(43,101,184,0.16) !important;

}

/* Нова зрозуміла галочка */

.consult-card--services .consult-services__option.is-checked .consult-services__check::after,

.consult-card--services .consult-services__option:has(input:checked) .consult-services__check::after,

.consult-card--services .consult-services__option input:checked ~ .consult-services__check::after {

  content: "✓" !important;

  display: flex !important;

  align-items: center !important;

  justify-content: center !important;

  width: 100% !important;

  height: 100% !important;

  color: #ffffff !important;

  font-size: 14px !important;

  font-weight: 800 !important;

  line-height: 1 !important;

  border: 0 !important;

  transform: none !important;

  opacity: 1 !important;

}

/* ===== SOFT FINAL CHECKLIST POLISH ===== */

/* Прибираємо зайву синю рамку/лінії з активних рядків.

   Вибір тепер видно по самій галочці, а рядок лишається спокійним. */

.consult-card--services .consult-services__option.is-checked,

.consult-card--services .consult-services__option:has(input:checked),

.consult-card--services .consult-services__option input:checked ~ .consult-services__label {

  box-shadow: none !important;

}

.consult-card--services .consult-services__option.is-checked,

.consult-card--services .consult-services__option:has(input:checked) {

  background: rgba(247, 251, 255, 0.62) !important;

  border-color: transparent !important;

}

/* Рядки списку робимо ще легшими */

.consult-card--services .consult-services__option {

  border-bottom-color: rgba(223, 234, 246, 0.52) !important;

}

.consult-card--services .consult-services__option:hover {

  background: rgba(242, 247, 253, 0.58) !important;

}

/* Галочка — трохи менша й акуратніша */

.consult-card--services .consult-services__check {

  width: 18px !important;

  height: 18px !important;

  min-width: 18px !important;

  border-radius: 6px !important;

}

.consult-card--services .consult-services__option.is-checked .consult-services__check,

.consult-card--services .consult-services__option:has(input:checked) .consult-services__check,

.consult-card--services .consult-services__option input:checked ~ .consult-services__check {

  background: #245184 !important;

  border-color: #245184 !important;

  box-shadow: 0 4px 10px rgba(36, 81, 132, 0.14) !important;

}

.consult-card--services .consult-services__option.is-checked .consult-services__check::after,

.consult-card--services .consult-services__option:has(input:checked) .consult-services__check::after,

.consult-card--services .consult-services__option input:checked ~ .consult-services__check::after {

  font-size: 12px !important;

  font-weight: 800 !important;

}

/* Правий блок ще трохи легший */

.consult-card--services {

  background: rgba(255, 255, 255, 0.56) !important;

  border-color: rgba(217, 229, 243, 0.52) !important;

  box-shadow: 0 16px 36px rgba(19,45,82,0.038) !important;

}

.consult-card--services .consult-services {

  background: rgba(255, 255, 255, 0.36) !important;

  border-color: rgba(220, 231, 244, 0.52) !important;

}

/* ===== CHECKLIST SOFT PREMIUM REPAIR ===== */

/* Right services block — calmer and cleaner */

.consult-card--services {

  background: rgba(255,255,255,0.58) !important;

  border: 1px solid rgba(220, 230, 242, 0.48) !important;

  box-shadow: 0 14px 34px rgba(19,45,82,0.035) !important;

}

.consult-card--services .consult-services {

  background: rgba(255,255,255,0.28) !important;

  border: 1px solid rgba(223,233,244,0.52) !important;

  border-radius: 18px !important;

  overflow: hidden !important;

  box-shadow: none !important;

}

/* Rows: simple, premium, no extra outlines or heavy selection */

.consult-card--services .consult-services__option,

.consult-card--services .consult-services__option:hover,

.consult-card--services .consult-services__option.is-checked,

.consult-card--services .consult-services__option:has(input:checked),

.consult-card--services .consult-services__option:focus-within {

  position: relative !important;

  display: grid !important;

  grid-template-columns: 38px minmax(0, 1fr) 22px !important;

  gap: 14px !important;

  align-items: center !important;

  min-height: 60px !important;

  padding: 11px 16px !important;

  margin: 0 !important;

  border: 0 !important;

  outline: none !important;

  border-radius: 0 !important;

  box-shadow: none !important;

  transform: none !important;

}

.consult-card--services .consult-services__option {

  background: transparent !important;

  border-bottom: 1px solid rgba(224, 233, 243, 0.62) !important;

}

.consult-card--services .consult-services__option:hover {

  background: rgba(247, 250, 253, 0.72) !important;

}

.consult-card--services .consult-services__option.is-checked,

.consult-card--services .consult-services__option:has(input:checked) {

  background: rgba(245, 249, 253, 0.92) !important;

  border-bottom-color: rgba(224, 233, 243, 0.62) !important;

}

.consult-card--services .consult-services__option::after,

.consult-card--services .consult-services__option.is-checked::after,

.consult-card--services .consult-services__option:has(input:checked)::after {

  content: none !important;

  display: none !important;

}

.consult-card--services .consult-services__option:last-child,

.consult-card--services .consult-services__other .consult-services__option:last-child {

  border-bottom: 0 !important;

}

.consult-card--services .consult-services__mark {

  width: 34px !important;

  height: 34px !important;

  border-radius: 12px !important;

  justify-self: start !important;

  align-self: center !important;

  background: rgba(243, 247, 252, 0.96) !important;

  border: 1px solid rgba(218, 227, 238, 0.9) !important;

  box-shadow: none !important;

  color: #58769a !important;

}

.consult-card--services .consult-services__option.is-checked .consult-services__mark,

.consult-card--services .consult-services__option:has(input:checked) .consult-services__mark {

  background: rgba(241, 246, 252, 0.96) !important;

  border-color: rgba(206, 219, 234, 0.95) !important;

  color: #4b6d93 !important;

}

.consult-card--services .consult-services__label {

  color: #17385c !important;

  font-weight: 700 !important;

  line-height: 1.35 !important;

}

/* Checkbox — truly centered and cleaner */

.consult-card--services .consult-services__check {

  position: relative !important;

  justify-self: end !important;

  align-self: center !important;

  display: block !important;

  width: 20px !important;

  height: 20px !important;

  min-width: 20px !important;

  border-radius: 6px !important;

  border: 1.5px solid rgba(197, 211, 227, 0.96) !important;

  background: rgba(255,255,255,0.98) !important;

  box-shadow: none !important;

  overflow: hidden !important;

}

.consult-card--services .consult-services__check::before {

  content: none !important;

  display: none !important;

}

.consult-card--services .consult-services__check::after {

  content: "" !important;

  display: block !important;

  position: absolute !important;

  left: 50% !important;

  top: 50% !important;

  width: 6px !important;

  height: 10px !important;

  margin-left: -3px !important;

  margin-top: -6px !important;

  border-right: 2px solid #ffffff !important;

  border-bottom: 2px solid #ffffff !important;

  border-left: 0 !important;

  border-top: 0 !important;

  border-radius: 0 !important;

  background: transparent !important;

  opacity: 0 !important;

  transform: rotate(45deg) !important;

}

.consult-card--services .consult-services__option.is-checked .consult-services__check,

.consult-card--services .consult-services__option:has(input:checked) .consult-services__check,

.consult-card--services .consult-services__option input:checked ~ .consult-services__check {

  background: #245184 !important;

  border-color: #245184 !important;

  box-shadow: none !important;

}

.consult-card--services .consult-services__option.is-checked .consult-services__check::after,

.consult-card--services .consult-services__option:has(input:checked) .consult-services__check::after,

.consult-card--services .consult-services__option input:checked ~ .consult-services__check::after {

  opacity: 1 !important;

}

/* Other row a bit cleaner too */

.consult-card--services .consult-services__other {

  grid-template-columns: minmax(0, 0.66fr) minmax(0, 1.34fr) !important;

  gap: 10px !important;

  padding: 10px 12px !important;

  background: rgba(255,255,255,0.24) !important;

  border-top: 1px solid rgba(224,233,243,0.62) !important;

}

.consult-card--services .consult-services__other .consult-services__option {

  min-height: 48px !important;

  padding: 8px 0 !important;

  border-bottom: 0 !important;

}

.consult-card--services .consult-services__other-input {

  min-height: 48px !important;

  border-radius: 15px !important;

  background: rgba(255,255,255,0.88) !important;

  box-shadow: none !important;

}

/* ===== CHECKMARK MICRO-CENTERING ===== */

.consult-card--services .consult-services__check {

  display: flex !important;

  align-items: center !important;

  justify-content: center !important;

  line-height: 1 !important;

}

.consult-card--services .consult-services__check::before {

  content: none !important;

  display: none !important;

}

.consult-card--services .consult-services__check::after {

  content: "" !important;

  display: block !important;

  position: absolute !important;

  left: 50% !important;

  top: 47% !important;

  width: 5px !important;

  height: 10px !important;

  margin: 0 !important;

  border: 0 !important;

  border-right: 2px solid #ffffff !important;

  border-bottom: 2px solid #ffffff !important;

  background: transparent !important;

  opacity: 0 !important;

  transform: translate(-50%, -50%) rotate(45deg) !important;

  transform-origin: center !important;

}

.consult-card--services .consult-services__option.is-checked .consult-services__check::after,

.consult-card--services .consult-services__option:has(input:checked) .consult-services__check::after,

.consult-card--services .consult-services__option input:checked ~ .consult-services__check::after {

  opacity: 1 !important;

  transform: translate(-50%, -50%) rotate(-5deg) !important;

}

/* --- Consult services premium guidance refinement --- */
.consult-card--services {
  overflow: hidden;
}

.consult-services__direction {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 22px 0 18px;
}

.consult-services__direction-line {
  flex: 1 1 auto;
  max-width: 86px;
  height: 1px;
  background: linear-gradient(90deg, rgba(114, 140, 180, 0), rgba(114, 140, 180, 0.22), rgba(114, 140, 180, 0));
}

.consult-services__direction-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(191, 206, 225, 0.62);
  background: linear-gradient(180deg, rgba(250, 252, 255, 0.98), rgba(240, 246, 252, 0.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.9), 0 8px 18px rgba(21, 39, 71, 0.05);
}

.consult-services__direction-icon {
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(180deg, rgba(84, 121, 176, 0.14), rgba(84, 121, 176, 0.06));
  color: #476e9d;
}

.consult-services__direction-icon svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.consult-services__direction-text {
  color: #526c8d;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.consult-services {
  margin-top: 8px;
}

@media (max-width: 980px) {
  .consult-services__direction {
    margin: 18px 0 14px;
    gap: 10px;
  }

  .consult-services__direction-line {
    max-width: none;
  }
}

@media (max-width: 640px) {
  .consult-services__direction {
    gap: 8px;
    margin: 16px 0 12px;
  }

  .consult-services__direction-badge {
    min-height: 38px;
    padding: 7px 12px;
    gap: 8px;
  }

  .consult-services__direction-icon {
    width: 24px;
    height: 24px;
  }

  .consult-services__direction-text {
    font-size: 12px;
  }
}

/* =========================================================
   Trust cards — clean final version
   Uses the same .reveal animation as services and contacts.
========================================================= */

.consult-badges--premium-final {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 2.2vw, 32px);
  margin-top: clamp(28px, 3.4vw, 46px);
  align-items: stretch;
}

.consult-badges--premium-final .consult-badge,
.consult-badges--premium-final .consult-badge:hover {
  position: relative;
  min-height: clamp(160px, 12.2vw, 196px);
  padding: clamp(24px, 2.15vw, 32px) clamp(26px, 2.5vw, 40px) clamp(22px, 2.15vw, 30px);
  border-radius: clamp(24px, 2vw, 30px);
  border: 1px solid rgba(207, 220, 238, 0.92);
  background:
    radial-gradient(circle 2.4px at calc(100% - 94px) 96px, rgba(151, 177, 215, 0.60) 0 99%, transparent 100%),
    radial-gradient(circle 2.4px at calc(100% - 50px) 124px, rgba(151, 177, 215, 0.52) 0 99%, transparent 100%),
    radial-gradient(142px 142px at calc(100% + 8px) -8px, transparent 54%, rgba(172, 193, 224, 0.32) 54.7% 55.35%, transparent 56%),
    radial-gradient(108px 108px at calc(100% + 8px) -8px, transparent 54%, rgba(172, 193, 224, 0.28) 54.7% 55.35%, transparent 56%),
    radial-gradient(76px 76px at calc(100% + 8px) -8px, transparent 54%, rgba(172, 193, 224, 0.23) 54.7% 55.35%, transparent 56%),
    linear-gradient(135deg, rgba(255,255,255,0.99) 0%, rgba(247,250,255,0.965) 100%);
  box-shadow:
    0 16px 30px rgba(23, 45, 78, 0.065),
    0 4px 9px rgba(23, 45, 78, 0.03),
    inset 0 1px 0 rgba(255,255,255,0.98);
  overflow: hidden;
  animation: none !important;
}

.consult-badges--premium-final .consult-badge::before {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  border-radius: inherit;
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,0.88), rgba(255,255,255,0) 44%),
    linear-gradient(145deg, rgba(255,255,255,0.24) 0%, rgba(255,255,255,0) 46%);
  opacity: .78;
  pointer-events: none;
  z-index: 0;
}

.consult-badges--premium-final .consult-badge::after {
  content: none;
  display: none;
}

.consult-badges--premium-final .consult-badge > * {
  position: relative;
  z-index: 1;
}

.consult-badges--premium-final .consult-badge .consult-badge__icon {
  width: clamp(52px, 4.1vw, 66px);
  height: clamp(52px, 4.1vw, 66px);
  min-width: clamp(52px, 4.1vw, 66px);
  border-radius: clamp(17px, 1.45vw, 21px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #123d73;
  border: 1px solid rgba(205, 219, 238, 0.94);
  background:
    radial-gradient(circle at 32% 18%, rgba(255,255,255,.98), rgba(255,255,255,0) 40%),
    linear-gradient(180deg, rgba(255,255,255,0.99) 0%, rgba(240,247,255,0.96) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.98),
    inset 0 -1px 0 rgba(185, 205, 232, .16),
    0 12px 24px rgba(18,61,115,.085);
}

.consult-badges--premium-final .consult-badge .consult-badge__icon svg {
  width: clamp(25px, 2vw, 32px);
  height: clamp(25px, 2vw, 32px);
  stroke: currentColor;
  stroke-width: 2.22;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.consult-badges--premium-final .consult-badge .consult-badge__title {
  margin: clamp(34px, 3.25vw, 46px) 0 12px;
  max-width: 100%;
  color: #123d73;
  font-size: clamp(23px, 2.05vw, 30px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.043em;
}

.consult-badges--premium-final .consult-badge .consult-badge__title::after {
  content: "";
  display: block;
  width: clamp(150px, 17vw, 235px);
  height: 1px;
  margin-top: 14px;
  border-radius: 999px;
  opacity: .88;
  background: linear-gradient(90deg, rgba(18,61,115,.28), rgba(18,61,115,.14) 62%, rgba(18,61,115,0));
}

.consult-badges--premium-final .consult-badge .consult-badge__text {
  margin: 0;
  max-width: 30ch;
  color: #637d9f;
  font-size: clamp(15px, 1.22vw, 18px);
  font-weight: 500;
  line-height: 1.42;
  letter-spacing: -0.018em;
}

/* Same animation as services and contacts: opacity + slide up. */
.consult-badges--premium-final .consult-badge.reveal {
  opacity: 0;
  transform: translateY(26px);
  transition:
    opacity .68s cubic-bezier(.22,.61,.36,1),
    transform .68s cubic-bezier(.22,.61,.36,1),
    box-shadow .3s ease,
    border-color .3s ease;
  will-change: opacity, transform;
}

.consult-badges--premium-final .consult-badge.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.consult-badges--premium-final .consult-badge.reveal.is-visible:hover {
  transform: translateY(-2px);
  border-color: rgba(190, 207, 228, 0.96);
  box-shadow:
    0 19px 36px rgba(23, 45, 78, 0.078),
    0 6px 12px rgba(23, 45, 78, 0.035),
    inset 0 1px 0 rgba(255,255,255,0.98);
}

.consult-badges--premium-final .consult-badge.reveal:nth-child(1) {
  transition-delay: .02s;
}

.consult-badges--premium-final .consult-badge.reveal:nth-child(2) {
  transition-delay: .10s;
}

.consult-badges--premium-final .consult-badge.reveal:nth-child(3) {
  transition-delay: .18s;
}

@media (max-width: 1180px) {
  .consult-badges--premium-final {
    gap: 18px;
  }

  .consult-badges--premium-final .consult-badge,
  .consult-badges--premium-final .consult-badge:hover {
    min-height: 160px;
    padding: 22px;
  }

  .consult-badges--premium-final .consult-badge .consult-badge__title {
    margin-top: 30px;
    font-size: 22px;
  }

  .consult-badges--premium-final .consult-badge .consult-badge__title::after {
    width: 150px;
  }

  .consult-badges--premium-final .consult-badge .consult-badge__text {
    font-size: 14px;
  }
}

@media (max-width: 980px) {
  .consult-badges--premium-final {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 28px;
  }

  .consult-badges--premium-final .consult-badge,
  .consult-badges--premium-final .consult-badge:hover {
    min-height: auto;
    padding: 20px;
    border-radius: 24px;
  }

  .consult-badges--premium-final .consult-badge .consult-badge__title {
    margin: 26px 0 10px;
    font-size: 21px;
  }

  .consult-badges--premium-final .consult-badge .consult-badge__title::after {
    width: 128px;
    margin-top: 10px;
  }

  .consult-badges--premium-final .consult-badge .consult-badge__text {
    max-width: none;
    font-size: 14px;
  }

  .consult-badges--premium-final .consult-badge.reveal:nth-child(1),
  .consult-badges--premium-final .consult-badge.reveal:nth-child(2),
  .consult-badges--premium-final .consult-badge.reveal:nth-child(3) {
    transition-delay: .04s;
  }
}

@media (prefers-reduced-motion: reduce) {
  .consult-badges--premium-final .consult-badge.reveal,
  .consult-badges--premium-final .consult-badge.reveal.is-visible {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* =========================================================
   Mobile fix: align about-step arrows with numbered badges.
   The previous mobile column value was overridden by later base styles,
   so arrows shifted horizontally on narrow screens.
========================================================= */

@media (max-width: 760px) {
  .about2__step,
  .about2__flow {
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 14px;
  }

  .about2__step-side,
  .about2__flow-side {
    width: 44px;
    margin-inline: auto;
    justify-self: center;
  }

  .about2__flow {
    min-height: 38px;
    margin: 2px 0 8px;
    align-items: center;
  }

  .about2__flow-side {
    gap: 6px;
    align-self: stretch;
  }

  .about2__flow-line {
    width: 2px;
    height: 22px;
    margin-inline: auto;
  }

  .about2__flow-arrow {
    width: 12px;
    height: 8px;
    margin-inline: auto;
    left: auto;
    right: auto;
    transform: none;
  }
}

@media (max-width: 420px) {
  .about2__step,
  .about2__flow {
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 12px;
  }

  .about2__step-side,
  .about2__flow-side {
    width: 42px;
  }

  .about2__num {
    width: 42px;
    height: 42px;
  }

  .about2__flow-line {
    height: 20px;
  }
}

/* =========================================================
   Final polish pass: spacing, typography, trust, form and SEO copy support
========================================================= */

:root {
  --pbs-blue: #123d73;
  --pbs-text: #17385c;
  --pbs-muted: #647d9d;
  --pbs-line: rgba(207, 220, 238, 0.92);
  --pbs-soft-card: rgba(255, 255, 255, 0.86);
}

/* More consistent vertical rhythm across content sections */
.section {
  padding-block: clamp(64px, 7.5vw, 104px);
}

.section--services {
  padding-top: clamp(52px, 6vw, 82px);
}

.consult-builder {
  padding-top: clamp(72px, 8vw, 110px);
}

.contacts-section {
  padding-top: clamp(60px, 7vw, 96px);
  padding-bottom: clamp(64px, 7.5vw, 104px);
}

/* Cleaner hierarchy: strong headings, lighter body copy */
.section__title,
.about2__title,
.consult-builder__title,
.contacts-form-card__title,
.contacts-info-card__title {
  color: var(--pbs-blue);
  letter-spacing: -0.04em;
}

.section__text,
.about2__text,
.consult-card__text,
.contacts-info-card__lead {
  color: var(--pbs-muted);
  line-height: 1.72;
}

.services-block .section__title {
  max-width: 920px;
  margin-inline: auto;
}

.services-block__lead {
  max-width: 800px;
}

/* Keep decorative elements premium, not noisy */
.section::before {
  opacity: .55;
}

.service-card::before,
.contacts-info-card::before,
.contacts-map-card::before,
.consult-card::before {
  opacity: .72;
}

/* Consultation form reassurance note */
.consult-builder__footer {
  align-items: center;
}

.consult-builder__privacy-note {
  grid-column: 1 / -1;
  margin: 10px 0 0;
  color: #6c829f;
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: -0.01em;
  text-align: center;
}

.consult-builder__submit:disabled {
  cursor: wait;
}

.consult-builder__status {
  min-height: 20px;
}

.consult-builder__status.is-error {
  color: #b94a4a !important;
}

.consult-builder__status.is-success {
  color: #2d8f62;
}

/* Contact trust sentence */
.contacts-info-card__lead {
  max-width: 44ch;
  margin: 14px 0 22px;
  font-size: clamp(15px, 1.22vw, 17px);
  letter-spacing: -0.012em;
}

.contacts-info-card--main .contacts-info-list {
  margin-top: 0;
}

/* Trust cards stay clean; only spacing normalized */
.consult-badges--premium-final {
  margin-top: clamp(30px, 3.6vw, 48px);
}

/* Mobile rhythm and readability */
@media (max-width: 760px) {
  .section {
    padding-block: clamp(48px, 12vw, 72px);
  }

  .consult-builder {
    padding-top: clamp(52px, 12vw, 78px);
  }

  .contacts-section {
    padding-top: clamp(48px, 12vw, 72px);
  }

  .consult-builder__privacy-note {
    text-align: left;
    font-size: 12.5px;
  }

  .contacts-info-card__lead {
    margin: 12px 0 18px;
    font-size: 14px;
  }
}

/* =========================================================
   Clean final: About spacing + previous “Інше” row style
   Restores the better visual version and replaces stacked overrides.
========================================================= */

/* About section: balanced desktop spacing */
.about2 .container.about2__grid {
  width: min(1220px, calc(100% - 168px));
  margin-inline: auto;
}

.about2__grid {
  grid-template-columns: minmax(0, 1fr) minmax(390px, 0.86fr);
  gap: clamp(56px, 6.4vw, 112px);
  align-items: center;
}

.about2__left {
  max-width: 680px;
}

.about2__right,
.about2__card {
  width: 100%;
}

/* “Інше” row: previous stable version, cleaned */
.consult-card--services .consult-services__other {
  display: grid !important;
  grid-template-columns: minmax(172px, 0.76fr) minmax(0, 1fr) !important;
  column-gap: 12px !important;
  align-items: center !important;
  min-height: 66px !important;
  padding: 8px 14px 8px 0 !important;
  margin: 0 !important;
  border-top: 1px solid rgba(224, 233, 243, 0.82) !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.consult-card--services .consult-services__option.consult-services__option--other,
.consult-card--services .consult-services__option.consult-services__option--other:hover,
.consult-card--services .consult-services__option.consult-services__option--other:focus-within,
.consult-card--services .consult-services__option.consult-services__option--other.is-checked,
.consult-card--services .consult-services__option.consult-services__option--other:has(input:checked) {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) 22px !important;
  gap: 14px !important;
  align-items: center !important;
  min-height: 50px !important;
  padding: 8px 16px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

.consult-card--services .consult-services__option.consult-services__option--other::after,
.consult-card--services .consult-services__option.consult-services__option--other.is-checked::after,
.consult-card--services .consult-services__option.consult-services__option--other:has(input:checked)::after {
  content: none !important;
  display: none !important;
}

.consult-card--services .consult-services__option.consult-services__option--other .consult-services__label {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.consult-card--services .consult-services__option.consult-services__option--other .consult-services__mark {
  width: 38px !important;
  height: 38px !important;
  border-radius: 12px !important;
}

.consult-card--services .consult-services__option.consult-services__option--other .consult-services__check {
  width: 22px !important;
  height: 22px !important;
  justify-self: end !important;
  margin: 0 !important;
  border-radius: 8px !important;
}

.consult-card--services .consult-services__other-input {
  width: 100% !important;
  min-width: 0 !important;
  height: 50px !important;
  min-height: 50px !important;
  padding: 12px 18px !important;
  margin: 0 2px 0 0 !important;
  border: 1px solid rgba(205, 217, 232, 1) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.98) !important;
  color: #17385c !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
  outline: none !important;
  transform: none !important;
}

.consult-card--services .consult-services__other-input::placeholder {
  color: #91a5bb !important;
}

.consult-card--services .consult-services__other-input:hover,
.consult-card--services .consult-services__other-input:focus {
  border-color: rgba(166, 186, 212, 0.98) !important;
  background: #ffffff !important;
  box-shadow: inset 0 0 0 1px rgba(166, 186, 212, 0.18) !important;
}

.consult-card--services .consult-services__other:has(.consult-services__option--other input:checked) {
  background: rgba(245, 249, 253, 0.92) !important;
}

.consult-card--services .consult-services__other:has(.consult-services__option--other input:checked) .consult-services__option.consult-services__option--other,
.consult-card--services .consult-services__other:has(.consult-services__option--other input:checked) .consult-services__other-input {
  background: rgba(245, 249, 253, 0.92) !important;
}

.consult-card--services .consult-services__other:has(.consult-services__option--other input:checked) .consult-services__other-input {
  border-color: rgba(194, 210, 228, 0.98) !important;
}

@media (max-width: 1180px) {
  .about2 .container.about2__grid {
    width: min(1220px, calc(100% - 96px));
  }

  .about2__grid {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.92fr);
    gap: clamp(40px, 5vw, 72px);
  }

  .consult-card--services .consult-services__other {
    grid-template-columns: minmax(168px, 0.78fr) minmax(0, 1fr) !important;
  }
}

@media (max-width: 980px) {
  .about2 .container.about2__grid {
    width: calc(100% - 44px);
  }

  .about2__grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .about2__left {
    max-width: none;
  }
}

@media (max-width: 720px) {
  .consult-card--services .consult-services__other {
    grid-template-columns: 1fr !important;
    row-gap: 10px !important;
    padding: 10px 0 !important;
  }

  .consult-card--services .consult-services__option.consult-services__option--other,
  .consult-card--services .consult-services__option.consult-services__option--other:hover,
  .consult-card--services .consult-services__option.consult-services__option--other:focus-within,
  .consult-card--services .consult-services__option.consult-services__option--other.is-checked,
  .consult-card--services .consult-services__option.consult-services__option--other:has(input:checked) {
    border-bottom: 0 !important;
  }

  .consult-card--services .consult-services__other-input {
    margin-right: 0 !important;
  }
}

@media (max-width: 480px) {
  .about2 .container.about2__grid {
    width: calc(100% - 24px);
  }
}
