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

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

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

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

:root{
  --blue-top:#4645c0;
  --blue-mid:#2e2db6;
  --blue-bottom:#060695;
  --white:#fff;
}

*{box-sizing:border-box}

html{background:#f2f2f2}

body{
  min-width:320px;
  margin:0;
  background:#f2f2f2;
  font-family:Montserrat,Arial,sans-serif;
  color:var(--white);
}

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

.page{
  width:100%;
  padding:0;
}

.design-block{
  --scale-x:1;
  --scale-y:1;
  position:relative;
  width:100%;
  margin:0;
  overflow:hidden;
}

.header-block{
  height:674px;
  background:linear-gradient(180deg,#4645c0 0%,#3736b9 52%,#2d2caf 100%);
}

.footer-block{
  height:703px;
  margin-top:0;
  background:linear-gradient(180deg,var(--blue-top) 0%,var(--blue-mid) 52%,var(--blue-bottom) 100%);
}

.design-canvas{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  transform:none;
  transform-origin:left top;
  overflow:hidden;
}

.header-canvas{
  height:674px;
  background:linear-gradient(180deg,#4645c0 0%,#3736b9 52%,#2d2caf 100%);
}

.hero-pattern{
  position:absolute;
  left:0;
  top:0;
  width:1920px;
  height:1659px;
  transform:scale(calc(.40625 * var(--scale-x)),calc(.40625 * var(--scale-y)));
  transform-origin:left top;
  pointer-events:none;
  filter:drop-shadow(0 0 18px rgba(255,255,255,.08));
}

.brand-shape{
  position:absolute;
  inset:0;

  /* Анимированный металлический блик по логотипу */
  background-image:
    linear-gradient(
      105deg,
      rgba(70,70,190,.22) 0%,
      rgba(175,177,245,.48) 20%,
      rgba(255,255,255,.96) 34%,
      rgba(235,236,255,.9) 42%,
      rgba(145,146,225,.58) 58%,
      rgba(67,67,176,.32) 74%,
      rgba(42,42,150,.18) 100%
    );
  background-size:280% 100%;
  background-position:190% 50%;
  background-repeat:no-repeat;
  opacity:.92;
  animation:brandLightSweep 4.8s ease-in-out infinite;
  will-change:background-position,filter;
}

.brand-shape-a,
.brand-shape-d,
.brand-shape-f{
  animation-delay:0s;
}

.brand-shape-b,
.brand-shape-e,
.brand-shape-g{
  animation-delay:.35s;
}

.brand-shape-c{
  animation-delay:.7s;
}

@keyframes brandLightSweep{
  0%{
    background-position:190% 50%;
    filter:brightness(.9);
  }
  38%{
    background-position:50% 50%;
    filter:brightness(1.14);
  }
  62%{
    background-position:-20% 50%;
    filter:brightness(1.02);
  }
  100%{
    background-position:-110% 50%;
    filter:brightness(.88);
  }
}

@media (prefers-reduced-motion:reduce){
  .brand-shape{
    animation:none;
    background-position:50% 50%;
  }
}

.brand-shape-a{
  clip-path:path("M506.8 344.9C506.8 274.5 564.1 217.2 634.5 217.2H783V255.3H634.5C585.1 255.3 544.9 295.5 544.9 344.9C544.9 394.2 585.1 434.4 634.5 434.4H667.9C703.1 434.4 766.1 422.6 791.8 343.4C832.3 218.6 912.4 217.2 915.8 217.2H1030.4V471.8H992.3V379.4H911V341.3H992.3V255.3H915.8C915.3 255.3 859.6 258 828.1 355.2C793.7 461.1 704.6 472.6 667.9 472.6H634.5C564.1 472.6 506.8 415.3 506.8 344.9Z");
}

.brand-shape-b{
  clip-path:path("M1088.1 217.2H1220.4C1251.4 217.2 1310.6 248.1 1337.5 331.2C1369.6 430.2 1418.2 433.6 1432.4 433.6V471.8C1418.9 471.8 1392.2 472.5 1364.2 448.4C1337.7 425.6 1316.5 390.2 1301.2 343C1279.5 276.1 1234.4 255.3 1220.4 255.3H1126.3V471.8H1088.1V217.2Z");
}

.brand-shape-c{
  clip-path:path("M1397 344.1C1397 273.7 1454.3 216.4 1524.7 216.4H1673.3V254.5H1524.7C1475.4 254.5 1435.2 294.7 1435.2 344.1C1435.2 393.4 1475.4 433.6 1524.7 433.6H1558.1C1593.4 433.6 1656.3 421.8 1682 342.6C1722.6 217.8 1802.7 216.4 1806.1 216.4H1920V471H1882.5V378.6H1801.3V340.5H1882.5V254.5H1806.1C1805.5 254.5 1749.9 257.2 1718.3 354.4C1683.9 460.3 1594.8 471.8 1558.1 471.8H1524.7C1454.3 471.8 1397 414.5 1397 344.1Z");
}

.brand-shape-d{
  --grad-y:439px;
  clip-path:path("M0 451.1C16.1 443.7 34.1 439.6 53 439.6H201.5V477.7H53C33.2 477.7 14.8 484.2 0 495.1V451.1ZM0 639.4C14.8 650.3 33.2 656.8 53 656.8H86.4C121.6 656.8 184.6 645 210.3 565.8C250.8 441 330.9 439.6 334.3 439.6H448.9V694.2H410.8V601.8H329.5V563.7H410.8V477.7H334.3C333.7 477.7 278.1 480.4 246.6 577.6C212.2 683.5 123.1 695 86.4 695H53C34.1 695 16.1 690.8 0 683.5V639.4Z");
}

.brand-shape-e{
  --grad-y:439px;
  clip-path:path("M506.6 439.6H638.9C669.9 439.6 729.1 470.5 756 553.6C788.1 652.6 836.7 656 850.9 656V694.2C837.4 694.2 810.7 694.9 782.7 670.8C756.2 648 735 612.6 719.7 565.4C698 498.5 652.9 477.7 638.9 477.7H544.8V694.2H506.6V439.6Z");
}

.brand-shape-f{
  --grad-y:671px;
  clip-path:path("M1106.3 799.4C1106.3 729 1163.6 671.7 1234 671.7H1382.6V709.9H1234C1184.7 709.9 1144.5 750.1 1144.5 799.4C1144.5 848.8 1184.7 889 1234 889H1267.5C1302.7 889 1365.6 877.1 1391.3 798C1431.9 673.2 1512 671.7 1515.4 671.7H1630V926.3H1591.8V834H1510.6V795.8H1591.8V709.9H1515.4C1514.8 709.9 1459.2 712.6 1427.6 809.8C1393.2 915.7 1304.2 927.1 1267.5 927.1H1234C1163.6 927.1 1106.3 869.8 1106.3 799.4Z");
}

.brand-shape-g{
  --grad-y:671px;
  clip-path:path("M1687.7 671.7H1820C1845.5 671.7 1890 692.7 1920 746.3V844.8C1912.8 830.7 1906.4 814.9 1900.8 797.6C1879.1 730.7 1834 709.9 1820 709.9H1725.9V926.3H1687.7V671.7Z");
}

.hero-copy{
  position:absolute;
  left:calc(64px * var(--scale-x));
  top:calc(356px * var(--scale-y));
  width:calc(570px * var(--scale-x));
  z-index:2;
}

.hero-copy h1{
  margin:0 0 calc(24px * var(--scale-y));
  font-size:calc(22px * var(--scale-y));
  line-height:1.02;
  font-weight:700;
  letter-spacing:.01em;
  text-transform:uppercase;
}

.hero-copy p{
  margin:0;
  font-size:calc(17px * var(--scale-y));
  line-height:1.25;
  font-weight:400;
}

.hero-cards{
  position:absolute;
  left:calc(66px * var(--scale-x));
  top:calc(520px * var(--scale-y));
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,calc(208px * var(--scale-x)));
  gap:calc(12px * var(--scale-x));
}

.hero-card{
  position:relative;
  height:calc(108px * var(--scale-y));
  padding:calc(18px * var(--scale-y)) calc(13px * var(--scale-x)) calc(14px * var(--scale-y));
  border:1px solid rgba(255,255,255,.36);
  border-radius:calc(7px * var(--scale-y));
  background:linear-gradient(135deg,rgba(255,255,255,.23),rgba(255,255,255,.13));
}

.hero-card strong{
  display:block;
  margin:0 0 calc(15px * var(--scale-y));
  font-family:Georgia,"Times New Roman",serif;
  font-size:calc(39px * var(--scale-y));
  line-height:.95;
  font-weight:400;
}

.hero-metric-svg{
  display:block;
  margin:calc(18px * var(--scale-y)) 0 calc(20px * var(--scale-y));
  line-height:0;
}

.hero-metric-svg svg{
  display:block;
  width:auto;
  height:calc(28px * var(--scale-y));
}

.hero-metric-time svg{
  height:calc(29px * var(--scale-y));
}

.hero-card span{
  display:block;
  color:rgba(255,255,255,.83);
  font-size:calc(9px * var(--scale-y));
  line-height:1.1;
}

.hero-card-time strong em{
  margin-left:calc(7px * var(--scale-x));
  font-family:Montserrat,Arial,sans-serif;
  font-size:calc(16px * var(--scale-y));
  font-style:normal;
  font-weight:600;
}

.clock-icon,
.key-icon{
  position:absolute;
  display:block;
  color:#fff;
  line-height:0;
  pointer-events:none;
}

.clock-icon{
  right:calc(21px * var(--scale-x));
  top:calc(21px * var(--scale-y));
  width:calc(44px * var(--scale-y));
  height:calc(44px * var(--scale-y));
}

.key-icon{
  right:calc(20px * var(--scale-x));
  top:calc(16px * var(--scale-y));
  width:calc(54px * var(--scale-y));
  height:calc(54px * var(--scale-y));
}

.clock-icon svg,
.key-icon svg{
  display:block;
  width:100%;
  height:100%;
}

.hero-card-key strong{
  margin:calc(22px * var(--scale-y)) 0 calc(20px * var(--scale-y));
  font-family:Montserrat,Arial,sans-serif;
  font-size:calc(17px * var(--scale-y));
  line-height:1;
  font-weight:700;
}

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

.footer-canvas{
  height:703px;
  background:linear-gradient(180deg,var(--blue-top) 0%,var(--blue-mid) 52%,var(--blue-bottom) 100%);
}

.footer-canvas h2,
.footer-canvas h3,
.footer-canvas p{
  margin:0;
}

.footer-pattern{
  position:absolute;
  left:calc(-42px * var(--scale-x));
  bottom:calc(38px * var(--scale-y));
  width:calc(870px * var(--scale-x));
  height:calc(80px * var(--scale-y));
  fill:#02028f;
  opacity:.25;
  pointer-events:none;
}

.footer-claim{
  position:absolute;
  left:calc(33px * var(--scale-x));
  top:calc(57px * var(--scale-y));
  width:calc(360px * var(--scale-x));
}

.footer-claim h2{
  font-size:calc(20px * var(--scale-y));
  line-height:1.07;
  font-weight:400;
  letter-spacing:0;
  text-transform:uppercase;
}

.footer-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:calc(148px * var(--scale-x));
  height:calc(44px * var(--scale-y));
  margin-top:calc(24px * var(--scale-y));
  border:1px solid rgba(255,255,255,.92);
  border-radius:calc(5px * var(--scale-y));
  font-size:calc(16px * var(--scale-y));
  line-height:1;
  font-weight:400;
}

.reviews{
  position:absolute;
  left:calc(34px * var(--scale-x));
  top:calc(249px * var(--scale-y));
  width:calc(260px * var(--scale-x));
}

.reviews h3{
  margin-bottom:calc(22px * var(--scale-y));
  font-size:calc(17px * var(--scale-y));
  line-height:1.2;
  font-weight:400;
  letter-spacing:.01em;
}

.rating-card{
  width:calc(219px * var(--scale-x));
  border-radius:calc(5px * var(--scale-y));
  background:#fff;
  color:#1d1d1d;
  box-shadow:0 1px 0 rgba(0,0,0,.05);
}

.yandex-card{
  height:calc(69px * var(--scale-y));
  padding:calc(11px * var(--scale-y)) calc(13px * var(--scale-x)) 0;
}

.yandex-main{
  display:flex;
  align-items:center;
  gap:calc(5px * var(--scale-x));
  height:calc(20px * var(--scale-y));
  font-size:calc(13px * var(--scale-y));
}

.yandex-main strong{font-size:calc(13px * var(--scale-y));font-weight:700}

.yandex-mark{
  position:relative;
  width:calc(24px * var(--scale-y));
  height:calc(21px * var(--scale-y));
  flex:0 0 calc(24px * var(--scale-y));
}

.yandex-mark:before,
.yandex-mark:after{
  content:"";
  position:absolute;
  border-radius:50%;
}

.yandex-mark:before{
  left:calc(1px * var(--scale-y));
  top:calc(2px * var(--scale-y));
  width:calc(19px * var(--scale-y));
  height:calc(19px * var(--scale-y));
  background:#ffb000;
}

.yandex-mark:after{
  left:calc(9px * var(--scale-y));
  top:calc(5px * var(--scale-y));
  width:calc(8px * var(--scale-y));
  height:calc(8px * var(--scale-y));
  background:#f04428;
  box-shadow:9px 3px 0 -2px #f04428;
}

.yandex-mark span{
  position:absolute;
  left:calc(8px * var(--scale-y));
  top:calc(13px * var(--scale-y));
  width:calc(7px * var(--scale-y));
  height:calc(7px * var(--scale-y));
  background:#fff;
  border-radius:50%;
}

.rating-star{
  margin-left:auto;
  color:#ffc000;
  font-size:calc(17px * var(--scale-y));
  line-height:1;
}

.rating-value{font-size:calc(14px * var(--scale-y));color:#333}

.yandex-card p{
  margin-top:calc(13px * var(--scale-y));
  font-size:calc(11px * var(--scale-y));
  line-height:1;
  color:#5f5f5f;
  font-weight:500;
}

.gis-card{
  height:calc(72px * var(--scale-y));
  margin-top:calc(14px * var(--scale-y));
  padding:calc(13px * var(--scale-y)) calc(14px * var(--scale-x)) 0;
}

.gis-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  font-size:calc(10px * var(--scale-y));
  line-height:1;
  color:#9b9b9b;
  font-weight:600;
}

.gis-top a{color:#58bf61;font-weight:700}

.gis-bottom{
  display:flex;
  align-items:flex-end;
  gap:calc(12px * var(--scale-x));
  margin-top:calc(13px * var(--scale-y));
}

.gis-logo{
  position:relative;
  width:calc(24px * var(--scale-y));
  height:calc(22px * var(--scale-y));
  flex:0 0 calc(24px * var(--scale-y));
  border-radius:calc(6px * var(--scale-y));
  background:#30a848;
  overflow:hidden;
}

.gis-logo:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:calc(12px * var(--scale-y));
  height:calc(22px * var(--scale-y));
  background:#2a72dc;
}

.gis-logo:after{
  content:"";
  position:absolute;
  left:calc(7px * var(--scale-y));
  top:calc(4px * var(--scale-y));
  width:calc(14px * var(--scale-y));
  height:calc(14px * var(--scale-y));
  border-radius:50%;
  background:#e3ec37;
}

.gis-logo i{
  position:absolute;
  left:calc(4px * var(--scale-y));
  bottom:0;
  width:calc(13px * var(--scale-y));
  height:calc(8px * var(--scale-y));
  background:#31c061;
  z-index:2;
}

.gis-logo b{
  position:absolute;
  right:calc(1px * var(--scale-y));
  bottom:calc(2px * var(--scale-y));
  width:calc(8px * var(--scale-y));
  height:calc(8px * var(--scale-y));
  background:#fff;
  border-radius:2px;
  z-index:3;
}

.gis-bottom strong{
  color:#2b2b2b;
  font-size:calc(26px * var(--scale-y));
  line-height:.85;
  font-weight:600;
}

.gis-stars{
  color:#ffb300;
  font-size:calc(20px * var(--scale-y));
  letter-spacing:1px;
  line-height:.8;
}

.footer-address{
  position:absolute;
  left:calc(34px * var(--scale-x));
  top:calc(516px * var(--scale-y));
  width:calc(280px * var(--scale-x));
  font-style:normal;
  font-size:calc(14px * var(--scale-y));
  line-height:1.1;
  letter-spacing:.01em;
}

.footer-nav{
  position:absolute;
  color:var(--white);
}

.footer-nav h3,
.socials h3{
  margin-bottom:calc(14px * var(--scale-y));
  font-size:calc(17px * var(--scale-y));
  line-height:1.15;
  font-weight:400;
}

.footer-nav a{
  display:block;
  margin-bottom:calc(10px * var(--scale-y));
  color:rgba(255,255,255,.78);
  font-size:calc(15px * var(--scale-y));
  line-height:1.08;
  font-weight:400;
}

.footer-services{
  left:calc(398px * var(--scale-x));
  top:calc(53px * var(--scale-y));
  width:calc(168px * var(--scale-x));
}

.footer-company{
  left:calc(606px * var(--scale-x));
  top:calc(53px * var(--scale-y));
  width:calc(125px * var(--scale-x));
}

.socials{
  position:absolute;
  left:calc(398px * var(--scale-x));
  top:calc(288px * var(--scale-y));
  width:calc(140px * var(--scale-x));
}

.social-grid{
  display:grid;
  grid-template-columns:repeat(3,calc(36px * var(--scale-y)));
  gap:calc(10px * var(--scale-y)) calc(10px * var(--scale-y));
  margin-top:calc(18px * var(--scale-y));
}

.social-grid a{
  display:grid;
  place-items:center;
  width:calc(36px * var(--scale-y));
  height:calc(36px * var(--scale-y));
  border:1px solid rgba(255,255,255,.56);
  border-radius:50%;
  background:rgba(255,255,255,.10);
  color:#fff;
  transition:background .22s ease,border-color .22s ease,transform .22s ease;
}

.social-grid a:hover{
  background:rgba(255,255,255,.24);
  border-color:rgba(255,255,255,.92);
  transform:translateY(calc(-2px * var(--scale-y)));
}

.social-grid svg{
  display:block;
  width:calc(19px * var(--scale-y));
  height:calc(19px * var(--scale-y));
  fill:currentColor;
}

.social-grid .icon-stroke{
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.social-grid .social-letter{
  display:block;
  margin:0;
  font-size:calc(13px * var(--scale-y));
  line-height:1;
  font-weight:700;
  letter-spacing:-.04em;
  color:#fff;
}

.social-grid .social-letter-wide{
  font-size:calc(10px * var(--scale-y));
  letter-spacing:-.06em;
}

.social-grid .social-dots{
  position:relative;
  width:calc(18px * var(--scale-y));
  height:calc(18px * var(--scale-y));
}

.social-grid .social-dots:before,
.social-grid .social-dots:after,
.social-grid .social-dots i:before,
.social-grid .social-dots i:after{
  content:"";
  position:absolute;
  width:calc(7px * var(--scale-y));
  height:calc(7px * var(--scale-y));
  border-radius:50%;
  background:#fff;
}

.social-grid .social-dots:before{left:0;top:0}

.social-grid .social-dots:after{right:0;top:0}

.social-grid .social-dots i:before{left:0;bottom:0}

.social-grid .social-dots i:after{right:0;bottom:0}

.footer-phone{
  position:absolute;
  font-size:calc(18px * var(--scale-y));
  line-height:1;
  letter-spacing:.015em;
  font-weight:500;
  white-space:nowrap;
}

.footer-phone-main{
  left:calc(371px * var(--scale-x));
  top:calc(535px * var(--scale-y));
}

.free-call{
  position:absolute;
  left:calc(548px * var(--scale-x));
  top:calc(515px * var(--scale-y));
  width:calc(195px * var(--scale-x));
  color:rgba(255,255,255,.88);
  font-size:calc(10px * var(--scale-y));
  line-height:1;
  letter-spacing:.01em;
}

.footer-phone-right{
  left:calc(597px * var(--scale-x));
  top:calc(535px * var(--scale-y));
}

@media (max-width:820px){
  .page{padding:0}
  .footer-block{margin-top:24px}
}

.main-container{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:0 36px;
}

.section{
  background:#f3f3f5;
  padding:88px 0;
  color:#111;
}

.section-title{
  margin:0 0 18px;
  text-align:center;
  font-size:28px;
  line-height:1.18;
  color:#3d3da0;
  font-weight:500;
  letter-spacing:-0.2px;
}

.section-subtitle{
  margin:0 auto 42px;
  max-width:720px;
  text-align:center;
  font-size:16px;
  line-height:1.45;
  color:#55559c;
}

.benefits{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.benefit{
  min-height:186px;
  border-radius:6px;
  padding:16px 18px 20px;
  background:#1118c9;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.benefit.light{
  background:linear-gradient(135deg,#c9c6ff 0%, #ecebff 100%);
  color:#4a4aa0;
}

.benefit-num{
  font-size:56px;
  line-height:1;
  font-weight:300;
  margin-bottom:16px;
}

.benefit-title{
  font-size:20px;
  line-height:1.2;
  font-weight:600;
  margin-bottom:16px;
}

.benefit-text{
  max-width:420px;
  font-size:13px;
  line-height:1.4;
}

.steps{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
}

.step{
  min-height:214px;
  border-radius:6px;
  padding:16px 16px 18px;
  background:#1118c9;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.step.light{
  background:linear-gradient(135deg,#c9c6ff 0%, #ecebff 100%);
  color:#4a4aa0;
}

.step-num{
  font-size:56px;
  line-height:1;
  font-weight:300;
  margin-bottom:14px;
}

.step-title{
  font-size:18px;
  line-height:1.2;
  font-weight:600;
  margin-bottom:12px;
}

.step-text{
  font-size:12px;
  line-height:1.42;
}

.cta-bottom{
  background:#f3f3f5;
  padding:82px 0 58px;
  color:#111;
}

.cta-title{
  margin:0 0 16px;
  font-size:28px;
  line-height:1.05;
  font-weight:800;
  text-transform:uppercase;
  color:#3b3b9a;
}

.cta-subtitle{
  margin:0 0 34px;
  max-width:760px;
  font-size:16px;
  line-height:1.4;
  color:#505099;
}

.cta-actions{
  display:grid;
  grid-template-columns:320px 320px;
  gap:18px;
  margin-bottom:24px;
}

.cta-btn{
  height:44px;
  border-radius:7px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  text-transform:uppercase;
  font-size:13px;
  font-weight:500;
}

.cta-btn-light{
  background:linear-gradient(90deg,#cdcaff 0%, #f1f1f4 100%);
  color:#2c2ca1;
  border:1px solid #d8d6ff;
}

.cta-btn-blue{
  background:#171dcd;
  color:#fff;
  border:1px solid #171dcd;
}

.cta-phones{
  display:flex;
  gap:34px;
  flex-wrap:wrap;
}

.cta-phones a{
  color:#2a2a96;
  text-decoration:none;
  font-size:15px;
  font-weight:500;
}

@media (max-width:1200px){
  .main-container{padding:0 24px;}
}

@media (max-width:900px){
  .benefit{min-height:170px;}
  .step{min-height:198px;}
  .cta-actions{grid-template-columns:1fr 1fr;max-width:680px;}
}

@media (max-width:760px){
  .steps{grid-template-columns:1fr 1fr;}
}

@media (max-width:680px){
  .main-container{padding:0 16px;}
  .section{padding:54px 0;}
  .section-title{font-size:24px;margin-bottom:12px;}
  .section-subtitle{font-size:14px;margin-bottom:28px;}
  .benefits,.cta-actions{grid-template-columns:1fr;}
  .benefit{min-height:auto;width:100%;padding:14px 14px 16px;}
  .benefit:nth-child(odd){text-align:right;align-items:flex-end;}
  .benefit:nth-child(even){text-align:left;align-items:flex-start;}
  .benefit:nth-child(odd) .benefit-text{margin-left:auto;}
  .benefit:nth-child(even) .benefit-text{margin-right:auto;}
  .benefit-num{font-size:42px;margin-bottom:10px;}
  .benefit-title{font-size:16px;margin-bottom:10px;}
  .benefit-text{font-size:12px;}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .step{min-height:auto;width:100%;padding:14px 14px 16px;}
  .step-num{font-size:42px;margin-bottom:10px;}
  .step-title{font-size:16px;margin-bottom:10px;}
  .step-text{font-size:12px;}
  .cta-bottom{padding:56px 0 42px;}
  .cta-title{font-size:24px;margin-bottom:12px;}
  .cta-subtitle{font-size:14px;margin-bottom:24px;}
  .cta-btn{height:42px;font-size:12px;}
  .cta-phones{gap:18px;flex-direction:column;align-items:flex-start;}
}

html, body{
  width:100%;
  overflow-x:hidden;
}

.design-block{
  width:100%;
  max-width:none;
}

.design-canvas{
  left:0;
  width:100%;
  transform:none;
  transform-origin:left top;
}

.header-canvas,
.footer-canvas{
  width:100%;
}

.footer-button,
.cta-btn,
.btn,
.contact-button,
.btn-contact,
a[href="#contacts"]{
  transition:
    background .28s ease,
    color .28s ease,
    border-color .28s ease,
    box-shadow .28s ease,
    transform .28s ease;
}

.footer-button:hover,
.footer-button:focus-visible,
.contact-button:hover,
.contact-button:focus-visible,
.btn-contact:hover,
.btn-contact:focus-visible,
a[href="#contacts"]:hover,
a[href="#contacts"]:focus-visible{
  background:#005DFF;
  border-color:#005DFF;
  color:#fff;
  box-shadow:0 14px 34px rgba(0,93,255,.32);
  transform:translateY(-2px);
}

.cta-btn-blue:hover,
.cta-btn-blue:focus-visible,
.btn-outline-blue:hover,
.btn-outline-blue:focus-visible,
.button-outline-blue:hover,
.button-outline-blue:focus-visible,
[data-button="blue-outline"]:hover,
[data-button="blue-outline"]:focus-visible{
  background:linear-gradient(90deg,#eef3ff 0%,#d7ddff 48%,#c9d4ff 100%);
  border-color:#cfd8ff;
  color:#24249d;
  box-shadow:0 12px 30px rgba(37,66,190,.18);
  transform:translateY(-2px);
}

.cta-btn-light:hover,
.cta-btn-light:focus-visible{
  background:#005DFF;
  border-color:#005DFF;
  color:#fff;
  box-shadow:0 14px 34px rgba(0,93,255,.28);
  transform:translateY(-2px);
}

body.js-anim .reveal-on-scroll{
  opacity:0;
  transform:translateY(34px);
  transition:
    opacity .75s ease,
    transform .75s cubic-bezier(.2,.8,.2,1);
  will-change:opacity,transform;
}

body.js-anim .reveal-on-scroll.is-visible{
  opacity:1;
  transform:translateY(0);
}

body.js-anim .hero-card.reveal-on-scroll:nth-child(2),
body.js-anim .benefit.reveal-on-scroll:nth-child(2),
body.js-anim .step.reveal-on-scroll:nth-child(2){
  transition-delay:.08s;
}

body.js-anim .hero-card.reveal-on-scroll:nth-child(3),
body.js-anim .benefit.reveal-on-scroll:nth-child(3),
body.js-anim .step.reveal-on-scroll:nth-child(3){
  transition-delay:.16s;
}

body.js-anim .benefit.reveal-on-scroll:nth-child(4),
body.js-anim .step.reveal-on-scroll:nth-child(4){
  transition-delay:.24s;
}

body.js-anim .step.reveal-on-scroll:nth-child(5){
  transition-delay:.32s;
}

body.js-anim .step.reveal-on-scroll:nth-child(6){
  transition-delay:.40s;
}

@media (prefers-reduced-motion:reduce){
  .footer-button,
  .cta-btn,
  .btn,
  .contact-button,
  .btn-contact,
  a[href="#contacts"],
  body.js-anim .reveal-on-scroll{
    transition:none;
    transform:none;
  }

  body.js-anim .reveal-on-scroll{
    opacity:1;
  }
}

.mobile-topbar,
.mobile-menu{
  display:none;
}

@media (max-width:760px){
  .mobile-topbar{
    position:fixed;
    top:24px;
    left:24px;
    right:24px;
    z-index:1001;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    color:#fff;
    pointer-events:none;
  }

  .mobile-logo{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    flex:0 0 auto;
    pointer-events:auto;
  }

  .mobile-logo svg{
    display:block;
    width:89px;
    height:auto;
  }

  .mobile-topbar__actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:18px;
    margin-left:auto;
    pointer-events:auto;
  }

  .mobile-phone{
    display:block;
    color:#fff;
    text-decoration:none;
    letter-spacing:0;
    line-height:1;
    text-align:left;
  }

  .mobile-phone__number{
    display:block;
    font-size:18px;
    line-height:.9;
    font-weight:400;
    white-space:nowrap;
  }

  .mobile-phone__status{
    display:block;
    margin-top:-1px;
    font-size:19px;
    line-height:.84;
    font-weight:400;
    white-space:nowrap;
  }

  .mobile-burger{
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:22px;
    margin-top:0;
    padding:0;
    border:0;
    background:transparent;
    cursor:pointer;
    pointer-events:auto;
    flex:0 0 auto;
  }

  .mobile-burger svg{
    display:block;
    width:27px;
    height:auto;
  }

  body.mobile-menu-open .mobile-topbar{
    opacity:0;
    pointer-events:none;
  }

  .mobile-menu{
    position:fixed;
    inset:0;
    z-index:1000;
    display:block;
    opacity:0;
    pointer-events:none;
    transition:opacity .28s ease;
  }

  body.mobile-menu-open .mobile-menu{
    opacity:1;
    pointer-events:auto;
  }

  .mobile-menu__backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,60,.18);
  }

  .mobile-menu__close{
    position:absolute;
    left:23px;
    top:18px;
    z-index:3;
    width:30px;
    height:30px;
    padding:0;
    border:1px solid rgba(255,255,255,.85);
    border-radius:2px;
    background:transparent;
    cursor:pointer;
  }

  .mobile-menu__close:before,
  .mobile-menu__close:after{
    content:"";
    position:absolute;
    left:6px;
    top:14px;
    width:17px;
    height:1px;
    background:#fff;
    transform:rotate(45deg);
    transform-origin:center;
  }

  .mobile-menu__close:after{
    transform:rotate(-45deg);
  }

  .mobile-menu__panel{
    position:absolute;
    top:18px;
    right:0;
    bottom:18px;
    left:68px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.55);
    background:linear-gradient(180deg,#0c0ca8 0%,#070796 100%);
    transform:translateX(110%);
    transition:transform .36s cubic-bezier(.2,.8,.2,1);
    color:#fff;
  }

  body.mobile-menu-open .mobile-menu__panel{
    transform:translateX(0);
  }

  .mobile-menu__panel:before,
  .mobile-menu__panel:after{
    content:"SAP";
    position:absolute;
    left:-155px;
    right:auto;
    color:rgba(255,255,255,.40);
    font-size:190px;
    line-height:.75;
    font-weight:700;
    letter-spacing:-12px;
    filter:blur(8px);
    opacity:.78;
    pointer-events:none;
    transform:scaleX(1.7);
  }

  .mobile-menu__panel:before{
    top:118px;
  }

  .mobile-menu__panel:after{
    top:408px;
  }

  .mobile-menu__list{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    gap:43px;
    margin:0;
    padding:28px 34px 32px 41px;
    list-style:none;
  }

  .mobile-menu__list a{
    display:block;
    color:#fff;
    font-size:20px;
    line-height:1.35;
    font-weight:400;
    letter-spacing:.12em;
    text-decoration:none;
    text-shadow:0 0 1px rgba(255,255,255,.2);
    transition:opacity .2s ease, transform .2s ease;
  }

  .mobile-menu__list a:hover,
  .mobile-menu__list a:focus-visible{
    opacity:.72;
    transform:translateX(4px);
  }

  body.mobile-menu-open{
    overflow:hidden;
  }
}

@media (max-width:430px){
  .mobile-topbar{
    top:22px;
    left:16px;
    right:16px;
    gap:12px;
  }

  .mobile-logo svg{
    width:84px;
  }

  .mobile-topbar__actions{
    gap:14px;
  }

  .mobile-phone__number{
    font-size:16px;
  }

  .mobile-phone__status{
    font-size:17px;
  }

  .mobile-burger{
    width:30px;
    height:20px;
  }

  .mobile-burger svg{
    width:24px;
  }
}

@media (max-width:360px){
  .mobile-topbar{
    left:12px;
    right:12px;
  }

  .mobile-logo svg{
    width:76px;
  }

  .mobile-topbar__actions{
    gap:10px;
  }

  .mobile-phone__number{
    font-size:14px;
  }

  .mobile-phone__status{
    font-size:15px;
  }

  .mobile-burger svg{
    width:22px;
  }
}

@media (min-width:761px){
  body.mobile-menu-open{
    overflow:auto;
  }
}

@media (max-width:760px){
  .header-block{
    height:940px !important;
  }

  .header-canvas{
    height:940px !important;
  }

  .hero-pattern{
    top:118px !important;
  }

  .hero-copy{
    top:590px !important;
    left:calc(64px * var(--scale-x)) !important;
  }

  .hero-cards{
    top:735px !important;
  }
}

@media (max-width:430px){
  .header-block{
    height:900px !important;
  }

  .header-canvas{
    height:900px !important;
  }

  .hero-pattern{
    top:128px !important;
  }

  .hero-copy{
    top:585px !important;
  }

  .hero-cards{
    top:730px !important;
  }
}

@media (max-width:360px){
  .header-block{
    height:840px !important;
  }

  .header-canvas{
    height:840px !important;
  }

  .hero-pattern{
    top:112px !important;
  }

  .hero-copy{
    top:540px !important;
  }

  .hero-cards{
    top:675px !important;
  }
}

@media (max-width:760px){
  .footer-block{
    height:650px !important;
    min-height:650px !important;
    margin-top:0 !important;
    background:linear-gradient(180deg,#4645c0 0%,#2f2db8 48%,#09089a 100%) !important;
  }

  .footer-block .footer-canvas{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    width:100% !important;
    height:650px !important;
    min-height:650px !important;
    padding:22px 16px 18px !important;
    overflow:hidden !important;
    background:linear-gradient(180deg,#4645c0 0%,#2f2db8 48%,#09089a 100%) !important;
  }

  .footer-claim,
  .reviews,
  .footer-address,
  .footer-nav,
  .socials,
  .footer-phone,
  .free-call{
    transform:none !important;
  }

  .footer-claim{
    position:absolute !important;
    left:16px !important;
    top:22px !important;
    width:calc(100% - 32px) !important;
  }

  .footer-claim h2{
    font-size:16px !important;
    line-height:1.08 !important;
    font-weight:400 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
  }

  .footer-button{
    width:100% !important;
    height:30px !important;
    margin-top:14px !important;
    border-radius:5px !important;
    font-size:14px !important;
    line-height:1 !important;
    font-weight:400 !important;
  }

  .footer-services{
    position:absolute !important;
    left:20px !important;
    top:122px !important;
    width:138px !important;
  }

  .footer-company{
    position:absolute !important;
    left:calc(50% + 38px) !important;
    top:122px !important;
    width:110px !important;
  }

  .footer-nav h3,
  .socials h3{
    margin:0 0 10px !important;
    font-size:13px !important;
    line-height:1.1 !important;
    font-weight:400 !important;
    letter-spacing:.04em !important;
  }

  .footer-nav a{
    display:block !important;
    margin:0 0 6px !important;
    color:rgba(255,255,255,.72) !important;
    font-size:12px !important;
    line-height:1.05 !important;
    font-weight:400 !important;
    letter-spacing:.015em !important;
  }

  .footer-company a{
    color:rgba(255,255,255,.94) !important;
    font-size:13px !important;
    line-height:1.1 !important;
    margin-bottom:8px !important;
  }

  .socials{
    position:absolute !important;
    left:20px !important;
    top:300px !important;
    width:calc(100% - 40px) !important;
  }

  .social-grid{
    display:flex !important;
    flex-wrap:wrap !important;
    grid-template-columns:none !important;
    gap:11px 13px !important;
    margin-top:12px !important;
    max-width:270px !important;
  }

  .social-grid a{
    width:34px !important;
    height:34px !important;
    flex:0 0 34px !important;
    border-radius:50% !important;
    border:1px solid rgba(255,255,255,.78) !important;
    background:rgba(255,255,255,.14) !important;
  }

  .social-grid svg{
    width:19px !important;
    height:19px !important;
  }

  .social-grid .social-letter{
    font-size:13px !important;
  }

  .social-grid .social-letter-wide{
    font-size:8px !important;
  }

  .social-grid .social-dots{
    width:17px !important;
    height:17px !important;
  }

  .reviews{
    position:absolute !important;
    left:16px !important;
    top:458px !important;
    width:calc(100% - 32px) !important;
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
  }

  .reviews h3{
    width:100% !important;
    margin:0 0 8px !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:400 !important;
    letter-spacing:.08em !important;
  }

  .rating-card{
    width:calc((100% - 8px) / 2) !important;
    min-width:0 !important;
    border-radius:3px !important;
  }

  .yandex-card{
    height:40px !important;
    padding:6px 7px 0 !important;
  }

  .gis-card{
    height:40px !important;
    margin-top:0 !important;
    padding:6px 7px 0 !important;
  }

  .yandex-main{
    gap:3px !important;
    height:14px !important;
    font-size:8px !important;
  }

  .yandex-main strong{
    font-size:8px !important;
    line-height:1 !important;
  }

  .yandex-mark{
    width:16px !important;
    height:14px !important;
    flex:0 0 16px !important;
  }

  .yandex-mark:before{
    left:1px !important;
    top:1px !important;
    width:12px !important;
    height:12px !important;
  }

  .yandex-mark:after{
    left:6px !important;
    top:3px !important;
    width:5px !important;
    height:5px !important;
    box-shadow:6px 2px 0 -1px #f04428 !important;
  }

  .yandex-mark span{
    left:5px !important;
    top:8px !important;
    width:5px !important;
    height:5px !important;
  }

  .rating-star{
    font-size:10px !important;
  }

  .rating-value{
    font-size:8px !important;
  }

  .yandex-card p{
    margin-top:7px !important;
    font-size:7px !important;
    line-height:1 !important;
  }

  .gis-top{
    font-size:7px !important;
    line-height:1 !important;
  }

  .gis-bottom{
    gap:7px !important;
    margin-top:7px !important;
  }

  .gis-logo{
    width:16px !important;
    height:14px !important;
    flex:0 0 16px !important;
    border-radius:3px !important;
  }

  .gis-logo:before{
    width:8px !important;
    height:14px !important;
  }

  .gis-logo:after{
    left:5px !important;
    top:3px !important;
    width:9px !important;
    height:9px !important;
  }

  .gis-logo i{
    left:3px !important;
    width:8px !important;
    height:5px !important;
  }

  .gis-logo b{
    right:1px !important;
    bottom:1px !important;
    width:5px !important;
    height:5px !important;
  }

  .gis-bottom strong{
    font-size:16px !important;
    line-height:.85 !important;
  }

  .gis-stars{
    font-size:11px !important;
    letter-spacing:0 !important;
  }

  .footer-address{
    position:absolute !important;
    left:16px !important;
    top:550px !important;
    width:calc(100% - 32px) !important;
    font-size:12px !important;
    line-height:1.12 !important;
    font-style:normal !important;
    letter-spacing:.02em !important;
    color:#fff !important;
  }

  .footer-phone{
    position:absolute !important;
    top:615px !important;
    font-size:13px !important;
    line-height:1 !important;
    font-weight:400 !important;
    letter-spacing:.02em !important;
    color:#fff !important;
  }

  .footer-phone-main{
    left:18px !important;
  }

  .footer-phone-right{
    left:auto !important;
    right:18px !important;
  }

  .free-call{
    position:absolute !important;
    left:auto !important;
    right:18px !important;
    top:600px !important;
    width:145px !important;
    font-size:7px !important;
    line-height:1 !important;
    text-align:center !important;
    color:rgba(255,255,255,.88) !important;
    letter-spacing:.02em !important;
  }

  .footer-pattern{
    display:block !important;
    left:0 !important;
    right:auto !important;
    bottom:6px !important;
    width:100% !important;
    height:30px !important;
    opacity:.12 !important;
    fill:#02028f !important;
    transform:none !important;
  }
}

@media (max-width:360px){
  .footer-block,
  .footer-block .footer-canvas{
    height:628px !important;
    min-height:628px !important;
  }

  .footer-claim h2{
    font-size:15px !important;
  }

  .footer-button{
    height:28px !important;
    font-size:13px !important;
  }

  .footer-services{
    top:116px !important;
  }

  .footer-company{
    top:116px !important;
  }

  .socials{
    top:288px !important;
  }

  .social-grid{
    gap:10px 11px !important;
  }

  .reviews{
    top:440px !important;
  }

  .footer-address{
    top:528px !important;
    font-size:11px !important;
  }

  .footer-phone{
    top:595px !important;
    font-size:12px !important;
  }

  .free-call{
    top:581px !important;
    right:14px !important;
    width:138px !important;
  }
}

@media (max-width:760px){
  .mobile-menu{
    z-index:99990 !important;
  }

  .mobile-menu__backdrop{
    z-index:99991 !important;
  }

  .mobile-menu__panel{
    z-index:99992 !important;
  }

  .mobile-menu__close{
    z-index:100000 !important;
    pointer-events:auto !important;
  }

  body.mobile-menu-open .mobile-topbar,
  body.mobile-menu-open .mobile-logo,
  body.mobile-menu-open .mobile-phone,
  body.mobile-menu-open .mobile-burger,
  body.mobile-menu-open .hero-pattern,
  body.mobile-menu-open .brand-shape{
    pointer-events:none !important;
  }
}

@media (max-width:760px){
  .footer-block,
  .footer-block .footer-canvas{
    overflow:hidden !important;
  }

  .footer-pattern{
    display:block !important;
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    bottom:14px !important;
    width:760px !important;
    max-width:none !important;
    height:52px !important;
    transform:translateX(-50%) !important;
    opacity:.34 !important;
    z-index:1 !important;
    pointer-events:none !important;
  }

  .footer-claim,
  .reviews,
  .footer-address,
  .footer-nav,
  .socials,
  .footer-phone,
  .free-call{
    z-index:2 !important;
  }
}

@media (max-width:430px){
  .footer-pattern{
    bottom:13px !important;
    width:690px !important;
    height:48px !important;
    opacity:.36 !important;
  }
}

@media (max-width:360px){
  .footer-pattern{
    bottom:10px !important;
    width:620px !important;
    height:44px !important;
  }
}

.mobile-topbar{
  position:fixed;
  top:24px;
  left:32px;
  right:32px;
  z-index:1001;
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  color:#fff;
  pointer-events:none;
}

.mobile-logo{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex:0 0 auto;
  pointer-events:auto;
}

.mobile-logo svg{
  display:block;
  width:89px;
  height:auto;
}

.mobile-topbar__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:22px;
  margin-left:auto;
  pointer-events:auto;
}

.mobile-phone{
  display:block;
  color:#fff;
  text-decoration:none;
  letter-spacing:0;
  line-height:1;
  text-align:left;
}

.mobile-phone__number{
  display:block;
  font-size:18px;
  line-height:.9;
  font-weight:400;
  white-space:nowrap;
}

.mobile-phone__status{
  display:block;
  margin-top:1px;
  font-size:18px;
  line-height:.9;
  font-weight:400;
  white-space:nowrap;
}

.mobile-burger{
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:24px;
  margin-top:0;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  pointer-events:auto;
  flex:0 0 auto;
}

.mobile-burger svg{
  display:block;
  width:27px;
  height:auto;
}

body.mobile-menu-open .mobile-topbar{
  opacity:0;
  pointer-events:none;
}

.mobile-menu{
  position:fixed;
  inset:0;
  z-index:99990;
  display:block !important;
  opacity:0;
  pointer-events:none;
  transition:opacity .28s ease;
}

body.mobile-menu-open .mobile-menu{
  opacity:1;
  pointer-events:auto;
}

.mobile-menu__backdrop{
  position:absolute;
  inset:0;
  z-index:99991;
  background:rgba(0,0,60,.18);
}

.mobile-menu__close{
  position:absolute;
  left:32px;
  top:24px;
  z-index:100000;
  width:34px;
  height:34px;
  padding:0;
  border:1px solid rgba(255,255,255,.85);
  border-radius:2px;
  background:transparent;
  cursor:pointer;
  pointer-events:auto;
}

.mobile-menu__close:before,
.mobile-menu__close:after{
  content:"";
  position:absolute;
  left:7px;
  top:16px;
  width:19px;
  height:1px;
  background:#fff;
  transform:rotate(45deg);
  transform-origin:center;
}

.mobile-menu__close:after{
  transform:rotate(-45deg);
}

.mobile-menu__panel{
  position:absolute;
  top:24px;
  right:32px;
  bottom:24px;
  left:auto;
  z-index:99992;
  width:min(560px, calc(100vw - 112px));
  overflow:hidden;
  border:1px solid rgba(255,255,255,.55);
  background:linear-gradient(180deg,#0c0ca8 0%,#070796 100%);
  transform:translateX(calc(100% + 48px));
  transition:transform .36s cubic-bezier(.2,.8,.2,1);
  color:#fff;
}

body.mobile-menu-open .mobile-menu__panel{
  transform:translateX(0);
}

.mobile-menu__panel:before,
.mobile-menu__panel:after{
  content:"SAP";
  position:absolute;
  left:-175px;
  right:auto;
  color:rgba(255,255,255,.40);
  font-size:220px;
  line-height:.75;
  font-weight:700;
  letter-spacing:-12px;
  filter:blur(8px);
  opacity:.78;
  pointer-events:none;
  transform:scaleX(1.7);
}

.mobile-menu__panel:before{ top:118px; }

.mobile-menu__panel:after{ top:430px; }

.mobile-menu__list{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:34px;
  margin:0;
  padding:42px 42px 42px 54px;
  list-style:none;
}

.mobile-menu__list a{
  display:block;
  color:#fff;
  font-size:22px;
  line-height:1.35;
  font-weight:400;
  letter-spacing:.12em;
  text-decoration:none;
  text-shadow:0 0 1px rgba(255,255,255,.2);
  transition:opacity .2s ease, transform .2s ease;
}

.mobile-menu__list a:hover,
.mobile-menu__list a:focus-visible{
  opacity:.72;
  transform:translateX(4px);
}

body.mobile-menu-open{
  overflow:hidden;
}

@media (max-width:760px){
  .mobile-topbar{
    top:22px;
    left:16px;
    right:16px;
  }
  .mobile-logo svg{ width:84px; }
  .mobile-topbar__actions{ gap:14px; }
  .mobile-phone__number{ font-size:16px; }
  .mobile-phone__status{ font-size:17px; }
  .mobile-burger{
    width:30px;
    height:20px;
  }
  .mobile-burger svg{ width:24px; }

  .mobile-menu__close{
    left:23px;
    top:18px;
    width:30px;
    height:30px;
  }
  .mobile-menu__close:before,
  .mobile-menu__close:after{
    left:6px;
    top:14px;
    width:17px;
  }

  .mobile-menu__panel{
    top:18px;
    right:0;
    bottom:18px;
    left:68px;
    width:auto;
    transform:translateX(110%);
  }
  body.mobile-menu-open .mobile-menu__panel{
    transform:translateX(0);
  }

  .mobile-menu__list{
    gap:43px;
    padding:28px 34px 32px 41px;
  }
  .mobile-menu__list a{
    font-size:20px;
  }
}

@media (max-width:360px){
  .mobile-logo svg{ width:76px; }
  .mobile-phone__number{ font-size:14px; }
  .mobile-phone__status{ font-size:15px; }
  .mobile-burger svg{ width:22px; }
}

@media (min-width:761px){
  .mobile-menu__close{
    left:auto !important;
    right:calc(32px + min(560px, calc(100vw - 112px)) + 14px) !important;
    top:24px !important;
  }
}

@media (max-width:760px){
  .mobile-menu__close{
    left:23px !important;
    right:auto !important;
  }
}

.header-block,
.header-canvas{
  background:#060695 !important;
}

.hero-pattern{
  opacity:.3 !important;
  filter:drop-shadow(0 0 18px rgba(255,255,255,.06)) !important;
}

.mobile-topbar{
  top:24px !important;
  left:64px !important;
  right:64px !important;
  opacity:1 !important;
  padding:12px 18px !important;
  border:none !important;
  border-radius:18px !important;
  background:linear-gradient(180deg, rgba(6,6,149,.46) 0%, rgba(6,6,149,.28) 100%) !important;
  box-shadow:0 14px 38px rgba(6,6,149,.20) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  gap:24px !important;
}

.mobile-topbar:hover,
.mobile-topbar:focus-within{
  border:none !important;
  background:linear-gradient(180deg, rgba(6,6,149,.58) 0%, rgba(6,6,149,.36) 100%) !important;
  box-shadow:0 16px 42px rgba(6,6,149,.26) !important;
}

.mobile-logo svg{
  width:118px !important;
  height:auto !important;
  opacity:1 !important;
  filter:drop-shadow(0 2px 8px rgba(0,0,80,.28)) !important;
}

.mobile-topbar__actions{
  gap:28px !important;
}

.mobile-phone{
  opacity:1 !important;
  filter:drop-shadow(0 2px 8px rgba(0,0,80,.28)) !important;
}

.mobile-phone__number{
  font-size:20px !important;
  line-height:.95 !important;
  font-weight:400 !important;
  color:#fff !important;
  text-shadow:0 2px 10px rgba(0,0,80,.38) !important;
}

.mobile-phone__status{
  margin-top:2px !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:400 !important;
  color:#fff !important;
  text-shadow:0 2px 10px rgba(0,0,80,.38) !important;
}

.mobile-burger{
  width:42px !important;
  height:28px !important;
  border-radius:10px !important;
  background:rgba(255,255,255,.08) !important;
}

.mobile-burger svg{
  width:32px !important;
  height:auto !important;
  opacity:1 !important;
  filter:drop-shadow(0 2px 8px rgba(0,0,80,.28)) !important;
}

body.mobile-menu-open .mobile-topbar{
  opacity:0 !important;
}

.mobile-menu__backdrop{
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.mobile-menu__panel::before,
.mobile-menu__panel::after{
  content:none !important;
  display:none !important;
}

.mobile-menu__panel{
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:auto !important;
  width:min(420px, 74vw) !important;
  border-top:0 !important;
  border-right:0 !important;
  border-bottom:0 !important;
  border-left:1px solid rgba(255,255,255,.35) !important;
  border-radius:0 !important;
  background:linear-gradient(180deg, rgba(6,6,149,.23) 0%, rgba(6,6,149,.14) 100%) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  box-shadow:0 14px 28px rgba(6,6,149,.10), inset 1px 0 0 rgba(255,255,255,.08) !important;
}

.mobile-menu__close{
  position:fixed !important;
  top:8px !important;
  left:auto !important;
  right:calc(min(420px, 74vw) + 10px) !important;
  z-index:100000 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:22px !important;
  height:22px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  overflow:visible !important;
  cursor:pointer !important;
}

.mobile-menu__close::before,
.mobile-menu__close::after{
  content:none !important;
  display:none !important;
}

.mobile-menu__close svg{
  display:block !important;
  width:22px !important;
  height:22px !important;
  opacity:.96 !important;
  filter:none !important;
  pointer-events:none !important;
}

.mobile-menu__list{
  padding:22px 24px 36px 28px !important;
  gap:31px !important;
  align-items:flex-start !important;
}

.mobile-menu__list a{
  font-size:13px !important;
  line-height:1.15 !important;
  letter-spacing:2.1px !important;
  white-space:nowrap !important;
}

@media (max-width:760px){
  .mobile-topbar{
    top:16px !important;
    left:16px !important;
    right:16px !important;
    padding:9px 12px !important;
    border-radius:14px !important;
  }
  .mobile-logo svg{ width:84px !important; }
  .mobile-topbar__actions{ gap:14px !important; }
  .mobile-phone__number{ font-size:16px !important; line-height:.9 !important; }
  .mobile-phone__status{ font-size:17px !important; line-height:.84 !important; margin-top:-1px !important; }
  .mobile-burger{ width:30px !important; height:20px !important; }
  .mobile-burger svg{ width:24px !important; }

  .mobile-menu__panel{
    width:calc(100vw - 53px) !important;
    right:0 !important;
    left:auto !important;
  }
  .mobile-menu__close{
    top:7px !important;
    right:calc(100vw - 53px + 10px) !important;
    left:auto !important;
    width:20px !important;
    height:20px !important;
  }
  .mobile-menu__close svg{
    width:20px !important;
    height:20px !important;
  }
  .mobile-menu__list{
    padding:22px 18px 32px 27px !important;
    gap:31px !important;
  }
  .mobile-menu__list a{
    font-size:13px !important;
    line-height:1.12 !important;
    letter-spacing:2px !important;
  }
}

@media (max-width:430px){
  .mobile-topbar{ top:14px !important; }
  .mobile-menu__panel{ width:calc(100vw - 53px) !important; }
  .mobile-menu__close{ top:7px !important; right:calc(100vw - 53px + 10px) !important; width:20px !important; height:20px !important; }
  .mobile-menu__list{ padding-top:22px !important; padding-left:27px !important; gap:31px !important; }
}

@media (max-width:360px){
  .mobile-logo svg{ width:76px !important; }
  .mobile-phone__number{ font-size:14px !important; }
  .mobile-phone__status{ font-size:15px !important; }
  .mobile-burger svg{ width:22px !important; }
  .mobile-menu__panel{ width:calc(100vw - 48px) !important; }
  .mobile-menu__close{ right:calc(100vw - 48px + 9px) !important; }
  .mobile-menu__list{ padding-left:24px !important; gap:28px !important; }
  .mobile-menu__list a{ font-size:12px !important; letter-spacing:1.8px !important; }
}

.footer-block .footer-button{
  transition:
    background .28s ease,
    color .28s ease,
    border-color .28s ease,
    box-shadow .28s ease,
    transform .28s ease,
    filter .28s ease !important;
}

.footer-block .footer-button:hover,
.footer-block .footer-button:focus-visible{
  background:#005DFF !important;
  border-color:#005DFF !important;
  color:#fff !important;
  box-shadow:0 14px 34px rgba(0,93,255,.32) !important;
  transform:translateY(-2px) !important;
  filter:none !important;
}

.footer-block .social-grid a{
  transition:
    background .22s ease,
    border-color .22s ease,
    transform .22s ease,
    box-shadow .22s ease !important;
}

.footer-block .social-grid a:hover,
.footer-block .social-grid a:focus-visible{
  background:rgba(255,255,255,.24) !important;
  border-color:rgba(255,255,255,.92) !important;
  transform:translateY(calc(-2px * var(--scale-y))) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.12) !important;
}

.footer-block .footer-nav a{
  position:relative !important;
  display:block !important;
  width:auto !important;
  max-width:100% !important;
  padding:0 !important;
  margin-left:0 !important;
  background:transparent !important;
  border-radius:0 !important;
  color:rgba(255,255,255,.78) !important;
  transition:
    color .24s ease,
    opacity .24s ease,
    text-shadow .24s ease,
    transform .24s ease !important;
}

.footer-block .footer-nav a::before{
  content:"";
  position:absolute;
  left:0;
  right:auto;
  bottom:-3px;
  width:0;
  height:1px;
  background:rgba(255,255,255,.82);
  box-shadow:0 0 10px rgba(255,255,255,.36);
  opacity:0;
  transition:width .24s ease, opacity .24s ease;
  pointer-events:none;
}

.footer-block .footer-nav a:hover,
.footer-block .footer-nav a:focus-visible{
  color:#fff !important;
  opacity:1 !important;
  text-shadow:0 0 12px rgba(255,255,255,.38) !important;
  transform:translateX(4px) !important;
  outline:none !important;
}

.footer-block .footer-nav a:hover::before,
.footer-block .footer-nav a:focus-visible::before{
  width:38px;
  opacity:1;
}

.footer-block .footer-nav a:active{
  transform:translateX(3px) scale(.995) !important;
}

.footer-block .footer-company a:hover,
.footer-block .footer-company a:focus-visible{
  color:#fff !important;
}

@media (max-width:760px){
  .footer-block .footer-nav a{
    width:auto !important;
    padding:0 !important;
    margin-left:0 !important;
    border-radius:0 !important;
  }

  .footer-block .footer-nav a:hover,
  .footer-block .footer-nav a:focus-visible{
    transform:translateX(3px) !important;
  }
}

.header-block,
.header-canvas,
.design-canvas.header-canvas{
  background:#060695 !important;
}

.reviews--real{
  width:calc(300px * var(--scale-x));
}

.real-reviews-widget{
  display:flex;
  flex-direction:column;
  gap:12px;
  width:calc(258px * var(--scale-x));
}

.real-reviews-widget__yandex{
  display:block;
  width:100%;
  height:calc(164px * var(--scale-y));
  border:0;
  border-radius:calc(6px * var(--scale-y));
  background:#fff;
  box-shadow:0 1px 0 rgba(0,0,0,.05);
  overflow:hidden;
}

.real-reviews-widget__2gis{
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-areas:
    "logo score"
    "logo stars"
    "text text";
  column-gap:12px;
  row-gap:2px;
  align-items:center;
  width:100%;
  min-height:calc(78px * var(--scale-y));
  padding:calc(12px * var(--scale-y)) calc(14px * var(--scale-x));
  border-radius:calc(6px * var(--scale-y));
  background:#fff;
  color:#222;
  box-shadow:0 1px 0 rgba(0,0,0,.05);
  transition:transform .24s ease, box-shadow .24s ease, filter .24s ease;
}

.real-reviews-widget__2gis:hover,
.real-reviews-widget__2gis:focus-visible{
  transform:translateY(calc(-2px * var(--scale-y)));
  box-shadow:0 12px 26px rgba(0,0,0,.16);
  filter:brightness(1.03);
  outline:none;
}

.real-reviews-widget__2gis-top{
  grid-area:logo;
  display:grid;
  place-items:center;
  width:calc(38px * var(--scale-y));
  height:calc(38px * var(--scale-y));
  border-radius:50%;
  background:linear-gradient(135deg,#2f74dc 0%,#30b54a 62%,#e7ec37 100%);
  color:#fff;
  font-size:calc(9px * var(--scale-y));
  font-weight:700;
}

.real-reviews-widget__2gis-score{
  grid-area:score;
  color:#222;
  font-size:calc(24px * var(--scale-y));
  line-height:1;
  font-weight:600;
}

.real-reviews-widget__2gis-stars{
  grid-area:stars;
  color:#ffb300;
  font-size:calc(15px * var(--scale-y));
  letter-spacing:1px;
  line-height:1;
}

.real-reviews-widget__2gis-text{
  grid-area:text;
  margin-top:calc(7px * var(--scale-y));
  color:#58bf61;
  font-size:calc(10px * var(--scale-y));
  line-height:1;
  font-weight:600;
}

.footer-block .footer-company:hover h3,
.footer-block .footer-company:focus-within h3{
  color:#fff !important;
  text-shadow:0 0 14px rgba(255,255,255,.42) !important;
}

.footer-block .footer-company:hover a,
.footer-block .footer-company:focus-within a{
  color:rgba(255,255,255,.96) !important;
  text-shadow:0 0 10px rgba(255,255,255,.28) !important;
}

.footer-block .footer-company a:hover,
.footer-block .footer-company a:focus-visible{
  color:#fff !important;
  text-shadow:0 0 14px rgba(255,255,255,.46) !important;
  transform:translateX(4px) !important;
}

@media (max-width:760px){
  .reviews--real{
    width:calc(100% - 32px) !important;
    display:block !important;
  }
  .real-reviews-widget{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:8px !important;
  }
  .real-reviews-widget__yandex{
    width:100% !important;
    height:86px !important;
    border-radius:4px !important;
  }
  .real-reviews-widget__2gis{
    min-height:86px !important;
    padding:8px 9px !important;
    border-radius:4px !important;
    column-gap:8px !important;
  }
  .real-reviews-widget__2gis-top{
    width:26px !important;
    height:26px !important;
    font-size:7px !important;
  }
  .real-reviews-widget__2gis-score{
    font-size:18px !important;
  }
  .real-reviews-widget__2gis-stars{
    font-size:10px !important;
    letter-spacing:0 !important;
  }
  .real-reviews-widget__2gis-text{
    font-size:7px !important;
    margin-top:4px !important;
  }
}

.reviews--real{
  width:calc(260px * var(--scale-x)) !important;
}

.reviews--real h3{
  margin-bottom:calc(22px * var(--scale-y)) !important;
}

.real-reviews-widget{
  width:calc(219px * var(--scale-x)) !important;
  display:flex !important;
  flex-direction:column !important;
  gap:calc(14px * var(--scale-y)) !important;
}

.real-reviews-widget__yandex-card{
  position:relative !important;
  width:100% !important;
  height:calc(69px * var(--scale-y)) !important;
  overflow:hidden !important;
  border-radius:calc(5px * var(--scale-y)) !important;
  background:#fff !important;
  box-shadow:0 1px 0 rgba(0,0,0,.05) !important;
}

.real-reviews-widget__yandex{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:calc(318px * var(--scale-x)) !important;
  height:calc(150px * var(--scale-y)) !important;
  border:0 !important;
  border-radius:0 !important;
  background:#fff !important;
  transform:scale(.69) !important;
  transform-origin:left top !important;
  box-shadow:none !important;
}

.real-reviews-widget__2gis{
  width:100% !important;
  min-height:calc(72px * var(--scale-y)) !important;
  padding:calc(13px * var(--scale-y)) calc(14px * var(--scale-x)) 0 !important;
  border-radius:calc(5px * var(--scale-y)) !important;
  background:#fff !important;
  box-shadow:0 1px 0 rgba(0,0,0,.05) !important;
}

.real-reviews-widget__2gis-top{
  width:calc(24px * var(--scale-y)) !important;
  height:calc(22px * var(--scale-y)) !important;
  border-radius:calc(6px * var(--scale-y)) !important;
  font-size:calc(6px * var(--scale-y)) !important;
}

.real-reviews-widget__2gis-score{
  font-size:calc(26px * var(--scale-y)) !important;
  line-height:.85 !important;
}

.real-reviews-widget__2gis-stars{
  font-size:calc(20px * var(--scale-y)) !important;
  line-height:.8 !important;
}

.real-reviews-widget__2gis-text{
  margin-top:calc(5px * var(--scale-y)) !important;
  font-size:calc(10px * var(--scale-y)) !important;
}

.footer-company a{
  position:relative;
  display:inline-block;
  transition:color .22s ease, opacity .22s ease, transform .22s ease, text-shadow .22s ease !important;
}

.footer-company a:hover,
.footer-company a:focus-visible{
  color:#fff !important;
  opacity:1 !important;
  transform:translateX(calc(4px * var(--scale-x))) !important;
  text-shadow:0 0 12px rgba(255,255,255,.6) !important;
  outline:none !important;
}

.footer-company a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:calc(-2px * var(--scale-y));
  height:1px;
  background:rgba(255,255,255,.9);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .22s ease;
}

.footer-company a:hover::after,
.footer-company a:focus-visible::after{
  transform:scaleX(1);
}

@media (max-width:760px){
  .reviews--real{
    width:calc(100% - 32px) !important;
  }
  .real-reviews-widget{
    width:100% !important;
    max-width:360px !important;
    gap:8px !important;
  }
  .real-reviews-widget__yandex-card{
    height:40px !important;
  }
  .real-reviews-widget__yandex{
    width:460px !important;
    height:105px !important;
    transform:scale(.58) !important;
  }
  .real-reviews-widget__2gis{
    min-height:40px !important;
    padding:6px 7px 0 !important;
    border-radius:3px !important;
  }
  .real-reviews-widget__2gis-top{
    width:16px !important;
    height:14px !important;
    border-radius:3px !important;
    font-size:5px !important;
  }
  .real-reviews-widget__2gis-score{
    font-size:16px !important;
  }
  .real-reviews-widget__2gis-stars{
    font-size:11px !important;
    letter-spacing:0 !important;
  }
  .real-reviews-widget__2gis-text{
    margin-top:2px !important;
    font-size:7px !important;
  }
}

.reviews--real{
  width:calc(286px * var(--scale-x)) !important;
}

.reviews--real h3{
  margin-bottom:calc(18px * var(--scale-y)) !important;
  font-size:calc(17px * var(--scale-y)) !important;
  line-height:1.18 !important;
}

.real-reviews-widget{
  gap:calc(12px * var(--scale-y)) !important;
  width:calc(258px * var(--scale-x)) !important;
}

.review-pretty-card,
.real-reviews-widget__2gis{
  position:relative;
  width:100% !important;
  border-radius:calc(6px * var(--scale-y)) !important;
  background:#fff !important;
  color:#242424 !important;
  box-shadow:0 1px 0 rgba(0,0,0,.05), 0 10px 24px rgba(0,0,0,.05) !important;
  overflow:hidden !important;
  text-decoration:none !important;
  transition:transform .24s ease, box-shadow .24s ease, filter .24s ease !important;
}

.review-pretty-card:hover,
.review-pretty-card:focus-visible,
.real-reviews-widget__2gis:hover,
.real-reviews-widget__2gis:focus-visible{
  transform:translateY(calc(-2px * var(--scale-y))) !important;
  box-shadow:0 14px 28px rgba(0,0,0,.14) !important;
  filter:brightness(1.02) !important;
  outline:none !important;
}

.review-pretty-card{
  display:flex !important;
  flex-direction:column !important;
  min-height:calc(118px * var(--scale-y)) !important;
  padding:calc(13px * var(--scale-y)) calc(14px * var(--scale-x)) calc(12px * var(--scale-y)) !important;
}

.review-pretty-card__top{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:calc(10px * var(--scale-x)) !important;
  min-width:0 !important;
}

.review-pretty-card__brand{
  display:flex !important;
  align-items:center !important;
  gap:calc(8px * var(--scale-x)) !important;
  min-width:0 !important;
}

.review-pretty-card__yandex-mark{
  position:relative !important;
  display:block !important;
  width:calc(20px * var(--scale-y)) !important;
  height:calc(20px * var(--scale-y)) !important;
  flex:0 0 calc(20px * var(--scale-y)) !important;
  border-radius:50% !important;
  background:#ffb000 !important;
}

.review-pretty-card__yandex-mark:before{
  content:"" !important;
  position:absolute !important;
  left:calc(8px * var(--scale-y)) !important;
  top:calc(4px * var(--scale-y)) !important;
  width:calc(7px * var(--scale-y)) !important;
  height:calc(7px * var(--scale-y)) !important;
  border-radius:50% !important;
  background:#f04428 !important;
}

.review-pretty-card__yandex-mark i{
  position:absolute !important;
  left:calc(7px * var(--scale-y)) !important;
  top:calc(12px * var(--scale-y)) !important;
  width:calc(6px * var(--scale-y)) !important;
  height:calc(6px * var(--scale-y)) !important;
  border-radius:50% !important;
  background:#fff !important;
}

.review-pretty-card__name{
  display:block !important;
  max-width:calc(132px * var(--scale-x)) !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  font-size:calc(12px * var(--scale-y)) !important;
  line-height:1.1 !important;
  font-weight:700 !important;
  color:#222 !important;
}

.review-pretty-card__source{
  flex:0 0 auto !important;
  font-size:calc(10px * var(--scale-y)) !important;
  line-height:1 !important;
  font-weight:600 !important;
  color:#888 !important;
}

.review-pretty-card__body{
  display:flex !important;
  align-items:flex-end !important;
  gap:calc(10px * var(--scale-x)) !important;
  margin-top:calc(13px * var(--scale-y)) !important;
}

.review-pretty-card__rating{
  display:block !important;
  font-size:calc(44px * var(--scale-y)) !important;
  line-height:.85 !important;
  font-weight:400 !important;
  letter-spacing:-.04em !important;
  color:#111 !important;
}

.review-pretty-card__stars,
.real-reviews-widget__2gis-stars{
  display:block !important;
  color:#f5b400 !important;
  font-size:calc(18px * var(--scale-y)) !important;
  line-height:1 !important;
  letter-spacing:calc(1px * var(--scale-x)) !important;
}

.review-pretty-card__meta{
  display:block !important;
  margin-top:calc(6px * var(--scale-y)) !important;
  padding-left:calc(82px * var(--scale-x)) !important;
  color:#8d8d8d !important;
  font-size:calc(10px * var(--scale-y)) !important;
  line-height:1 !important;
}

.review-pretty-card__action{
  display:block !important;
  margin-top:calc(10px * var(--scale-y)) !important;
  padding:calc(8px * var(--scale-y)) calc(12px * var(--scale-x)) !important;
  border-radius:calc(5px * var(--scale-y)) !important;
  background:linear-gradient(90deg,#eef3ff 0%,#dfe6ff 100%) !important;
  color:#2e43a7 !important;
  font-size:calc(11px * var(--scale-y)) !important;
  line-height:1 !important;
  font-weight:600 !important;
  text-align:center !important;
}

.real-reviews-widget__2gis{
  display:grid !important;
  grid-template-columns:calc(38px * var(--scale-y)) 1fr auto !important;
  grid-template-areas:
    "logo score stars"
    "logo text text" !important;
  column-gap:calc(11px * var(--scale-x)) !important;
  row-gap:calc(4px * var(--scale-y)) !important;
  align-items:center !important;
  min-height:calc(78px * var(--scale-y)) !important;
  padding:calc(12px * var(--scale-y)) calc(14px * var(--scale-x)) !important;
}

.real-reviews-widget__2gis-top{
  grid-area:logo !important;
  width:calc(36px * var(--scale-y)) !important;
  height:calc(36px * var(--scale-y)) !important;
  font-size:calc(8px * var(--scale-y)) !important;
}

.real-reviews-widget__2gis-score{
  grid-area:score !important;
  font-size:calc(28px * var(--scale-y)) !important;
  line-height:.9 !important;
  font-weight:600 !important;
  color:#222 !important;
}

.real-reviews-widget__2gis-stars{
  grid-area:stars !important;
  justify-self:end !important;
  font-size:calc(14px * var(--scale-y)) !important;
}

.real-reviews-widget__2gis-text{
  grid-area:text !important;
  color:#47a94b !important;
  font-size:calc(10px * var(--scale-y)) !important;
  line-height:1.1 !important;
  font-weight:600 !important;
}

@media (max-width:760px){
  .reviews--real{
    width:calc(100% - 32px) !important;
  }
  .real-reviews-widget{
    width:100% !important;
    max-width:360px !important;
  }
  .review-pretty-card{
    min-height:98px !important;
    padding:11px 12px 10px !important;
  }
  .review-pretty-card__name{
    max-width:170px !important;
    font-size:11px !important;
  }
  .review-pretty-card__source{
    font-size:9px !important;
  }
  .review-pretty-card__rating{
    font-size:34px !important;
  }
  .review-pretty-card__stars{
    font-size:13px !important;
  }
  .review-pretty-card__meta{
    padding-left:63px !important;
    font-size:8px !important;
  }
  .review-pretty-card__action{
    display:none !important;
  }
}

@media (max-width:760px){
  .footer-block .reviews.reviews--real{
    left:16px !important;
    top:458px !important;
    width:232px !important;
    max-width:calc(100vw - 32px) !important;
    display:block !important;
    overflow:visible !important;
  }

  .footer-block .reviews.reviews--real h3{
    width:100% !important;
    margin:0 0 8px !important;
    font-size:13px !important;
    line-height:1.15 !important;
    letter-spacing:.02em !important;
    white-space:normal !important;
  }

  .footer-block .real-reviews-widget{
    width:220px !important;
    max-width:100% !important;
    gap:8px !important;
  }

  .footer-block .review-pretty-card,
  .footer-block .real-reviews-widget__2gis{
    width:220px !important;
    max-width:100% !important;
    border-radius:5px !important;
    box-shadow:0 1px 0 rgba(0,0,0,.05) !important;
    transform:none !important;
  }

  .footer-block .review-pretty-card{
    min-height:64px !important;
    height:64px !important;
    padding:8px 10px !important;
    display:grid !important;
    grid-template-columns:auto 1fr auto !important;
    grid-template-areas:
      "mark name source"
      "rating stars stars"
      "rating meta meta" !important;
    column-gap:7px !important;
    row-gap:1px !important;
    align-items:center !important;
  }

  .footer-block .review-pretty-card__top,
  .footer-block .review-pretty-card__brand,
  .footer-block .review-pretty-card__body{
    display:contents !important;
  }

  .footer-block .review-pretty-card__yandex-mark{
    grid-area:mark !important;
    width:13px !important;
    height:13px !important;
    flex:0 0 13px !important;
  }

  .footer-block .review-pretty-card__yandex-mark:before{
    left:5px !important;
    top:3px !important;
    width:5px !important;
    height:5px !important;
  }

  .footer-block .review-pretty-card__yandex-mark i{
    left:5px !important;
    top:8px !important;
    width:4px !important;
    height:4px !important;
  }

  .footer-block .review-pretty-card__name{
    grid-area:name !important;
    max-width:116px !important;
    font-size:9px !important;
    line-height:1 !important;
    font-weight:700 !important;
  }

  .footer-block .review-pretty-card__source{
    grid-area:source !important;
    justify-self:end !important;
    font-size:7px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    color:#8e8e8e !important;
  }

  .footer-block .review-pretty-card__rating{
    grid-area:rating !important;
    font-size:28px !important;
    line-height:.9 !important;
    letter-spacing:-.04em !important;
  }

  .footer-block .review-pretty-card__stars{
    grid-area:stars !important;
    align-self:end !important;
    font-size:10px !important;
    line-height:1 !important;
    letter-spacing:0 !important;
  }

  .footer-block .review-pretty-card__meta{
    grid-area:meta !important;
    margin:0 !important;
    padding:0 !important;
    font-size:7px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  .footer-block .review-pretty-card__action{
    display:none !important;
  }

  .footer-block .real-reviews-widget__2gis{
    min-height:50px !important;
    height:50px !important;
    padding:7px 10px !important;
    grid-template-columns:28px 1fr auto !important;
    grid-template-areas:
      "logo score stars"
      "logo text text" !important;
    column-gap:8px !important;
    row-gap:0 !important;
    overflow:hidden !important;
  }

  .footer-block .real-reviews-widget__2gis-top{
    width:28px !important;
    height:28px !important;
    font-size:6px !important;
  }

  .footer-block .real-reviews-widget__2gis-score{
    font-size:20px !important;
    line-height:1 !important;
  }

  .footer-block .real-reviews-widget__2gis-stars{
    justify-self:end !important;
    font-size:8px !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
  }

  .footer-block .real-reviews-widget__2gis-text{
    margin:0 !important;
    font-size:7px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
}

@media (max-width:360px){
  .footer-block .reviews.reviews--real{
    top:440px !important;
    width:214px !important;
  }
  .footer-block .real-reviews-widget,
  .footer-block .review-pretty-card,
  .footer-block .real-reviews-widget__2gis{
    width:204px !important;
  }
  .footer-block .review-pretty-card__name{
    max-width:100px !important;
  }
}

.footer-address{
  width:calc(310px * var(--scale-x));
}

.footer-phone-main{
  left:calc(360px * var(--scale-x));
}

.footer-phone-right{
  left:calc(585px * var(--scale-x));
}

@media (max-width:760px){
  .footer-address{
    top:532px !important;
    font-size:12px !important;
    line-height:1.16 !important;
    width:calc(100% - 32px) !important;
  }
  .footer-phone{
    top:615px !important;
    font-size:13px !important;
  }
  .footer-phone-main{
    left:18px !important;
  }
  .footer-phone-right{
    right:18px !important;
    left:auto !important;
  }
  .free-call{
    top:600px !important;
    right:18px !important;
    width:150px !important;
  }
}

@media (max-width:360px){
  .footer-address{
    top:512px !important;
    font-size:11px !important;
  }
  .footer-phone{
    top:590px !important;
    font-size:12px !important;
  }
  .free-call{
    top:576px !important;
  }
}

.footer-address{
  width:calc(360px * var(--scale-x)) !important;
}

@media (max-width:760px){
  .footer-block,
  .footer-block .footer-canvas{
    height:735px !important;
    min-height:735px !important;
  }

  .footer-block .reviews.reviews--real{
    top:390px !important;
    left:14px !important;
    width:230px !important;
    max-width:calc(100vw - 28px) !important;
    z-index:3 !important;
  }

  .footer-block .reviews.reviews--real h3{
    font-size:12px !important;
    line-height:1.1 !important;
    margin-bottom:7px !important;
    white-space:nowrap !important;
  }

  .footer-block .real-reviews-widget{
    width:218px !important;
    gap:7px !important;
  }

  .footer-block .review-pretty-card,
  .footer-block .real-reviews-widget__2gis{
    width:218px !important;
    max-width:218px !important;
  }

  .footer-block .review-pretty-card{
    height:58px !important;
    min-height:58px !important;
    padding:7px 9px !important;
  }

  .footer-block .review-pretty-card__rating{
    font-size:25px !important;
  }

  .footer-block .review-pretty-card__name{
    max-width:112px !important;
    font-size:8px !important;
  }

  .footer-block .review-pretty-card__source{
    font-size:6px !important;
  }

  .footer-block .review-pretty-card__stars{
    font-size:8px !important;
  }

  .footer-block .review-pretty-card__meta{
    font-size:6px !important;
  }

  .footer-block .real-reviews-widget__2gis{
    height:44px !important;
    min-height:44px !important;
    padding:6px 9px !important;
    grid-template-columns:25px 1fr auto !important;
  }

  .footer-block .real-reviews-widget__2gis-top{
    width:25px !important;
    height:25px !important;
    font-size:5px !important;
  }

  .footer-block .real-reviews-widget__2gis-score{
    font-size:18px !important;
  }

  .footer-block .real-reviews-widget__2gis-stars{
    font-size:7px !important;
  }

  .footer-block .real-reviews-widget__2gis-text{
    font-size:6px !important;
  }

  .footer-address{
    left:14px !important;
    top:545px !important;
    width:calc(100% - 28px) !important;
    font-size:12px !important;
    line-height:1.28 !important;
    color:#fff !important;
    z-index:3 !important;
  }

  .footer-phone{
    top:665px !important;
    font-size:13px !important;
    z-index:3 !important;
  }

  .free-call{
    top:647px !important;
    right:14px !important;
    width:155px !important;
    font-size:8px !important;
    z-index:3 !important;
  }

  .footer-phone-main{
    left:14px !important;
  }

  .footer-phone-right{
    right:14px !important;
    left:auto !important;
  }
}

@media (max-width:360px){
  .footer-block,
  .footer-block .footer-canvas{
    height:710px !important;
    min-height:710px !important;
  }

  .footer-block .reviews.reviews--real{
    top:376px !important;
    width:210px !important;
  }

  .footer-block .real-reviews-widget,
  .footer-block .review-pretty-card,
  .footer-block .real-reviews-widget__2gis{
    width:204px !important;
    max-width:204px !important;
  }

  .footer-address{
    top:526px !important;
    font-size:11px !important;
  }

  .footer-phone{
    top:642px !important;
    font-size:12px !important;
  }

  .free-call{
    top:626px !important;
    width:140px !important;
    font-size:7px !important;
  }
}

.footer-block .footer-company a,
.footer-block .footer-company a:hover,
.footer-block .footer-company a:focus-visible{
  text-decoration:none !important;
  border-bottom:0 !important;
  background-image:none !important;
}

.footer-block .footer-company a::after{
  content:none !important;
  display:none !important;
}

.footer-block .footer-company a::before{
  bottom:-3px !important;
  height:1px !important;
  background:rgba(255,255,255,.82) !important;
  box-shadow:0 0 10px rgba(255,255,255,.36) !important;
}

@media (max-width:760px){
  .footer-block,
  .footer-block .footer-canvas{
    height:760px !important;
    min-height:760px !important;
    background:linear-gradient(180deg,#4645c0 0%,#2f2db8 48%,#09089a 100%) !important;
    overflow:hidden !important;
  }

  .footer-claim{
    top:22px !important;
  }

  .footer-services{
    top:112px !important;
    left:20px !important;
    width:150px !important;
  }

  .footer-company{
    top:112px !important;
    left:calc(50% + 36px) !important;
    width:126px !important;
  }

  .footer-nav h3,
  .socials h3{
    font-size:13px !important;
    line-height:1.1 !important;
    margin-bottom:10px !important;
  }

  .footer-nav a{
    font-size:12px !important;
    line-height:1.12 !important;
    margin-bottom:7px !important;
  }

  .footer-company a{
    font-size:13px !important;
    line-height:1.15 !important;
    margin-bottom:8px !important;
    text-decoration:none !important;
    border-bottom:0 !important;
  }

  .footer-company a::after{
    content:none !important;
    display:none !important;
  }

  .socials{
    top:292px !important;
    left:20px !important;
    width:calc(100% - 40px) !important;
  }

  .social-grid{
    gap:10px 12px !important;
    max-width:300px !important;
    margin-top:12px !important;
  }

  .social-grid a{
    width:34px !important;
    height:34px !important;
    flex:0 0 34px !important;
  }

  .footer-block .reviews.reviews--real{
    top:390px !important;
    left:16px !important;
    width:238px !important;
    max-width:calc(100vw - 32px) !important;
  }

  .footer-block .reviews.reviews--real h3{
    font-size:13px !important;
    line-height:1.15 !important;
    margin:0 0 8px !important;
    white-space:normal !important;
  }

  .footer-block .real-reviews-widget,
  .footer-block .review-pretty-card,
  .footer-block .real-reviews-widget__2gis{
    width:228px !important;
    max-width:100% !important;
  }

  .footer-block .review-pretty-card{
    height:58px !important;
    min-height:58px !important;
    padding:7px 9px !important;
  }

  .footer-block .review-pretty-card__rating{
    font-size:25px !important;
  }

  .footer-block .review-pretty-card__name{
    max-width:112px !important;
    font-size:8px !important;
  }

  .footer-block .review-pretty-card__source,
  .footer-block .review-pretty-card__meta{
    font-size:6px !important;
  }

  .footer-block .review-pretty-card__stars{
    font-size:9px !important;
  }

  .footer-block .real-reviews-widget__2gis{
    height:45px !important;
    min-height:45px !important;
    padding:6px 9px !important;
  }

  .footer-block .real-reviews-widget__2gis-top{
    width:25px !important;
    height:25px !important;
    font-size:5px !important;
  }

  .footer-block .real-reviews-widget__2gis-score{
    font-size:18px !important;
  }

  .footer-block .real-reviews-widget__2gis-stars{
    font-size:7px !important;
  }

  .footer-block .real-reviews-widget__2gis-text{
    font-size:6px !important;
  }

  .footer-address{
    top:540px !important;
    left:16px !important;
    width:calc(100% - 32px) !important;
    font-size:12px !important;
    line-height:1.24 !important;
    color:#fff !important;
  }

  .free-call{
    top:636px !important;
    right:18px !important;
    left:auto !important;
    width:180px !important;
    font-size:10px !important;
    line-height:1.1 !important;
    text-align:center !important;
  }

  .footer-phone{
    top:665px !important;
    font-size:16px !important;
    line-height:1 !important;
  }

  .footer-phone-main{
    left:16px !important;
  }

  .footer-phone-right{
    right:18px !important;
    left:auto !important;
  }

  .footer-pattern{
    bottom:12px !important;
    width:690px !important;
    height:46px !important;
    opacity:.28 !important;
  }
}

@media (max-width:430px){
  .footer-block,
  .footer-block .footer-canvas{
    height:750px !important;
    min-height:750px !important;
  }

  .footer-services{
    top:108px !important;
    left:18px !important;
    width:145px !important;
  }

  .footer-company{
    top:108px !important;
    left:calc(50% + 34px) !important;
    width:120px !important;
  }

  .socials{
    top:286px !important;
    left:18px !important;
  }

  .footer-block .reviews.reviews--real{
    top:382px !important;
    left:18px !important;
    width:226px !important;
  }

  .footer-block .real-reviews-widget,
  .footer-block .review-pretty-card,
  .footer-block .real-reviews-widget__2gis{
    width:218px !important;
  }

  .footer-address{
    top:528px !important;
    left:18px !important;
    font-size:12px !important;
    line-height:1.25 !important;
  }

  .free-call{
    top:624px !important;
    right:16px !important;
    width:170px !important;
    font-size:9px !important;
  }

  .footer-phone{
    top:652px !important;
    font-size:15px !important;
  }

  .footer-phone-main{
    left:18px !important;
  }

  .footer-phone-right{
    right:16px !important;
  }
}

@media (max-width:360px){
  .footer-block,
  .footer-block .footer-canvas{
    height:730px !important;
    min-height:730px !important;
  }

  .footer-services{
    top:104px !important;
    width:138px !important;
  }

  .footer-company{
    top:104px !important;
    left:calc(50% + 25px) !important;
    width:112px !important;
  }

  .footer-nav a,
  .footer-company a{
    font-size:11px !important;
  }

  .socials{
    top:278px !important;
  }

  .social-grid a{
    width:31px !important;
    height:31px !important;
    flex:0 0 31px !important;
  }

  .footer-block .reviews.reviews--real{
    top:366px !important;
    width:208px !important;
  }

  .footer-block .real-reviews-widget,
  .footer-block .review-pretty-card,
  .footer-block .real-reviews-widget__2gis{
    width:202px !important;
  }

  .footer-address{
    top:506px !important;
    font-size:11px !important;
  }

  .free-call{
    top:606px !important;
    right:14px !important;
    width:152px !important;
    font-size:8px !important;
  }

  .footer-phone{
    top:632px !important;
    font-size:13px !important;
  }
}

@media (max-width:760px){
  .footer-block,
  .footer-block .footer-canvas{
    height:790px !important;
    min-height:790px !important;
  }

  .footer-block .reviews.reviews--real{
    top:428px !important;
    left:18px !important;
    width:238px !important;
    max-width:calc(100vw - 36px) !important;
  }

  .footer-block .reviews.reviews--real h3{
    margin:0 0 8px !important;
    font-size:13px !important;
    line-height:1.12 !important;
  }

  .footer-block .real-reviews-widget{
    gap:8px !important;
  }

  .footer-address{
    top:580px !important;
  }

  .free-call{
    top:682px !important;
  }

  .footer-phone{
    top:710px !important;
  }

  .footer-pattern{
    bottom:10px !important;
  }
}

@media (max-width:430px){
  .footer-block,
  .footer-block .footer-canvas{
    height:775px !important;
    min-height:775px !important;
  }

  .socials{
    top:286px !important;
  }

  .footer-block .reviews.reviews--real{
    top:408px !important;
    left:18px !important;
    width:226px !important;
    max-width:calc(100vw - 36px) !important;
  }

  .footer-address{
    top:558px !important;
  }

  .free-call{
    top:656px !important;
  }

  .footer-phone{
    top:684px !important;
  }
}

@media (max-width:360px){
  .footer-block,
  .footer-block .footer-canvas{
    height:755px !important;
    min-height:755px !important;
  }

  .socials{
    top:276px !important;
  }

  .footer-block .reviews.reviews--real{
    top:396px !important;
    left:16px !important;
    width:208px !important;
  }

  .footer-address{
    top:536px !important;
  }

  .free-call{
    top:636px !important;
  }

  .footer-phone{
    top:662px !important;
  }
}

.footer-block .footer-nav a{text-decoration:none !important;}

.footer-block .footer-company a::after{content:none !important;display:none !important;}

.sale-header-canvas {
          background: radial-gradient(circle at 0% 0%, rgba(255, 255, 255, 0.4) 0%, transparent 25%), radial-gradient(circle at 0% 100%, rgba(255, 255, 255, 0.4) 0%, transparent 25%), radial-gradient(circle at 100% 100%, rgba(255, 255, 255, 0.95) 0%, transparent 30%), var(--blue-bottom)!important;
      }

.sale-hero-copy {
          width: min(860px, calc(100% - 96px)) !important;
      }

.hero-copy h1{
        font-size: calc(40px * var(--scale-y)) !important;
      }

.hero-copy p {font-size: calc(25px * var(--scale-y)) !important;}

.steps > .step:not(.light), .benefits > .benefit:not(.light){
        background: radial-gradient(circle at 0% 0%, rgba(255,255,255,0.4) 0%, transparent 25%),
          radial-gradient(circle at 0% 100%, rgba(255,255,255,0.4) 0%, transparent 25%),
          radial-gradient(circle at 100% 100%, rgba(255,255,255,0.95) 0%, transparent 30%),
          #060695!important;
      }

.steps > .step.light,.benefits > .benefit.light{
        background: radial-gradient(circle at 0% 100%, rgba(255, 255, 255, 0.75) 0%, transparent 36%), radial-gradient(circle at 100% 100%, rgba(255, 255, 255, 0.85) 0%, transparent 42%), #cbc9ee!important;
      }

.cta-btn-blue {
        background: linear-gradient(90deg, #6f75db 0%, #313ad3 50%, #2b2bc6 100%) !important;
        /* background: linear-gradient(90deg, #5451C6 0%, #0D06B8 100%)!important; */
        color: #fff !important;
  
      /* background: radial-gradient(circle at 0% 0%, rgba(255, 255, 255, 0.4) 0%, transparent 25%), radial-gradient(circle at 0% 100%, rgba(255, 255, 255, 0.4) 0%, transparent 25%), radial-gradient(circle at 100% 100%, rgba(255, 255, 255, 0.95) 0%, transparent 30%), #060695 !important; */
      }

.cta-btn-light:hover{
         background: linear-gradient(90deg, #6f75db 0%, #313ad3 50%, #2b2bc6 100%) !important;
      }

.hero-card{
              background: radial-gradient(circle at 0% 0%, rgba(255, 255, 255, 0.4) 0%, transparent 25%), radial-gradient(circle at 0% 100%, rgba(255, 255, 255, 0.4) 0%, transparent 25%), radial-gradient(circle at 100% 100%, rgba(255, 255, 255, 0.95) 0%, transparent 30%), #3434a9 !important; 
      }

.design-canvas.header-canvas {
          background: radial-gradient(circle at 0% 0%, rgba(255, 255, 255, 0.4) 0%, transparent 25%), radial-gradient(circle at 0% 100%, rgba(255, 255, 255, 0.4) 0%, transparent 25%), radial-gradient(circle at 100% 100%, rgba(255, 255, 255, 0.95) 0%, transparent 30%), var(--blue-bottom)!important;
      }

.step-text {
  font-size: 14px;
  line-height: 1.38;
}

.cta-btn {
  height: 42px;
  font-size: 16px;
}

.sale-header-block .field label,
.sale-header-block .field input,
.sale-header-block .field textarea,
.sale-header-block .field button,
.sale-header-block .field .policy {
  font-size: 15px !important;
}

.form-grid .field input,
.form-grid .field textarea {
  border-radius: 3px !important;
}

.hero-cards {
  display: none
}

.benefits > .benefit {
  transition: background 0.25s ease, color 0.25s ease;
}

.benefits > .benefit:not(.light) {
  background: radial-gradient(circle at 0% 0%, rgba(255, 255, 255, 0.4) 0%, transparent 25%),
              radial-gradient(circle at 0% 100%, rgba(255, 255, 255, 0.4) 0%, transparent 25%),
              radial-gradient(circle at 100% 100%, rgba(255, 255, 255, 0.95) 0%, transparent 30%),
              #060695 !important;
}

.benefits > .benefit:not(.light):hover {
  background: radial-gradient(circle at 0% 100%, rgba(255, 255, 255, 0.75) 0%, transparent 36%),
              radial-gradient(circle at 100% 100%, rgba(255, 255, 255, 0.85) 0%, transparent 42%),
              #cbc9ee !important;
}

.steps > .step {
  transition: background 0.25s ease, color 0.25s ease;
}

.steps > .step:not(.light) {
  background: radial-gradient(circle at 0% 0%, rgba(255, 255, 255, 0.4) 0%, transparent 25%),
              radial-gradient(circle at 0% 100%, rgba(255, 255, 255, 0.4) 0%, transparent 25%),
              radial-gradient(circle at 100% 100%, rgba(255, 255, 255, 0.95) 0%, transparent 30%),
              #060695 !important;
}

.steps > .step:not(.light):hover {
  background: radial-gradient(circle at 0% 100%, rgba(255, 255, 255, 0.75) 0%, transparent 36%),
              radial-gradient(circle at 100% 100%, rgba(255, 255, 255, 0.85) 0%, transparent 42%),
              #cbc9ee !important;
}

.steps > .step.light {
  background: radial-gradient(circle at 0% 100%, rgba(255, 255, 255, 0.75) 0%, transparent 36%),
              radial-gradient(circle at 100% 100%, rgba(255, 255, 255, 0.85) 0%, transparent 42%),
              #cbc9ee !important;
}

.steps > .step.light:hover {
  background: radial-gradient(circle at 0% 0%, rgba(255, 255, 255, 0.4) 0%, transparent 25%),
              radial-gradient(circle at 0% 100%, rgba(255, 255, 255, 0.4) 0%, transparent 25%),
              radial-gradient(circle at 100% 100%, rgba(255, 255, 255, 0.95) 0%, transparent 30%),
              #060695 !important;
}

@media (min-width:761px){
  .m-show{
    display:none!important;   }

}

.design-canvas.header-canvas {
    background: radial-gradient(circle at 50% 50%, rgba(0, 0, 40, 0.95) 0%, rgba(2, 2, 70, 0.8) 20%, rgba(4, 4, 110, 0.5) 40%, rgba(6, 6, 149, 0) 70%), radial-gradient(circle at 0% 0%, rgba(255, 255, 255, 0.4) 0%, transparent 25%), radial-gradient(circle at 0% 100%, rgba(255, 255, 255, 0.4) 0%, transparent 25%), radial-gradient(circle at 100% 100%, rgba(255, 255, 255, 0.95) 0%, transparent 30%), var(--blue-bottom) !important;
}

.hero-metric-5-7{
  display:block;
  width:100%;
  max-width:calc(148px * var(--scale-x));
  margin:calc(4px * var(--scale-y)) 0 calc(13px * var(--scale-y));
  line-height:0;
}

.hero-metric-5-7-svg{
  display:block;
  width:100%;
  height:auto;
}

.hero-card-service:first-child{
  padding-top:calc(14px * var(--scale-y));
}

.hero-card-service:first-child span{
  margin-top:calc(2px * var(--scale-y));
}

.hero-metric-key,
.hero-metric-lawyer{
  display:block;
  width:100%;
  line-height:0;
}

.hero-metric-key{
  max-width:calc(154px * var(--scale-x));
  margin:calc(5px * var(--scale-y)) 0 calc(15px * var(--scale-y));
}

.hero-metric-lawyer{
  max-width:calc(154px * var(--scale-x));
  margin:calc(6px * var(--scale-y)) 0 calc(14px * var(--scale-y));
}

.hero-metric-key-svg,
.hero-metric-lawyer-svg{
  display:block;
  width:100%;
  height:auto;
}

.hero-card-service:nth-child(2),
.hero-card-service:nth-child(3){
  padding-top:calc(14px * var(--scale-y));
}

.wide{
  width:min(100%, 1144px);
  margin:0 auto;
  padding:0 32px;
  position:relative;
  z-index:2;
}

.header-block,
.header-canvas{
  height:1500px !important;
}

.header-lead{
  position:absolute;
  left:50%;
  top:700px;
  transform:translateX(-50%);
  z-index:3;
  width:min(1040px, calc(100% - 96px));
  color:#fff;
}

.header-lead-text{
  margin:0 0 36px;
  max-width:1040px;
  font-size:13px;
  line-height:1.5;
  color:rgba(255,255,255,.84);
}

.header-hero-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  width:min(760px, 100%);
  margin:0 0 28px;
}

.header-hero-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  height:48px;
  border-radius:8px;
  font-size:13px;
  line-height:1;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.02em;
  text-decoration:none;
  transition:transform .22s ease,filter .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease,color .22s ease;
}

.header-hero-btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.03);
}

.header-hero-btn--light{
  color:#2a2b9d;
  background:linear-gradient(90deg,#f7f6ff 0%,#d6d2ff 100%);
  border:1px solid transparent;
}

.header-hero-btn--outline{
  color:#fff;
  background:transparent;
  border:1px solid rgba(255,255,255,.45);
}

.header-hero-phones{
  display:flex;
  gap:34px;
  flex-wrap:wrap;
  margin-bottom:0;
}

.header-hero-phones a{
  color:#fff;
  text-decoration:none;
  font-size:14px;
  font-weight:500;
}

.header-form-box{
  position:absolute;
  left:50%;
  top:925px;
  transform:translateX(-50%);
  z-index:3;
  width:min(860px, calc(100% - 96px));
  border:1px solid rgba(255,255,255,.42);
  border-radius:12px;
  padding:28px 20px 30px;
  background:rgba(255,255,255,.07);
  backdrop-filter:blur(4px);
  color:#fff;
}

.form-inner{max-width:760px;margin:0 auto;}

.form-title{margin:0 0 6px;font-size:26px;line-height:1.15;font-weight:700;color:#fff;}

.form-subtitle{margin:0 0 22px;font-size:13px;line-height:1.35;color:rgba(255,255,255,.76);}

.form-grid{display:grid;grid-template-columns:1fr;gap:14px;}

.field{display:flex;flex-direction:column;gap:8px;}

.field label{font-size:12px;color:#fff;}

.field input,.field textarea{width:100%;height:40px;border:none;outline:none;border-radius:6px;background:#fff;padding:0 14px;font:inherit;font-size:15px;color:#2b2b2b;}

.field textarea{height:40px;resize:none;padding-top:10px;}

.policy{font-size:11px;color:rgba(255,255,255,.78);}

.submit button{display:flex;align-items:center;justify-content:center;width:100%;height:42px;border:0;border-radius:8px;background:linear-gradient(90deg,#f7f6ff 0%,#d6d2ff 100%);color:#2a2b9d;font:500 15px Montserrat,Arial,sans-serif;text-transform:uppercase;cursor:pointer;transition:transform .22s ease,filter .22s ease,box-shadow .22s ease;}

.submit button:hover{transform:translateY(-1px);filter:brightness(1.03);box-shadow:0 12px 30px rgba(255,255,255,.14);}

.hero-card-service strong{font-family:Montserrat,Arial,sans-serif;font-size:calc(25px * var(--scale-y));line-height:1.05;font-weight:700;margin:calc(8px * var(--scale-y)) 0 calc(18px * var(--scale-y));}

.hero-card-service strong em{font-family:Montserrat,Arial,sans-serif;font-size:calc(15px * var(--scale-y));font-style:normal;font-weight:600;margin-left:calc(4px * var(--scale-x));}

.hero-card-service:nth-child(3) strong{font-size:calc(20px * var(--scale-y));}

.section{background:#f1f1f4;padding:92px 0;color:#111;}

.section-title{margin:0 0 14px;text-align:center;font-size:28px;line-height:1.18;color:#393b96;font-weight:500;}

.section-subtitle{max-width:720px;margin:0 auto 42px;text-align:center;font-size:16px;line-height:1.42;color:#4f5097;}

.steps{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:860px;margin:0 auto;}

.step{min-height:160px;border-radius:4px;padding:14px 18px 18px;display:flex;flex-direction:column;justify-content:flex-start;color:#fff;background:#1118c9;}

.step.light{color:#4a4ca0;background:linear-gradient(135deg,#d9d6ff 0%,#efefff 100%);}

.step-num{font-size:54px;line-height:1;font-weight:300;margin-bottom:10px;}

.step-title{font-size:18px;line-height:1.2;font-weight:600;margin-bottom:10px;}

.step-text{font-size:12px;line-height:1.42;max-width:370px;}

.cta-bottom{background:#f1f1f4;padding:26px 0 64px;color:#111;}

.cta-box{max-width:860px;margin:0 auto;}

.cta-title{margin:0 0 12px;font-size:34px;line-height:1.06;font-weight:800;color:#2f318e;text-transform:uppercase;}

.cta-subtitle{margin:0 0 26px;max-width:760px;font-size:17px;line-height:1.42;color:#4f5097;}

.cta-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:760px;margin-bottom:18px;}

.cta-btn{height:46px;border-radius:8px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:13px;text-transform:uppercase;font-weight:500;transition:background .28s ease,color .28s ease,border-color .28s ease,box-shadow .28s ease,transform .28s ease;}

.cta-btn-light{background:linear-gradient(90deg,#d7d3ff 0%,#f4f4f6 100%);color:#2d2e98;border:1px solid #dbd7ff;}

.cta-btn-blue{background:#171dcd;color:#fff;border:1px solid #171dcd;}

.cta-phones{display:flex;gap:28px;flex-wrap:wrap;}

.cta-phones a{font-size:15px;color:#2a2a96;text-decoration:none;font-weight:500;}

@media (max-width:980px){
  .wide{padding:0 24px;}
  .header-block,.header-canvas{height:1540px !important;}
  .header-lead{top:730px;width:calc(100% - 64px);}
  .header-form-box{top:940px;width:calc(100% - 64px);padding:28px 20px 30px;}
}

@media (max-width:760px){
  .wide{padding:0 16px;}
  .header-block,.header-canvas{height:1560px !important;}
  .header-lead{left:16px !important;right:16px !important;top:905px !important;width:auto !important;transform:none !important;}
  .header-lead-text{font-size:12px;margin-bottom:24px;}
  .header-hero-actions{width:100%;gap:12px;margin-bottom:22px;}
  .header-hero-btn{height:42px;font-size:12px;}
  .header-hero-phones{gap:18px;}
  .header-form-box{left:16px !important;right:16px !important;top:1100px !important;width:auto !important;transform:none !important;padding:20px 14px 22px;}
  .form-title{font-size:20px;}
  .form-grid{grid-template-columns:1fr;gap:14px;}
  .field input,.field textarea{height:36px;font-size:14px;}
  .field textarea{height:36px;padding-top:8px;}
  .submit button{height:40px;font-size:14px;}
  .section{padding:58px 0;}
  .section-title{font-size:24px;}
  .section-subtitle{font-size:14px;margin-bottom:28px;}
  .steps{grid-template-columns:1fr;gap:10px;max-width:100%;}
  .step{min-height:auto;padding:14px;width:100%;}
  .step:nth-child(odd){text-align:right;align-items:flex-end;}
  .step:nth-child(even){text-align:left;align-items:flex-start;}
  .step:nth-child(odd) .step-text{margin-left:auto;}
  .step:nth-child(even) .step-text{margin-right:auto;}
  .step-num{font-size:42px;margin-bottom:8px;}
  .step-title{font-size:16px;}
  .cta-bottom{padding:20px 0 48px;}
  .cta-title{font-size:26px;}
  .cta-subtitle{font-size:14px;margin-bottom:20px;}
  .cta-actions{grid-template-columns:1fr;}
  .cta-btn{height:42px;font-size:12px;}
  .cta-phones{gap:14px;flex-direction:column;align-items:flex-start;text-align:left;}
}

@media (max-width:430px){
  .header-block,.header-canvas{height:1530px !important;}
  .header-lead{top:880px !important;}
  .header-form-box{top:1080px !important;}
}

@media (max-width:360px){
  .header-block,.header-canvas{height:1490px !important;}
  .header-lead{top:840px !important;}
  .header-form-box{top:1040px !important;}
}

.hero-card-service{
  overflow:hidden !important;
  padding:14px 20px 16px !important;
}

.hero-card-service .hero-metric-5-7,
.hero-card-service .hero-metric-key,
.hero-card-service .hero-metric-lawyer{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  line-height:0 !important;
}

.hero-card-service .hero-metric-5-7-svg,
.hero-card-service .hero-metric-key-svg,
.hero-card-service .hero-metric-lawyer-svg{
  display:block !important;
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
}

.hero-card-service .hero-metric-5-7-svg{
  height:58px !important;
}

.hero-card-service .hero-metric-key-svg{
  height:54px !important;
}

.hero-card-service .hero-metric-lawyer-svg{
  height:56px !important;
}

.hero-card-service > span:last-child{
  position:absolute !important;
  left:20px !important;
  right:20px !important;
  bottom:13px !important;
  margin:0 !important;
  color:rgba(255,255,255,.82) !important;
  font-size:10px !important;
  line-height:1.15 !important;
  white-space:normal !important;
}

@media (max-width:760px){
  .hero-card-service{
    padding:12px 14px 14px !important;
  }
  .hero-card-service .hero-metric-5-7-svg{
    height:44px !important;
  }
  .hero-card-service .hero-metric-key-svg{
    height:40px !important;
  }
  .hero-card-service .hero-metric-lawyer-svg{
    height:42px !important;
  }
  .hero-card-service > span:last-child{
    left:14px !important;
    right:14px !important;
    bottom:10px !important;
    font-size:8px !important;
  }
}

.steps > .step:not(.light){
        background: radial-gradient(circle at 0% 0%, rgba(255,255,255,0.4) 0%, transparent 25%),
          radial-gradient(circle at 0% 100%, rgba(255,255,255,0.4) 0%, transparent 25%),
          radial-gradient(circle at 100% 100%, rgba(255,255,255,0.95) 0%, transparent 30%),
          #060695!important;
      }

.steps > .step.light{
        background: radial-gradient(circle at 0% 100%, rgba(255, 255, 255, 0.75) 0%, transparent 36%), radial-gradient(circle at 100% 100%, rgba(255, 255, 255, 0.85) 0%, transparent 42%), #cbc9ee!important;
      }

.hero-copy {
  position: absolute;
    left: 50%;
    top: 500px;
    transform: translateX(-50%);
    z-index: 3;
    width: min(1040px, calc(100% - 96px));
    color: #fff;
}

@media (max-width: 1100px) {
    .hero-copy {
      left: 40% !important;
  }
}
@media (min-width:561px) and (max-width:1100px){
  .hero-copy{
    left: 50% !important;
    width:calc(100% - 48px) !important;
    max-width:570px;
  }
}
/* ===== Consult modal block (moved from result.css) ===== */
body.consult-modal-open {
  overflow: hidden;
}

.consult-form__field input, .consult-form__field textarea {
  border-radius: 3px !important;
}

.consult-modal {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.consult-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}

.consult-modal__backdrop {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 100% 100%, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.04) 16%, transparent 40%), rgba(4, 4, 90, 0.98);
}

.consult-modal__dialog {
  position: relative;
  max-width: 640px;
  width: min(640px, 92vw);
  padding: 32px 40px 32px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.45);
  background: radial-gradient(circle at 100% 100%, rgba(255, 255, 255, 0.26) 0%, rgba(255, 255, 255, 0.06) 18%, transparent 42%), rgba(7, 7, 150, 0.96);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
  color: #fff;
  transform: translateY(20px);
  opacity: 0;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.consult-modal.is-open .consult-modal__dialog {
  opacity: 1;
  transform: translateY(0);
}

.consult-modal__close {
  position: absolute;
  top: 16px;
  right: 20px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.6);
  background: transparent;
  color: #fff;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

.consult-modal__title {
  margin: 0 0 6px;
  font-size: 22px;
  font-weight: 700;
}

.consult-modal__subtitle {
  margin: 0 0 20px;
  font-size: 14px;
  opacity: 0.85;
}

.consult-form__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 14px;
  font-size: 14px;
}

.consult-form__field input, .consult-form__field textarea {
  width: 100%;
  padding: 10px 14px;
  border-radius: 999px;
  border: none;
  outline: none;
  background: #fff;
  color: #000;
  font-size: 14px;
}

.consult-form__field textarea {
  border-radius: 10px;
  resize: vertical;
}

.consult-form__submit {
  margin-top: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 24px;
  border-radius: 999px;
  border: none;
  background: #ffffff;
  color: #070796;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
}

.consult-form__policy {
  margin-top: 10px;
  font-size: 12px;
  opacity: 0.8;
}

.consult-modal__close:hover {
  background: rgba(255, 255, 255, 0.16);
  transform: scale(1.05);
}

.consult-modal__title {
  margin: 0 44px 8px 0;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 700;
}

.consult-modal__subtitle {
  margin: 0 0 22px;
  font-size: 15px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.75);
}

.consult-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 12px;
}

.consult-table tr {
  vertical-align: top;
}

.consult-table td {
  padding: 0;
}

.consult-table td:first-child {
  width: 34%;
  padding-right: 14px;
  padding-top: 12px;
}

.consult-table label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.9);
}

.consult-form__field input, .consult-form__field textarea, .consult-table input, .consult-table textarea, .consult-table select {
  width: 100%;
  min-height: 46px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.96);
  color: #111;
  font-size: 14px;
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.consult-table textarea {
  min-height: 96px;
  resize: vertical;
}

.consult-table input:focus, .consult-table textarea:focus, .consult-table select:focus {
  border-color: #6d8cff;
  box-shadow: 0 0 0 3px rgba(109, 140, 255, 0.18);
}

.consult-form__submit {
  margin-top: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(180deg, #ffffff, #e9ecff);
  color: #10154a;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.consult-form__submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
}

.consult-form__submit:active {
  transform: translateY(0);
}

.consult-form__policy {
  margin: 12px 0 0;
  font-size: 12px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.68);
}

@media (max-width: 760px) {
  .consult-modal {
    padding: 12px;
  }

  .consult-modal__dialog {
    width: 100%;
    max-height: calc(100vh - 24px);
    padding: 22px 16px 18px;
    border-radius: 16px;
  }

  .consult-modal__title {
    font-size: 22px;
    margin-right: 40px;
  }

  .consult-modal__subtitle {
    font-size: 14px;
    margin-bottom: 16px;
  }

  .consult-table, .consult-table tbody, .consult-table tr, .consult-table td {
    display: block;
    width: 100%;
  }

  .consult-table tr {
    margin-bottom: 12px;
  }

  .consult-table td:first-child {
    width: 100%;
    padding-right: 0;
    padding-top: 0;
    margin-bottom: 6px;
  }

  .consult-table td:last-child {
    width: 100%;
  }

  .consult-table input, .consult-table textarea, .consult-table select {
    min-height: 44px;
  }
}
/* =========================================================
   consult-modal.css
   Объединённые стили модального окна "Консультация"
   ========================================================= */

/* Тело — блокируем скролл, когда модал открыт */
body.consult-modal-open {
  overflow: hidden;
}

.consult-form__field input,
.consult-form__field textarea {
  border-radius: 3px !important;
}

/* Обёртка модалки */
.consult-modal {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;

  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

/* Состояние "открыта" */
.consult-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}

/* Затемнение фона */
.consult-modal__backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 100% 100%, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.04) 16%, transparent 40%),
    rgba(4, 4, 90, 0.98); /* темнее и почти непрозрачный синий */
}

/* Сам блок формы (стекло) */
.consult-modal__dialog {
  position: relative;
  max-width: 640px;
  width: min(640px, 92vw);
  padding: 32px 40px 32px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.45);

  background:
    radial-gradient(circle at 100% 100%, rgba(255, 255, 255, 0.26) 0%, rgba(255, 255, 255, 0.06) 18%, transparent 42%),
    rgba(7, 7, 150, 0.96);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);

  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
  color: #fff;

  transform: translateY(20px);
  opacity: 0;
  transition:
    opacity 0.25s ease,
    transform 0.25s ease;
}

/* Анимация появления самого блока */
.consult-modal.is-open .consult-modal__dialog {
  opacity: 1;
  transform: translateY(0);
}

/* Крестик */
.consult-modal__close {
  position: absolute;
  top: 16px;
  right: 20px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.6);
  background: transparent;
  color: #fff;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

.consult-modal__close:hover {
  background: rgba(255, 255, 255, 0.16);
  transform: scale(1.05);
}

/* Заголовки (базовые значения, переопределяются ниже) */
.consult-modal__title {
  margin: 0 0 6px;
  font-size: 22px;
  font-weight: 700;
}

.consult-modal__subtitle {
  margin: 0 0 20px;
  font-size: 14px;
  opacity: 0.85;
}

/* Поля формы (базовые значения) */
.consult-form__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 14px;
  font-size: 14px;
}

.consult-form__field input,
.consult-form__field textarea {
  width: 100%;
  padding: 10px 14px;
  border-radius: 999px;
  border: none;
  outline: none;
  background: #fff;
  color: #000;
  font-size: 14px;
}

/* textarea с мягким радиусом */
.consult-form__field textarea {
  border-radius: 10px;
  resize: vertical;
}

/* Кнопка (базовые значения) */
.consult-form__submit {
  margin-top: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 24px;
  border-radius: 999px;
  border: none;
  background: #ffffff;
  color: #070796;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
}

/* Политика (базовые значения) */
.consult-form__policy {
  margin-top: 10px;
  font-size: 12px;
  opacity: 0.8;
}

@media (min-width: 761px) {
  .m-show {
    display: none !important;
  }
}

@media (max-width: 759px) {
  body .footer-block .reviews.reviews--real {
    width: 100% !important;
    max-width: 100% !important;
  }

  .footer-socials {
    display: none !important;
  }
}

/* =========================================================
   Второй блок стилей — уточняющие/переопределяющие правила
   (идут позже в исходном коде, поэтому каскадно "выигрывают"
   у одноимённых селекторов выше при равной специфичности)
   ========================================================= */

/* Заголовок — финальные значения */
.consult-modal__title {
  margin: 0 44px 8px 0;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 700;
}

.consult-modal__subtitle {
  margin: 0 0 22px;
  font-size: 15px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.75);
}

/* Таблица формы */
.consult-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 12px;
}

.consult-table tr {
  vertical-align: top;
}

.consult-table td {
  padding: 0;
}

.consult-table td:first-child {
  width: 34%;
  padding-right: 14px;
  padding-top: 12px;
}

.consult-table label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.9);
}

/* Поля — финальные значения (перекрывают базовые выше) */
.consult-form__field input,
.consult-form__field textarea,
.consult-table input,
.consult-table textarea,
.consult-table select {
  width: 100%;
  min-height: 46px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.96);
  color: #111;
  font-size: 14px;
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.consult-table textarea {
  min-height: 96px;
  resize: vertical;
}

.consult-table input:focus,
.consult-table textarea:focus,
.consult-table select:focus {
  border-color: #6d8cff;
  box-shadow: 0 0 0 3px rgba(109, 140, 255, 0.18);
}

/* Кнопка отправки — финальные значения */
.consult-form__submit {
  margin-top: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(180deg, #ffffff, #e9ecff);
  color: #10154a;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.consult-form__submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
}

.consult-form__submit:active {
  transform: translateY(0);
}

/* Политика — финальные значения */
.consult-form__policy {
  margin: 12px 0 0;
  font-size: 12px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.68);
}

/* Мобильная версия */
@media (max-width: 760px) {
  .consult-modal {
    padding: 12px;
  }

  .consult-modal__dialog {
    width: 100%;
    max-height: calc(100vh - 24px);
    padding: 22px 16px 18px;
    border-radius: 16px;
  }

  .consult-modal__title {
    font-size: 22px;
    margin-right: 40px;
  }

  .consult-modal__subtitle {
    font-size: 14px;
    margin-bottom: 16px;
  }

  .consult-table,
  .consult-table tbody,
  .consult-table tr,
  .consult-table td {
    display: block;
    width: 100%;
  }

  .consult-table tr {
    margin-bottom: 12px;
  }

  .consult-table td:first-child {
    width: 100%;
    padding-right: 0;
    padding-top: 0;
    margin-bottom: 6px;
  }

  .consult-table td:last-child {
    width: 100%;
  }

  .consult-table input,
  .consult-table textarea,
  .consult-table select {
    min-height: 44px;
  }
}