 :root{
      --brand-red:#e30613;
      --brand-blue:#e30613;
      --text:#1f2937;
      --muted:#6b7280;
      --line:#e5e7eb;
      --bg:#f7f7f7;
      --container:1180px;
    }
    *{box-sizing:border-box}
    body{
      margin:0;
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", sans-serif;
      color:var(--text);
      background:#fff;
        padding-top: var(--header-h, 0px);
    }
    a{color:inherit; text-decoration:none}
    .container{
      max-width:var(--container);
      margin:0 auto;
      padding:0 18px;
    }
/* HERO IMG: safe for desktop + mobile */
.hero__image{
  display:flex;
  align-items:flex-end;
  justify-content:center;
}

.hero__image img{
  display:block;
  width:100%;
  height:100%;
  max-width:80%;
  object-fit:contain;    /* не растягивает */
  position:relative;
  z-index:2;             /* поверх затемнения ::before */
}

/* floor оставляем поверх низа */
.hero__image .floor{
  z-index:3;
}
    /* Top header */
    .topbar{
      background:#fff;
      border-bottom:1px solid var(--line);
    }

    /* ===== Fixed header wrapper (desktop + mobile) ===== */
    .site-header{
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 10000;
      background: #fff;
    }
    .topbar__row{
      display:flex;
      align-items:center;
      gap:18px;
      padding:14px 0;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:240px;
    }
    .brand__logo{
      width:56px;height:56px;flex:0 0 56px;
      border:2px solid #11182722;
      border-radius:50%;
      display:grid;
      place-items:center;
    }
    .brand__logo svg{width:36px;height:36px}
    .brand__name{
      line-height:1.1;
      font-weight:700;
      letter-spacing:.2px;
    }
    .brand__sub{
      display:block;
      margin-top:3px;
      font-weight:500;
      color:var(--muted);
      font-size:12px;
    }

    .header-info{
      display:flex;
      align-items:flex-start;
      gap:22px;
      flex:1;
      justify-content:space-between;
    }
    .header-info__title{
      font-weight:700;
      font-size:16px;
      line-height:1.25;
      max-width:360px;
    }
    .city{
      font-size:13px;
      color:var(--muted);
      line-height:1.3;
      white-space:nowrap;
    }
    .city b{color:#111827; font-weight:700}
    .city a{
      color:var(--brand-blue);
      font-weight:600;
      border-bottom:1px dashed #e30613;
    }
    .phones{
      text-align:right;
      white-space:nowrap;
    }
    .phones .small{
      font-size:12px;
      color:var(--muted);
      margin-bottom:2px;
    }
    .phones .tel{
      font-size:22px;
      font-weight:800;
      letter-spacing:.3px;
    }
    /* Картинка сертификата — стабильная сетка, ничего не расползается */
.cert-img{
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}
.cert-card .cert-img{
  aspect-ratio: 3 / 4;
  object-fit: contain;
  background: #fff;
}
    .cta{
      margin-left:8px;
      display:flex;
      justify-content:flex-end;
      align-items:center;
      min-width:220px;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding:12px 16px;
      border-radius:4px;
      border:1px solid transparent;
      font-weight:700;
      cursor:pointer;
      user-select:none;
      transition:.15s ease;
    }
    .btn--primary{
      background:var(--brand-blue);
      color:#fff;
      box-shadow:0 6px 16px rgba(29,94,168,.18);
    }
    .btn--primary:hover{filter:brightness(1.04)}
    .btn--primary:active{transform:translateY(1px)}
    .btn--ghost{
      background:#fff;
      border-color:#cbd5e1;
      color:#0f172a;
    }
    .btn--ghost:hover{background:#f8fafc}

    /* Navigation */
    .nav{
      background:#fff;
      border-bottom:1px solid var(--line);
    }
    .nav__row{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      padding:10px 0;
      flex-wrap:wrap;
    }
    .nav__links{
      display:flex;
      gap:18px 26px;
      flex-wrap:wrap;
      align-items:center;
      color:#0f172a;
      font-weight:600;
      font-size:14px;
    }
    .nav__links a{padding:8px 0}
    .nav__links a:hover{color:var(--brand-blue)}
    .nav__right{
      display:flex;
      gap:14px;
      align-items:center;
      margin-left:auto;
    }

    /* Hero */
    .hero{
      background:
        linear-gradient(90deg, rgba(0,0,0,.10), rgba(0,0,0,0) 35%),
        radial-gradient(1100px 380px at 30% 50%, rgba(0,0,0,.08), transparent 65%),
        linear-gradient(0deg, #ffffff, #ffffff);
      position:relative;
      overflow:hidden;
    }
    .hero::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg, rgba(0,0,0,.18), rgba(0,0,0,0) 55%),
        linear-gradient(0deg, rgba(255,255,255,.35), rgba(255,255,255,.35));
      opacity:.55;
      pointer-events:none;
    }
    .hero__inner{
      position:relative;
      padding:18px 0 0;
    }
    .breadcrumbs{
      font-size:12px;
      color:#94a3b8;
      margin:8px 0 10px;
    }
    .breadcrumbs a{color:#94a3b8}
    .breadcrumbs span{color:#64748b; font-weight:600}
    .hero__panel{
      display:grid;
      grid-template-columns: 520px 1fr;
      gap:26px;
      align-items:stretch;
      padding:18px 0 24px;
      min-height:420px;
    }

    .card{
      background:#fff;
      border-radius:6px;
      box-shadow: 0 18px 60px rgba(15,23,42,.12);
      padding:34px 34px 28px;
      position:relative;
      z-index:2;
    }
    .card h1{
      font-size:40px;
      line-height:1.05;
      margin:0 0 14px;
      font-weight:800;
      letter-spacing:.2px;
      color:#111827;
    }
    .card .desc{
      margin:0 0 18px;
      color:#111827;
      font-size:17px;
      line-height:1.55;
      max-width:420px;
    }
    .card .desc b{font-weight:800}
    .form{
      display:flex;
      align-items:center;
      gap:10px;
      margin-top:14px;
    }
    .input{
      flex:1;
      height:42px;
      border:1px solid #d1d5db;
      border-radius:3px;
      padding:10px 12px;
      font-size:14px;
      outline:none;
    }
    .input:focus{border-color:#94a3b8; box-shadow:0 0 0 3px rgba(148,163,184,.25)}
    .btn--order{
      height:42px;
      padding:0 25px;
      border-radius:2px;
    }

    .badge{
      position:absolute;
      top:-18px;
      right:-16px;
      width:90px;height:90px;
      background:var(--brand-red);
      color:#fff;
      border-radius:999px;
      display:grid;
      place-items:center;
      transform:rotate(-18deg);
      box-shadow:0 18px 40px rgba(227,6,19,.25);
    }
    .badge__text{
      text-align:center;
      font-weight:800;
      line-height:1.05;
      font-size:14px;
    }
    .badge__text small{
      display:block;
      font-weight:700;
      font-size:12px;
      opacity:.95;
      margin-bottom:6px;
    }
    .badge__text strong{
      font-size:22px;
      display:block;
    }

    .hero__image{
      position:relative;
      border-radius:6px;
      overflow:hidden;
      box-shadow: 0 18px 60px rgba(15,23,42,.12);
      background:
        linear-gradient(180deg, rgba(255,255,255,.0), rgba(255,255,255,.0)),
        linear-gradient(90deg, #c7c1b7 0, #c7c1b7 34%, #d1b48f 34%, #d1b48f 100%);
    }
    .hero__image::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(220px 220px at 75% 50%, rgba(0,0,0,.25), transparent 60%),
        linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,0) 45%);
      opacity:.35;
    }
    /* Faux washing machine */
    .wm{
      position:absolute;
      right:36px;
      top:60px;
      width:360px;
      height:360px;
      border-radius:10px;
      background:linear-gradient(180deg,#fafafa,#e9eef3);
      box-shadow:0 24px 70px rgba(0,0,0,.22);
      border:1px solid rgba(15,23,42,.12);
    }
    .wm::before{
      content:"";
      position:absolute;
      left:18px; top:18px;
      right:18px; height:78px;
      border-radius:8px;
      background:linear-gradient(180deg,#f1f5f9,#e5e7eb);
      border:1px solid rgba(15,23,42,.10);
    }
    .wm .door{
      position:absolute;
      left:68px; top:120px;
      width:224px; height:224px;
      border-radius:999px;
      background:radial-gradient(circle at 35% 30%, #fff, #cbd5e1 45%, #0f172a 72%);
      box-shadow: inset 0 0 0 10px rgba(255,255,255,.55);
    }
    .wm .glass{
      position:absolute;
      inset:22px;
      border-radius:999px;
      background:radial-gradient(circle at 40% 35%, rgba(255,255,255,.65), rgba(255,255,255,0) 48%),
                 radial-gradient(circle at 52% 55%, rgba(148,163,184,.60), rgba(15,23,42,.0) 55%),
                 radial-gradient(circle at 50% 50%, rgba(15,23,42,.35), rgba(15,23,42,.55));
      box-shadow: inset 0 0 0 2px rgba(255,255,255,.25);
    }
    .wm .knob{
      position:absolute;
      right:62px; top:44px;
      width:40px;height:40px;border-radius:999px;
      background:linear-gradient(180deg,#fff,#cbd5e1);
      border:1px solid rgba(15,23,42,.18);
      box-shadow:0 8px 20px rgba(0,0,0,.18);
    }
    .wm .screen{
      position:absolute;
      left:40px; top:44px;
      width:140px;height:40px;border-radius:8px;
      background:#0b1220;
      box-shadow: inset 0 0 0 2px rgba(255,255,255,.06);
    }
    .hero__image .floor{
      position:absolute;
      left:0; right:0; bottom:0;
      height:120px;
      background:linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.65));
    }

    /* Features row */
    .features{
      border-top:1px solid var(--line);
      background:#fff;
    }
    .features__row{
      display:grid;
      grid-template-columns: repeat(4, 1fr);
      gap:26px;
      padding:18px 0 26px;
      align-items:start;
    }
    .feature{
      display:flex;
      gap:12px;
      align-items:flex-start;
      min-height:40px;
    }
    .ico{
      width:36px;height:36px;border-radius:10px;
      display:grid;place-items:center;
      border:1px solid #cbd5e1;
      background:#fff;
      flex:0 0 36px;
    }
    .feature h3{
      margin:0;
      font-size:18px;
      font-weight:800;
    }
    .feature p{
      margin:6px 0 0;
      font-size:13px;
      color:var(--muted);
      line-height:1.35;
    }

    /* Floating widget */
    .widget{
      position:fixed;
      right:18px;
      bottom:18px;
      display:flex;
      align-items:center;
      gap:10px;
      background:#0b3f7a;
      color:#fff;
      border-radius:6px;
      padding:10px 12px;
      box-shadow:0 16px 40px rgba(0,0,0,.22);
      z-index:50;
    }
    .widget__btn{
      width:44px;height:44px;border-radius:6px;
      background:var(--brand-red);
      display:grid;place-items:center;
      flex:0 0 44px;
      box-shadow:0 10px 24px rgba(227,6,19,.26);
    }
    .widget__text b{display:block; font-size:13px}
    .widget__text span{display:block; font-size:11px; opacity:.9}

    /* Pricing section */
    .pricing{
      background:#fff;
      padding:38px 0 48px;
      border-top:1px solid var(--line);
    }
    .pricing__head h2{
      margin:0;
      font-size:36px;
      font-weight:800;
      letter-spacing:.2px;
      color:#111827;
    }
    .pricing__sub{
      margin:10px 0 0;
      color:var(--brand-red);
      font-weight:700;
      font-size:16px;
    }
    .pricing__layout{
      display:grid;
     
      gap:28px;
      margin-top:22px;
      align-items:start;
    }
    .pricing__grid{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:14px;
    }
    .p-card{
      background:#f2f2f2;
      border:1px solid #ededed;
      padding:16px 16px 14px;
      min-height:116px;
      position:relative;
    }
    .p-card__title{
      font-size:16px;
      font-weight:700;
      color:#111827;
      margin-bottom:6px;
    }
    .p-card__desc{
      font-size:13px;
      line-height:1.35;
      color:#8a8a8a;
      min-height:34px;
    }
    .p-card__price{
      margin-top:14px;
      font-size:12px;
      font-weight:900;
      color:#e30613;
      letter-spacing:.3px;
    }
    .arr{color:#94a3b8; font-weight:900}
    .p-card--blue{
      background:#e30613;
      border-color:#e30613;
      color:#fff;
      overflow:hidden;
    }
    .p-card--blue .p-card__title,
    .p-card--blue .p-card__desc,
    .p-card--blue .p-card__price{color:#fff}
    .p-card--blue .p-card__price{opacity:.95}
    .p-card__person{
      position:absolute;
      right:-18px;
      bottom:-10px;
      width:160px;
      height:160px;
      border-radius:999px;
      background:
        radial-gradient(circle at 35% 35%, rgba(255,255,255,.35), rgba(255,255,255,0) 55%),
        linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0)),
        radial-gradient(circle at 65% 65%, rgba(0,0,0,.25), rgba(0,0,0,0) 60%);
      opacity:.55;
    }

    .pricing__promo{
      grid-column: 1 / -1;
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:14px;
      margin-top:6px;
    }
    .promo{
      min-height:120px;
      padding:16px 16px 14px;
      position:relative;
      overflow:hidden;
      border:1px solid #e5e7eb;
    }
    .promo__t{font-weight:800; font-size:19px; color:#fff}
    .promo__d{margin-top:8px; font-size:15px; line-height:1.35; color:#fff; opacity:.92; max-width:230px}
    .promo__p{margin-top:16px; font-weight:900; letter-spacing:.3px; color:#fff; font-size:12px}
    .promo--red{background:#e11b22}
    .promo--gray{background:#b9c7d3}
    .promo--green{background:#0aa04f}
    .promo__img{
      position:absolute;
      right:-18px;
      bottom:-18px;
      width:160px;
      height:160px;
      border-radius:18px;
      opacity:.45;
      background:radial-gradient(circle at 35% 35%, rgba(255,255,255,.55), rgba(255,255,255,0) 55%);
      transform:rotate(-8deg);
    }
    .promo__img--tool{background:linear-gradient(135deg, rgba(255,255,255,.55), rgba(255,255,255,0))}
    .promo__img--badge{border-radius:999px}
    .promo__img--part{transform:rotate(12deg)}

    .pricing__side{
      background:#fff;
    }
    .side-item{
      display:flex;
      gap:12px;
      align-items:flex-start;
      padding:10px 0;
    }
    .thumb{
      width:44px;height:44px;
      border-radius:4px;
      background:linear-gradient(180deg,#cbd5e1,#94a3b8);
      flex:0 0 44px;
    }
    .thumb--2{background:linear-gradient(180deg,#d1d5db,#9ca3af)}
    .thumb--3{background:linear-gradient(180deg,#c7c1b7,#a8a29e)}
    .side-item__title{
      font-weight:800;
      font-size:13px;
      color:#111827;
      margin-bottom:4px;
    }
    .side-item__desc{
      font-size:12px;
      color:#9ca3af;
      margin-bottom:8px;
      line-height:1.25;
    }
    .side-item__price{
      font-weight:900;
      color:#e30613;
      font-size:12px;
      letter-spacing:.3px;
    }
    .divider{
      height:1px;
      background:#e5e7eb;
      margin:8px 0;
    }
    .price-list{
      list-style:none;
      margin:14px 0 0;
      padding:0;
      font-size:12px;
      color:#111827;
    }
    .price-list li{
      display:flex;
      justify-content:space-between;
      gap:12px;
      padding:7px 0;
      border-bottom:1px solid #eef2f7;
    }
    .price-list li b{
      color:#e30613;
      white-space:nowrap;
    }



/* Discount banner */
.discount{
  padding:40px 0 22px;
  background:#fff;
}
.discount__wrap{
  max-width:1150px;
  margin:0 auto;
  overflow:hidden;
  position:relative;
  background:linear-gradient(135deg,#1e66b3 0%, #27307a 55%, #1a4f95 100%);
  box-shadow:0 18px 60px rgba(15,23,42,.12);
}
.discount__inner{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:20px;
  padding:34px 36px;
  min-height:260px;
  align-items:center;
}
.ticket{
  position:absolute;
  left:-18px;
  top:24px;
  width:84px;height:56px;
  background:#d10b10;
  transform:rotate(-8deg);
  box-shadow:0 10px 24px rgba(0,0,0,.25);
  border-radius:2px;
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:900;
  font-size:26px;
  letter-spacing:.5px;
}
.ticket::before,.ticket::after{
  content:"";
  position:absolute;
  left:-6px;
  top:0;
  width:12px;height:100%;
  background:linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,0));
  opacity:.35;
  border-radius:2px;
}
.discount__title{
  display:inline-block;
  background:#e11b22;
  color:#fff;
  font-weight:900;
  font-size:44px;
  line-height:1;
  padding:10px 14px;
  margin:0 0 14px;
}
.discount__text{
  color:rgba(255,255,255,.86);
  font-size:22px;
  line-height:1.45;
  margin:0 0 22px;
  max-width:520px;
}
.discount__form{
  display:flex;
  gap:0;
  max-width:520px;
}
.discount__input{
  flex:1;
  height:52px;
  border:1px solid rgba(255,255,255,.35);
  border-right:none;
  background:#fff;
  padding:0 16px;
  font-size:16px;
  outline:none;
}
.discount__btn{
  height:52px;
  min-width:260px;
  border:none;
  background:#fff;
  color:#0b3f7a;
  font-weight:800;
  font-size:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  cursor:pointer;
  border-left:1px solid rgba(15,23,42,.12);
}
.discount__btn .gear{
  width:30px;height:30px;border-radius:999px;
  background:#0b3f7a;
  display:grid;place-items:center;
}
.discount__btn .gear svg{width:18px;height:18px}
.discount__visual{
  position:relative;
  height:260px;
}

/* Discount banner person image (z.png)
   Keep the full figure visible and aligned to the bottom-right
   without breaking the grid on desktop/mobile. */
.discount__visual img{
  position:absolute;
  right:0;
  bottom:0;
  height:100%;
  width:auto;
  max-width:100%;
  object-fit:contain;
  display:block;
}
.tech{
  position:absolute;
  right:0;
  bottom:0;
  width:240px;
  height:260px;
  border-radius:14px;
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.65), rgba(255,255,255,0) 55%),
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0)),
    linear-gradient(135deg, rgba(0,0,0,.18), rgba(0,0,0,0) 55%);
  opacity:.95;
}
.wm2{
  position:absolute;
  right:180px;
  bottom:22px;
  width:190px;height:190px;
  border-radius:10px;
  background:linear-gradient(180deg,#f8fafc,#e5e7eb);
  border:1px solid rgba(255,255,255,.25);
  box-shadow:0 16px 50px rgba(0,0,0,.22);
  opacity:.9;
}
.wm2 .door{position:absolute; left:36px; top:58px; width:118px; height:118px; border-radius:999px; background:radial-gradient(circle at 40% 35%, #fff, #cbd5e1 50%, #111827 76%);}
.wm2 .door::after{content:""; position:absolute; inset:14px; border-radius:999px; background:radial-gradient(circle at 40% 35%, rgba(255,255,255,.55), rgba(255,255,255,0) 55%), radial-gradient(circle at 55% 55%, rgba(148,163,184,.55), rgba(15,23,42,0) 60%);}
.wm2 .panel{position:absolute; left:16px; top:16px; right:16px; height:36px; border-radius:8px; background:#0b1220; opacity:.18}

/* Tabs section */
.tabs-block{
  background:#f5f6f7;
  padding:34px 0 40px;
  border-top:1px solid #eef2f7;
}
.tabs-block__title{
  text-align:center;
  margin:0;
  font-size:44px;
  font-weight:800;
  color:#111827;
  letter-spacing:.2px;
}
.tabs-nav{
  display:flex;
  justify-content:center;
  gap:7px;
  margin:18px 0 22px;
  flex-wrap:wrap;
}
.tabs-nav a{
  font-size:16px;
  font-weight:600;
  color:#111827;
  padding:10px 2px;
  border-bottom:2px solid transparent;
}
.tabs-nav a:hover{color:var(--brand-blue)}
.tabs-nav a.is-active{
  color:var(--brand-blue);
  border-bottom-color:var(--brand-blue);
}

.tabs-panel{
  max-width:1180px;
  margin:0 auto;
  background:
    radial-gradient(1400px 420px at 20% 60%, rgba(255,255,255,.92), rgba(255,255,255,.72) 45%, rgba(255,255,255,.60)),
    linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,0));
  position:relative;
  overflow:hidden;
  min-height:360px;
  border-top:1px solid rgba(15,23,42,.05);
  border-bottom:1px solid rgba(15,23,42,.05);
}
.tabs-panel__inner{
  display:grid;
  grid-template-columns: 520px 120px 1fr;
  gap:26px;
  align-items:center;
  padding:34px 26px;
}
.tabs-wm{
  width:520px;
  height:310px;
  position:relative;
}
.tabs-wm .bigwm{
  position:absolute;
  left:0;
  bottom:-10px;
  width:520px;
  height:320px;
  border-radius:16px;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.8), rgba(255,255,255,0) 55%),
    linear-gradient(180deg,#ffffff,#e9eef3);
  box-shadow:0 26px 70px rgba(0,0,0,.14);
  border:1px solid rgba(15,23,42,.08);
  opacity:.9;
}
.tabs-wm .bigwm::before{
  content:"";
  position:absolute;
  left:26px; top:26px; right:26px; height:70px;
  border-radius:12px;
  background:linear-gradient(180deg,#f1f5f9,#e5e7eb);
  border:1px solid rgba(15,23,42,.08);
}
.tabs-wm .bigwm .door{
  position:absolute;
  left:140px; top:124px;
  width:240px;height:240px;border-radius:999px;
  background:radial-gradient(circle at 35% 30%, #fff, #cbd5e1 45%, #0f172a 72%);
  box-shadow: inset 0 0 0 12px rgba(255,255,255,.55);
}
.tabs-wm .bigwm .door::after{
  content:"";
  position:absolute; inset:24px; border-radius:999px;
  background:radial-gradient(circle at 40% 35%, rgba(255,255,255,.6), rgba(255,255,255,0) 48%),
             radial-gradient(circle at 52% 55%, rgba(148,163,184,.55), rgba(15,23,42,.0) 55%),
             radial-gradient(circle at 50% 50%, rgba(15,23,42,.25), rgba(15,23,42,.45));
}

.tabs-icon{
  width:120px;height:120px;border-radius:999px;
  background:#fff;
  display:grid;place-items:center;
  box-shadow:0 16px 40px rgba(0,0,0,.08);
  border:1px solid rgba(15,23,42,.06);
  margin:0 auto;
}
.tabs-icon svg{width:54px;height:54px; fill:none; stroke:var(--brand-blue); stroke-width:2.2}

.tabs-content h3{
  margin:0 0 12px;
  font-size:30px;
  line-height:1.2;
  font-weight:600;
  color:#111827;
  max-width:520px;
}
.tabs-content p{
  margin:0;
  font-size:16px;
  line-height:1.55;
  color:#111827;
  max-width:660px;
}

@media (max-width: 1060px){
  .discount__inner{grid-template-columns: 1fr; min-height:auto}
  .discount__visual{display:none}
  .tabs-panel__inner{grid-template-columns: 1fr; gap:18px}
  .tabs-wm{display:none}
  .tabs-icon{margin:0}
}
@media (max-width: 520px){
  .discount__title{font-size:34px}
  .discount__text{font-size:18px}
  .discount__form{flex-direction:column}
  .discount__input{border-right:1px solid rgba(15,23,42,.12); border-bottom:none}
  .discount__btn{min-width:auto; width:100%}
  .tabs-block__title{font-size:32px}
  .tabs-content h3{font-size:24px}
}



/* Ask expert block */
.ask-expert{
  background:#fff;
  padding:44px 0;
  border-top:1px solid #eef2f7;
}
.ask-expert__box{
  max-width:1180px;
  margin:0 auto;
  border:4px solid #e30613;
  background:#fff;
  padding:34px 36px;

  display:grid;
  grid-template-columns: 1fr 440px 1fr; /* центр фиксированной ширины */
  align-items:center;
  gap:40px;
}

.ask-expert__title{
  margin:0 0 10px;
  font-size:34px;
  font-weight:800;
  color:#111827;
}
.ask-expert__lead{
  margin:0;
  color:#111827;
  font-size:14px;
  line-height:1.55;
}
.ask-expert__form{
  display:flex;
  align-items:center;
  gap:0;
  margin-top:8px;
}
.ask-expert__input{
  height:48px;
  width:150px;
  border:1px solid #e5e7eb;
  padding:0 14px;
  font-size:14px;
  outline:none;
}
.ask-expert__send{
  height:48px;
  padding:0 26px;
  border:none;
  background:#0b3f7a;
  color:#fff;
  font-weight:800;
  font-size:16px;
  cursor:pointer;
}
.ask-expert__note{
  margin-top:14px;
  color:#9ca3af;
  font-size:12px;
  line-height:1.35;
  max-width:520px;
}
.ask-expert__note a{color:var(--brand-blue); font-weight:700}
.ask-expert__right{
  text-align:right;
  color:#111827;
  font-size:15px;
  line-height:1.55;
}
.ask-expert__right b{font-weight:900}

/* ==========================
   Contacts block (before footer)
   ========================== */
.contacts{
  background:#fff;
  padding:54px 0 58px;
  border-top:1px solid #eef2f7;
}
.contacts__wrap{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:26px;
  align-items:stretch;
}
.contacts__title{
  margin:0;
  font-size:42px;
  font-weight:700;
  line-height:1.08;
  color:#111827;
}
.contacts__lead{
  margin:14px 0 0;
  font-size:15px;
  line-height:1.55;
  color:#111827;
  max-width:560px;
}
.contacts__form{
  margin-top:22px;
  background:#fff;
  border:1px solid rgba(15,23,42,.06);
  box-shadow:0 18px 60px rgba(15,23,42,.08);
  border-radius:10px;
  padding:18px 18px 16px;
}
.contacts__row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}
.contacts__select,
.contacts__input{
  height:52px;
  border-radius:10px;
  border:1px solid #e5e7eb;
  padding:0 14px;
  font-size:14px;
  outline:none;
  background:#fff;
}
.contacts__select:focus,
.contacts__input:focus{
  border-color:#94a3b8;
  box-shadow:0 0 0 3px rgba(148,163,184,.22);
}
.contacts__btn{

  width:100%;
  height:52px;
  border:none;
  border-radius:5px;
  cursor:pointer;
  font-weight:900;
  font-size:15px;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background: linear-gradient(90deg, #c10510, #ff0000);
  box-shadow:0 16px 40px rgba(227,6,19,.22);
}
.contacts__btn:hover{filter:brightness(1.02)}
.contacts__btn:active{transform:translateY(1px)}
.contacts__btn-ico{
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.22);
}
.contacts__note{
  margin-top:10px;
  font-size:12px;
  color:#9ca3af;
  line-height:1.35;
}
.contacts__note a{
  color:var(--brand-blue);
  font-weight:700;
}

.contacts__right{
  position:relative;
  overflow:hidden;
  border-radius:14px;
  background:linear-gradient(180deg,#111827 0%, #0b1220 65%, #0b1220 100%);
  box-shadow:0 18px 60px rgba(15,23,42,.14);
  border:1px solid rgba(15,23,42,.14);
  color:#fff;
  min-height:320px;
}
.contacts__right-inner{
  position:relative;
  z-index:2;
  padding:22px 22px 18px;
}
.contacts__right-title{
  font-weight:800;
  font-size:15px;
  line-height:1.4;
  color:rgba(255,255,255,.92);
  max-width:360px;
}
.contacts__items{margin-top:16px; display:grid; gap:14px}
.citem{display:flex; gap:12px; align-items:flex-start}
.citem__ico{
  width:38px;height:38px;border-radius:999px;
  display:grid;place-items:center;
  background:rgba(227,6,19,.18);
  border:1px solid rgba(227,6,19,.30);
  color:#fff;
  flex:0 0 38px;
  font-size:16px;
}
.citem__k{font-size:11px; text-transform:uppercase; letter-spacing:.5px; opacity:.78; margin-bottom:4px}
.citem__v{font-size:14px; font-weight:700; color:#fff}
.citem__v:hover{opacity:.92}

/* Decorative visual on the right like in screenshot */
.contacts__visual{
  position:absolute;
  right:-40px;
  bottom:-30px;
  width:280px;
  height:360px;
  border-radius:32px;
  opacity:.28;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.55), rgba(255,255,255,0) 55%),
    radial-gradient(circle at 60% 65%, rgba(227,6,19,.55), rgba(227,6,19,0) 60%),
    linear-gradient(135deg, rgba(255,255,255,.20), rgba(255,255,255,0));
  transform:rotate(10deg);
}

@media (max-width: 1060px){
  .contacts__wrap{grid-template-columns:1fr; gap:18px}
  .contacts__title{font-size:34px}
}
@media (max-width: 520px){
  .contacts{padding:40px 0 44px}
  .contacts__row{grid-template-columns:1fr}
  .contacts__title{font-size:30px}
}

/* Models section */
.models{
  background:#fff;
  padding:42px 0 60px;
  border-top:1px solid #eef2f7;
}
.models h2{
  margin:0;
  text-align:center;
  font-size:46px;
  font-weight:800;
  color:#111827;
}
.models__top-tabs{
  margin:18px 0 34px;
  display:flex;
  justify-content:center;
}
.models__top-tabs a{
  color:var(--brand-blue);
  font-weight:700;
  padding:12px 12px;
  border-bottom:2px solid var(--brand-blue);
}
.models__types{
  display:flex;
  justify-content:center;
  gap:62px;
  flex-wrap:wrap;
  margin-bottom:18px;
}
.models__types a{
  color:var(--brand-blue);
  font-weight:700;
  font-size:18px;
}
.models__grid{
  margin-top:16px;
  display:grid;
  grid-template-columns: repeat(5, 1fr);
  gap:26px;
  align-items:start;
}
.model-card{
  text-align:center;
  padding:12px 6px 0;
}
.model-card__img{
  width:170px;
  height:190px;
  margin:16px auto 12px;
  border-radius:8px;
  background:
    radial-gradient(circle at 40% 30%, rgba(255,255,255,.9), rgba(255,255,255,0) 55%),
    linear-gradient(180deg,#f8fafc,#e5e7eb);
  border:1px solid rgba(15,23,42,.10);
  box-shadow:0 18px 50px rgba(0,0,0,.10);
  position:relative;
}
.model-card__img::after{
  content:"";
  position:absolute;
  left:44px; top:70px;
  width:82px; height:82px;
  border-radius:999px;
  background:radial-gradient(circle at 40% 35%, #fff, #cbd5e1 45%, #0f172a 72%);
  box-shadow: inset 0 0 0 8px rgba(255,255,255,.55);
  opacity:.9;
}
.model-card__caption{
  color:#000;
  font-size:16px;
  line-height:1.35;
  margin:18px auto 0;
  max-width:170px;
}

/* Certified engineers */
.cert{
  background:#f5f6f7;
  padding:56px 0 70px;
  border-top:1px solid #eef2f7;
}
.cert__head{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:36px;
  align-items:start;
}
.cert h2{
  margin:0 0 18px;
  font-size:46px;
  font-weight:800;
  line-height:1.08;
  color:#111827;
}
.cert__text{
  margin:0;
  font-size:16px;
  line-height:1.6;
  color:#111827;
  max-width:560px;
}
.cert__docs{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
  justify-items:end;
}
.doc{
  width:190px;
  height:260px;
  background:#fff;
  border:1px solid rgba(15,23,42,.10);
  box-shadow:0 14px 40px rgba(0,0,0,.08);
  position:relative;
  overflow:hidden;
}
.doc::before{
  content:"СЕРТИФИКАТ";
  position:absolute;
  left:0; top:0;
  right:0;
  height:36px;
  background:#0b3f7a;
  color:#fff;
  font-weight:900;
  letter-spacing:.8px;
  font-size:11px;
  display:flex;
  align-items:center;
  padding:0 12px;
}
.doc::after{
  content:"";
  position:absolute;
  left:14px; right:14px; top:56px; bottom:14px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,0) 30%),
    repeating-linear-gradient(0deg, rgba(15,23,42,.07), rgba(15,23,42,.07) 1px, transparent 1px, transparent 10px);
  opacity:.55;
}
.engineers{
  margin-top:38px;
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:26px;
}
.eng{
  background:#fff;
  border:1px solid rgba(15,23,42,.06);
  box-shadow:0 18px 50px rgba(0,0,0,.06);
  padding:26px 18px 22px;
  text-align:center;
}
.eng__avatar{
  width:84px;height:84px;border-radius:999px;
  margin:0 auto 18px;
  background:radial-gradient(circle at 35% 35%, rgba(255,255,255,.85), rgba(255,255,255,0) 55%),
             linear-gradient(180deg,#d1d5db,#9ca3af);
  border:3px solid #fff;
  box-shadow:0 10px 26px rgba(0,0,0,.12);
}
.eng__name{font-weight:700; font-size:18px; margin:0 0 6px; color:#111827}
.eng__exp{margin:0; font-size:16px; color:#111827}
.eng__exp b{font-weight:900}

@media (max-width: 1060px){
  .ask-expert__box{grid-template-columns: 1fr; gap:18px}
  .ask-expert__right{text-align:left}
  .models__grid{grid-template-columns: repeat(3, 1fr)}
  .cert__head{grid-template-columns: 1fr}
  .cert__docs{justify-items:start}
  .engineers{grid-template-columns: repeat(2, 1fr)}
}
@media (max-width: 520px){
  .models h2{font-size:34px}
  .models__types{gap:22px}
  .models__grid{grid-template-columns: repeat(2, 1fr)}
  .model-card__img{width:150px;height:170px}
  .engineers{grid-template-columns: 1fr}
  .cert h2{font-size:34px}
}



/* Red accents (Bosch vibe) */
:root{
  --bosch-red:#e30613;
}
.btn--primary{
  background: #eb0000;
}
.btn--primary:hover{filter:none; box-shadow:0 10px 22px rgba(29,94,168,.22)}
.btn--primary:active{transform:translateY(1px)}
/* subtle red highlight on focus/links */
a:hover{color:var(--brand-blue)}
.nav{position:relative}
.nav::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:-1px;
  height:3px;
  opacity:.9;
}
/* tiny red separator under top header */
.topbar{position:relative}
.topbar::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:-1px;
  height:2px;
  opacity:.55;
}

/* Footer */
.footer{
background: #19305c;
  color:#fff;
  padding:34px 0 40px;

  position:relative;
  overflow:hidden;
}
.footer::before{
  content:"";
  position:absolute;
  left:-10%;
  top:-140px;
  width:140%;
  height:260px;
  background:radial-gradient(800px 260px at 50% 100%, rgba(0,0,0,.18), transparent 70%);
  opacity:.65;
}
.footer__top{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-bottom:18px;
}
.footer__brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:900;
  letter-spacing:.3px;
}
.footer__brand .mark{
  width:34px;height:34px;border-radius:999px;
  border:2px solid rgba(255,255,255,.9);
  display:grid;place-items:center;
}
.footer__brand span{font-size:18px}
.footer__brand small{
  display:block;
  font-size:12px;
  opacity:.9;
  font-weight:600;
  margin-top:2px;
}
.footer__to-top{
  width:42px;height:42px;
  border:1px solid rgba(255,255,255,.55);
  background:transparent;
  color:#fff;
  border-radius:2px;
  cursor:pointer;
  display:grid;place-items:center;
}
.footer__to-top:hover{background:rgba(255,255,255,.10)}
.footer__divider{
  height:1px;
  background:rgba(255,255,255,.12);
  margin:10px 0 26px;
  position:relative;
}
.footer__divider::after{
  content:"";
  position:absolute;
  left:0; top:-2px;
  width:120px;height:4px;
  background:var(--bosch-red);
  border-radius:2px;
}

.footer__grid{
  position:relative;
  display:grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.3fr;
  gap:26px;
  align-items:start;
}
.f-col h4{
  margin:0 0 14px;
  font-size:20px;
  font-weight:900;
}
.f-links{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px 26px;
}
.f-links a{
  color:rgba(255,255,255,.78);
  font-size:15px;
}
.f-links a:hover{color:#fff}
.f-col ul{list-style:none; margin:0; padding:0}
.f-col li{margin:10px 0}
.f-col li a{color:rgba(255,255,255,.78)}
.f-col li a:hover{color:#fff}

.f-share{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  margin:10px 0 18px;
}
.share-ico{
  width:34px;height:34px;border-radius:999px;
  border:1px solid rgba(255,255,255,.35);
  display:grid;place-items:center;
  color:#fff;
  position:relative;
}
.share-ico::after{
  content:attr(data-count);
  position:absolute;
  left:22px; top:18px;
  width:22px;height:22px;border-radius:999px;
  background:#3bd1c7;
  color:#072b57;
  font-size:12px;
  font-weight:900;
  display:grid;place-items:center;
  border:2px solid rgba(35,48,111,.75);
}
.share-ico:hover{background:rgba(255,255,255,.08)}
.footer__note{
  color:rgba(255,255,255,.72);
  font-size:15px;
  line-height:1.4;
}
.footer__phone{
  font-size:26px;
  font-weight:900;
  letter-spacing:.6px;
  margin:8px 0 8px;
}
.footer__addr{
  color:rgba(255,255,255,.86);
  font-weight:700;
  line-height:1.35;
  margin:0 0 18px;
}
.footer__cta{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.footer__cta .btn-footer{
  background:#e30613;
  color:#fff;
  font-weight:900;
  border:none;
  padding:14px 18px;
  border-radius:2px;
  cursor:pointer;
  min-width:220px;
  box-shadow:0 16px 40px rgba(0,0,0,.18);
  position:relative;
}
.footer__cta .btn-footer::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:4px;
  background:var(--bosch-red);
}
.footer__cta .btn-footer:hover{filter:brightness(0.98)}
.footer__cta a{
  color:#fff;
  font-weight:800;
  font-size:18px;
}
.footer__bottom{
  position:relative;
  margin-top:26px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  color:rgba(255,255,255,.70);
  font-size:13px;
}
.footer__bottom a{color:rgba(255,255,255,.78); font-weight:700}
.footer__bottom a:hover{color:#fff}

@media (max-width: 1060px){
  .footer__grid{grid-template-columns: 1fr 1fr}
  .footer__phone{font-size:34px}
}
@media (max-width: 520px){
  .footer__grid{grid-template-columns: 1fr}
  .f-links{grid-template-columns: 1fr}
  .footer__phone{font-size:30px}
}



/* ==========================
   New blocks: Reviews + Geography
   ========================== */
.reviews{
  background:#fff;
  padding:54px 0 64px;
  border-top:1px solid #eef2f7;
}
.reviews__head{
  text-align:center;
  margin-bottom:26px;
}
.reviews__head h2{
  margin:0;
  font-size:40px;
  font-weight:800;
  color:#111827;
}
.reviews__head p{
  margin:10px 0 0;
  color:#9ca3af;
  font-size:14px;
}
.reviews__grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:22px;
}
.review{
    background: #fff;
    border: 1px solid rgb(0 76 255 / 8%);
    border-radius: 5px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .06);
    padding: 18px 18px 14px;
}

.review--active{
  border-color: rgb(255 255 255 / 35%);
    box-shadow: 0 3px 14px rgb(41 1 4 / 10%);
}
.review__top{
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.avatar{
  width:46px;height:46px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-weight:900;
  color:#fff;
  flex:0 0 46px;
}
.avatar--purple{background:#8b5cf6;}
.avatar--amber{background:#f59e0b;}
.avatar--img{
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-color:#e5e7eb;
}
.review__name{
  font-weight:800;
  color:#111827;
  font-size:14px;
  margin-top:2px;
  margin-bottom:6px;
}
.review__text{
  color:#000;
  font-size:14px;
  line-height:1.55;
}
.review__bottom{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:14px;
}
.stars{
  color:#e30613;
  font-size:13px;
  letter-spacing:1px;
}
.score{
  color:#9ca3af;
  font-size:12px;
  font-weight:700;
}

/* Geography */
.geo{
  background:#f5f6f7;
  padding:54px 0 70px;
  border-top:1px solid #eef2f7;
}
.geo__head h2{
  margin:0;
  font-size:40px;
  font-weight:800;
  color:#111827;
}
.geo__head p{
  margin:10px 0 0;
  color:#9ca3af;
  font-size:14px;
}
.geo__toolbar{
  margin-top:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.geo__search{
  flex:1 1 420px;
}
.geo__search input{
  width:100%;
  height:42px;
  border-radius:999px;
  border:1px solid #e5e7eb;
  background:#fff;
  padding:0 16px;
  font-size:13px;
  outline:none;
}
.geo__search input:focus{border-color:#cbd5e1; box-shadow:0 0 0 3px rgba(148,163,184,.20)}
.geo__tabs{
  display:flex;
  gap:10px;
  align-items:center;
}
.geo__tab{
  height:32px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(227,6,19,.25);
  background:#fff;
  color:#6b7280;
  font-weight:800;
  font-size:12px;
  cursor:pointer;
}
.geo__tab.is-active{
  background:rgba(227,6,19,.08);
  color:#e30613;
  border-color:rgba(227,6,19,.35);
}

.geo__grid{
  margin-top:18px;
  display:grid;
  grid-template-columns: repeat(5, 1fr);
  gap:18px;
}
.city-card{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 12px 40px rgba(0,0,0,.06);
  padding:8px 16px 2px;
}
.city-card__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.city-card__name{
  font-weight:600;
  color:#111827;
  font-size:14px;
}
.pill {
    font-size: 11px;
    font-weight: 500;
    color: #474747;
    border: 1px solid rgb(255 255 255 / 25%);
    background: rgba(227, 6, 19, .06);
    border-radius: 5px;
    padding: 4px 10px;
    white-space: nowrap;
}
.pill--red{
  color:#474747;
}
.city-card__desc{
  color:#6b7280;
  font-size:12px;
  line-height:1.45;
  min-height:44px;
}
.city-card__actions{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:12px;
}
.city-card__actions .btn--ghost{
  height:32px;
  padding:0 12px;
  border-radius:999px;
  font-weight:800;
  font-size:12px;
}
.city-card__actions .more{
  color:#e30613;
  font-weight:800;
  font-size:12px;
}

/* Responsive for new blocks */
@media (max-width: 1060px){
  .reviews__grid{grid-template-columns: repeat(2, 1fr);}
  .geo__grid{grid-template-columns: repeat(2, 1fr);}
}
@media (max-width: 520px){
  .reviews__head h2{font-size:28px}
  .geo__head h2{font-size:28px}
  .reviews__grid{grid-template-columns: 1fr;}
  /* compact cities: 3 columns */
  .geo__grid{grid-template-columns: repeat(2, minmax(0, 1fr)); gap:10px;}
  .city-card{padding:8px 10px 6px;}
  .city-card__name{font-size:12px;}
  .pill{font-size:10px; padding:3px 8px;}
}

/* Series block (used on dishwacher / fridge / dryer pages instead of model image grid) */
.series{ margin-top: 28px; }
.series__group{ margin: 0 0 22px; text-align: center; }
.series__title{
  font-size: 18px;
  font-weight: 700;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin: 0 0 16px;
}
.series__chips{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}
.series__chip{
  display: inline-flex;
  align-items: baseline;
  padding: 12px 22px;
  background: #fff;
  border: 1.5px solid #e30613;
  border-radius: 999px;
  font-weight: 700;
  font-size: 17px;
  color: #111827;
  white-space: nowrap;
  transition: background .15s ease, color .15s ease, transform .15s ease;
  cursor: default;
}
.series__chip:hover{ background: #e30613; color: #fff; transform: translateY(-1px); }
.series__chip small{ font-size: 12px; font-weight: 500; margin-left: 6px; opacity: .75; }
.series__sub{
  text-align: center;
  color: #4b5563;
  font-size: 16px;
  line-height: 1.55;
  margin: 0 auto 22px;
  max-width: 760px;
  padding: 0 16px;
}
.series__cta{
  margin-top: 22px;
  text-align: center;
  font-size: 17px;
  color: #111827;
  line-height: 1.55;
}
.series__cta a{
  color: #e30613;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}
@media (max-width: 520px){
  .series__chip{ font-size: 14px; padding: 9px 16px; }
  .series__title{ font-size: 14px; }
  .series__sub{ font-size: 14px; }
  .series__cta{ font-size: 15px; }
}

/* Responsive */
    @media (max-width: 1060px){
      .header-info__title{display:none}
      .cta{min-width:200px}
      .hero__panel{grid-template-columns: 480px 1fr}
      .wm{right:22px; width:330px;height:330px}
    }
    @media (max-width: 920px){
      .pricing__layout{grid-template-columns: 1fr;}
      .pricing__grid{grid-template-columns: repeat(2, 1fr);}
      .pricing__promo{grid-template-columns: 1fr;}
      .pricing__side{border-top:1px solid var(--line); padding-top:12px;}

      .topbar__row{flex-wrap:wrap}
      .header-info{width:100%; justify-content:space-between}
      .cta{margin-left:auto}
      .hero__panel{grid-template-columns: 1fr; }
      .hero__image{min-height:360px}
      .wm{right:18px; top:34px; width:300px;height:300px}
      .badge{right:10px}
      .features__row{grid-template-columns: repeat(2, 1fr)}
}
    @media (max-width: 520px){
      .pricing__head h2{font-size:26px;}
      /* На мобилке прайс в 2 колонки, чтобы не занимал слишком много места */
      .pricing__grid{grid-template-columns: repeat(2, 1fr); gap:12px;}
      .p-card{padding:14px 12px 12px; min-height:108px;}
      .p-card__desc{min-height:auto;}

      .brand{min-width:auto}
      .phones .tel{font-size:18px}
      .btn{padding:10px 12px}
      .card{padding:22px}
      .card h1{font-size:30px}
      .form{flex-direction:column; align-items:stretch}
      .btn--order{width:100%}
      .features__row{grid-template-columns: 1fr}
.widget{left:12px; right:12px}
    }


/* ==========================
   Mobile off-canvas menu
   (не затрагивает ПК-версию)
   ========================== */

.hamburger{display:none}
.mobile-contacts{display:none}
.mnav{display:none}

@media (max-width: 920px){
  /* Прячем горизонтальное меню на мобилке */
  .nav{display:none}

  /* =====================
     Mobile header layout
     ===================== */
  .header-info, .cta{display:none}
  .topbar__row{
    display:grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "brand burger"
      "contacts contacts";
    align-items:center;
    gap:10px 12px;
  }
  .brand{grid-area:brand; min-width:0}
  .hamburger{grid-area:burger}

  .mobile-contacts{
    grid-area:contacts;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding-top:6px;
  }
  .mobile-contacts__phone{min-width:0}
  .mobile-contacts__phone .small{font-size:12px; opacity:.8}
  .mobile-contacts__phone .tel{font-weight:900}
  .mobile-contacts__cta{white-space:nowrap}

  /* Кнопка "бургер" (в одной строке с логотипом) */
  .hamburger{
    display:inline-flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:44px;
    height:36px;
    padding:0 10px;
    margin:0;
    background:#fff;
    border:1px solid rgba(15,23,42,.14);
    border-radius:8px;
    cursor:pointer;
  }
  .hamburger span{
    display:block;
    height:2px;
    width:100%;
    background:#111827;
    border-radius:2px;
    opacity:.9;
  }

  /* Старый блок телефона/города на мобилке не показываем */
  .phones, .city{display:none}

  /* Off-canvas */
  /* меню должно открываться поверх фиксированной шапки */
  .mnav{display:block; position:fixed; inset:0; z-index:20000; pointer-events:none}
  .mnav__backdrop{position:absolute; inset:0; background:rgba(15,23,42,.45); opacity:0; transition:.18s ease}
  .mnav__drawer{
    position:absolute;
    top:0; right:0;
    width:min(84vw, 360px);
    height:100%;
    background:#fff;
    transform:translateX(102%);
    transition:.22s ease;
    box-shadow:-18px 0 60px rgba(0,0,0,.20);
    border-left:1px solid rgba(15,23,42,.10);
    display:flex;
    flex-direction:column;
  }
  .mnav__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 14px;
    border-bottom:1px solid rgba(15,23,42,.08);
  }
  .mnav__title{font-weight:900; font-size:16px; color:#111827}
  .mnav__close{
    width:36px; height:36px;
    border-radius:10px;
    border:1px solid rgba(15,23,42,.12);
    background:#fff;
    cursor:pointer;
    font-size:22px;
    line-height:1;
  }
  .mnav__links{padding:10px 14px 18px}
  .mnav__links a{
    display:block;
    padding:12px 10px;
    border-radius:10px;
    font-weight:800;
    color:#111827;
  }
  .mnav__links a:hover{background:rgba(15,23,42,.05)}

  .mnav.is-open{pointer-events:auto}
  .mnav.is-open .mnav__backdrop{opacity:1}
  .mnav.is-open .mnav__drawer{transform:translateX(0)}

  /* lock scroll when menu open */
  .mnav-lock{overflow:hidden}
}

/* =====================================
   Mobile fix: Certificates 2x2 grid
   (works with .cert-card / .cert-img)
   ===================================== */
@media (max-width: 920px){
  .cert__head{grid-template-columns:1fr; gap:18px;}

  .cert__docs{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
    width:100%;
    justify-items:stretch;
    align-items:stretch;
  }

  .cert-card{
    width:100%;
    max-width:100%;
  }

  .cert-img{
    width:100%;
    max-width:100%;
    height:auto;
    display:block;
  }

  /* делаем одинаковую высоту карточек (не “прыгают”) */
  .cert-card .cert-img{
    aspect-ratio: 3 / 4;
    object-fit: contain;
    background:#fff;
  }


}

/* =============================
   Mobile: engineers horizontal slider
   ============================= */
.engineers-carousel{position:relative;}
.eng-arrow{display:none;}

@media (max-width: 520px){
  .engineers-carousel{margin-top:18px;}
  .engineers{
    display:flex;
    grid-template-columns:none !important;
    overflow-x:auto;
    gap:12px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding:6px 44px 10px; /* leave room for arrows */
  }
  .engineers::-webkit-scrollbar{height:0;}
  .eng{
    flex:0 0 78%;
    max-width:320px;
    scroll-snap-align:start;
  }
  .eng img{
    width:100%;
    height:auto;
    display:block;
    border-radius:12px;
  }
  .eng-arrow{
    display:flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:34px;
    height:34px;
    border-radius:999px;
    border:1px solid rgba(15,23,42,.14);
    background:#fff;
    box-shadow:0 10px 24px rgba(0,0,0,.12);
    color:#111827;
    font-size:20px;
    font-weight:900;
    cursor:pointer;
    z-index:3;
  }
  .eng-arrow--prev{left:8px;}
  .eng-arrow--next{right:8px;}
}

/* ===== Callback modal ===== */
.modal{ position:fixed; inset:0; z-index:25000; display:none; }
.modal.is-open{ display:block; }

.modal__backdrop{
  position:absolute; inset:0;
  background:rgba(15,23,42,.55);
}

.modal__dialog{
  position:relative;
  width:min(92vw, 520px);
  margin: min(12vh, 90px) auto 0;
  background:#fff;
  border-radius:12px;
  box-shadow:0 30px 90px rgba(0,0,0,.28);
  padding:22px 20px 18px;
}

.modal__close{
  position:absolute;
  right:12px; top:10px;
  width:36px; height:36px;
  border-radius:10px;
  border:1px solid rgba(15,23,42,.12);
  background:#fff;
  cursor:pointer;
  font-size:22px;
  line-height:1;
}

.modal__title{
  margin:0 0 6px;
  font-size:22px;
  font-weight:900;
}
.modal__subtitle{
  margin:0 0 14px;
  color:var(--muted);
  font-size:13px;
}

.modal__form{ display:grid; gap:10px; }
.modal__input{
  height:46px;
  border:1px solid #d1d5db;
  border-radius:8px;
  padding:0 14px;
  font-size:14px;
  outline:none;
}
.modal__input:focus{
  border-color:#94a3b8;
  box-shadow:0 0 0 3px rgba(148,163,184,.25);
}

.modal__submit{
  height:46px;
  border:none;
  border-radius:8px;
  cursor:pointer;
  font-weight:900;
  color:#fff;
  background:linear-gradient(180deg, var(--brand-blue), #134a87);
}

.modal__note{
  font-size:12px;
  color:#9ca3af;
  line-height:1.35;
}
.modal__note a{ color:var(--brand-blue); font-weight:700; }

/* чтобы при открытии модалки не скроллился фон */
html.modal-lock, body.modal-lock{ overflow:hidden; }
/* ===== Callback modal (FORCE) ===== */
#callbackModal.modal{
  position:fixed !important;
  inset:0 !important;
  z-index:99999 !important;
  display:none !important;
}
#callbackModal.modal.is-open{ display:block !important; }

#callbackModal .modal__backdrop{
  position:absolute !important;
  inset:0 !important;
  background:rgba(15,23,42,.55) !important;
}

#callbackModal .modal__dialog{
  position:relative !important;
  width:min(92vw, 520px) !important;
  margin: min(12vh, 90px) auto 0 !important;
  background:#fff !important;
  border-radius:12px !important;
  box-shadow:0 30px 90px rgba(0,0,0,.28) !important;
  padding:22px 20px 18px !important;
  z-index:2 !important;
}

#callbackModal .modal__close{
  position:absolute !important;
  right:12px !important;
  top:10px !important;
  width:36px !important;
  height:36px !important;
  border-radius:10px !important;
  border:1px solid rgba(15,23,42,.12) !important;
  background:#fff !important;
  cursor:pointer !important;
  font-size:22px !important;
  line-height:1 !important;
}

#callbackModal .modal__title{
  margin:0 0 6px !important;
  font-size:22px !important;
  font-weight:900 !important;
}
#callbackModal .modal__subtitle{
  margin:0 0 14px !important;
  color:var(--muted) !important;
  font-size:13px !important;
}

#callbackModal .modal__form{ display:grid !important; gap:10px !important; }

#callbackModal .modal__input{
  height:46px !important;
  border:1px solid #d1d5db !important;
  border-radius:8px !important;
  padding:0 14px !important;
  font-size:14px !important;
  outline:none !important;
}

#callbackModal .modal__submit{
  height:46px !important;
  border:none !important;
  border-radius:8px !important;
  cursor:pointer !important;
  font-weight:900 !important;
  color:#fff !important;
  background:linear-gradient(180deg, var(--brand-blue), #134a87) !important;
}

#callbackModal .modal__note{
  font-size:12px !important;
  color:#9ca3af !important;
  line-height:1.35 !important;
}
#callbackModal .modal__note a{ color:var(--brand-blue) !important; font-weight:700 !important; }

html.modal-lock, body.modal-lock{ overflow:hidden !important; }

.cookie-banner{
  position:fixed;
  left:18px;
  bottom:18px;
  z-index:99990;
  width:min(420px, calc(100vw - 36px));
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 12px 12px 14px;
  border:1px solid rgba(15,23,42,.12);
  border-radius:12px;
  background:#fff;
  box-shadow:0 18px 50px rgba(15,23,42,.18);
  color:#1f2937;
  font-size:13px;
  line-height:1.35;
  opacity:0;
  transform:translateY(12px);
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
}
.cookie-banner.is-visible{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.cookie-banner__text{
  flex:1;
  min-width:0;
}
.cookie-banner__btn{
  flex:0 0 auto;
  min-width:58px;
  height:34px;
  padding:0 14px;
  border:none;
  border-radius:8px;
  background:var(--brand-blue);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
.cookie-banner__btn:hover{filter:brightness(.96)}

@media (max-width: 520px){
  .cookie-banner{
    left:12px;
    right:12px;
    bottom:12px;
    width:auto;
    align-items:flex-start;
  }
}

.privacy-modal{
  z-index:100000;
}
.privacy-modal .modal__dialog{
  width:min(94vw, 760px);
  max-height:min(84vh, 760px);
  margin: min(8vh, 58px) auto 0;
  overflow:auto;
  padding:26px 24px 24px;
}
.privacy-policy{
  color:#111827;
  font-size:14px;
  line-height:1.55;
  padding-right:4px;
}
.privacy-policy h2{
  margin:0 42px 12px 0;
  font-size:24px;
  line-height:1.2;
  font-weight:900;
  color:#111827;
}
.privacy-policy h3{
  margin:18px 0 6px;
  font-size:15px;
  line-height:1.3;
  font-weight:900;
  color:#111827;
}
.privacy-policy p{
  margin:0 0 10px;
}
.privacy-policy a{
  color:var(--brand-blue);
  font-weight:700;
}

@media (max-width: 560px){
  .privacy-modal .modal__dialog{
    width:calc(100vw - 24px);
    max-height:calc(100vh - 32px);
    margin:16px auto 0;
    padding:22px 16px 18px;
  }
  .privacy-policy{
    font-size:13px;
  }
  .privacy-policy h2{
    font-size:20px;
  }
}

/* ===== Home (service center) sections ===== */

/* Services grid: 4 cards linking to subpages */
.home-services{
  background: #f8fafc;
  padding: 64px 0 72px;
  border-top: 1px solid #eef2f7;
}
.home-section__head{
  text-align: center;
  max-width: 760px;
  margin: 0 auto 38px;
  padding: 0 16px;
}
.home-section__head h2{
  margin: 0 0 12px;
  font-size: 42px;
  font-weight: 800;
  color: #111827;
  line-height: 1.15;
}
.home-section__head h2::before{
  content: "";
  display: block;
  width: 44px;
  height: 3px;
  background: #e30613;
  margin: 0 auto 18px;
  border-radius: 2px;
}
.home-section__head p{
  margin: 0;
  font-size: 17px;
  color: #6b7280;
  line-height: 1.55;
}
.home-services__grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.svc-card{
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 18px;
  padding: 28px 24px 22px;
  text-decoration: none;
  color: #111827;
  border: 1px solid #eef2f7;
  box-shadow: 0 2px 10px rgba(15,23,42,.04);
  transition: transform .2s ease, box-shadow .25s ease, border-color .2s;
  min-height: 244px;
  position: relative;
  overflow: hidden;
}
.svc-card::before{
  content: "";
  position: absolute; inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, #e30613, #ff5b69);
  opacity: 0; transition: opacity .25s ease;
}
.svc-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(15,23,42,.10);
  border-color: #fee2e3;
}
.svc-card:hover::before{ opacity: 1; }
.svc-card__ico{
  width: 56px; height: 56px;
  border-radius: 14px;
  background: rgba(227,6,19,.08);
  color: #e30613;
  display: inline-flex; align-items: center; justify-content: center;
  margin-bottom: 18px;
  transition: background .25s, color .25s;
}
.svc-card__ico svg{ width: 30px; height: 30px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.svc-card:hover .svc-card__ico{ background: #e30613; color: #fff; }
.svc-card__name{
  font-size: 20px;
  font-weight: 800;
  margin: 0 0 8px;
  color: #111827;
}
.svc-card__desc{
  font-size: 14px;
  color: #6b7280;
  line-height: 1.55;
  margin: 0 0 18px;
  flex: 1;
}
.svc-card__row{
  display: flex; align-items: center; justify-content: space-between;
  border-top: 1px solid #eef2f7;
  padding-top: 14px;
  gap: 12px;
}
.svc-card__price{ font-size: 13px; color: #6b7280; }
.svc-card__price b{ color: #111827; font-size: 16px; font-weight: 800; margin-left: 4px; }
.svc-card__more{
  color: #e30613;
  font-weight: 700;
  font-size: 14px;
  display: inline-flex; align-items: center; gap: 6px;
  white-space: nowrap;
}
.svc-card__more::after{ content: "→"; transition: transform .2s; }
.svc-card:hover .svc-card__more::after{ transform: translateX(4px); }

/* About + stats */
.home-stats{
  padding: 64px 0;
  background: #fff;
}
.home-stats__lead{
  max-width: 880px;
  margin: 0 auto 30px;
  text-align: center;
  padding: 0 16px;
}
.home-stats__lead p{
  margin: 0;
  font-size: 17px;
  color: #4b5563;
  line-height: 1.7;
}
.home-stats__grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 8px;
}
.stat{
  text-align: center;
  padding: 30px 18px 26px;
  background: linear-gradient(135deg, #fef2f3 0%, #fff 100%);
  border-radius: 18px;
  border: 1px solid #fee2e3;
}
.stat__num{
  display: block;
  font-size: 44px;
  font-weight: 800;
  color: #e30613;
  line-height: 1;
  margin-bottom: 10px;
  letter-spacing: -.02em;
}
.stat__lbl{
  font-size: 14px;
  color: #4b5563;
  line-height: 1.45;
}

/* Process / Etapy raboty */
.home-process{
  background: #f8fafc;
  padding: 64px 0 72px;
  border-top: 1px solid #eef2f7;
}
.home-process__grid{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
}
.step{
  background: #fff;
  border-radius: 16px;
  padding: 26px 20px 22px;
  border: 1px solid #eef2f7;
  position: relative;
  transition: transform .2s ease, box-shadow .25s ease;
}
.step:hover{
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(15,23,42,.08);
}
.step__n{
  display: inline-flex;
  align-items: center; justify-content: center;
  width: 38px; height: 38px;
  background: linear-gradient(135deg, #e30613, #ff5b69);
  color: #fff;
  border-radius: 50%;
  font-weight: 800; font-size: 16px;
  margin-bottom: 14px;
  box-shadow: 0 8px 18px rgba(227,6,19,.25);
}
.step__title{
  font-size: 16px;
  font-weight: 800;
  margin: 0 0 6px;
  color: #111827;
}
.step__desc{
  font-size: 13px;
  color: #6b7280;
  line-height: 1.55;
  margin: 0;
}

/* Responsive (home) */
@media (max-width: 1060px){
  .home-services__grid{ grid-template-columns: repeat(2, 1fr); }
  .home-process__grid{ grid-template-columns: repeat(2, 1fr); }
  .home-stats__grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px){
  .home-services__grid,
  .home-process__grid{ grid-template-columns: 1fr; }
  .home-stats__grid{ grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .home-section__head h2{ font-size: 28px; }
  .home-stats__lead p{ font-size: 15px; }
  .stat{ padding: 22px 12px 18px; border-radius: 14px; }
  .stat__num{ font-size: 32px; }
  .svc-card{ min-height: auto; padding: 22px 20px 18px; }
}

/* ===== Cinematic full-bleed Hero (only on home page) ===== */
.hero-big{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: #f6f3ee url('/img/hero-bg.jpg') center right / cover no-repeat;
}
.hero-big::before{ display: none; }
.hero-big__inner{
  position: relative;
  z-index: 2;
  padding: 56px 0 64px;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 40px;
  align-items: center;
  color: #111827;
}

/* Status chip with pulsing red dot (white pill) */
.hero-big__chip{
  display: inline-flex; align-items: center; gap: 10px;
  padding: 10px 18px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(15,23,42,.06);
  color: #1f2937;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: .01em;
  margin-bottom: 28px;
  box-shadow: 0 6px 18px rgba(15,23,42,.06);
}
.hero-big__chip-dot{
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #e30613;
  box-shadow: 0 0 0 0 rgba(227,6,19,.7);
  animation: heroPulse 2.2s cubic-bezier(.4,0,.6,1) infinite;
}
@keyframes heroPulse{
  0%   { box-shadow: 0 0 0 0 rgba(227,6,19,.55); }
  70%  { box-shadow: 0 0 0 14px rgba(227,6,19,0); }
  100% { box-shadow: 0 0 0 0 rgba(227,6,19,0); }
}

/* Title */
.hero-big__title{
  margin: 0 0 20px;
  font-size: clamp(34px, 4.6vw, 51px);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -.02em;
  color: #111827;
}
.hero-big__title em{
  font-style: normal;
  color: #e30613;
  white-space: nowrap;
}

.hero-big__desc{
  margin: 0 0 32px;
  font-size: 17px;
  color: #4b5563;
  max-width: 540px;
  line-height: 1.6;
}

/* CTA row */
.hero-big__cta{
  display: flex; gap: 12px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 40px;
}
.hero-big__call{
  display: inline-flex; align-items: center; gap: 12px;
  padding: 15px 24px;
  background: #e30613;
  color: #fff;
  border-radius: 12px;
  font-weight: 800;
  font-size: 16.5px;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(227,6,19,.30);
  transition: transform .2s, box-shadow .2s;
  letter-spacing: .01em;
}
.hero-big__call:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(227,6,19,.40);
}
.hero-big__call svg{ width: 20px; height: 20px; }
.hero-big__btn{
  display: inline-flex; align-items: center; gap: 10px;
  padding: 15px 22px;
  background: #fff;
  color: #111827;
  border: 1.5px solid #d1d5db;
  border-radius: 12px;
  font-weight: 700;
  font-size: 15.5px;
  cursor: pointer;
  font-family: inherit;
  transition: background .2s, border-color .2s, transform .2s;
}
.hero-big__btn:hover{
  background: #f9fafb;
  border-color: #6b7280;
  transform: translateY(-2px);
}
.hero-big__btn-arrow{ transition: transform .2s; display: inline-block; }
.hero-big__btn:hover .hero-big__btn-arrow{ transform: translateX(4px); }

/* Trust strip (with red icons, no separators) */
.hero-big__proofs{
  display: flex;
  align-items: center;
  gap: 38px;
  flex-wrap: wrap;
  padding-top: 8px;
  max-width: 720px;
  border-top: none;
}
.hero-big__proofs .proof{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
}
.proof__ico{
  width: 30px; height: 30px;
  color: #e30613;
  flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
}
.proof__ico svg{
  width: 100%; height: 100%;
  fill: none; stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round; stroke-linejoin: round;
}
.proof__text{ display: flex; flex-direction: column; }
.proof__num{
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
  color: #111827;
  margin-bottom: 4px;
  letter-spacing: -.01em;
}
.proof__lbl{
  font-size: 12.5px;
  color: #6b7280;
  font-weight: 500;
  line-height: 1.3;
}
.proof__sep{ display: none; }

/* Right column visual: composition of multiple Miele appliances */
.hero-big__visual{
  position: relative;
  align-self: stretch;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-height: 540px;
}
.hero-big__visual::before{ display: none; }
.hero-big__visual img{
  position: relative;
  z-index: 1;
  max-width: 115%;            /* allow the composition to extend slightly past the column */
  max-height: 620px;
  width: auto; height: auto;
  object-fit: contain;
  display: block;
  mix-blend-mode: multiply;   /* hides the white background of the JPEG over the room bg */
  filter: none;
}

@media (max-width: 920px){
  .hero-big__inner{
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 36px 0 48px;
  }
  .hero-big__visual{
    order: -1;
    min-height: 280px;
  }
  .hero-big__visual img{ max-height: 320px; }
  .hero-big__title{ font-size: clamp(30px, 7vw, 44px); }
}

@media (max-width: 720px){
  .hero-big__title{ font-size: clamp(28px, 9vw, 40px); margin-bottom: 14px; }
  .hero-big__desc{ font-size: 15.5px; margin-bottom: 24px; }
  .hero-big__cta{ flex-direction: column; align-items: stretch; gap: 10px; margin-bottom: 28px; }
  .hero-big__call,
  .hero-big__btn{ justify-content: center; padding: 14px 18px; }
  .hero-big__proofs{ gap: 18px; padding-top: 20px; }
  .proof__num{ font-size: 22px; }
  .proof__lbl{ font-size: 12px; }
  .proof__sep{ display: none; }
  .hero-big__visual img{ max-height: 260px; }
}

/* ===== Hero proof badges (floating over right image) ===== */
.hero__badges{
  position: absolute;
  right: 16px; bottom: 18px;
  display: flex; flex-direction: column;
  gap: 10px;
  z-index: 4;
  pointer-events: none;
}
.hero-badge{
  background: rgba(255,255,255,.96);
  border-radius: 14px;
  padding: 12px 16px;
  box-shadow: 0 14px 34px rgba(15,23,42,.18);
  display: flex; align-items: center; gap: 12px;
  font-size: 13px;
  border: 1px solid rgba(255,255,255,.7);
  backdrop-filter: blur(8px);
  min-width: 175px;
  pointer-events: auto;
}
.hero-badge__num{
  font-size: 22px;
  font-weight: 800;
  color: #e30613;
  line-height: 1;
  letter-spacing: -.02em;
  white-space: nowrap;
}
.hero-badge__lbl{
  color: #1f2937;
  line-height: 1.3;
  font-weight: 500;
}
@media (max-width: 720px){
  .hero__badges{ display: none; }
}

/* ===== Category cards with photos (redesigned) ===== */
.svc-card--photo{ padding: 0; overflow: hidden; }
.svc-card--photo .svc-card__media-wrap{
  position: relative;
  overflow: hidden;
}
.svc-card--photo .svc-card__media{
  display: block;
  width: 100%;
  height: 220px;
  object-fit: cover;
  background: linear-gradient(135deg, #1f2937, #0f172a);
  transition: transform .4s ease;
}
.svc-card--photo:hover .svc-card__media{ transform: scale(1.05); }

/* Floating red square icon at the bottom-left edge of the image */
.svc-card__icon{
  position: absolute;
  left: 22px;
  bottom: -22px;
  width: 50px; height: 50px;
  background: #e30613;
  border-radius: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-shadow: 0 10px 22px rgba(227,6,19,.40);
  z-index: 2;
  transition: transform .2s ease;
}
.svc-card__icon svg{
  width: 24px; height: 24px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.svc-card:hover .svc-card__icon{ transform: scale(1.07); }

.svc-card--photo .svc-card__body{
  padding: 38px 22px 22px;     /* extra top to make room for floating icon overhang */
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.svc-card--photo .svc-card__name{
  font-size: 19px;
  font-weight: 800;
  color: #111827;
  margin: 0;
  flex: 1;
  line-height: 1.25;
}
.svc-card__arrow{
  color: #1f2937;
  font-size: 22px;
  font-weight: 500;
  line-height: 1;
  flex-shrink: 0;
  transition: transform .2s ease, color .2s ease;
}
.svc-card:hover .svc-card__arrow{
  color: #e30613;
  transform: translateX(4px);
}

/* ===== Trust block (split layout with image) ===== */
.home-trust{
  background: #fff;
  padding: 70px 0 80px;
}
.home-trust__row{
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 56px;
  align-items: center;
}
.home-trust__media{
  border-radius: 24px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 24px 60px rgba(15,23,42,.12);
  aspect-ratio: 4 / 3;
  background: linear-gradient(135deg, #fee2e3, #fff8f8);
}
.home-trust__media img{
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  display: block;
}
.home-trust__chip{
  position: absolute; top: 18px; left: 18px;
  background: rgba(227,6,19,.95);
  color: #fff;
  padding: 9px 16px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .01em;
  box-shadow: 0 8px 22px rgba(227,6,19,.35);
}
.home-trust__title{
  font-size: 38px;
  font-weight: 800;
  color: #111827;
  margin: 0 0 16px;
  line-height: 1.15;
  letter-spacing: -.01em;
}
.home-trust__lead{
  font-size: 16.5px;
  color: #4b5563;
  line-height: 1.65;
  margin: 0 0 24px;
}
.home-trust__list{
  list-style: none;
  padding: 0; margin: 0;
  display: grid; gap: 14px;
}
.home-trust__list li{
  display: flex; gap: 14px; align-items: flex-start;
  font-size: 15.5px;
  color: #1f2937;
  line-height: 1.5;
}
.home-trust__list li::before{
  content: "";
  width: 24px; height: 24px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #e30613 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='4 12 10 18 20 6'/%3E%3C/svg%3E") center/13px no-repeat;
  margin-top: 1px;
  box-shadow: 0 4px 12px rgba(227,6,19,.25);
}
@media (max-width: 920px){
  .home-trust__row{ grid-template-columns: 1fr; gap: 30px; }
  .home-trust__title{ font-size: 28px; }
  .home-trust__media{ aspect-ratio: 16 / 10; }
}

/* ===== Cases grid ===== */
.home-cases{
  background: #f8fafc;
  padding: 70px 0 80px;
  border-top: 1px solid #eef2f7;
}
.home-cases__grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.case{
  background: #fff;
  border-radius: 18px;
  border: 1px solid #eef2f7;
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: transform .2s, box-shadow .25s, border-color .2s;
}
.case:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(15,23,42,.10);
  border-color: #fee2e3;
}
.case__media{
  width: 100%; height: 200px;
  overflow: hidden;
  position: relative;
  background: linear-gradient(135deg, #fee2e3, #fff8f8);
}
.case__media img{
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .4s ease;
}
.case:hover .case__media img{ transform: scale(1.06); }
.case__cat{
  position: absolute; top: 14px; left: 14px;
  background: rgba(255,255,255,.96);
  color: #e30613;
  font-size: 12px; font-weight: 700;
  padding: 7px 13px;
  border-radius: 999px;
  box-shadow: 0 6px 14px rgba(15,23,42,.10);
  letter-spacing: .02em;
}
.case__body{
  padding: 18px 20px 20px;
  display: flex; flex-direction: column;
  flex: 1;
}
.case__title{
  font-size: 17px; font-weight: 800;
  color: #111827; margin: 0 0 8px;
  line-height: 1.3;
}
.case__desc{
  font-size: 14px;
  color: #6b7280;
  line-height: 1.55;
  margin: 0 0 16px;
  flex: 1;
}
.case__meta{
  display: flex; justify-content: space-between; align-items: center;
  border-top: 1px solid #eef2f7;
  padding-top: 12px;
  font-size: 12.5px;
  color: #9ca3af;
}
.case__meta strong{ color: #111827; font-weight: 700; }
.case__meta-time{
  display: inline-flex; align-items: center; gap: 5px;
}
@media (max-width: 1060px){
  .home-cases__grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px){
  .home-cases__grid{ grid-template-columns: 1fr; }
  .case__media{ height: 200px; }
}
