@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%;
  }

  .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;
  }

  .footer-button, body.js-anim .reveal-on-scroll {
    transition:none;
    transform:none;
  }
}

.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;
  }

  .agency-stats__inner {
    min-height:560px;
  }

  .agency-stats__cards {
    left:18px;
    right:18px;
    gap:10px;
  }

  .agency-stats__card {
    min-height:120px;
    padding:14px 12px 12px;
  }
}

@media (max-width:900px) {
  .benefit {
    min-height:170px;
  }

  .step {
    min-height:198px;
  }

  .cta-actions {
    grid-template-columns:1fr 1fr;
    max-width:680px;
  }

  .agency-promo {
    padding:18px 22px 24px;
  }

  .agency-promo__inner {
    min-height:500px;
    border-radius:14px;
    background-position:63% center;
  }

  .agency-promo__content {
    left:28px;
    top:34px;
    width:calc(100% - 56px);
  }

  .agency-promo__title {
    font-size:31px;
    line-height:1.18;
  }

  .agency-promo__subtitle {
    margin-top:18px;
    font-size:21px;
  }

  .agency-promo__contacts {
    left:28px;
    bottom:54px;
    gap:42px;
    flex-wrap:wrap;
  }

  .agency-promo__number {
    font-size:25px;
  }

  .agency-promo__note {
    font-size:16px;
  }

  .offers-intro {
    padding:72px 22px 84px;
  }

  .offers-intro__text {
    max-width:700px;
    font-size:32px;
  }

  .property-types {
    padding:0 22px 72px;
  }

  .property-types__grid {
    max-width:760px;
    grid-template-columns:repeat(2, 1fr);
    gap:14px;
  }

  .property-type {
    min-height:176px;
    padding:78px 16px 16px;
  }

  .property-type__title {
    font-size:20px;
    max-width:180px;
  }

  .property-type--5, .property-type--6 {
    grid-column:auto;
  }

  .realty-cta {
    padding:8px 18px 16px;
  }

  .realty-cta__inner {
    min-height:640px;
    background-position:62% center;
  }

  .realty-cta__links {
    left:24px;
    top:28px;
    gap:10px;
  }

  .realty-cta__link {
    font-size:20px;
  }

  .realty-cta__link svg {
    width:36px;
    height:36px;
  }

  .realty-cta__contact-card {
    right:0;
    left:24px;
    bottom:0;
    width:auto;
    border-width:6px;
    border-radius:18px 18px 0 0;
  }

  .realty-cta__contact-bottom {
    margin-top:34px;
  }

  .weekly-picks__title {
    font-size:31px;
    max-width:560px;
  }

  .weekly-picks__inner {
    min-height:auto;
  }

  .weekly-picks__cards {
    margin-top:120px;
    flex-wrap:wrap;
    gap:14px;
  }

  .weekly-picks__card, .weekly-picks__card--wide {
    width:calc(50% - 7px);
    min-height:450px;
  }

  .weekly-picks__card img,
  .weekly-picks__card picture {
    height:300px;
  }

  .personal-selection {
    padding:56px 22px 58px;
  }

  .personal-selection__text {
    font-size:30px;
  }

  .quiz-offer {
    padding:68px 20px 34px;
  }

  .quiz-offer__inner {
    width:min(680px, 100%);
  }

  .quiz-offer__top {
    padding-left:270px;
  }

  .quiz-offer__cards {
    width:min(548px, calc(100% - 40px));
    margin-left:auto;
    margin-right:auto;
  }

  .agency-stats {
    padding-bottom:18px;
  }

  .agency-stats__inner {
    min-height:620px;
    background-position:center top;
  }

  .agency-stats__cards {
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:10px;
  }

  .trust-block {
    min-height:430px;
  }

  .trust-block__art {
    width:100vw;
    max-width:none;
    height:auto;
  }

  .trust-block__content {
    padding-top:310px;
  }

  .reviews-slider {
    padding:46px 0 58px;
  }

  .reviews-slider__inner {
    width:calc(100% - 40px);
  }

  .reviews-slider__track {
    gap:22px;
  }

  .reviews-slider__card {
    flex-basis:320px;
    min-height:210px;
  }
}

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

  .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;
  }

  .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;
  }

  .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;
  }

  .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;
  }

  .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;
  }

  .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%);
  }

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

  .mobile-menu__list a {
    font-size:20px;
  }

  .mobile-menu__close {
    left:23px !important;
    right:auto !important;
  }

  .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;
  }

  .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;
  }

  .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(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;
  }

  .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;
  }

  .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;
  }

  .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-right {
    right:18px !important;
    left:auto !important;
  }

  .free-call {
    top:600px !important;
    right:18px !important;
    width:150px !important;
  }

  .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;
  }

  .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__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-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-pattern {
    bottom:12px !important;
    width:690px !important;
    height:46px !important;
    opacity:.28 !important;
  }

  .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;
  }

  .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;
  }

  .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;
  }

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

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

  .header-block {
    height:1270px !important;
  }

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

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

  .hero-center {
    top:610px !important;
    width:calc(100% - 32px) !important;
  }

  .hero-message {
    font-size:32px !important;
    line-height:1.14 !important;
  }

  .hero-arrow {
    margin-top:28px !important;
  }

  .hero-cta {
    min-width:290px !important;
    height:50px !important;
    margin-top:26px !important;
    padding:0 22px !important;
    border-radius:12px !important;
    font-size:16px !important;
  }

  .guild-cards {
    grid-template-columns:1fr !important;
    gap:16px !important;
    width:100% !important;
    margin-top:42px !important;
  }

  .guild-card {
    min-height:150px !important;
    padding:26px 28px !important;
    border-radius:12px !important;
  }

  .guild-card__top {
    gap:18px !important;
    margin-bottom:20px !important;
  }

  .guild-card__icon {
    width:50px !important;
    height:50px !important;
  }

  .guild-card--rgr .guild-card__icon {
    width:58px !important;
    height:50px !important;
  }

  .guild-card__abbr {
    font-size:24px !important;
  }

  .guild-card__text {
    font-size:17px !important;
    max-width:260px !important;
    .guild-card__png{ width:245px !important;
    };
  }

  .guild-card__png {
    width:245px !important;
  }

  .agency-promo {
    padding:16px 16px 22px;
  }

  .agency-promo__inner {
    min-height:560px;
    border-radius:12px;
    background-position:67% center;
  }

  .agency-promo__content {
    left:22px;
    top:26px;
    width:calc(100% - 44px);
  }

  .agency-promo__title {
    font-size:24px;
    line-height:1.2;
  }

  .agency-promo__subtitle {
    margin-top:16px;
    font-size:16px;
    line-height:1.3;
  }

  .agency-promo__contacts {
    left:22px;
    right:22px;
    bottom:28px;
    flex-direction:column;
    gap:22px;
  }

  .agency-promo__number {
    font-size:22px;
  }

  .agency-promo__note {
    font-size:14px;
  }

  .offers-intro {
    padding:56px 20px 68px;
  }

  .offers-intro__text {
    max-width:100%;
    font-size:28px;
    line-height:1.18;
  }

  .property-types {
    padding:0 16px 56px;
  }

  .property-types__grid {
    max-width:none;
    grid-template-columns:1fr 1fr;
    gap:12px;
  }

  .property-type {
    min-height:160px;
    padding:68px 14px 14px;
    border-radius:9px;
  }

  .property-type:before {
    width:30px;
    height:32px;
    border-bottom-right-radius:9px;
  }

  .property-type__num {
    font-size:21px;
  }

  .property-type__title {
    font-size:18px;
    line-height:1.12;
    max-width:150px;
  }

  .realty-cta {
    padding:8px 16px 14px;
  }

  .realty-cta__inner {
    min-height:620px;
    border-radius:12px;
    background-position:66% center;
  }

  .realty-cta__links {
    left:18px;
    top:18px;
  }

  .realty-cta__link {
    gap:10px;
    font-size:16px;
  }

  .realty-cta__link svg {
    width:30px;
    height:30px;
  }

  .realty-cta__contact-card {
    left:12px;
    right:12px;
    min-height:210px;
    padding:24px 20px 20px;
    border-radius:16px 16px 0 0;
  }

  .realty-cta__contact-title {
    font-size:20px;
  }

  .realty-cta__contact-bottom {
    margin-top:24px;
    flex-direction:column;
    align-items:flex-start;
  }

  .realty-cta__button {
    min-width:148px;
    height:44px;
    font-size:18px;
  }

  .realty-cta__socials {
    gap:18px;
  }

  .realty-cta__socials svg {
    width:34px;
    height:34px;
  }

  .weekly-picks {
    padding:34px 16px 34px;
  }

  .weekly-picks__title {
    font-size:25px;
    line-height:1.12;
    max-width:480px;
  }

  .weekly-picks__cards {
    margin-top:74px;
  }

  .weekly-picks__card, .weekly-picks__card--wide {
    width:100%;
    min-height:530px;
    border-radius:14px;
  }

  .weekly-picks__card img,
  .weekly-picks__card picture {
    height:330px;
  }

  .weekly-picks__card-title {
    font-size:20px;
  }

  .weekly-picks__card-line {
    margin:28px 0 12px;
  }

  .weekly-picks__button {
    margin-top:34px;
  }

  .personal-selection {
    padding:48px 18px 52px;
  }

  .personal-selection__text {
    font-size:25px;
    line-height:1.25;
  }

  .personal-selection__arrow {
    margin-top:34px;
  }

  .quiz-offer {
    padding:58px 14px 32px;
  }

  .quiz-offer__inner {
    width:min(540px, 100%);
    min-height:392px;
  }

  .quiz-offer__five {
    left:34px;
    top:-10px;
    width:154px;
  }

  .quiz-offer__top {
    padding-left:214px;
    padding-top:0;
  }

  .quiz-offer__heading {
    max-width:250px;
  }

  .quiz-offer__text {
    font-size:15px;
  }

  .quiz-offer__button {
    min-width:124px;
    height:36px;
    margin-top:14px;
    font-size:12px;
  }

  .quiz-offer__cards {
    width:min(100%, 520px);
    margin-top:52px;
    margin-left:auto;
    margin-right:auto;
    gap:8px;
  }

  .quiz-offer__card {
    height:236px;
    padding:18px 12px 18px;
  }

  .quiz-offer__digits, .quiz-offer__digits img {
    height:52px;
  }

  .quiz-offer__digits img[data-digit="0"] {
    height:54px;
  }

  .quiz-offer__card-text {
    left:12px;
    right:10px;
    bottom:26px;
    font-size:13px;
  }

  .quiz-offer__brands {
    bottom:0;
    height:58px;
  }

  .expert-profile {
    padding:50px 0 64px;
  }

  .expert-profile__inner {
    width:calc(100% - 24px);
    grid-template-columns:1fr;
    row-gap:24px;
  }

  .expert-profile__photo {
    width:100%;
    max-width:340px;
    height:340px;
  }

  .expert-profile__content {
    max-width:620px;
  }

  .expert-profile__name {
    font-size:28px;
  }

  .expert-profile__role {
    margin-top:14px;
    font-size:15px;
  }

  .expert-profile__bio {
    margin-top:42px;
    font-size:14px;
  }

  .expert-profile--anton {
    padding:38px 0 72px;
  }

  .expert-profile--anton .expert-profile__inner {
    width:calc(100% - 24px);
    grid-template-columns:1fr;
    row-gap:24px;
  }

  .expert-profile--anton .expert-profile__photo {
    order:1;
    width:100%;
    max-width:340px;
    height:340px;
    justify-self:start;
  }

  .expert-profile--anton .expert-profile__content {
    order:2;
    max-width:620px;
    text-align:left;
    justify-self:start;
  }

  .expert-profile--anton .expert-profile__bio {
    margin-top:42px;
    text-align:left;
    font-size:14px;
  }

  .footer-nav a {
    width:auto !important;
    padding:0 !important;
    margin-left:0 !important;
    border-radius:0 !important;
  }

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

  .mobile-menu__panel {
    background:linear-gradient(180deg, rgba(6,6,149,.46) 0%, rgba(6,6,149,.28) 100%) !important;
    backdrop-filter:blur(14px) !important;
    -webkit-backdrop-filter:blur(14px) !important;
    box-shadow:0 14px 38px rgba(6,6,149,.20), inset 0 1px 0 rgba(255,255,255,.16) !important;
    border-color:rgba(255,255,255,.35) !important;
  }

  .mobile-menu__close {
    width:20px !important;
    height:20px !important;
  }

  .mobile-topbar {
    padding:9px 12px;
    border-radius:14px;
  }

  .mobile-topbar {
    top:16px !important;
  }
}

@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;
  }

  .container {
    padding:0 16px;
  }

  .advantages {
    padding:68px 0 82px;
  }

  .advantages::before {
    height:56px;
  }

  .adv-grid {
    grid-template-columns:1fr 1fr;
    gap:16px;
    max-width:480px;
  }

  .adv-card {
    min-height:148px;
    padding:16px 16px 14px;
    border-radius:8px;
  }

  .adv-num {
    font-size:52px;
    margin-bottom:8px;
  }

  .adv-title {
    font-size:16px;
    margin-bottom:8px;
  }

  .adv-text {
    font-size:12px;
  }

  .adv-cta {
    margin-top:34px;
  }

  .advantages-track {
    gap:10px;
  }

  .advantages-track span {
    font-size:54px;
  }

  .team {
    padding:34px 0 90px;
  }

  .team-grid {
    grid-template-columns:1fr 1fr;
    gap:16px 14px;
  }

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

  .team-role {
    font-size:11px;
  }

  .team-overlay {
    padding:14px 12px;
  }

  .team-overlay-name {
    font-size:16px;
  }

  .team-overlay-role {
    font-size:11px;
  }

  .team-overlay-btn {
    width:88px;
    height:30px;
    font-size:11px;
  }
}

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;
}

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

@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;
  }

  .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;
  }

  .footer-pattern {
    bottom:13px !important;
    width:690px !important;
    height:48px !important;
    opacity:.36 !important;
  }

  .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;
  }

  .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;
  }

  .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;
  }

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

  .header-lead {
    top:880px !important;
  }

  .header-form-box {
    top:1080px !important;
  }

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

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

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

  .header-block {
    height:1210px !important;
  }

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

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

  .hero-center {
    top:585px !important;
    width:calc(100% - 28px) !important;
  }

  .hero-message {
    font-size:26px !important;
    line-height:1.16 !important;
  }

  .hero-arrow svg {
    width:32px !important;
    height:17px !important;
  }

  .hero-cta {
    min-width:100% !important;
    height:48px !important;
    font-size:15px !important;
  }

  .guild-cards {
    margin-top:36px !important;
    gap:14px !important;
  }

  .guild-card {
    min-height:138px !important;
    padding:22px 24px !important;
  }

  .guild-card__text {
    font-size:15px !important;
  }

  .agency-promo__inner {
    min-height:500px;
    background-position:71% center;
  }

  .agency-promo__title {
    font-size:21px;
  }

  .agency-promo__subtitle {
    font-size:15px;
  }

  .offers-intro {
    padding:44px 18px 56px;
  }

  .offers-intro__text {
    font-size:22px;
    line-height:1.2;
  }

  .property-types__grid {
    grid-template-columns:1fr;
  }

  .property-type {
    min-height:144px;
    padding-top:62px;
  }

  .property-type__title {
    max-width:100%;
    font-size:19px;
  }

  .realty-cta__inner {
    min-height:560px;
  }

  .realty-cta__link {
    font-size:14px;
  }

  .realty-cta__contact-title {
    font-size:18px;
  }

  .weekly-picks__title {
    font-size:21px;
  }

  .weekly-picks__card-title {
    font-size:18px;
  }

  .weekly-picks__card-price {
    font-size:15px;
  }

  .personal-selection {
    padding:40px 16px 46px;
  }

  .personal-selection__text {
    font-size:21px;
    line-height:1.28;
    letter-spacing:.02em;
  }

  .quiz-offer {
    padding:56px 12px 30px;
  }

  .quiz-offer__inner {
    width:min(351px, 100%);
    min-height:410px;
  }

  .quiz-offer__five {
    left:28px;
    top:-2px;
    width:138px;
  }

  .quiz-offer__top {
    padding-left:186px;
    padding-top:0;
  }

  .quiz-offer__heading {
    max-width:150px;
  }

  .quiz-offer__text {
    font-size:11px;
    line-height:1.03;
  }

  .quiz-offer__button {
    min-width:103px;
    height:34px;
    margin-top:14px;
    padding:0 10px;
    font-size:10px;
  }

  .quiz-offer__cards {
    width:315px;
    margin-top:62px;
    margin-left:auto;
    margin-right:auto;
    gap:6px;
  }

  .quiz-offer__card {
    height:260px;
    padding:18px 10px 16px;
    border-radius:8px;
  }

  .quiz-offer__digits, .quiz-offer__digits img {
    height:50px;
  }

  .quiz-offer__digits img[data-digit="0"] {
    height:52px;
  }

  .quiz-offer__card-text {
    left:10px;
    right:8px;
    bottom:26px;
    font-size:12px;
    line-height:1.1;
  }

  .quiz-offer__brands {
    bottom:0;
    height:50px;
  }

  .agency-stats__inner {
    min-height:520px;
  }

  .agency-stats__cards {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .trust-block {
    min-height:386px;
  }

  .trust-block__art {
    width:100vw;
    max-width:none;
    height:auto;
  }

  .trust-block__content {
    padding-top:272px;
  }

  .trust-block__title {
    font-size:20px;
  }

  .trust-block__subtitle {
    max-width:300px;
    font-size:12px;
  }

  .expert-profile {
    padding:46px 0 58px;
  }

  .expert-profile__photo {
    height:300px;
  }

  .expert-profile__name {
    font-size:21px;
    letter-spacing:.06em;
  }

  .expert-profile__role {
    font-size:13px;
  }

  .expert-profile__bio {
    font-size:12px;
  }

  .expert-profile--anton .expert-profile__name {
    font-size:21px;
    letter-spacing:.06em;
  }

  .expert-profile--anton .expert-profile__role {
    font-size:13px;
  }

  .expert-profile--anton .expert-profile__photo {
    height:310px;
  }
}

@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;
  }

  .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;
  }

  .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;
  }

  .footer-pattern {
    bottom:10px !important;
    width:620px !important;
    height:44px !important;
  }

  .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 .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 {
    top:512px !important;
    font-size:11px !important;
  }

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

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

  .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-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;
  }

  .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;
  }

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

  .header-lead {
    top:840px !important;
  }

  .header-form-box {
    top:1040px !important;
  }

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

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

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

  .header-block {
    height:1120px !important;
  }

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

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

  .hero-message {
    font-size:23px !important;
  }

  .hero-cta {
    height:46px !important;
    font-size:14px !important;
  }

  .guild-card {
    min-height:130px !important;
    padding:20px 22px !important;
  }

  .guild-card__abbr {
    font-size:21px !important;
  }

  .guild-card__text {
    font-size:14px !important;
  }
}

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

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

  .m-show {
    display:none!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;
}

.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:20px !important;
  right:20px !important;
  opacity:1 !important;
  padding:10px 16px !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:14px !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:84px !important;
  height:auto !important;
  opacity:1 !important;
  filter:drop-shadow(0 2px 8px rgba(0,0,80,.28)) !important;
}

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

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

.mobile-phone__number {
  font-size:16px !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:15px !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;
}

.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;
}

.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;
}

.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);
}

.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;
}

.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));
}

.footer-address {
  width:calc(360px * var(--scale-x)) !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;
}

.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;
  color: #fff !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;
}

.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;
  }

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

  .specialization {
    padding:60px 0 72px;
  }

  .specialization__inner {
    width:min(620px, calc(100% - 56px));
  }

  .specialization__title {
    font-size:30px;
  }

  .specialization__grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
    column-gap:52px;
    row-gap:36px;
    justify-items:start;
  }

  .expert-profile {
    padding:56px 0 56px;
  }

  .expert-profile__inner {
    width:min(1120px, calc(100% - 40px));
    grid-template-columns:340px minmax(0, 1fr);
    column-gap:44px;
  }

  .expert-profile__photo {
    width:340px;
    height:360px;
  }

  .expert-profile__name {
    font-size:34px;
  }

  .expert-profile__role {
    font-size:18px;
  }

  .expert-profile__bio {
    margin-top:96px;
    font-size:16px;
  }

  .expert-profile--anton .expert-profile__inner {
    width:min(1120px, calc(100% - 40px));
    grid-template-columns:minmax(0, 1fr) 340px;
    column-gap:44px;
  }

  .expert-profile--anton .expert-profile__photo {
    width:340px;
    height:360px;
  }

  .expert-profile--anton .expert-profile__name {
    font-size:34px;
  }

  .expert-profile--anton .expert-profile__bio {
    margin-top:92px;
    font-size:16px;
  }
}

.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;
}

.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;
  }
}

:root {
  --blue-top:#4645c0;
  --blue-mid:#2e2db6;
  --blue-bottom:#060695;
  --white:#fff;
  --blue-text:#2b2b8f;
  --gray-bg:#f3f3f5;
  --card-glass:rgba(215,213,255,.26);
  --card-border:rgba(255,255,255,.42);
}

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

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

.advantages {
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#4645c0 0%, #2e2db6 44%, #060695 100%);
  padding:84px 0 96px;
  margin-top:0;
  border-radius:0;
  z-index:3;
  color:#fff;
}

.advantages::before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:72px;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.06) 28%, rgba(255,255,255,0) 100%);
  pointer-events:none;
}

.adv-grid {
  max-width:900px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.adv-card {
  min-height:146px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.42);
  background:rgba(215,213,255,.26);
  color:#fff;
  padding:18px 18px 16px;
  backdrop-filter:blur(2px);
}

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

.adv-title {
  font-size:17px;
  line-height:1.18;
  font-weight:700;
  margin-bottom:8px;
}

.adv-text {
  font-size:13px;
  line-height:1.35;
  color:rgba(255,255,255,.9);
  max-width:330px;
}

.adv-cta {
  display:flex;
  justify-content:center;
  margin-top:40px;
  position:relative;
  z-index:2;
}

.btn-outline {
  min-width:220px;
  height:42px;
  padding:0 20px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.78);
  color:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:500;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-transform:lowercase;
  background:transparent;
  transition:background .28s ease,color .28s ease,border-color .28s ease,box-shadow .28s ease,transform .28s ease;
}

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

.advantages-pattern {
  position:absolute;
  left:0;
  right:0;
  bottom:4px;
  height:78px;
  overflow:hidden;
  opacity:.18;
  pointer-events:none;
}

.advantages-marquee {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  overflow:hidden;
  white-space:nowrap;
}

.advantages-track {
  display:flex;
  align-items:flex-end;
  width:max-content;
  gap:14px;
  animation:footerMoveLTR 28s linear infinite;
}

.advantages-track span {
  display:block;
  flex:none;
  font-size:74px;
  line-height:.8;
  font-weight:600;
  text-transform:uppercase;
  color:transparent;
  -webkit-text-stroke:2px rgba(255,255,255,.34);
  user-select:none;
}

.team {
  background:#f3f3f5;
  padding:58px 0 120px;
  color:#111;
}

.team-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  align-items:start;
}

.team-card {
  display:block;
  position:relative;
}

.team-surface {
  position:relative;
  border-radius:8px;
  overflow:hidden;
}

.team-photo {
  position:relative;
  width:100%;
  aspect-ratio:1/1.08;
  overflow:hidden;
  background:#ddd;
  margin-bottom:10px;
}

.team-photo img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease,opacity .35s ease;
}

.team-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,#5d59df 0%,#211fd0 100%);
  color:#fff;
  padding:18px 16px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  opacity:0;
  visibility:hidden;
  transition:opacity .35s ease,visibility .35s ease;
  z-index:3;
}

.team-overlay::before {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:180px;
  height:180px;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(84,140,255,.58) 0%,rgba(73,108,255,.28) 38%,rgba(52,72,214,0) 72%);
  filter:blur(10px);
  pointer-events:none;
}

.team-overlay>* {
  position:relative;
  z-index:1;
}

.team-overlay-name {
  font-size:20px;
  line-height:1.12;
  font-weight:700;
  margin-bottom:8px;
}

.team-overlay-role {
  font-size:13px;
  line-height:1.28;
  color:rgba(255,255,255,.88);
  max-width:210px;
}

.team-overlay-btn {
  width:112px;
  height:36px;
  border-radius:7px;
  border:1px solid rgba(255,255,255,.72);
  color:#fff;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  background:transparent;
  text-transform:lowercase;
  transition:background .25s ease,border-color .25s ease,transform .25s ease;
}

.team-overlay-btn:hover {
  background:#005DFF;
  border-color:#005DFF;
  transform:translateY(-2px);
}

.team-card:hover .team-photo img {
  transform:scale(1.03);
  opacity:0;
}

.team-card:hover .team-overlay {
  opacity:1;
  visibility:visible;
}

.team-info {
  padding-top:0;
  transition:opacity .25s ease,visibility .25s ease;
}

.team-card:hover .team-info {
  opacity:0;
  visibility:hidden;
}

.team-name {
  color:#1f258f;
  font-size:16px;
  line-height:1.15;
  font-weight:700;
  margin-bottom:2px;
}

.team-role {
  color:#3e438e;
  font-size:13px;
  line-height:1.2;
  max-width:310px;
}

@keyframes footerMoveLTR{0%{transform:translateX(-50%);}100%{transform:translateX(0);}}

body.js-anim .adv-card.reveal-on-scroll,body.js-anim .team-card.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 .adv-card.reveal-on-scroll.is-visible,body.js-anim .team-card.reveal-on-scroll.is-visible {
  opacity:1;
  transform:translateY(0);
}

@media (max-width:560px) {
  .adv-grid {
    gap:14px;
  }

  .adv-card {
    min-height:146px;
  }

  .adv-num {
    font-size:50px;
  }

  .adv-title {
    font-size:15px;
  }

  .adv-text {
    font-size:11px;
  }

  .team-grid {
    gap:14px;
  }

  .team-photo {
    border-radius:7px;
    margin-bottom:8px;
  }

  .team-name {
    font-size:12px;
  }

  .team-role {
    font-size:10px;
  }

  .service-steps::before {
    width:18px;
  }

  .service-steps {
    padding:58px 0 88px;
  }

  .service-steps__inner {
    width:calc(100% - 28px);
  }

  .service-steps__layout {
    grid-template-columns:minmax(0, 1fr) 170px;
    column-gap:18px;
    margin-top:112px;
  }

  .service-steps__item {
    grid-template-columns:minmax(0, 1fr) 18px;
    gap:10px;
    min-height:23px;
  }

  .service-steps__item + .service-steps__item {
    margin-top:4px;
  }

  .service-steps__title {
    font-size:15px;
  }

  .service-steps__icon {
    width:18px;
    height:18px;
  }

  .service-steps__side {
    padding-top:121px;
  }

  .service-steps__text {
    font-size:7px;
    line-height:1.15;
  }

  .service-steps__text + .service-steps__text {
    margin-top:25px;
  }

  .service-steps__bottom {
    flex-direction:row;
    align-items:flex-end;
    gap:18px;
    margin-top:36px;
  }

  .service-steps__button {
    min-height:27px;
    padding:0 12px;
    font-size:10px;
    border-radius:6px;
  }

  .reviews-slider {
    padding:38px 0 50px;
  }

  .reviews-slider__inner {
    width:calc(100% - 28px);
  }

  .reviews-slider__track {
    gap:16px;
  }

  .reviews-slider__card {
    flex-basis:282px;
    min-height:205px;
    padding:24px 20px 20px;
  }

  .reviews-slider__name {
    font-size:20px;
  }

  .reviews-slider__text {
    margin-top:34px;
    font-size:12px;
  }

  .reviews-slider__range {
    margin-top:38px;
  }

  .service-steps {
    padding:54px 0 72px !important;
  }

  .service-steps__inner {
    width:calc(100% - 28px) !important;
  }

  .service-steps__layout {
    margin-top:72px !important;
  }

  .service-steps__item {
    min-height:33px !important;
  }

  .service-steps__item + .service-steps__item {
    margin-top:2px !important;
  }

  .service-steps__title {
    font-size:17px !important;
    letter-spacing:.02em !important;
  }

  .service-steps__bottom {
    grid-template-columns:150px minmax(160px, 200px) !important;
    align-items:start !important;
    margin-top:24px !important;
  }

  .service-steps__button {
    min-height:20px !important;
    padding:0 10px !important;
    font-size:8px !important;
    border-radius:5px !important;
  }

  .service-steps__button-arrow {
    width:12px !important;
    height:12px !important;
  }

  .service-steps__side {
    max-width:190px !important;
  }

  .service-steps__text {
    max-width:190px !important;
    font-size:7px !important;
    line-height:1.15 !important;
  }

  .service-steps__text + .service-steps__text {
    margin-top:16px !important;
  }
}

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

  .team-grid {
    grid-template-columns:1fr 1fr;
    gap:12px 10px;
  }

  .team-name {
    font-size:11px;
  }

  .team-role {
    font-size:9px;
  }
}

.header-lead, .header-form-box {
  display:none !important;
}

.header-block, .header-canvas {
  height:674px !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;
  transition:background .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

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

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

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

.footer-button:hover, .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;
}

.social-grid a:hover, .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;
}

.hero-copy {
  position: absolute;
  top: calc(200px * var(--scale-y));
}

.advantages {
  padding: 84px 0 145px!important;
}

.advantages-pattern {
  bottom: 35px!important;
}

.btn-outline:hover,.team-overlay-btn:hover {
  background: linear-gradient(135deg, #eef0ff 0%, #cfd2ff 100%) !important;
  color: #122CB0 !important;
}

.team-overlay-role {
  margin-bottom: 40px;
}

.team-overlay__phone, .team-overlay__email {
  display: block;
  font-size: 13px;
  text-decoration: none;
}

.team-overlay__phone {
  margin-bottom: 16px;
}

.team-overlay__email {
  margin-bottom: 13px;
}

.team-overlay__socials {
  display: flex;
  gap: 20px;
}

.team-overlay__socials a {
  display: grid;
  place-items: center;
  width: calc(60px * var(--scale-y));
  height: calc(60px * var(--scale-y));
  border: 1px solid rgba(255, 255, 255, .56);
  border-radius: 50%;
  padding: 10px;
  background: rgba(255, 255, 255, .10);
  color: #fff;
}

.team-overlay__socials svg {
  width: 34px;
  height: 34px;
  fill: #fff;
}

.intro {
  min-height: 100vh;
  background: #f4f4f4;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 2px solid #1b1ba8;
}

.intro .container {
  width: 100%;
  max-width: 1400px;
  text-align: center;
}

.intro-title {
  margin: 0;
  color: #11116f;
  font-weight: 400;
  font-size: clamp(48px, 5vw, 82px);
  line-height: 0.95;
  letter-spacing: -0.03em;
}

.intro-title-gradient {
  background: linear-gradient( 90deg, #6768ff 0%, #4d4ec9 50%, #11116f 100% );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.intro-arrow {
  margin: 80px auto 0;
  width: 48px;
  height: 48px;
  border: none;
  background: transparent;
  color: #1b1ba8;
  cursor: pointer;
  animation: introArrow 1.8s ease-in-out infinite;
}

.intro-arrow svg {
  width: 100%;
  height: 100%;
}

.advantages {
  background: linear-gradient(160deg, var(--blue-top) 0%, var(--blue-mid) 52%, var(--blue-bottom) 100%)!important;
  padding: 84px 0 200px !important;
}

.advantages-pattern {
  bottom: 45px !important;
}

@media (min-width: 764px) {
  .adv-card {
    padding: 32px 18px 31px;
  }

  .adv-grid {
    max-width: 100%;
  }

  .adv-num {
    font-size: 100px;
  }

  .adv-text {
    font-size: 23px;
  }

  .adv-title {
    font-size: 35px;
  }
}

.btn-outline {
  font-size: 16px;
}

@keyframes introArrow { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(12px); } }

@media (max-width: 980px) {
  .intro-title {
    font-size:28px;
  }

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

@media (max-width: 680px) {
  .intro {
    padding:46px 0 34px;
  }

  .intro-title {
    max-width:560px;
    font-size:24px;
    line-height:1.2;
  }

  .team-overlay-role {
    margin-bottom: 10px;
  }

  .team-overlay__phone {
    margin-bottom: 5px;
  }

  .team-overlay__email {
    margin-bottom: 5px;
  }

  .team-overlay__socials svg {
    width: 16px;
    height: 16px;
    fill: #fff;
  }
}

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

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

.header-block {
  height:1030px;
  background:#060695;
}

.header-canvas {
  height:1030px;
  background:#060695;
}

.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;
  opacity:.3;
  filter:drop-shadow(0 0 18px rgba(255,255,255,.06));
}

.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);
}

.guild-card.guild-card--rgr.guild-card--rgr-png {
  background-color: rgba(180, 180, 180, 0.35);
}

.hero-center {
  position:absolute;
  left:50%;
  top:calc(430px * var(--scale-y));
  width:min(calc(900px * var(--scale-x)), calc(100% - 48px));
  transform:translateX(-50%);
  z-index:2;
  text-align:center;
}

.hero-message {
  margin:0;
  color:#fff;
  font-size:calc(30px * var(--scale-y));
  line-height:1.1;
  font-weight:400;
  letter-spacing:0;
}

.service-steps {
  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);
}

.hero-arrow {
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:calc(38px * var(--scale-y));
}

.hero-arrow svg {
  display:block;
  width:calc(38px * var(--scale-y));
  height:calc(20px * var(--scale-y));
}

.hero-cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:calc(298px * var(--scale-x));
  height:calc(54px * var(--scale-y));
  margin-top:calc(36px * var(--scale-y));
  padding:0 calc(26px * var(--scale-x));
  border:1px solid rgba(255,255,255,.92);
  border-radius:calc(14px * var(--scale-y));
  color:#fff;
  font-size:calc(18px * var(--scale-y));
  line-height:1;
  font-weight:400;
  text-decoration:none;
  transition:background .28s ease,color .28s ease,border-color .28s ease,box-shadow .28s ease,transform .28s ease;
}

.hero-cta:hover, .hero-cta:focus-visible {
  background:rgba(255,255,255,.14);
  border-color:#fff;
  color:#fff;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
  transform:translateY(-2px);
}

.guild-cards {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  width:min(778px, calc(100% - 96px));
  margin:82px auto 0;
}

.guild-card {
  min-height:196px;
  padding:36px 32px 30px;
  border:1px solid rgba(255,255,255,.88);
  border-radius:12px;
  background:#4242ae;
  color:#fff;
  text-align:left;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.guild-card__top {
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:30px;
}

.guild-card__icon {
  display:block;
  flex:0 0 auto;
  width:64px;
  height:64px;
}

.guild-card__icon svg {
  display:block;
  width:100%;
  height:100%;
}

.guild-card__abbr {
  display:block;
  font-size:28px;
  line-height:1;
  font-weight:700;
  letter-spacing:.02em;
}

.guild-card__text {
  margin:0;
  max-width:260px;
  font-size:17px;
  line-height:1.22;
  font-weight:400;
  letter-spacing:.01em;
}

.guild-card--rgr .guild-card__top {
  gap:22px;
}

.guild-card--rgr .guild-card__icon {
  width:74px;
  height:64px;
}

.guild-card--grm-png {
  justify-content:flex-start;
}

.guild-card__png {
  display:block;
  width:260px;
  max-width:100%;
  height:auto;
  object-fit:contain;
  object-position:left top;
}

.guild-card--rgr-png {
  justify-content:flex-start;
}

.footer-button {
  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 {
  background:#005DFF;
  border-color:#005DFF;
  color:#fff;
  box-shadow:0 14px 34px rgba(0,93,255,.32);
  transform:translateY(-2px);
}

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

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

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

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

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

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

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

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

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

.mobile-menu__close {
  position:absolute;
  right:calc(min(760px, 54vw) + 28px);
  top:34px;
  z-index:3;
  width:34px;
  height:34px;
  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:7px;
  top:16px;
  width:18px;
  height:1px;
  background:#fff;
  transform:rotate(45deg);
  transform-origin:center;
}

.mobile-menu__panel {
  position:absolute;
  top:34px;
  right:34px;
  bottom:34px;
  width:min(760px, 54vw);
  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;
}

.mobile-menu__panel:before, .mobile-menu__panel:after {
  content:"SAP";
  position:absolute;
  left:-120px;
  right:auto;
  color:rgba(255,255,255,.34);
  font-size:260px;
  line-height:.75;
  font-weight:700;
  letter-spacing:-16px;
  filter:blur(9px);
  opacity:.72;
  pointer-events:none;
  transform:scaleX(1.7);
}

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

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

.mobile-menu__list {
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:38px;
  margin:0;
  padding:58px 64px 48px 72px;
  list-style:none;
}

.mobile-menu__list a {
  display:block;
  color:#fff;
  font-size:26px;
  line-height:1.25;
  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;
}

.agency-promo {
  width:100%;
  padding:20px 31px 28px;
  background:#ececec;
  color:#fff;
  box-sizing:border-box;
}

.agency-promo__inner {
  position:relative;
  min-height:546px;
  overflow:hidden;
  border-radius:17px;
  background: url(/img/promo.png) center center / cover no-repeat;
}

.agency-promo__content {
  position:absolute;
  left:40px;
  top:50px;
  width:min(640px, calc(100% - 80px));
  z-index:2;
}

.agency-promo__title {
  margin:0;
  max-width:640px;
  color:#fff;
  font-size:37px;
  line-height:1.18;
  font-weight:700;
  letter-spacing:.01em;
  text-transform:uppercase;
}

.agency-promo__subtitle {
  margin:24px 0 0;
  max-width:610px;
  color:rgba(255,255,255,.96);
  font-size:25px;
  line-height:1.2;
  font-weight:300;
  letter-spacing:.01em;
}

.agency-promo__contacts {
  position:absolute;
  left:42px;
  bottom:84px;
  display:flex;
  align-items:flex-start;
  gap:104px;
  z-index:2;
}

.agency-promo__phone {
  display:block;
  color:#fff;
  text-decoration:none;
}

.agency-promo__number {
  display:block;
  font-size:29px;
  line-height:1;
  font-weight:400;
  letter-spacing:.01em;
}

.agency-promo__note {
  display:block;
  margin-top:10px;
  color:rgba(255,255,255,.92);
  font-size:18px;
  line-height:1.15;
  font-weight:300;
  letter-spacing:0;
}

.offers-intro {
  background:#ececec;
  padding:88px 24px 104px;
}

.offers-intro__text {
  margin:0 auto;
  max-width:800px;
  color:#171875;
  text-align:center;
  font-size:38px;
  line-height:1.15;
  font-weight:400;
  letter-spacing:0;
}

.offers-intro__accent {
  color:#5255c7;
}

.property-types {
  background:#ececec;
  padding:0 24px 88px;
}

.property-types__grid {
  max-width:930px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:16px 12px;
}

.property-type {
  position:relative;
  min-height:190px;
  padding:84px 18px 18px;
  border-radius:10px;
  background:#cbc9ee;
  color:#17208a;
  text-decoration:none;
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  overflow:visible;
}

.property-type:before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:34px;
  height:36px;
  background:#ececec;
  border-bottom-right-radius:10px;
}

.property-type__num {
  position:absolute;
  left:0;
  top:0;
  transform:translateY(-2px);
  color:#1a237f;
  font-size:23px;
  line-height:1;
  font-weight:400;
  z-index:2;
}

.property-type__title {
  margin:0;
  max-width:170px;
  font-size:22px;
  line-height:1.15;
  font-weight:400;
  letter-spacing:0;
}

.property-type--active {
  background:#0906ad;
  color:#fff;
}

.property-type--active .property-type__title {
  color:#fff;
}

.property-type--active .property-type__num {
  color:#1a237f;
}

.property-type--5 {
  grid-column:2 / span 1;
}

.property-type--6 {
  grid-column:3 / span 1;
}

.realty-cta {
  background:#ececec;
  padding:6px 25px 18px;
}

.realty-cta__inner {
  position:relative;
  min-height:592px;
  border-radius:14px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(232, 237, 247, .18) 0%, rgba(232, 237, 247, .18) 100%), url(/img/realty-cta__inner.png) center center / cover no-repeat;
}

.realty-cta__links {
  position:absolute;
  left:42px;
  top:44px;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.realty-cta__link {
  display:inline-flex;
  align-items:center;
  gap:14px;
  text-decoration:none;
  font-size:24px;
  line-height:1.15;
  font-weight:700;
  letter-spacing:0;
  text-transform:uppercase;
}

.realty-cta__link svg {
  width:42px;
  height:42px;
  flex:0 0 auto;
  display:block;
}

.realty-cta__link--light {
  color:#fff;
}

.realty-cta__link--accent {
  color:#3F3FAB;
}

.realty-cta__contact-card {
  position:absolute;
  right:-8px;
  bottom:-10px;
  width:487px;
  min-height:261px;
  padding:44px 36px 34px;
  border:8px solid #f4f4f4;
  border-radius:24px 0 0 0;
  background:linear-gradient(180deg,#4e4bd2 0%, #3431bf 100%);
  box-sizing:border-box;
  color:#fff;
  z-index:3;
}

.realty-cta__contact-title {
  margin:0;
  font-size:29px;
  line-height:1.18;
  font-weight:400;
  letter-spacing:0;
}

.realty-cta__contact-bottom {
  margin-top:60px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.realty-cta__button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-width:157px;
  height:46px;
  padding:0 16px;
  border-radius:9px;
  background:#d8d8fa;
  color:#1928a8;
  font-size:19px;
  line-height:1;
  font-weight:400;
  text-decoration:none;
  box-sizing:border-box;
}

.realty-cta__button svg {
  width:19px;
  height:19px;
  display:block;
}

.realty-cta__socials {
  display:flex;
  align-items:center;
  gap:26px;
}

.realty-cta__socials a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  text-decoration:none;
}

.realty-cta__socials svg {
  display:block;
  width:42px;
  height:42px;
}

@media (max-width:1100px) {
  .realty-cta {
    padding:8px 22px 18px;
  }

  .realty-cta__inner {
    min-height:560px;
  }

  .realty-cta__contact-card {
    width:430px;
    min-height:232px;
    padding:36px 28px 28px;
  }

  .realty-cta__contact-title {
    font-size:25px;
  }

  .weekly-picks {
    padding:42px 24px 40px;
  }

  .weekly-picks__inner {
    min-height:680px;
  }

  .weekly-picks__cards {
    margin-top:285px;
    gap:12px;
  }

  .weekly-picks__card {
    width:calc(28% - 9px);
    min-width:0;
  }

  .weekly-picks__card--wide {
    width:calc(33% - 9px);
  }

  .weekly-picks__card-title {
    font-size:18px;
  }

  .weekly-picks__card-price {
    font-size:16px;
  }

  .service-steps__inner {
    width:min(960px, calc(100% - 72px));
  }

  .service-steps__layout {
    grid-template-columns:minmax(0, 1fr) 260px;
    column-gap:48px;
  }

  .service-steps__title {
    font-size:24px;
  }

  .service-steps__side {
    padding-top:164px;
  }
}

.weekly-picks {
  background:linear-gradient(135deg, #0608b8 0%, #191bc6 24%, #2d2dc6 58%, #4747c6 100%);
  padding:58px 38px 42px;
  color:#fff;
}

.weekly-picks__inner {
  max-width:980px;
  min-height:724px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.weekly-picks__title {
  margin:0;
  max-width:620px;
  text-align:center;
  font-size:38px;
  line-height:1.08;
  font-weight:400;
  letter-spacing:0;
}

.weekly-picks__cards {
  width:100%;
  margin-top:330px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:14px;
}

.weekly-picks__card {
  position:relative;
  width:210px;
  min-height:480px;
  padding:0 18px 22px;
  border-radius:16px;
  overflow:hidden;
  background:linear-gradient(135deg, #f0f1fb 0%, #d6d6f4 100%);
  color:#1f2a8b;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
}

.weekly-picks__card--wide {
  width:250px;
}

.weekly-picks__card img,
.weekly-picks__card picture {
  display:block;
  width:calc(100% + 36px);
  height:290px;
  margin:0 -18px 16px;
  object-fit:cover;
  flex-shrink:0;
}

.weekly-picks__card-title {
  margin:0;
  font-size:22px;
  line-height:1.12;
  font-weight:400;
  letter-spacing:0;
}

.weekly-picks__card-line {
  height:1px;
  margin:34px 0 12px;
  background:rgba(70,82,180,.5);
}

.weekly-picks__card-price {
  margin:0;
  font-size:18px;
  line-height:1.1;
  font-weight:400;
  letter-spacing:0;
}

.weekly-picks__card-arrow {
  position:absolute;
  right:14px;
  bottom:18px;
  width:28px;
  height:28px;
  color:#6c71d7;
}

.weekly-picks__card-arrow svg {
  display:block;
  width:100%;
  height:100%;
}

.weekly-picks__button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:160px;
  height:30px;
  margin-top:58px;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.85);
  border-radius:10px;
  color:#fff;
  text-decoration:none;
  font-size:16px;
  line-height:1;
  font-weight:400;
  letter-spacing:0;
  transition:background .25s ease, transform .25s ease;
}

.weekly-picks__button:hover, .weekly-picks__button:focus-visible {
  background:rgba(255,255,255,.10);
  transform:translateY(-1px);
}

.personal-selection {
  background:#ececec;
  padding:62px 24px 64px;
  color:#171875;
}

.personal-selection__inner {
  max-width:760px;
  margin:0 auto;
  text-align:center;
}

.personal-selection__text {
  margin:0;
  font-size:34px;
  line-height:1.22;
  font-weight:400;
  letter-spacing:.04em;
}

.personal-selection__accent {
  color:#5558c8;
}

.personal-selection__arrow {
  display:flex;
  justify-content:center;
  margin-top:46px;
  color:#20258d;
}

.personal-selection__arrow svg {
  width:16px;
  height:9px;
  display:block;
}

.quiz-offer {
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#575ed4 0%,#3239cd 24%,#1b22c1 63%,#0b10b6 100%);
  color:#fff;
  padding:78px 24px 34px;
}

.quiz-offer__inner {
  position:relative;
  width:min(720px, 100%);
  min-height:426px;
  margin:0 auto;
}

.quiz-offer__five {
  position:absolute;
  left:56px;
  top:-14px;
  width:178px;
  height:auto;
  opacity:.50;
  pointer-events:none;
  user-select:none;
  z-index:1;
}

.quiz-offer__top {
  position:relative;
  z-index:2;
  padding-left:300px;
  padding-top:0;
}

.quiz-offer__heading {
  max-width:320px;
}

.quiz-offer__text {
  margin:0;
  color:#fff;
  font-size:17px;
  line-height:1.02;
  font-weight:400;
  letter-spacing:.01em;
  text-transform:uppercase;
}

.quiz-offer__button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:137px;
  height:39px;
  margin-top:18px;
  padding:0 16px;
  border:1px solid rgba(255,255,255,.76);
  border-radius:6px;
  background:rgba(255,255,255,.02);
  color:#fff;
  text-decoration:none;
  font-size:13px;
  line-height:1;
  font-weight:400;
}

.quiz-offer__cards {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:10px;
  width:548px;
  margin:62px auto 0;
}

.quiz-offer__card {
  position:relative;
  height:261px;
  padding:20px 14px 20px;
  border:1px solid rgba(255,255,255,.46);
  border-radius:8px;
  background:rgba(97,97,192,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
  box-sizing:border-box;
  overflow:hidden;
}

.quiz-offer__digits {
  display:flex;
  align-items:flex-start;
  gap:4px;
  height:58px;
}

.quiz-offer__digits img {
  display:block;
  height:58px;
  width:auto;
  object-fit:contain;
}

.quiz-offer__digits img[data-digit="0"] {
  height:60px;
}

.quiz-offer__card-text {
  position:absolute;
  left:14px;
  right:12px;
  bottom:30px;
  margin:0;
  color:#fff;
  font-size:15px;
  line-height:1.12;
  font-weight:400;
  letter-spacing:0;
}

.quiz-offer__brands {
  position:absolute;
  left:50%;
  bottom:2px;
  z-index:1;
  width:100vw;
  height:72px;
  transform:translateX(-50%);
  opacity:.44;
  object-fit:cover;
  object-position:center;
  pointer-events:none;
  user-select:none;
}

.agency-stats {
  background:#ececec;
  padding:0 0 22px;
}

.agency-stats__inner {
  position:relative;
  min-height:640px;
  background: url(/img/agency-stats__inner.png) center center / cover no-repeat;
  overflow:hidden;
}

.agency-stats__cards {
  position:absolute;
  left:24px;
  right:24px;
  bottom:0;
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:12px;
  align-items:end;
}

.agency-stats__card {
  min-height:128px;
  border-radius:8px 8px 0 0;
  padding:16px 14px 14px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.agency-stats__card--dark {
  background:#0606a8;
  color:#fff;
}

.agency-stats__card--light {
  background:#d9d8fa;
  color:#3f3fab;
}

.agency-stats__mark {
  display:flex;
  align-items:flex-start;
  min-height:48px;
}

.agency-stats__mark svg, .agency-stats__mark img {
  display:block;
  width:auto;
  max-width:100%;
  height:48px;
}

.agency-stats__card--icon .agency-stats__mark svg, .agency-stats__card--icon .agency-stats__mark img {
  height:42px;
}

.agency-stats__text {
  margin:10px 0 0;
  font-size:12px;
  line-height:1.24;
  font-weight:400;
  letter-spacing:0;
}

@media (max-width:640px) {
  .agency-stats__inner {
    min-height:560px;
  }

  .agency-stats__cards {
    left:12px;
    right:12px;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
  }

  .agency-stats__card {
    min-height:112px;
    padding:12px 10px 12px;
    border-radius:8px 8px 0 0;
  }

  .agency-stats__mark {
    min-height:40px;
  }

  .agency-stats__mark svg, .agency-stats__mark img {
    height:40px;
  }

  .agency-stats__card--icon .agency-stats__mark svg, .agency-stats__card--icon .agency-stats__mark img {
    height:36px;
  }

  .agency-stats__text {
    font-size:11px;
  }

  .specialization {
    padding:50px 0 60px;
  }

  .specialization__inner {
    width:calc(100% - 32px);
  }

  .specialization__title {
    font-size:26px;
    line-height:1.16;
  }

  .specialization__arrow {
    margin:20px 0 40px;
  }

  .specialization__grid {
    grid-template-columns:1fr;
    row-gap:28px;
  }

  .specialization__item {
    max-width:none;
  }

  .specialization__text {
    font-size:15px;
    line-height:1.1;
  }

  .trust-block {
    min-height:410px;
    padding-bottom:28px;
  }

  .trust-block__art {
    width:100vw;
    max-width:none;
    height:auto;
  }

  .trust-block__content {
    width:calc(100% - 32px);
    padding-top:290px;
  }

  .trust-block__title {
    font-size:22px;
  }

  .trust-block__subtitle {
    font-size:13px;
    line-height:1.18;
  }
}

.specialization {
  background:#ececec;
  padding:72px 0 82px;
  color:#3F3FAB;
}

.specialization__inner {
  width:min(620px, calc(100% - 72px));
  margin:0 auto;
}

.specialization__title {
  margin:0;
  text-align:center;
  color:#232a8f;
  font-size:33px;
  line-height:1.12;
  font-weight:400;
  letter-spacing:0;
}

.specialization__title .accent {
  color:#5660df;
}

.specialization__arrow {
  display:flex;
  align-items:center;
  justify-content:center;
  margin:24px 0 56px;
}

.specialization__arrow svg {
  display:block;
  width:22px;
  height:12px;
}

.specialization__grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  column-gap:46px;
  row-gap:44px;
  justify-items:start;
}

.specialization__item {
  width:100%;
  max-width:160px;
  color:#3F3FAB;
}

.specialization__icon {
  display:block;
  width:19px;
  height:19px;
  margin:0 0 10px;
}

.specialization__icon svg {
  display:block;
  width:100%;
  height:100%;
}

.specialization__text {
  margin:0;
  color:#4f56ba;
  font-size:14px;
  line-height:1.05;
  font-weight:400;
  letter-spacing:0;
}

.specialization__text strong {
  color:#2f35a6;
  font-weight:700;
}

.service-steps {
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#0b0fbf 0%, #0a10bb 55%, #090eb5 100%);
  padding:74px 0 116px;
  color:#fff;
}

.service-steps::before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:34px;
  background:linear-gradient(90deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,.08) 38%, rgba(255,255,255,0) 100%);
  pointer-events:none;
}

.service-steps__pattern {
  position:absolute;
  left:50%;
  top:28px;
  width:100vw;
  height:76px;
  transform:translateX(-50%);
  object-fit:cover;
  object-position:center;
  opacity:.22;
  pointer-events:none;
  user-select:none;
}

.service-steps__inner {
  position:relative;
  z-index:1;
  width:min(1120px, calc(100% - 136px));
  margin:0 auto;
}

.service-steps__layout {
  display:grid;
  grid-template-columns:minmax(0, 1fr) 300px;
  column-gap:64px;
  align-items:start;
  margin-top:142px;
}

.service-steps__list {
  list-style:none;
  padding:0;
  margin:0;
}

.service-steps__item {
  display:grid;
  grid-template-columns:minmax(0, 1fr) 38px;
  align-items:center;
  gap:28px;
  min-height:44px;
  border-bottom:1px solid rgba(255,255,255,.52);
}

.service-steps__item + .service-steps__item {
  margin-top:10px;
}

.service-steps__title {
  margin:0;
  color:#fff;
  font-size:28px;
  line-height:1.05;
  font-weight:400;
  letter-spacing:0;
}

.service-steps__icon {
  width:26px;
  height:26px;
  justify-self:end;
}

.service-steps__icon svg {
  display:block;
  width:100%;
  height:100%;
}

.service-steps__side {
  padding-top:148px;
}

.service-steps__text {
  margin:0;
  color:rgba(255,255,255,.94);
  font-size:12px;
  line-height:1.2;
  font-weight:400;
  max-width:270px;
}

.service-steps__text + .service-steps__text {
  margin-top:36px;
}

.service-steps__bottom {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:32px;
  margin-top:46px;
}

.service-steps__button {
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:30px;
  padding:0 14px 0 13px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:7px;
  color:#fff;
  text-decoration:none;
  font-size:11px;
  line-height:1;
  font-weight:400;
}

.service-steps__button-arrow {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
}

.service-steps__rule {
  height:1px;
  margin-top:16px;
  background:rgba(255,255,255,.58);
}

@media (max-width:860px) {
  .service-steps {
    padding:58px 0 92px;
  }

  .service-steps__inner {
    width:calc(100% - 44px);
  }

  .service-steps__pattern {
    top:24px;
    height:58px;
  }

  .service-steps__layout {
    grid-template-columns:minmax(0, 1fr) 176px;
    column-gap:24px;
    row-gap:0;
    margin-top:122px;
  }

  .service-steps__title {
    font-size:15px;
    line-height:1.08;
  }

  .service-steps__item {
    grid-template-columns:minmax(0, 1fr) 18px;
    gap:14px;
    min-height:25px;
  }

  .service-steps__item + .service-steps__item {
    margin-top:5px;
  }

  .service-steps__icon {
    width:18px;
    height:18px;
  }

  .service-steps__side {
    padding-top:126px;
    max-width:176px;
  }

  .service-steps__text {
    font-size:8px;
    line-height:1.15;
    max-width:170px;
  }

  .service-steps__text + .service-steps__text {
    margin-top:26px;
  }

  .service-steps__bottom {
    margin-top:38px;
  }

  .service-steps__layout {
    margin-top:104px !important;
  }

  .service-steps__main, .service-steps__bottom, .service-steps__rule {
    width:100% !important;
  }

  .service-steps__item {
    grid-template-columns:minmax(0, 1fr) 18px !important;
    min-height:33px !important;
    gap:10px !important;
  }

  .service-steps__title {
    font-size:18px !important;
    line-height:1.08 !important;
  }

  .service-steps__icon {
    width:18px !important;
    height:18px !important;
  }

  .service-steps__bottom {
    grid-template-columns:150px minmax(160px, 200px) !important;
    gap:18px !important;
    margin-top:22px !important;
  }

  .service-steps__text {
    font-size:7.5px !important;
    line-height:1.16 !important;
    max-width:200px !important;
  }

  .service-steps__text + .service-steps__text {
    margin-top:18px !important;
  }
}

.trust-block {
  position:relative;
  overflow:hidden;
  background:#ececec;
  color:#20278f;
  min-height:460px;
  padding:0 0 34px;
}

.trust-block__art {
  position:absolute;
  left:50%;
  top:0;
  width:100vw;
  max-width:none;
  height:auto;
  transform:translateX(-50%);
  pointer-events:none;
  user-select:none;
}

.trust-block__full-svg {
  display:block;
  width:100%;
  height:auto;
  opacity:.55;
}

.trust-block__content {
  position:relative;
  z-index:1;
  width:min(620px, calc(100% - 44px));
  margin:0 auto;
  padding-top:335px;
  text-align:center;
}

.trust-block__title {
  margin:0;
  color:#20278f;
  font-size:27px;
  line-height:1.15;
  font-weight:400;
  letter-spacing:0;
}

.trust-block__title .accent {
  color:#5b63d9;
}

.trust-block__subtitle {
  margin:16px auto 0;
  max-width:430px;
  color:#2d33a4;
  font-size:15px;
  line-height:1.2;
  font-weight:400;
  letter-spacing:0;
}

.trust-block__arrow {
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:24px;
  color:#3F3FAB;
}

.trust-block__arrow svg {
  display:block;
  width:14px;
  height:9px;
}

.reviews-slider {
  background:#ececec;
  padding:54px 0 66px;
  color:#122CB0;
  overflow:hidden;
}

.reviews-slider__inner {
  width:min(1180px, calc(100% - 56px));
  margin:0 auto;
}

.reviews-slider__viewport {
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  scrollbar-width:none;
  cursor:grab;
}

.reviews-slider__viewport::-webkit-scrollbar {
  display:none;
}

.reviews-slider__viewport.is-dragging {
  cursor:grabbing;
  scroll-behavior:auto;
}

.reviews-slider__track {
  display:flex;
  gap:30px;
  width:max-content;
  padding:0 0 8px;
}

.reviews-slider__card {
  flex:0 0 360px;
  min-height:220px;
  box-sizing:border-box;
  border-radius:10px;
  background:#d7d7f8;
  padding:28px 26px 22px;
  display:flex;
  flex-direction:column;
  color:#122CB0;
}

.reviews-slider__name {
  margin:0;
  font-size:23px;
  line-height:1.1;
  font-weight:400;
  letter-spacing:0;
}

.reviews-slider__text {
  margin:42px 0 0;
  font-size:13px;
  line-height:1.08;
  font-weight:400;
  letter-spacing:0;
}

.reviews-slider__footer {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  margin-top:auto;
  padding-top:16px;
}

.reviews-slider__expand {
  color:#122CB0;
  text-decoration:none;
  font-size:13px;
  line-height:1;
  font-weight:400;
}

.reviews-slider__icon {
  width:24px;
  height:24px;
  color:#122CB0;
  flex:0 0 auto;
}

.reviews-slider__icon svg {
  display:block;
  width:100%;
  height:100%;
}

.reviews-slider__range {
  margin-top:54px;
  height:8px;
  display:flex;
  align-items:center;
}

.reviews-slider__bar {
  position:relative;
  width:100%;
  height:4px;
  background:#d4d4f2;
  overflow:hidden;
}

.reviews-slider__progress {
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:36%;
  background:#4b4fc9;
  transform-origin:left center;
}

.reviews-slider__input {
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.expert-profile {
  background:#ececec;
  padding:56px 0 56px;
  color:#122CB0;
}

.expert-profile__inner {
  width:min(1120px, calc(100% - 40px));
  margin:0 auto;
  display:grid;
  grid-template-columns:340px minmax(0, 1fr);
  column-gap:44px;
  align-items:start;
}

.expert-profile__photo {
  width:340px;
  height:360px;
  border-radius:4px;
  overflow:hidden;
  background:#d9d9d9;
}

.expert-profile__photo img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
}

.expert-profile__content {
  padding-top:0;
  max-width:560px;
}

.expert-profile__name {
  margin:0;
  color:#122CB0;
  font-size:34px;
  line-height:1.05;
  font-weight:400;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.expert-profile__role {
  margin:16px 0 0;
  color:#8c91cc;
  font-size:18px;
  line-height:1.14;
  font-weight:400;
  letter-spacing:.02em;
}

.expert-profile__bio {
  margin:96px 0 0;
  color:#122CB0;
  font-size:16px;
  line-height:1.2;
  font-weight:400;
  letter-spacing:.01em;
}

.expert-profile__bio p {
  margin:0;
}

.expert-profile__bio p + p {
  margin-top:22px;
}

.expert-profile__button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:118px;
  height:36px;
  margin-top:30px;
  padding:0 18px;
  border-radius:4px;
  background:#2320a7;
  color:#fff;
  text-decoration:none;
  font-size:13px;
  line-height:1;
  font-weight:400;
}

.expert-profile--anton {
  background:#ececec;
  padding:30px 0 88px;
}

.expert-profile--anton .expert-profile__inner {
  width:min(1120px, calc(100% - 40px));
  grid-template-columns:minmax(0, 1fr) 340px;
  column-gap:44px;
  align-items:start;
}

.expert-profile--anton .expert-profile__content {
  max-width:520px;
  padding-top:0;
  text-align:right;
  justify-self:end;
}

.expert-profile--anton .expert-profile__name {
  font-size:34px;
  line-height:1.05;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.expert-profile--anton .expert-profile__role {
  margin-top:16px;
  color:#8c91cc;
  font-size:18px;
  line-height:1.14;
}

.expert-profile--anton .expert-profile__photo {
  width:340px;
  height:500px;
  border-radius:4px;
  justify-self:start;
}

.expert-profile--anton .expert-profile__photo img {
  object-fit:cover;
  object-position:center center;
}

.expert-profile--anton .expert-profile__bio {
  margin-top:92px;
  font-size:16px;
  line-height:1.2;
  text-align:right;
}

.expert-profile--anton .expert-profile__bio p + p {
  margin-top:22px;
}

.expert-profile--anton .expert-profile__button {
  margin-top:30px;
  min-width:118px;
  height:36px;
  background:#d9d7fb;
  color:#2320a7;
}

@keyframes sapansArrowFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(8px); } }

@keyframes sapansLogoTrain{ 0%{ transform:translateX(-50%); } 100%{ transform:translateX(0); } }

@keyframes sapansRevealUp{ from{ opacity:0; transform:translateY(34px); } to{ opacity:1; transform:translateY(0); } }

@keyframes sapansReviewsAuto{ 0%{ transform:translateX(0); } 100%{ transform:translateX(-390px); } }

.hero-scroll, .hero-arrow, .scroll-down, .specialization__arrow, .personal-selection__arrow, .trust-block__arrow, [class*="__arrow"] {
  will-change:transform;
}

.specialization__arrow, .personal-selection__arrow, .trust-block__arrow {
  animation:sapansArrowFloat 1.7s ease-in-out infinite;
}

.property-types__card, .property-type, .property-types a, .category-card {
  transition:background .28s ease, color .28s ease, transform .28s ease, box-shadow .28s ease;
}

.property-types__card:hover, .property-type:hover, .property-types a:hover, .category-card:hover {
  background:linear-gradient(135deg,#102ff0 0%,#0606a8 100%) !important;
  color:#fff !important;
  transform:translateY(-3px);
  box-shadow:0 14px 32px rgba(18,44,176,.16);
}

.property-types__card:hover *, .property-type:hover *, .property-types a:hover *, .category-card:hover * {
  color:#fff !important;
}

.realty-cta__link {
  transition:background .28s ease, color .28s ease, transform .28s ease, box-shadow .28s ease;
}

.realty-cta__link:hover, .realty-cta__link:focus-visible {
  background:#122CB0 !important;
  color:#fff !important;
  transform:translateY(-3px);
  box-shadow:0 16px 32px rgba(18,44,176,.20);
}

.realty-cta__link:hover svg, .realty-cta__link:focus-visible svg {
  color:#fff !important;
}

.realty-cta__link:hover svg path, .realty-cta__link:focus-visible svg path {
  fill:#fff !important;
  stroke:#fff !important;
}

.weekly-picks__cards {
  align-items:stretch;
}

.weekly-picks__card {
  flex:1 1 0;
  transition:flex-basis .36s ease, flex-grow .36s ease, transform .3s ease, background .3s ease, box-shadow .3s ease;
}

.weekly-picks__card:hover {
  flex-grow:1.85;
  transform:translateY(-5px);
  box-shadow:0 20px 38px rgba(0,0,0,.12);
}

.weekly-picks__cards:hover .weekly-picks__card:not(:hover) {
  flex-grow:.78;
}

.service-steps__pattern {
  width:200vw !important;
}

.service-steps__item {
  cursor:pointer;
  transition:background .25s ease, padding .25s ease;
}

.service-steps__item:hover {
  background:rgba(255,255,255,.06);
}

.service-steps__item.is-open {
  background:rgba(255,255,255,.08);
}

.service-steps__details {
  grid-column:1 / -1;
  max-height:0;
  overflow:hidden;
  opacity:0;
  color:rgba(255,255,255,.9);
  font-size:14px;
  line-height:1.35;
  transition:max-height .35s ease, opacity .25s ease, padding .35s ease;
}

.service-steps__item.is-open .service-steps__details {
  max-height:140px;
  opacity:1;
  padding:8px 44px 12px 0;
}

.service-steps__item.is-open .service-steps__icon {
  transform:rotate(90deg);
}

.service-steps__icon {
  transition:transform .28s ease;
}

.reviews-slider__track {
  animation:sapansReviewsAuto 24s linear infinite alternate;
}

.reviews-slider__viewport:hover .reviews-slider__track, .reviews-slider__viewport.is-dragging .reviews-slider__track {
  animation-play-state:paused;
}

.reviews-slider__expand {
  cursor:pointer;
}

.review-modal {
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(0,0,0,.42);
}

.review-modal.is-open {
  display:flex;
}

.review-modal__card {
  width:min(620px, calc(100vw - 40px));
  max-height:82vh;
  overflow:auto;
  border-radius:14px;
  background:#d7d7f8;
  color:#122CB0;
  padding:34px 32px;
  box-shadow:0 24px 80px rgba(0,0,0,.28);
  animation:sapansRevealUp .28s ease both;
}

.review-modal__top {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:24px;
}

.review-modal__name {
  margin:0;
  font-size:26px;
  font-weight:400;
}

.review-modal__close {
  border:0;
  background:#122CB0;
  color:#fff;
  border-radius:50%;
  width:34px;
  height:34px;
  cursor:pointer;
  font-size:22px;
  line-height:1;
}

.review-modal__text {
  margin:0;
  font-size:16px;
  line-height:1.38;
}

.expert-profile__button, .realty-cta__button {
  transition:background .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.expert-profile__button:hover, .expert-profile__button:focus-visible, .realty-cta__button:hover, .realty-cta__button:focus-visible {
  background:#102ff0 !important;
  color:#fff !important;
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(18,44,176,.22);
}

.weekly-picks__button, .quiz-offer__button, .service-steps__button, .hero-button, .header-cta, button[class*="outline"], a[class*="outline"] {
  transition:background .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.weekly-picks__button:hover, .quiz-offer__button:hover, .service-steps__button:hover, .hero-button:hover, .header-cta:hover, button[class*="outline"]:hover, a[class*="outline"]:hover {
  background:linear-gradient(135deg,#eef0ff 0%,#cfd2ff 100%) !important;
  color:#122CB0 !important;
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(18,44,176,.16);
}

.reveal-up {
  opacity:0;
  transform:translateY(34px);
  transition:opacity .7s ease, transform .7s ease;
}

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

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.001ms !important;
  }
}

@media (max-width: 768px) {
  html, body {
    width:100%;
    overflow-x:hidden;
  }

  .design-block, .header-block, .footer-block {
    width:100% !important;
    max-width:100% !important;
  }

  .header-block {
    min-height:auto !important;
  }

  .site-header, .header-top, .hero-header {
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .desktop-menu, .header-menu, .nav-desktop {
    display:none !important;
  }

  .mobile-menu, .burger-menu, .menu-panel {
    max-width:100%;
  }

  .brand-scene, .brand-logo, .brand-wrap {
    transform-origin:center top;
  }

  .hero-title, .hero-main-title, .hero-copy, .hero-text {
    max-width:100% !important;
    padding-left:18px !important;
    padding-right:18px !important;
    text-align:center !important;
    font-size:clamp(24px, 7vw, 38px) !important;
    line-height:1.12 !important;
  }

  .hero-button, .header-cta, .expert-start, .start-expert {
    max-width:calc(100vw - 40px);
    margin-left:auto !important;
    margin-right:auto !important;
  }

  section {
    max-width:100%;
  }

  .agency-promo {
    padding:32px 12px !important;
  }

  .agency-promo__inner {
    min-height:360px !important;
    border-radius:10px !important;
    background-position:center center !important;
  }

  .agency-promo__title {
    font-size:clamp(25px, 7vw, 34px) !important;
    line-height:1.1 !important;
  }

  .agency-promo__subtitle, .agency-promo__phones, .agency-promo__note {
    font-size:clamp(13px, 3.7vw, 18px) !important;
  }

  .offers-intro, .personal-selection, .trust-block {
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .offers-intro__text, .personal-selection__text, .trust-block__title {
    font-size:clamp(22px, 6.6vw, 30px) !important;
    line-height:1.18 !important;
  }

  .property-types {
    padding:40px 16px !important;
  }

  .property-types__grid, .property-types__list {
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    width:100% !important;
    max-width:100% !important;
  }

  .property-types__card, .property-type, .property-types a {
    width:auto !important;
    min-height:132px !important;
    padding:18px 14px;
  }

  .realty-cta {
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .realty-cta__inner {
    display:block !important;
    min-height:auto !important;
    border-radius:10px !important;
  }

  .realty-cta__links {
    position:relative !important;
    left:auto !important;
    top:auto !important;
    padding:24px 18px !important;
  }

  .realty-cta__link {
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    margin-bottom:12px !important;
    font-size:18px !important;
  }

  .realty-cta__link svg {
    width:36px !important;
    height:36px !important;
    flex:0 0 36px;
  }

  .realty-cta__contact-card {
    position:relative !important;
    right:auto !important;
    bottom:auto !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    border-radius:12px !important;
    padding:24px 18px !important;
  }

  .realty-cta__contact-title {
    font-size:22px !important;
  }

  .weekly-picks {
    padding:48px 14px 42px !important;
  }

  .weekly-picks__inner {
    min-height:auto !important;
  }

  .weekly-picks__title {
    font-size:clamp(22px, 6.4vw, 30px) !important;
    max-width:100% !important;
  }

  .weekly-picks__cards {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-top:56px !important;
  }

  .weekly-picks__card, .weekly-picks__card--wide {
    width:100% !important;
    min-height:530px !important;
    flex:none !important;
  }

  .weekly-picks__card img,
  .weekly-picks__card picture {
    height:330px !important;
  }

  .weekly-picks__card:hover {
    transform:translateY(-3px);
  }

  .quiz-offer {
    padding:48px 12px 48px !important;
  }

  .quiz-offer__inner {
    width:100% !important;
    min-height:auto !important;
  }

  .quiz-offer__five {
    width:120px !important;
    left:10px !important;
    top:4px !important;
  }

  .quiz-offer__top {
    padding-left:150px !important;
    min-height:120px !important;
  }

  .quiz-offer__text {
    font-size:13px !important;
  }

  .quiz-offer__cards {
    width:100% !important;
    margin:28px auto 0 !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .quiz-offer__card {
    height:178px !important;
  }

  .quiz-offer__card-text {
    font-size:13px !important;
  }

  .quiz-offer__brands {
    height:42px !important;
  }

  .agency-stats__inner {
    min-height:360px !important;
    background-position:center top !important;
    overflow-x:auto !important;
  }

  .agency-stats__cards {
    left:12px !important;
    right:auto !important;
    grid-template-columns:repeat(5, 112px) !important;
    gap:8px !important;
    min-width:592px !important;
  }

  .agency-stats__card {
    width:112px !important;
  }

  .specialization {
    padding:48px 16px 58px !important;
  }

  .specialization__inner {
    width:100% !important;
  }

  .specialization__title {
    font-size:clamp(22px, 6.2vw, 28px) !important;
  }

  .specialization__grid {
    grid-template-columns:1fr !important;
    gap:24px !important;
    width:100% !important;
  }

  .specialization__item {
    max-width:100% !important;
  }

  .specialization__text {
    font-size:15px !important;
    line-height:1.18 !important;
  }

  .specialization__icon {
    width:22px !important;
    height:22px !important;
  }

  .service-steps {
    padding:64px 0 78px !important;
  }

  .service-steps__inner {
    width:calc(100% - 28px) !important;
  }

  .service-steps__layout {
    display:block !important;
    margin-top:104px !important;
  }

  .service-steps__item {
    grid-template-columns:minmax(0, 1fr) 24px !important;
    min-height:38px !important;
  }

  .service-steps__title {
    font-size:18px !important;
  }

  .service-steps__icon {
    width:22px !important;
    height:22px !important;
  }

  .service-steps__details {
    font-size:12px !important;
    padding-right:0 !important;
  }

  .service-steps__side {
    padding-top:28px !important;
    max-width:100% !important;
  }

  .service-steps__text {
    max-width:100% !important;
    font-size:13px !important;
    line-height:1.3 !important;
  }

  .service-steps__bottom {
    margin-top:30px !important;
  }

  .trust-block {
    min-height:360px !important;
  }

  .trust-block__art {
    width:150vw !important;
    left:50% !important;
  }

  .trust-block__content {
    padding-top:240px !important;
  }

  .trust-block__subtitle {
    font-size:13px !important;
  }

  .reviews-slider {
    padding:38px 0 48px !important;
  }

  .reviews-slider__inner {
    width:calc(100% - 24px) !important;
  }

  .reviews-slider__track {
    gap:14px !important;
  }

  .reviews-slider__card {
    flex-basis:280px !important;
    min-height:205px !important;
    padding:22px 18px 18px !important;
  }

  .reviews-slider__name {
    font-size:20px !important;
  }

  .reviews-slider__text {
    margin-top:28px !important;
    font-size:12px !important;
    line-height:1.12 !important;
  }

  .reviews-slider__range {
    margin-top:34px !important;
  }

  .expert-profile, .expert-profile--anton {
    padding:44px 0 54px !important;
  }

  .expert-profile__inner, .expert-profile--anton .expert-profile__inner {
    width:calc(100% - 24px) !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  .expert-profile__photo, .expert-profile--anton .expert-profile__photo {
    width:100% !important;
    max-width:360px !important;
    height:360px !important;
    justify-self:center !important;
  }

  .expert-profile__content, .expert-profile--anton .expert-profile__content {
    max-width:100% !important;
    text-align:left !important;
    justify-self:stretch !important;
  }

  .expert-profile--anton .expert-profile__content {
    order:2 !important;
  }

  .expert-profile--anton .expert-profile__photo {
    order:1 !important;
  }

  .expert-profile__name, .expert-profile--anton .expert-profile__name {
    font-size:clamp(23px, 6.6vw, 32px) !important;
    line-height:1.08 !important;
  }

  .expert-profile__role, .expert-profile--anton .expert-profile__role {
    font-size:15px !important;
  }

  .expert-profile__bio, .expert-profile--anton .expert-profile__bio {
    margin-top:34px !important;
    font-size:14px !important;
    line-height:1.28 !important;
    text-align:left !important;
  }

  .expert-profile__button, .expert-profile--anton .expert-profile__button {
    min-width:108px !important;
    height:34px !important;
    font-size:12px !important;
  }

  .footer-block, footer {
    overflow-x:hidden;
  }

  .footer-claim, .reviews, .socials{}

  .footer__reviews {
    display: flex;
  }

  .footer__reviews iframe:nth-child(2) {
    margin-left: 12px;
  }

  .guild-cards {
    width:calc(100% - 24px) !important;
    margin:30px auto 0 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .guild-card {
    width:100% !important;
    min-height:164px !important;
    height:auto !important;
    padding:26px 28px !important;
    border-radius:10px !important;
    overflow:hidden !important;
  }

  .guild-card__png {
    width:230px !important;
    max-width:80% !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:left center !important;
  }

  .guild-card--rgr-png .guild-card__png {
    width:250px !important;
    max-width:82% !important;
  }

  .guild-card__top {
    align-items:center !important;
  }

  .realty-cta {
    padding:24px 10px 18px !important;
    background:#ececec !important;
  }

  .realty-cta__inner {
    width:100% !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    border-radius:8px !important;
    overflow:hidden !important;
    background-position:center top !important;
  }

  .realty-cta__links {
    position:relative !important;
    z-index:2 !important;
    padding:24px 18px 0 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:18px !important;
  }

  .realty-cta__link {
    width:100% !important;
    min-height:42px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    font-size:18px !important;
    line-height:1.1 !important;
    font-weight:600 !important;
    white-space:normal !important;
  }

  .realty-cta__link svg {
    width:38px !important;
    height:38px !important;
    flex:0 0 38px !important;
  }

  .realty-cta__contact-card {
    position:relative !important;
    z-index:3 !important;
    width:auto !important;
    margin:34px 14px 0 !important;
    padding:26px 18px 28px !important;
    border-radius:0 !important;
    background:#3F3FAB !important;
  }

  .realty-cta__contact-title {
    margin:0 !important;
    font-size:22px !important;
    line-height:1.15 !important;
    color:#fff !important;
  }

  .realty-cta__contact-bottom {
    margin-top:26px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:24px !important;
  }

  .realty-cta__button {
    min-width:148px !important;
    height:44px !important;
    padding:0 18px !important;
    border-radius:7px !important;
    background:#e2e3ff !important;
    color:#122CB0 !important;
    font-size:16px !important;
  }

  .realty-cta__socials {
    display:flex !important;
    align-items:center !important;
    gap:26px !important;
  }

  .realty-cta__socials a {
    width:38px !important;
    height:38px !important;
    color:#fff !important;
  }

  .expert-profile, .expert-profile--anton {
    padding:42px 0 52px !important;
    background:#ececec !important;
  }

  .expert-profile__inner, .expert-profile--anton .expert-profile__inner {
    width:calc(100% - 28px) !important;
    max-width:430px !important;
    margin:0 auto !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  .expert-profile__photo, .expert-profile--anton .expert-profile__photo {
    width:100% !important;
    max-width:360px !important;
    height:360px !important;
    margin:0 auto !important;
    justify-self:center !important;
    border-radius:4px !important;
    overflow:hidden !important;
  }

  .expert-profile__photo img, .expert-profile--anton .expert-profile__photo img {
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  .expert-profile__content, .expert-profile--anton .expert-profile__content {
    width:100% !important;
    max-width:100% !important;
    text-align:left !important;
    justify-self:stretch !important;
    padding:0 !important;
  }

  .expert-profile__name, .expert-profile--anton .expert-profile__name {
    width:100% !important;
    margin:0 !important;
    font-size:clamp(24px, 7vw, 32px) !important;
    line-height:1.08 !important;
    letter-spacing:.06em !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    white-space:normal !important;
  }

  .expert-profile__role, .expert-profile--anton .expert-profile__role {
    margin-top:12px !important;
    font-size:16px !important;
    line-height:1.18 !important;
  }

  .expert-profile__bio, .expert-profile--anton .expert-profile__bio {
    margin-top:34px !important;
    font-size:14px !important;
    line-height:1.28 !important;
    text-align:left !important;
    max-width:100% !important;
  }

  .expert-profile__bio br, .expert-profile--anton .expert-profile__bio br {
    display:none !important;
  }

  .expert-profile__bio p + p, .expert-profile--anton .expert-profile__bio p + p {
    margin-top:16px !important;
  }

  .expert-profile__button, .expert-profile--anton .expert-profile__button {
    min-width:112px !important;
    height:34px !important;
    margin-top:24px !important;
    font-size:12px !important;
  }
}

@media (max-width: 420px) {
  .property-types__grid, .property-types__list {
    grid-template-columns:1fr !important;
  }

  .quiz-offer__top {
    padding-left:128px !important;
  }

  .quiz-offer__five {
    width:105px !important;
  }

  .expert-profile__photo, .expert-profile--anton .expert-profile__photo {
    height:320px !important;
  }

  .realty-cta__contact-bottom {
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:18px !important;
  }
}

@media (max-width: 430px) {
  .guild-card {
    min-height:150px !important;
    padding:22px 24px !important;
  }

  .guild-card__png {
    width:200px !important;
  }

  .guild-card--rgr-png .guild-card__png {
    width:220px !important;
  }

  .realty-cta__contact-card {
    margin-left:8px !important;
    margin-right:8px !important;
  }

  .expert-profile__inner, .expert-profile--anton .expert-profile__inner {
    width:calc(100% - 20px) !important;
  }

  .expert-profile__photo, .expert-profile--anton .expert-profile__photo {
    max-width:340px !important;
    height:320px !important;
  }

  .expert-profile__name, .expert-profile--anton .expert-profile__name {
    font-size:25px !important;
  }

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

  .hero-center {
    top: 548px !important;
    width: calc(100% - 28px) !important;
  }

  .hero-message {
    font-size: 25px !important;
  }

  .guild-cards {
    margin-top: 36px !important;
    gap: 16px !important;
  }

  .guild-card {
    min-height: 152px !important;
    padding: 24px 26px !important;
  }

  .guild-card__png {
    width: min(245px, 74vw) !important;
  }

  .guild-card--rgr-png .guild-card__png {
    width: min(265px, 78vw) !important;
  }
}

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

  .hero-center {
    top: 560px !important;
    width: calc(100% - 32px) !important;
    max-width: 420px !important;
  }

  .hero-message {
    font-size: 28px !important;
    line-height: 1.14 !important;
  }

  .hero-arrow {
    margin-top: 26px !important;
  }

  .hero-cta {
    width: min(100%, 290px) !important;
    min-width: 0 !important;
    height: 48px !important;
    margin-top: 24px !important;
    border-radius: 12px !important;
    font-size: 15px !important;
  }

  .guild-cards {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 454px !important;
    margin: 40px auto 0 !important;
    gap: 16px !important;
  }

  .guild-card {
    width: 100% !important;
    min-height: 166px !important;
    height: auto !important;
    padding: 28px 32px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
  }

  .guild-card__png {
    display: block !important;
    width: min(265px, 72vw) !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: left top !important;
  }

  .guild-card--rgr-png .guild-card__png {
    width: min(285px, 76vw) !important;
  }

  .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;
  }
}

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

  .hero-center {
    top: 520px !important;
  }

  .guild-card {
    min-height: 144px !important;
    padding: 22px 22px !important;
  }

  .guild-card__png {
    width: min(225px, 76vw) !important;
  }
}

.service-steps__layout {
  display:block !important;
  margin-top:142px !important;
}

.service-steps__main {
  width:min(700px, 100%) !important;
}

.service-steps__list {
  width:100% !important;
}

.service-steps__item {
  cursor:pointer;
  grid-template-columns:minmax(0, 1fr) 28px !important;
  gap:20px !important;
  min-height:50px !important;
  transition:background .24s ease, border-color .24s ease;
}

.service-steps__item:hover, .service-steps__item.is-open {
  background:transparent !important;
  border-color:rgba(255,255,255,.78) !important;
}

.service-steps__icon {
  width:24px !important;
  height:24px !important;
  transform:none !important;
  transition:opacity .24s ease, transform .24s ease;
  opacity:.88;
}

.service-steps__item.is-open .service-steps__icon {
  transform:rotate(90deg) !important;
  opacity:1;
}

.service-steps__bottom {
  display:grid !important;
  grid-template-columns:minmax(150px, auto) minmax(250px, 310px) !important;
  justify-content:space-between !important;
  align-items:start !important;
  gap:36px !important;
  width:min(700px, 100%) !important;
  margin-top:34px !important;
}

.service-steps__side {
  padding-top:0 !important;
  max-width:310px !important;
  width:100% !important;
}

.service-steps__text {
  max-width:310px !important;
  font-size:12px !important;
  line-height:1.18 !important;
  color:rgba(255,255,255,.92) !important;
}

.service-steps__text + .service-steps__text {
  margin-top:24px !important;
}

.service-steps__rule {
  width:min(700px, 100%) !important;
}

@media (max-width:390px) {
  .service-steps__title {
    font-size:15px !important;
  }

  .service-steps__bottom {
    grid-template-columns:132px minmax(146px, 1fr) !important;
    gap:12px !important;
  }

  .service-steps__text {
    font-size:6.6px !important;
  }
}

.brand-shape {
  position:absolute;
  inset:0;
  background-image: linear-gradient( 105deg, rgba(255,255,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;
}

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

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

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

.mobile-menu__panel {
  background:linear-gradient(180deg, rgba(6,6,149,.46) 0%, rgba(6,6,149,.28) 100%) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  box-shadow:0 14px 38px rgba(6,6,149,.20), inset 0 1px 0 rgba(255,255,255,.16) !important;
  border-color:rgba(255,255,255,.35) !important;
}

.mobile-menu__panel:before, .mobile-menu__panel:after {
  opacity:.34 !important;
  filter:blur(8px) !important;
  color:rgba(255,255,255,.34) !important;
}

.mobile-menu__close {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:24px !important;
  height:24px !important;
  border:0 !important;
  background:transparent !important;
  padding:0 !important;
  overflow:visible !important;
}

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

.mobile-menu__close svg {
  display:block !important;
  width:24px !important;
  height:24px !important;
  opacity:.92 !important;
  filter:drop-shadow(0 2px 8px rgba(0,0,80,.28));
  pointer-events:none;
}

.mobile-topbar {
  opacity:1 !important;
  padding:12px 18px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(6,6,149,.46) 0%, rgba(6,6,149,.28) 100%);
  box-shadow:0 14px 38px rgba(6,6,149,.20), inset 0 1px 0 rgba(255,255,255,.20);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:background .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.mobile-topbar:hover, .mobile-topbar:focus-within {
  background:linear-gradient(180deg, rgba(6,6,149,.58) 0%, rgba(6,6,149,.36) 100%);
  border-color:rgba(255,255,255,.48);
  box-shadow:0 16px 42px rgba(6,6,149,.26), inset 0 1px 0 rgba(255,255,255,.24);
}

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

.mobile-phone__number, .mobile-phone__status {
  color:#fff !important;
  text-shadow:0 2px 10px rgba(0,0,80,.38);
}

.mobile-burger {
  border-radius:10px;
  background:rgba(255,255,255,.08);
}

.mobile-topbar {
  top:24px !important;
  border:none !important;
  box-shadow:0 14px 38px rgba(6,6,149,.20) !important;
}

.mobile-topbar:hover, .mobile-topbar:focus-within {
  border:none !important;
  box-shadow:0 16px 42px rgba(6,6,149,.26) !important;
}

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;
}

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

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

.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);
}

/* --- Header fix: force phone number onto one line, like the reference mockup --- */
.mobile-topbar {
  flex-wrap: nowrap !important;
}

.mobile-topbar__actions {
  flex-wrap: nowrap !important;
}

.mobile-phone__number,
.mobile-phone__status {
  display: inline-flex !important;
  align-items: baseline !important;
  white-space: nowrap !important;
  flex-wrap: nowrap !important;
}

.mobile-phone__number *,
.mobile-phone__status * {
  display: inline !important;
  white-space: nowrap !important;
}


@media (max-width: 760px) {
    .mobile-topbar {
        top: 14px !important;
        left: 16px !important;
        right: 16px !important;
        padding: 9px 12px !important;
        border-radius: 14px !important;
    }
}
@media (max-width: 768px) {
  .agency-promo {
    padding:32px 12px !important;
  }

  .agency-promo__inner {
    position:static !important;
    display:flex !important;
    flex-direction:column !important;
    min-height:auto !important;
    border-radius:10px !important;
    background-position:center center !important;
    padding:32px 20px !important;
  }

  .agency-promo__content {
    position:static !important;
    width:100% !important;
    max-width:100% !important;
  }

  .agency-promo__title {
    font-size:clamp(25px, 7vw, 34px) !important;
    line-height:1.1 !important;
  }

  .agency-promo__subtitle, .agency-promo__phones, .agency-promo__note {
    font-size:clamp(13px, 3.7vw, 18px) !important;
  }

  .agency-promo__contacts {
    position:static !important;
    left:auto !important;
    bottom:auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:20px !important;
    margin-top:24px !important;
  }

  .agency-promo__phone {
    font-size:clamp(18px, 5vw, 24px) !important;
  }
}
@media (max-width: 768px) {
  .property-types {
    padding-left:12px !important;
    padding-right:8px !important;
  }

  .property-types__grid {
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
}