:root {
  --blue: #1f3e75;
  --accent: #f59e0b;
  --text: #111111;
  --muted: #414141;
  --bg-soft: #fcfcfc;
  --bg-ice: #f4f8ff;
  --white: #ffffff;
  --shadow-card: 0 0 56px 2px rgba(0, 0, 0, 0.08);
  --shadow-soft: 0 0 20px 1px rgba(0, 0, 0, 0.05);
  --container: 1720px;
  --transition: 280ms ease;
}

*,
*::before,
*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
body {
  margin: 0;
  font-family: "Segoe UI", Arial, sans-serif;
  color: var(--text);
  background: var(--white);
  padding-top: 157px;
}
body.modal-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { cursor: pointer; border: 0; background: none; }
.container { width: min(calc(100% - 40px), var(--container)); margin: 0 auto; }
.section { padding: 100px 0; }
.section--light { background: var(--bg-soft); }
.section--blue-light { background: var(--bg-ice); }

.section-heading { display: grid; gap: 8px; margin-bottom: 50px; }
.section-heading span {
  color: var(--blue);
  font-size: clamp(29px, 2.2vw, 32px);
  font-weight: 600;
  line-height: 1.2;
}
.section-heading p {
  margin: 0;
  color: #1a1a1a;
  font-size: clamp(18px, 1.5vw, 24px);
  font-weight: 300;
  line-height: 1.4;
}
.section-heading--center { text-align: center; justify-items: center; }
.section-heading--wide p { max-width: 950px; }

#desktopCtaButton{
  min-height: 0;
  min-width: 0;
  padding: 8px;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 61px;
  padding: 16px 24px;
  border-radius: 12px;
  transition: transform var(--transition), box-shadow var(--transition), background-color var(--transition), border-color var(--transition);
}
.button:hover { transform: translateY(-2px); }
.button--outline {
  border: 2px solid var(--accent);
  color: var(--text);
  font-size: 20px;
  min-width: 207px;
}
.button--accent {
  background: var(--accent);
  color: #000;
}
.button--small { min-height: 51px; font-size: 16px; }
.button--full { width: 100%; }

.preloader {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, #11284f 0%, #1f3e75 100%);
  transition: opacity 500ms ease, visibility 500ms ease;
}
.preloader.is-hidden { opacity: 0; visibility: hidden; }
.preloader__brand { display: grid; gap: 18px; justify-items: center; }
.preloader__logo {
  object-fit: contain;
  filter: drop-shadow(0 12px 24px rgba(0, 0, 0, 0.54));
}
.preloader__line {
  width: 140px;
  height: 4px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.2);
  overflow: hidden;
  position: relative;
}
.preloader__line::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--accent);
  transform: translateX(-100%);
  animation: preload 1.2s infinite ease;
}
@keyframes preload { to { transform: translateX(100%); } }

.topbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 30;
  background: var(--blue);
  color: rgba(255, 255, 255, 0.67);
  font-size: 16px;
}
.topbar__inner,
.topbar__group,
.navbar__inner,
.navbar__nav,
.footer__icons,
.stats__grid { display: flex; align-items: center; }
.topbar__inner { justify-content: right; min-height: 56px; gap: 24px; }
.topbar__group { gap: 24px; flex-wrap: wrap; }
.topbar__link,
.lang-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.topbar__icon {
  width: 20px;
  height: 20px;
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.topbar__icon--phone {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%23fff' stroke-opacity='.67' stroke-width='1.7' d='M4.536 2.5h2.857l1.429 3.571-1.786 1.786a14.285 14.285 0 0 0 5.107 5.107l1.786-1.786 3.571 1.429v2.857a1.429 1.429 0 0 1-1.429 1.429A13.571 13.571 0 0 1 3.107 4.93 1.429 1.429 0 0 1 4.536 3.5Z'/%3E%3C/svg%3E");
}

.topbar__icon--mail {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Crect x='3' y='5' width='14' height='10' rx='1.5' stroke='%23fff' stroke-opacity='.67' stroke-width='1.7'/%3E%3Cpath stroke='%23fff' stroke-opacity='.67' stroke-width='1.7' d='m4.5 6.5 5.5 4 5.5-4'/%3E%3C/svg%3E");
}

.topbar__icon--pin {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%23fff' stroke-opacity='.67' stroke-width='1.7' d='M10 17s4.286-4.286 4.286-8A4.286 4.286 0 1 0 5.714 9c0 3.714 4.286 8 4.286 8Z'/%3E%3Ccircle cx='10' cy='9' r='1.75' stroke='%23fff' stroke-opacity='.67' stroke-width='1.5'/%3E%3C/svg%3E");
}

.topbar__icon--telegram {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 48 48' fill='none'%3E%3Cg clip-path='url(%23clip0_318_61)'%3E%3Cpath d='M24 48C37.2548 48 48 37.2548 48 24C48 10.7452 37.2548 0 24 0C10.7452 0 0 10.7452 0 24C0 37.2548 10.7452 48 24 48Z' fill='url(%23paint0_linear_318_61)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.8638 23.7466C17.8603 20.6984 22.5257 18.6888 24.8601 17.7179C31.5251 14.9456 32.91 14.4641 33.8127 14.4482C34.0113 14.4447 34.4552 14.4939 34.7427 14.7272C34.9855 14.9242 35.0523 15.1904 35.0843 15.3771C35.1163 15.5639 35.1561 15.9895 35.1244 16.3219C34.7633 20.1169 33.2004 29.3263 32.4053 33.5767C32.0689 35.3752 31.4065 35.9783 30.7652 36.0373C29.3714 36.1655 28.3131 35.1162 26.9632 34.2313C24.8509 32.8467 23.6576 31.9847 21.6072 30.6336C19.2377 29.0721 20.7738 28.2139 22.1242 26.8113C22.4776 26.4442 28.6183 20.8587 28.7372 20.352C28.7521 20.2886 28.7659 20.0524 28.6255 19.9277C28.4852 19.803 28.2781 19.8456 28.1286 19.8795C27.9168 19.9276 24.5423 22.158 18.0053 26.5707C17.0475 27.2284 16.1799 27.5489 15.4026 27.5321C14.5457 27.5135 12.8973 27.0475 11.6719 26.6492C10.1689 26.1606 8.97432 25.9023 9.07834 25.0726C9.13252 24.6404 9.72767 24.1984 10.8638 23.7466Z' fill='white'/%3E%3C/g%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_318_61' x1='24' y1='0' x2='24' y2='47.644' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%232AABEE'/%3E%3Cstop offset='1' stop-color='%23229ED9'/%3E%3C/linearGradient%3E%3CclipPath id='clip0_318_61'%3E%3Crect width='48' height='48' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
}

.topbar__icon--whatsapp {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M0 48L3.374 35.674C1.292 32.066 0.198 27.976 0.2 23.782C0.206 10.67 10.876 0 23.986 0C30.348 0.002 36.32 2.48 40.812 6.976C45.302 11.472 47.774 17.448 47.772 23.804C47.766 36.918 37.096 47.588 23.986 47.588C20.006 47.586 16.084 46.588 12.61 44.692L0 48ZM13.194 40.386C16.546 42.376 19.746 43.568 23.978 43.57C34.874 43.57 43.75 34.702 43.756 23.8C43.76 12.876 34.926 4.02 23.994 4.016C13.09 4.016 4.22 12.884 4.216 23.784C4.214 28.234 5.518 31.566 7.708 35.052L5.71 42.348L13.194 40.386ZM35.968 29.458C35.82 29.21 35.424 29.062 34.828 28.764C34.234 28.466 31.312 27.028 30.766 26.83C30.222 26.632 29.826 26.532 29.428 27.128C29.032 27.722 27.892 29.062 27.546 29.458C27.2 29.854 26.852 29.904 26.258 29.606C25.664 29.308 23.748 28.682 21.478 26.656C19.712 25.08 18.518 23.134 18.172 22.538C17.826 21.944 18.136 21.622 18.432 21.326C18.7 21.06 19.026 20.632 19.324 20.284C19.626 19.94 19.724 19.692 19.924 19.294C20.122 18.898 20.024 18.55 19.874 18.252C19.724 17.956 18.536 15.03 18.042 13.84C17.558 12.682 17.068 12.838 16.704 12.82L15.564 12.8C15.168 12.8 14.524 12.948 13.98 13.544C13.436 14.14 11.9 15.576 11.9 18.502C11.9 21.428 14.03 24.254 14.326 24.65C14.624 25.046 18.516 31.05 24.478 33.624C25.896 34.236 27.004 34.602 27.866 34.876C29.29 35.328 30.586 35.264 31.61 35.112C32.752 34.942 35.126 33.674 35.622 32.286C36.118 30.896 36.118 29.706 35.968 29.458Z' fill='%2325D366'/%3E%3C/svg%3E");
}

.topbar__icon--viber {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 512 512' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M265.096 0.367515C379.58 0.90536 430.982 38.2471 443.737 49.9261C485.919 86.5763 509.354 167.868 493.603 296.259C479.746 409.699 400.62 429.825 374.076 436.576C371.476 437.237 369.381 437.77 367.901 438.25C360.755 440.555 297.52 456.383 215.383 449.468C206.317 459.994 194.254 473.824 185.572 483.198C182.948 486.024 180.493 488.814 178.146 491.481C166.262 504.982 157.171 515.311 143.312 511.013C129.559 506.787 130.327 485.888 130.327 485.888L130.404 434.331H130.327C10.1573 400.524 11.9245 275.974 13.3075 209.435C14.6137 142.896 27.522 89.2655 64.1723 52.6153C130.02 -7.77699 265.096 0.367515 265.096 0.367515Z' fill='%23665CAC'/%3E%3Cpath d='M360.444 400.664C383.005 395.428 446.01 380.807 457.644 287.039C470.937 179.777 452.727 106.554 417.075 75.8964C406.318 66.1384 359.91 37.0179 263.021 36.5569C263.021 36.5569 148.307 29.0271 92.6013 79.4308C61.6368 110.011 51.1873 155.497 50.0348 211.049L49.9092 216.708C48.6089 273.517 46.3172 373.64 144.542 400.908C144.542 400.908 144.158 479.664 144.081 486.579C144.081 491.42 144.849 494.724 147.615 495.415C149.613 495.953 152.609 494.877 155.145 492.342C171.357 475.976 223.374 413.279 223.374 413.279C293.141 417.889 348.615 404.058 354.608 402.138C355.988 401.698 357.974 401.237 360.444 400.664Z' fill='white'/%3E%3Cpath d='M318.662 206.28C318.835 209.852 316.079 212.888 312.507 213.061C308.934 213.233 305.898 210.477 305.726 206.905C304.656 184.774 294.375 174.157 273.126 173.028C269.554 172.838 266.813 169.789 267.003 166.218C267.192 162.647 270.241 159.905 273.813 160.095C301.776 161.581 317.275 177.587 318.662 206.28Z' fill='%23665CAC'/%3E%3Cpath d='M345.24 224.208C348.815 224.289 351.78 221.456 351.861 217.881C352.436 192.569 344.856 171.198 329.105 154.038C313.326 136.847 291.563 127.329 264.016 125.373C260.449 125.119 257.351 127.806 257.098 131.374C256.845 134.941 259.531 138.038 263.099 138.292C287.499 140.024 306.149 148.181 319.563 162.796C332.99 177.424 339.414 195.535 338.913 217.587C338.831 221.162 341.664 224.126 345.24 224.208Z' fill='%23665CAC'/%3E%3Cpath d='M385.9 230.978C385.927 234.554 383.049 237.475 379.473 237.502C375.897 237.528 372.976 234.651 372.949 231.075C372.654 191.667 361.024 161.035 338.101 138.621C315.098 116.202 286.504 104.874 252.145 104.654C248.568 104.631 245.687 101.713 245.71 98.137C245.733 94.5607 248.651 91.68 252.227 91.7029C289.88 91.9437 321.697 104.549 347.148 129.353C372.689 154.326 385.581 188.282 385.9 230.978Z' fill='%23665CAC'/%3E%3Cpath d='M288.759 288.038C283.919 294.108 274.775 293.339 274.775 293.339C208.236 276.359 190.411 208.974 190.411 208.974C190.411 208.974 189.642 199.908 195.712 194.99L207.699 185.463C213.692 180.853 217.457 169.712 211.387 158.801C208.006 152.731 201.244 141.898 196.25 135.059C190.948 127.837 178.655 113.084 178.578 113.008C172.662 105.939 163.903 104.325 154.682 109.089C154.682 109.089 154.606 109.166 154.529 109.166C145.77 114.083 137.625 120.691 130.018 129.066L129.865 129.22C124.179 136.058 120.875 142.82 120.107 149.427C119.953 150.196 119.876 151.195 119.953 152.347C119.876 155.267 120.337 158.11 121.259 160.953L121.567 161.183C124.409 171.402 131.632 188.383 147.229 216.735C157.372 235.098 167.744 250.465 178.04 263.374C183.419 270.212 189.565 277.204 196.634 284.35L199.4 287.116C206.546 294.184 213.538 300.331 220.376 305.71C233.285 316.006 248.575 326.378 267.015 336.52C295.367 352.118 312.348 359.34 322.567 362.183L322.797 362.491C325.64 363.413 328.483 363.797 331.403 363.797C332.555 363.874 333.554 363.797 334.322 363.643C340.93 362.875 347.692 359.571 354.53 353.885L354.684 353.731C363.059 346.125 369.667 337.903 374.584 329.221C374.584 329.221 374.661 329.144 374.661 329.067C379.425 319.847 377.811 311.088 370.742 305.172C370.742 305.172 355.913 292.801 348.691 287.5C341.929 282.505 331.019 275.821 324.949 272.363C314.038 266.293 302.897 270.058 298.287 276.051L288.759 288.038Z' fill='%23665CAC'/%3E%3C/svg%3E");
}

.lang-switch { color: inherit; }
.lang-switch__icon {
  width: 20px;
  height: 20px;
  display: inline-block;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Ccircle cx='10' cy='10' r='7.5' stroke='%23fff' stroke-opacity='.85' stroke-width='1.6'/%3E%3Cpath stroke='%23fff' stroke-opacity='.85' stroke-width='1.4' d='M2.75 10h14.5M10 2.5c2 2.1 3 4.6 3 7.5s-1 5.4-3 7.5c-2-2.1-3-4.6-3-7.5s1-5.4 3-7.5ZM4.5 5.8c1.5.7 3.4 1.1 5.5 1.1s4-.4 5.5-1.1M4.5 14.2c1.5-.7 3.4-1.1 5.5-1.1s4 .4 5.5 1.1'/%3E%3C/svg%3E");
}

.navbar {
  position: fixed;
  top: 56px;
  left: 0;
  right: 0;
  z-index: 29;
  background: rgba(255, 255, 255, 0.96);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(31, 62, 117, 0.08);
}
@supports not ((-webkit-backdrop-filter: blur(12px)) or (backdrop-filter: blur(12px))) {
  .navbar {
    background: rgba(255, 255, 255, 0.985);
  }
}
.navbar__inner { justify-content: space-between; min-height: 101px; gap: 24px; }
.navbar__logo img { width: 147px; height: 69px; object-fit: contain; }
.navbar__nav { gap: 8px; }
.navbar__nav a {
  padding: 12px;
  font-size: 20px;
  font-weight: 300;
  transition: color var(--transition);
}
.navbar__nav a.is-active,
.navbar__nav a:hover { color: var(--blue); font-weight: 400; }

.burger {
  display: none;
  width: 45px;
  height: 45px;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
}
.burger span,
.mobile-menu__close::before,
.mobile-menu__close::after {
  display: block;
  width: 100%;
  height: 3px;
  background: var(--blue);
  border-radius: 999px;
}

.hero { position: relative; min-height: 890px; overflow: hidden; }
.hero__image,
.hero__overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hero__image { object-fit: cover; }
.hero__overlay { background: rgba(0, 0, 0, 0.5); }
.hero__content {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 24px;
  align-content: start;
  justify-items: start;
  min-height: 890px;
  padding: 461px 0 203px;
  width: min(calc(100% - 40px), var(--container));
  max-width: none;
  margin: 0 auto;
  text-align: left;
}
.hero__copy {
  display: grid;
  gap: 16px;
  width: 659px;
  max-width: 100%;
}
.hero__content h1,
.hero__content p { margin: 0; }
.hero__content > * { justify-self: start; }
.hero__content h1 {
  max-width: 659px;
  color: #fff;
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.2;
}
.hero__content p {
  max-width: 548px;
  color: #fff;
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  font-size: 24px;
  font-weight: 300;
  line-height: 1.2084;
}
.hero__content .button--accent {
  width: 302px;
  min-width: 302px;
  min-height: 61px;
  padding: 16px;
  border: 1px solid var(--accent);
  border-radius: 12px;
  box-shadow: 0 8px 18px rgba(245, 158, 11, 0.35);
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.2084;
}

.about { background: #eff2f7; }
.about__grid,
.contact__grid,
.footer__content { display: grid; gap: 48px; }
.about__grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 410px);
  align-items: center;
}
.about__copy p {
  margin: 0 0 18px;
  color: #1b1b1b;
  font-size: 20px;
  font-weight: 300;
  line-height: 1.55;
}
.about__copy strong {
  font-weight: 700;
}
.about__brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
}
.about__brand-logo {
  width: 197px;
  height: auto;
}
.about__badge {
  width: 181px;
  height: auto;
}

.stats { background: var(--blue); color: #fff; padding: 80px 0; }
.stats__wrap {
  display: grid;
  justify-items: center;
  gap: 32px;
}
.stats__title {
  margin: 0;
  color: #fff;
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
}
.stats__grid {
  justify-content: center;
  gap: 80px;
  flex-wrap: nowrap;
}
.stat {
  display: grid;
  gap: 8px;
  justify-items: center;
  text-align: center;
}
.stat strong {
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  font-size: 64px;
  font-weight: 600;
  line-height: 1;
}
.stat span {
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  font-size: 24px;
  font-weight: 300;
  line-height: 1.2;
  white-space: nowrap;
}

.benefits__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.benefit-card {
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 16px;
  min-height: 304px;
  padding: 32px 24px;
  text-align: center;
  background: #fff;
  border-radius: 16px;
  box-shadow: var(--shadow-card);
}
.benefit-card img { width: 80px; height: 80px; object-fit: contain; }
.benefit-card h3,
.benefit-card p { margin: 0; }
.benefit-card h3 { font-size: 22px; font-weight: 500; }
.benefit-card p,
.faq-item p,
.contact-form input,
.contact-form textarea,
.footer__brand p,
.footer__contacts a,
.footer__contacts span { font-size: 18px; font-weight: 300; line-height: 1.45; }

.faq__container { max-width: 1200px; }
.faq__list { display: grid; gap: 24px; }
.faq-item {
  background: #fff;
  border: 2px solid transparent;
  border-radius: 12px;
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}
.faq-item[open] { border-color: rgba(31, 62, 117, 0.27); }
.faq-item summary {
  position: relative;
  list-style: none;
  padding: 22px 72px 22px 24px;
  font-size: 20px;
  font-weight: 500;
  cursor: pointer;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 24px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--blue);
  transform: translateY(-50%);
  transition: transform var(--transition), background-color var(--transition);
}
.faq-item summary::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 35px;
  width: 9px;
  height: 9px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translateY(-65%) rotate(45deg);
  z-index: 1;
  transition: transform var(--transition);
}
.faq-item[open] summary::before {
  transform: translateY(-30%) rotate(225deg);
}
.faq-item__content {
  display: block;
  max-height: 0;
  overflow: hidden;
  transition: max-height 320ms ease;
}
.faq-item__content p {
  margin: 0;
  padding: 0 64px 24px 24px;
  color: var(--muted);
}

.gallery__container { display: grid; justify-items: center; }
.gallery__slider {
  display: grid;
  grid-template-columns: 56px minmax(0, 918px) 56px;
  gap: 44px;
  align-items: center;
  max-width: 1174px;
}
.gallery__viewport { overflow: hidden; }
.gallery__track { display: flex; transition: transform 400ms ease; }
.gallery__slide { min-width: 100%; margin: 0; }
.gallery__slide img {
  width: 100%;
  height: 517px;
  object-fit: cover;
  border-radius: 12px;
}
@supports not (aspect-ratio: 1 / 1) {
  .gallery__slide img {
    height: 517px;
  }
}
.gallery__arrow {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  position: relative;
}
.gallery__arrow--prev { background: var(--blue); }
.gallery__arrow--next { background: var(--blue); }
.gallery__arrow::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 10px;
  height: 10px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(225deg);
}
.gallery__arrow--next::before { transform: rotate(45deg); }
.gallery__thumbs {
  display: flex;
  gap: 12px;
  width: 100%;
  max-width: 918px;
  margin-top: 24px;
  padding: 6px 4px 10px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: rgba(31, 62, 117, 0.35) rgba(31, 62, 117, 0.08);
}
.gallery__thumbs::-webkit-scrollbar {
  height: 8px;
}
.gallery__thumbs::-webkit-scrollbar-track {
  background: rgba(31, 62, 117, 0.08);
  border-radius: 999px;
}
.gallery__thumbs::-webkit-scrollbar-thumb {
  background: rgba(31, 62, 117, 0.35);
  border-radius: 999px;
}
.gallery__thumb {
  -webkit-appearance: none;
  appearance: none;
  flex: 0 0 120px;
  width: 120px;
  height: 76px;
  padding: 0;
  margin: 0;
  border: 2px solid transparent;
  border-radius: 10px;
  overflow: hidden;
  background: #dfe6f3;
  box-shadow: 0 6px 18px rgba(12, 22, 43, 0.08);
  transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition), opacity var(--transition);
}
.gallery__thumb:hover {
  transform: translateY(-2px);
}
.gallery__thumb.is-active {
  border-color: var(--accent);
  box-shadow: 0 10px 24px rgba(245, 158, 11, 0.24);
}
.gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (min-width: 769px) {
  .gallery__thumbs {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  .gallery__thumbs::-webkit-scrollbar {
    display: none;
  }
}
.contact__grid {
  grid-template-columns: minmax(0, 708px) minmax(0, 809px);
  align-items: center;
  gap: 70px;
}
.contact-form { display: grid; gap: 24px; }
.contact-form label { display: grid; gap: 8px; }
.contact-form__field { align-content: start; }
.contact-form span { font-size: 20px; }
.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: 16px;
  color: #707070;
  border: 1px solid #e3e3e3;
  border-radius: 12px;
  background: #fff;
  outline: 0;
  transition: border-color var(--transition), box-shadow var(--transition);
}
.contact-form input:focus,
.contact-form textarea:focus {
  border-color: rgba(31, 62, 117, 0.4);
  box-shadow: 0 0 0 4px rgba(31, 62, 117, 0.08);
}
.contact-form input.is-invalid,
.contact-form textarea.is-invalid {
  border-color: #d33b2f;
  box-shadow: 0 0 0 4px rgba(211, 59, 47, 0.08);
}
.contact-form textarea { resize: vertical; min-height: 177px; }
.contact-form__error {
  min-height: 18px;
  color: #d33b2f;
  font-size: 14px;
  line-height: 1.3;
}
.contact-form__submit {
  position: relative;
  min-height: 51px;
  padding: 16px;
  border: 1px solid var(--accent);
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(245, 158, 11, 0.2);
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.1875;
}
.contact-form__submit:disabled {
  cursor: not-allowed;
}
.contact-form__submit.is-loading {
  opacity: 0.82;
  pointer-events: none;
}
.contact-form__submit.is-loading::after {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-left: 10px;
  border: 2px solid rgba(17, 17, 17, 0.28);
  border-top-color: #111111;
  border-radius: 50%;
  vertical-align: middle;
  animation: button-spin 0.8s linear infinite;
}
@keyframes button-spin {
  to { transform: rotate(360deg); }
}
.contact__image img {
  width: 100%;
  height: 540px;
  object-fit: cover;
  border-radius: 16px;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(7, 15, 31, 0.56);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--transition), visibility var(--transition);
}
.modal-backdrop.is-open {
  opacity: 1;
  visibility: visible;
}
.status-modal {
  width: min(100%, 460px);
  display: grid;
  gap: 20px;
  padding: 28px 24px 24px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(10, 18, 35, 0.24);
  position: relative;
  text-align: center;
}
.status-modal__close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 24px;
  height: 24px;
}
.status-modal__close::before,
.status-modal__close::after {
  content: "";
  position: absolute;
  top: 11px;
  left: 2px;
  width: 20px;
  height: 2px;
  border-radius: 999px;
  background: #62708f;
}
.status-modal__close::before { transform: rotate(45deg); }
.status-modal__close::after { transform: rotate(-45deg); }
.status-modal__icon {
  width: 64px;
  height: 64px;
  margin: 0 auto;
  border-radius: 50%;
  background: #eff6ff;
  position: relative;
}
.status-modal__icon::before,
.status-modal__icon::after {
  content: "";
  position: absolute;
}
.status-modal__icon--success::before {
  left: 18px;
  top: 31px;
  width: 12px;
  height: 6px;
  border-left: 3px solid #1c9a53;
  border-bottom: 3px solid #1c9a53;
  transform: rotate(-45deg);
}
.status-modal__icon--success::after {
  left: 28px;
  top: 21px;
  width: 20px;
  height: 12px;
  border-left: 3px solid #1c9a53;
  border-bottom: 3px solid #1c9a53;
  transform: rotate(-45deg);
}
.status-modal__icon--error {
  background: #fff1f0;
}
.status-modal__icon--error::before,
.status-modal__icon--error::after {
  top: 30px;
  left: 18px;
  width: 28px;
  height: 3px;
  border-radius: 999px;
  background: #d33b2f;
}
.status-modal__icon--error::before { transform: rotate(45deg); }
.status-modal__icon--error::after { transform: rotate(-45deg); }
.status-modal__title {
  margin: 0;
  color: var(--text);
  font-size: 28px;
  line-height: 1.2;
}
.status-modal__text {
  margin: 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.45;
}
.status-modal__button {
  width: 100%;
  min-height: 51px;
  font-size: 16px;
  line-height: 1.1875;
}

.site-footer { background: var(--blue); color: #fff; padding-top: 32px; }
.footer__content {
  grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(180px, auto));
  align-items: start;
}
.footer__brand img {
  width: 147px;
  height: 69px;
  object-fit: contain;
  margin-bottom: 32px;
}
.footer__brand p { max-width: 710px; }
.footer__contacts,
.footer__social { display: grid; gap: 16px; }
.footer__contacts h3,
.footer__social h3 { margin: 0; font-size: 18px; font-weight: 700; }
.footer__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.footer__icon {
  width: 20px;
  height: 20px;
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.footer__icon--phone {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%23fff' stroke-width='1.7' d='M4.536 2.5h2.857l1.429 3.571-1.786 1.786a14.285 14.285 0 0 0 5.107 5.107l1.786-1.786 3.571 1.429v2.857a1.429 1.429 0 0 1-1.429 1.429A13.571 13.571 0 0 1 3.107 4.93 1.429 1.429 0 0 1 4.536 3.5Z'/%3E%3C/svg%3E");
}
.footer__icon--mail {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Crect x='3' y='5' width='14' height='10' rx='1.5' stroke='%23fff' stroke-width='1.7'/%3E%3Cpath stroke='%23fff' stroke-width='1.7' d='m4.5 6.5 5.5 4 5.5-4'/%3E%3C/svg%3E");
}
.footer__icon--pin {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath stroke='%23fff' stroke-width='1.7' d='M10 17s4.286-4.286 4.286-8A4.286 4.286 0 1 0 5.714 9c0 3.714 4.286 8 4.286 8Z'/%3E%3Ccircle cx='10' cy='9' r='1.75' stroke='%23fff' stroke-width='1.5'/%3E%3C/svg%3E");
}
.footer__icons { gap: 12px; }
.social-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.96);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 18px;
}
.social-icon--facebook {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none'%3E%3Cpath fill='%231f3e75' d='M10.6 17V9.7h2.46L13.43 6.8H10.6V5.24c0-.84.23-1.42 1.44-1.42H13.5V1.2c-.25-.03-1.1-.1-2.08-.1-2.06 0-3.47 1.26-3.47 3.57V6.8H5.6v2.9h2.35V17h2.65Z'/%3E%3C/svg%3E");
}
.social-icon--telegram {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none'%3E%3Cpath fill='%231f3e75' d='m14.96 3.54-2.1 10.43c-.16.74-.58.92-1.17.57l-3.23-2.38-1.56 1.5c-.17.17-.32.32-.65.32l.23-3.3 6-5.42c.26-.23-.06-.36-.4-.13L4.66 9.8 1.46 8.8c-.7-.22-.71-.7.14-1.03l12.5-4.82c.58-.21 1.1.13.86 1.59Z'/%3E%3C/svg%3E");
}
.social-icon--viber {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2231%22%20height%3D%2232%22%20viewBox%3D%220%200%2031%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M27.2139%203.13866C29.9517%205.7461%2030.704%208.99777%2030.8072%2012.6722C30.8926%2016.5244%2030.8799%2020.8673%2028.2136%2023.9337C28.1122%2024.0569%2028.1122%2024.0569%2028.0086%2024.1825C25.8208%2026.7543%2022.6327%2027.5976%2019.3987%2027.912C18.8724%2027.9507%2018.3456%2027.9505%2017.8181%2027.9539C17.5694%2027.9567%2017.3206%2027.9595%2017.0719%2027.9625C16.6836%2027.9666%2016.2953%2027.9703%2015.907%2027.9729C15.5297%2027.9757%2015.1524%2027.9803%2014.775%2027.9851C14.6593%2027.9854%2014.5436%2027.9858%2014.4244%2027.9861C13.4426%2028.001%2012.8092%2028.2221%2012.1175%2028.9325C11.9478%2029.141%2011.7867%2029.3548%2011.625%2029.5695C10.9359%2030.4428%2010.1277%2031.4271%209.11817%2031.9318C8.71473%2031.9577%208.35418%2031.9388%208.02936%2031.6831C7.53339%2031.1209%207.50367%2030.6651%207.50878%2029.9276C7.50893%2029.8505%207.50907%2029.7734%207.50921%2029.694C7.50977%2029.4485%207.51103%2029.203%207.5123%2028.9575C7.5128%2028.7908%207.51326%2028.624%207.51367%2028.4573C7.51477%2028.0492%207.51649%2027.6411%207.51855%2027.233C7.43199%2027.2165%207.43199%2027.2165%207.34369%2027.1998C5.20641%2026.7647%203.16911%2024.8658%201.96986%2023.0902C0.402143%2020.6544%200.0985375%2017.7717%200.020325%2014.9359C0.016201%2014.8133%200.012077%2014.6907%200.007828%2014.5645C-0.0518896%2011.0673%200.178858%207.12538%202.51973%204.33838C2.57682%204.26673%202.63392%204.19507%202.69274%204.12124C4.76309%201.63153%207.92782%200.612017%2011.0459%200.307256C16.2754-0.156327%2023.077-0.620059%2027.2139%203.13866Z%22%20fill%3D%22%231F3E75%22/%3E%3C/svg%3E");
}
.footer__copyright {
  padding: 32px 20px 16px;
  text-align: center;
  color: rgba(255, 255, 255, 0.5);
  font-size: 14px;
  font-weight: 500;
}
@supports not (gap: 1rem) {
  .topbar__group > * + *,
  .navbar__nav > * + *,
  .footer__icons > * + * {
    margin-left: 12px;
  }

  .stats__grid > * + * {
    margin-left: 80px;
  }

  .mobile-menu__contacts > * + * {
    margin-top: 16px;
  }
}

.mobile-menu-backdrop,
.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 40;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--transition), visibility var(--transition), transform var(--transition);
}
.mobile-menu-backdrop { background: rgba(0, 0, 0, 0.5); }
.mobile-menu {
  inset: 0 0 0 auto;
  width: min(350px, calc(100vw - 80px));
  background: #f1f1f1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transform: translateX(100%);
}
.menu-open .mobile-menu-backdrop,
.menu-open .mobile-menu { opacity: 1; visibility: visible; }
.menu-open .mobile-menu { transform: translateX(0); }
.mobile-menu__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 87px;
  padding: 12px 24px;
  background: var(--blue);
}
.mobile-menu__logo img { width: 95px; height: 45px; object-fit: contain; }
.mobile-menu__lang {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  margin-right: 24px;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
}
.mobile-menu__lang img {
  width: 20px;
  height: 20px;
}
.mobile-menu__close { position: relative; width: 24px; height: 24px; }
.mobile-menu__close::before,
.mobile-menu__close::after {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  background: #fff;
}
.mobile-menu__close::before { transform: rotate(45deg); }
.mobile-menu__close::after { transform: rotate(-45deg); }
.mobile-menu__nav { display: grid; gap: 16px; padding: 24px 24px 24px 12px; }
.mobile-menu__nav a { padding: 10px 12px; font-size: 20px; font-weight: 300; }
.mobile-menu__nav a:first-child { color: var(--blue); font-weight: 400; }
.mobile-menu__bottom {
  display: grid;
  gap: 24px;
  justify-items: center;
  padding: 24px;
}
.mobile-menu__contacts {
  display: grid;
  gap: 16px;
  width: 100%;
  color: var(--blue);
  font-size: 14px;
}
.mobile-menu__contact {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.mobile-menu__icon {
  width: 16px;
  height: 16px;
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  flex: 0 0 16px;
}
.mobile-menu__icon--phone {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none'%3E%3Cpath stroke='%231f3e75' stroke-width='1.5' d='M3.63 2h2.287L7.06 4.857 5.631 6.286a11.429 11.429 0 0 0 4.086 4.086l1.429-1.429L14 10.086v2.286A1.143 1.143 0 0 1 12.857 13.5 10.857 10.857 0 0 1 2 2.643 1.143 1.143 0 0 1 3.143 1.5Z'/%3E%3C/svg%3E");
}
.mobile-menu__icon--mail {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none'%3E%3Crect x='2.4' y='4' width='11.2' height='8' rx='1.2' stroke='%231f3e75' stroke-width='1.4'/%3E%3Cpath stroke='%231f3e75' stroke-width='1.4' d='m3.6 5.2 4.4 3.2 4.4-3.2'/%3E%3C/svg%3E");
}
.mobile-menu__icon--pin {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none'%3E%3Cpath stroke='%231f3e75' stroke-width='1.5' d='M8 13.6s3.429-3.429 3.429-6.4A3.429 3.429 0 1 0 4.571 7.2c0 2.971 3.429 6.4 3.429 6.4Z'/%3E%3Ccircle cx='8' cy='7.2' r='1.4' stroke='%231f3e75' stroke-width='1.3'/%3E%3C/svg%3E");
}

.reveal {
  opacity: 0;
  transform: translateY(36px);
  transition: opacity 700ms ease, transform 700ms ease;
}
.reveal.in-view { opacity: 1; transform: none; }
.reveal--delay { transition-delay: 120ms; }
.reveal--delay-2 { transition-delay: 220ms; }
.reveal--delay-3 { transition-delay: 320ms; }

@media (max-width: 1280px) {
  .topbar { display: none; }
  .navbar__nav,
  .navbar .button--outline { display: none; }
  .burger { display: flex; }
  .navbar__inner { min-height: 88px; }
  .navbar { top: 0; }
  body { padding-top: 88px; }
  .hero { min-height: 831px; }
  .hero__content { min-height: 831px; padding: 461px 0 144px; }
  .hero__content .button--accent { min-width: 302px; }
  .about__grid,
  .contact__grid,
  .footer__content,
  .benefits__grid { grid-template-columns: 1fr; }
  .gallery__slider { grid-template-columns: 1fr; gap: 20px; }
  .gallery__arrow { display: none; }
  .footer__content { gap: 24px; }
}

@media (max-width: 768px) {
  .section { padding: 75px 0; }
  .container { width: min(calc(100% - 40px), 390px); }
  .navbar__inner { min-height: 101px; }
  body { padding-top: 101px; }
  .hero { min-height: 831px; }
  .hero__content {
    width: min(calc(100% - 40px), 390px);
    min-height: 831px;
    align-content: start;
    padding: 300px 0 120px;
  }
  .hero__copy {
    width: 390px;
    gap: 8px;
  }
  .hero__content h1 {
    max-width: 334px;
    font-size: 32px;
    line-height: 1.21875;
  }
  .hero__content p {
    max-width: 390px;
    font-size: 20px;
    line-height: 1.2;
  }
  .button { min-height: 43px; padding: 12px 16px; }
  .hero .button--accent {
    width: 211px;
    min-width: 211px;
    min-height: 43px;
    padding: 12px 16px;
    font-size: 16px;
    line-height: 1.1875;
  }
  .about__grid { gap: 28px; }
  .about__copy p { font-size: 16px; }
  .about__brand {
    justify-content: start;
    align-items: center;
    gap: 20px;
  }
  .about__brand-logo {
    width: 130px;
  }
  .about__badge {
    width: 120px;
  }
  .stats { padding: 50px 0; }
  .stats__wrap {
    justify-items: start;
    gap: 24px;
  }
  .stats__title {
    font-size: 24px;
    text-align: center;
  }
  .stats__grid {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: stretch;
    gap: 24px;
    width: 100%;
  }
  .stat {
    justify-items: center;
    text-align: left;
  }
  .stat strong { font-size: 32px; }
  .stat span {
    font-size: 16px;
    white-space: normal;
  }
  .benefits__grid { gap: 20px; }
  .benefit-card { min-height: auto; }
  .benefit-card h3 { font-size: 20px; }
  .benefit-card p,
  .faq-item p,
  .contact-form input,
  .contact-form textarea,
  .footer__brand p,
  .footer__contacts a,
  .footer__contacts span { font-size: 16px; }
  .faq-item summary { padding-right: 60px; font-size: 18px; }
  .faq-item__content p { padding-right: 24px; }
  .gallery__slide img { height: auto; aspect-ratio: 390 / 220; }
  @supports not (aspect-ratio: 390 / 220) {
    .gallery__slide img { height: 220px; }
  }
  .gallery__thumbs {
    max-width: 390px;
    gap: 10px;
    margin-top: 16px;
    padding-bottom: 8px;
  }
  .gallery__thumb {
    flex-basis: 92px;
    width: 92px;
    height: 58px;
  }
  .contact__grid { gap: 28px; }
  .contact__image { order: -1; display: none; }
  .contact-form { gap: 18px; }
  .contact-form span { font-size: 16px; }
  .contact-form__error { font-size: 13px; }
  .contact-form__submit { min-height: 51px; }
  .footer__brand {
    display: grid;
    grid-template-columns: 108px 1fr;
    gap: 16px;
    align-items: start;
  }
  .footer__brand img {
    width: 108px;
    height: 51px;
    margin: 0;
  }
  .footer__brand p { margin: 0; }
  .footer__contacts h3,
  .footer__social h3 { font-size: 16px; }
  .footer__copyright { text-align: left; font-size: 15px; }
}
