:root {
      --primary-blue: #0056b3;
      --primary-blue-dark: #003d80;
      --accent-orange: #f26522;
      --accent-orange-hover: #d45518;
      --bg-white: #ffffff;
      --bg-light: #f7f8fa;
      --bg-gray: #f0f2f5;
      --text-dark: #1a1a2e;
      --text-medium: #4a4a5a;
      --text-light: #6b7280;
      --border-light: #e5e7eb;
      --success: #22c55e;
      --radius: 8px;
      --shadow: 0 1px 3px rgba(0,0,0,0.08), 0 4px 12px rgba(0,0,0,0.05);
      --shadow-lg: 0 10px 40px rgba(0,0,0,0.1);
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    html { scroll-behavior: smooth; }

    body {
      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
      color: var(--text-dark);
      background: var(--bg-white);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
    }

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

    a { color: var(--primary-blue); text-decoration: none; }
    a:hover { text-decoration: underline; }

    .container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }

    /* Header */
    .topbar {
      background: var(--primary-blue);
      color: #fff;
      font-size: 13px;
      padding: 8px 0;
    }
    .topbar-inner { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; }
    .topbar a { color: #fff; font-weight: 500; }
    .topbar-badge {
      background: var(--accent-orange);
      color: #fff;
      font-size: 11px;
      font-weight: 700;
      padding: 2px 8px;
      border-radius: 12px;
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }

    .navbar {
      background: var(--bg-white);
      border-bottom: 1px solid var(--border-light);
      position: sticky;
      top: 0;
      z-index: 100;
    }
    .navbar-inner {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 16px 24px;
      max-width: 1200px;
      margin: 0 auto;
    }
    .logo {
      font-size: 24px;
      font-weight: 800;
      color: var(--primary-blue);
      letter-spacing: -0.5px;
    }
    .logo span { color: var(--accent-orange); }
    .logo small {
      display: block;
      font-size: 10px;
      font-weight: 500;
      color: var(--text-light);
      letter-spacing: 1px;
      text-transform: uppercase;
    }
    .nav-links { display: flex; gap: 28px; align-items: center; list-style: none; }
    .nav-info { display: flex; align-items: center; gap: 16px; }
    .nav-schedule {
      font-size: 13px;
      font-style: italic;
      color: var(--primary-blue);
      font-weight: 500;
    }
    @media (max-width: 768px) {
      .nav-info { display: none; }
    }
    .nav-links a {
      color: var(--text-medium);
      font-size: 14px;
      font-weight: 500;
      transition: color 0.2s;
    }
    .nav-links a:hover { color: var(--primary-blue); text-decoration: none; }
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      padding: 12px 24px;
      border-radius: var(--radius);
      font-size: 14px;
      font-weight: 600;
      border: none;
      cursor: pointer;
      transition: all 0.2s;
      text-decoration: none;
    }
    .btn-primary {
      background: var(--accent-orange);
      color: #fff;
    }
    .btn-primary:hover { background: var(--accent-orange-hover); transform: translateY(-1px); }
    .btn-blue {
      background: var(--primary-blue);
      color: #fff;
    }
    .btn-blue:hover { background: var(--primary-blue-dark); transform: translateY(-1px); }
    .btn-outline {
      background: transparent;
      color: var(--primary-blue);
      border: 2px solid var(--primary-blue);
    }
    .btn-outline:hover { background: var(--primary-blue); color: #fff; }
    .btn-lg { padding: 16px 32px; font-size: 16px; }

    /* Hero */
    .hero {
      background: linear-gradient(135deg, #ffffff 0%, #f0f4f8 50%, #e8eef5 100%);
      padding: 100px 0 80px;
      position: relative;
      overflow: hidden;
    }
    .hero::before {
      content: '';
      position: absolute;
      top: -100px; right: -100px;
      width: 400px; height: 400px;
      background: radial-gradient(circle, rgba(0,86,179,0.06) 0%, transparent 70%);
      pointer-events: none;
    }
    .hero::after {
      content: '';
      position: absolute;
      bottom: -80px; left: -80px;
      width: 300px; height: 300px;
      background: radial-gradient(circle, rgba(242,101,34,0.05) 0%, transparent 70%);
      pointer-events: none;
    }
    .hero-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
    .hero-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(242,101,34,0.1);
      color: var(--accent-orange);
      font-size: 13px;
      font-weight: 700;
      padding: 8px 16px;
      border-radius: 24px;
      margin-bottom: 24px;
      border: 1px solid rgba(242,101,34,0.2);
    }
    .hero-badge .dot {
      width: 8px; height: 8px;
      background: var(--success);
      border-radius: 50%;
      animation: pulse 2s infinite;
    }
    @keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.5} }

    h1 {
      font-size: 48px;
      font-weight: 800;
      line-height: 1.1;
      color: var(--text-dark);
      margin-bottom: 20px;
      letter-spacing: -1px;
    }
    h1 .highlight { color: var(--primary-blue); }
    .hero-subtitle {
      font-size: 18px;
      color: var(--text-medium);
      margin-bottom: 32px;
      max-width: 500px;
    }
    .hero-cta { display: flex; gap: 20px; flex-wrap: wrap; margin-bottom: 40px; }
    .hero-cta .btn-lg { padding: 18px 36px; font-size: 17px; box-shadow: 0 4px 14px rgba(0,0,0,0.12); }
    .hero-cta .btn-primary { box-shadow: 0 6px 20px rgba(242,101,34,0.35); }
    .hero-cta .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(242,101,34,0.45); }
    .hero-cta .btn-outline { border-width: 2px; }
    .hero-trust {
      display: flex;
      gap: 24px;
      align-items: center;
      flex-wrap: wrap;
    }
    .trust-item { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text-light); }
    .trust-item svg { width: 20px; height: 20px; color: var(--success); }

    .hero-visual {
      background: linear-gradient(135deg, var(--primary-blue) 0%, #1a5fb4 100%);
      border-radius: 20px;
      padding: 40px;
      color: #fff;
      position: relative;
      box-shadow: var(--shadow-lg);
    }
    .hero-visual::before {
      content: '';
      position: absolute;
      top: -20px; right: -20px;
      width: 100px; height: 100px;
      background: var(--accent-orange);
      border-radius: 50%;
      opacity: 0.2;
    }
    .visual-card {
      background: rgba(255,255,255,0.12);
      backdrop-filter: blur(10px);
      border-radius: 12px;
      padding: 20px;
      margin-bottom: 16px;
      color: #fff;
    }
    .visual-card h3 { font-size: 14px; font-weight: 600; margin-bottom: 4px; color: #fff; }
    .visual-card p { font-size: 13px; opacity: 0.9; color: #fff; }
    .visual-phone {
      font-size: 28px;
      font-weight: 800;
      margin-top: 8px;
      color: #fff;
    }

    /* Section base */
    section { padding: 80px 0; }
    .section-header { text-align: center; max-width: 700px; margin: 0 auto 60px; }
    .section-label {
      display: inline-block;
      color: var(--accent-orange);
      font-size: 13px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 1px;
      margin-bottom: 12px;
    }
    h2 {
      font-size: 36px;
      font-weight: 800;
      color: var(--text-dark);
      margin-bottom: 16px;
      letter-spacing: -0.5px;
    }
    .section-desc {
      font-size: 17px;
      color: var(--text-medium);
    }

    /* Brands */
    .brands { background: var(--bg-light); }
    
    .brand-card {
      background: var(--bg-white);
      border: 1px solid var(--border-light);
      border-radius: var(--radius);
      padding: 20px 16px 16px;
      text-align: center;
      transition: all 0.2s;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
      min-height: 152px;
    }
    .brand-card:hover {
      border-color: var(--primary-blue);
      box-shadow: var(--shadow);
      transform: translateY(-2px);
    }
    .brand-card .brand-logo {
      height: 48px;
      width: auto;
      max-width: 120px;
      object-fit: contain;
      margin-bottom: 12px;
    }
    .brand-card .brand-icon {
      width: 48px; height: 48px;
      margin: 0 auto 12px;
      background: linear-gradient(135deg, var(--primary-blue), #4a90d9);
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 20px;
      font-weight: 700;
    }
    .brand-card h4 { font-size: 13px; font-weight: 600; color: var(--text-dark); margin-top: auto; }
    .brand-card .badge-spacer {
      display: inline-block;
      margin-top: 6px;
      min-height: 18px;
    }
    .brand-card .auth-badge {
      display: inline-block;
      margin-top: 6px;
      font-size: 10px;
      font-weight: 700;
      color: #dc2626;
      background: rgba(220,38,38,0.1);
      padding: 2px 8px;
      border-radius: 10px;
      text-transform: uppercase;
      letter-spacing: 0.3px;
    }


    /* Services */
    
    .service-card {
      background: var(--bg-white);
      border: 1px solid var(--border-light);
      border-radius: 12px;
      padding: 28px;
      transition: all 0.2s;
    }
    .service-card:hover {
      box-shadow: var(--shadow-lg);
      transform: translateY(-3px);
    }
    .service-icon {
      width: 48px; height: 48px;
      background: linear-gradient(135deg, var(--primary-blue), #4a90d9);
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 22px;
      margin-bottom: 16px;
    }
    .service-card h3 { font-size: 18px; font-weight: 700; margin-bottom: 8px; }
    .service-card p { font-size: 14px; color: var(--text-medium); margin-bottom: 16px; }
    .service-card a { font-size: 14px; font-weight: 600; }

    /* How it works */
    .how-it-works { background: linear-gradient(180deg, var(--bg-white) 0%, var(--bg-light) 100%); }
    .steps {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 32px;
      counter-reset: step;
    }
    .step {
      text-align: center;
      position: relative;
    }
    .step::before {
      counter-increment: step;
      content: counter(step);
      display: flex;
      align-items: center;
      justify-content: center;
      width: 48px; height: 48px;
      background: var(--primary-blue);
      color: #fff;
      font-size: 20px;
      font-weight: 800;
      border-radius: 50%;
      margin: 0 auto 16px;
    }
    .step h3 { font-size: 16px; font-weight: 700; margin-bottom: 8px; }
    .step p { font-size: 14px; color: var(--text-medium); }

    /* Why us */
    
    .why-card {
      padding: 24px;
      border-radius: 12px;
      background: var(--bg-light);
    }
    .why-card svg {
      width: 32px; height: 32px;
      color: var(--primary-blue);
      margin-bottom: 12px;
    }
    .why-card h4 { font-size: 16px; font-weight: 700; margin-bottom: 6px; }
    .why-card p { font-size: 14px; color: var(--text-medium); }

    /* Reviews */
    .reviews { background: var(--bg-light); }
    .reviews-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
      gap: 24px;
    }
    .review-card {
      background: var(--bg-white);
      border-radius: 12px;
      padding: 28px;
      box-shadow: var(--shadow);
    }
    .review-stars { color: #f59e0b; margin-bottom: 12px; font-size: 18px; }
    .review-text { font-size: 15px; color: var(--text-medium); margin-bottom: 16px; line-height: 1.6; }
    .review-author { display: flex; align-items: center; gap: 12px; }
    .review-avatar {
      width: 40px; height: 40px;
      background: linear-gradient(135deg, var(--primary-blue), #4a90d9);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-weight: 700;
      font-size: 14px;
    }
    .review-name { font-size: 14px; font-weight: 700; }
    .review-location { font-size: 12px; color: var(--text-light); }

    /* CTA Section */
    .cta-section {
      background: linear-gradient(135deg, var(--primary-blue) 0%, #1a5fb4 100%);
      color: #fff;
      text-align: center;
      padding: 80px 0;
      position: relative;
      overflow: hidden;
    }
    .cta-section::before {
      content: '';
      position: absolute;
      top: -50px; right: -50px;
      width: 200px; height: 200px;
      background: var(--accent-orange);
      border-radius: 50%;
      opacity: 0.15;
    }
    .cta-section h2 { color: #fff; margin-bottom: 16px; }
    .cta-section p { font-size: 18px; opacity: 0.9; margin-bottom: 32px; max-width: 600px; margin-left: auto; margin-right: auto; }

    /* Footer */
    footer {
      background: var(--text-dark);
      color: #9ca3af;
      padding: 60px 0 24px;
      font-size: 14px;
    }
    .footer-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 40px;
      margin-bottom: 40px;
    }
    .footer-col h4 {
      color: #fff;
      font-size: 14px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      margin-bottom: 16px;
    }
    .footer-col ul { list-style: none; }
    .footer-col li { margin-bottom: 8px; }
    .footer-col a { color: #9ca3af; transition: color 0.2s; }
    .footer-col a:hover { color: #fff; text-decoration: none; }
    .footer-bottom {
      border-top: 1px solid #2d2d3a;
      padding-top: 24px;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 16px;
    }
    .footer-logo-wrap {
      text-align: center;
      margin-bottom: 40px;
    }
    .footer-logo {
      font-size: 31.2px;
      display: inline-block;
    }
    .footer-logo small {
      font-size: 13px;
    }
    .footer-logo-combo {
      display: inline-flex;
      align-items: center;
      gap: 16px;
    }
    .footer-logo-img {
      height: 48px;
      width: auto;
    }


    /* Live Chat button */
    .live-chat {
      position: fixed;
      bottom: 80px;
      right: 24px;
      background: var(--accent-orange);
      color: #fff;
      padding: 12px 20px;
      border-radius: 24px;
      font-size: 13px;
      font-weight: 700;
      cursor: pointer;
      box-shadow: var(--shadow-lg);
      z-index: 198;
      transition: all 0.2s;
      border: none;
    }
    .live-chat:hover { background: var(--accent-orange-hover); transform: translateY(-2px); }
    @media (max-width: 768px) {
      .live-chat { bottom: 72px; right: 12px; padding: 10px 16px; font-size: 12px; }
    }

    /* Sticky bottom action bar */
    .sticky-bar {
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      background: var(--bg-white);
      border-top: 1px solid var(--border-light);
      padding: 12px 16px;
      display: flex;
      gap: 12px;
      z-index: 199;
      box-shadow: 0 -4px 20px rgba(0,0,0,0.08);
    }
    .sticky-bar .btn {
      flex: 1;
      padding: 14px 16px;
      font-size: 15px;
      font-weight: 700;
      justify-content: center;
    }
    .sticky-bar .btn svg {
      width: 18px;
      height: 18px;
      margin-right: 6px;
    }
    @media (min-width: 769px) {
      .sticky-bar { display: none; }
    }

    /* Scroll to top */
    .scroll-top {
      position: fixed;
      bottom: 24px;
      right: 24px;
      width: 48px;
      height: 48px;
      background: var(--primary-blue);
      color: #fff;
      border: none;
      border-radius: 50%;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s;
      box-shadow: var(--shadow-lg);
      z-index: 200;
    }
    .scroll-top.visible { opacity: 1; visibility: visible; }
    .scroll-top:hover { background: var(--primary-blue-dark); transform: translateY(-2px); }
    .scroll-top svg { width: 20px; height: 20px; }

    /* Tablet */
    @media (max-width: 1024px) {
      .hero-inner { grid-template-columns: 1fr; gap: 40px; }
      .hero-visual { max-width: 480px; margin: 0 auto; }
      
    }

    /* Mobile */
    @media (max-width: 768px) {
      h1 { font-size: 28px; }
      h2 { font-size: 24px; }
      .hero-inner { grid-template-columns: 1fr; }
      .hero-visual { order: -1; max-width: 100%; }
      .nav-links { display: none; }
      .nav-info { gap: 8px; }
      .nav-info .btn { padding: 8px 14px; font-size: 12px; }
      .nav-schedule { display: none; }
      .hero-cta { flex-direction: column; }
      .hero-cta .btn { width: 100%; }
      section { padding: 48px 0; }
      
      .brand-card { padding: 16px 8px; min-height: 120px; }
      .brand-card .brand-logo { height: 36px; max-width: 90px; }
      
      
      .reviews-grid { grid-template-columns: 1fr; }
      .steps { grid-template-columns: 1fr; gap: 24px; }
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
      .scroll-top { width: 40px; height: 40px; bottom: 16px; right: 16px; }
    }

    /* Small mobile */
    @media (max-width: 480px) {
      .container { padding: 0 16px; }
      h1 { font-size: 24px; }
      .hero { padding: 48px 0 40px; }
      
      .footer-grid { grid-template-columns: 1fr; }
      .footer-bottom { flex-direction: column; text-align: center; }
    }

    /* 4K / Large screens */
    @media (min-width: 1920px) {
      .container { max-width: 1400px; }
      h1 { font-size: 56px; }
      h2 { font-size: 42px; }
      .hero-inner { gap: 80px; }
      
    }

    @media (min-width: 2560px) {
      .container { max-width: 1600px; }
      
    }

    /* Landscape orientation on mobile */
    @media (max-width: 768px) and (orientation: landscape) {
      .hero { padding: 40px 0; }
      .hero-inner { grid-template-columns: 1fr 1fr; gap: 32px; }
      .hero-visual { order: 0; }
      
    }

/* === v7-review-patch === */
/* ---------- базовая раскладка и защита от горизонтального скролла ---------- */
html{overflow-x:hidden;}
img,svg,video{max-width:100%;height:auto;}
.container{width:100%;max-width:1200px;margin-inline:auto;
  padding-inline:clamp(16px,4vw,32px);}

/* ---------- центрирование секций ---------- */
.section-header{display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;max-width:760px;margin-inline:auto;margin-bottom:clamp(24px,4vw,40px);}
.section-header h2{text-align:center;}
.section-desc{text-align:center;}

/* ---------- сетки: flex-wrap, чтобы неполный ряд центрировался ---------- */
.svc-grid,.reviews-grid,.cities-grid,.areas-grid,
.svc-grid>*{flex:1 1 260px;max-width:340px;}
.reviews-grid>*{flex:1 1 300px;max-width:380px;}
.cities-grid>*{flex:1 1 240px;max-width:320px;}
.areas-grid>*{flex:1 1 280px;max-width:360px;}
.bp-grid>*{flex:1 1 180px;max-width:230px;}


/* ---------- карточки: одинаковая высота, контент по центру ---------- */
.svc-card,.review-card,.area-card,.city-card,.bp-card{
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  text-align:center;height:100%;background:var(--bg-white);
  border:1px solid var(--border-light);border-radius:var(--radius);
  text-decoration:none;color:inherit;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
.svc-card:hover,.review-card:hover,.area-card:hover,.city-card:hover,a.bp-card:hover{
  transform:translateY(-4px);border-color:var(--primary-blue);
  box-shadow:0 12px 28px rgba(15,23,42,.10);}

/* ---------- услуги ---------- */
.svc-card{padding:clamp(18px,2.4vw,26px);}
.svc-media{display:flex;align-items:center;justify-content:center;width:100%;
  height:clamp(120px,16vw,160px);margin-bottom:14px;}
.svc-media img{max-height:100%;width:auto;object-fit:contain;}
.svc-body{display:flex;flex-direction:column;align-items:center;flex:1;width:100%;}
.svc-card h3{font-size:clamp(17px,1.6vw,19px);font-weight:700;margin-bottom:8px;
  color:var(--text-dark);}
.svc-card p{font-size:14px;line-height:1.55;color:var(--text-medium);margin-bottom:10px;}
.svc-tag{display:inline-block;font-size:11px;letter-spacing:.04em;text-transform:uppercase;
  background:#eff6ff;color:var(--primary-blue);border-radius:999px;padding:3px 10px;
  margin-bottom:10px;}
.svc-more{margin-top:auto;padding-top:8px;font-size:14px;font-weight:600;
  color:var(--primary-blue);}
.svc-also{text-align:center;margin-top:26px;font-size:14px;color:var(--text-medium);}
.svc-also a{color:var(--primary-blue);font-weight:600;}

/* ---------- отзывы ---------- */
.review-card{padding:clamp(18px,2.4vw,26px);cursor:pointer;}
.review-text{flex:1;}
.review-author{display:flex;align-items:center;gap:12px;width:100%;flex-wrap:wrap;
  justify-content:center;margin-top:auto;}
.rv-src{display:inline-flex;align-items:center;gap:6px;font-size:12px;
  color:var(--text-medium);white-space:nowrap;}
.rv-g{width:14px;height:14px;flex:0 0 14px;}
.rv-cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:28px;}
.rv-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:999px;
  border:1px solid var(--border-light);background:var(--bg-white);color:var(--text-dark);
  font-size:14px;font-weight:600;text-decoration:none;transition:border-color .18s ease;}
.rv-btn:hover{border-color:var(--primary-blue);}
.rv-btn .rv-g{width:18px;height:18px;flex:0 0 18px;}

/* ---------- округа и города ---------- */
.area-card,.city-card{padding:clamp(20px,2.4vw,28px);}
.area-card h3,.city-card h3{font-size:clamp(17px,1.6vw,20px);font-weight:700;
  color:var(--text-dark);margin-bottom:8px;}
.area-cities{font-size:14px;color:var(--text-medium);margin-bottom:12px;}
.area-more,.city-more{margin-top:auto;color:var(--primary-blue);font-size:14px;
  font-weight:600;}
.cities{background:var(--bg-light);padding:60px 0;}
.city-meta,.city-pop{font-size:13px;color:var(--text-medium);}
.city-pop{margin-bottom:12px;}

/* ---------- страница брендов ---------- */
.bp-card{padding:20px 16px;min-height:168px;justify-content:center;}
.bp-card img{max-height:52px;max-width:130px;object-fit:contain;margin-bottom:12px;}
.bp-logo-blank{height:52px;margin-bottom:12px;}
.bp-card h3{font-size:15px;font-weight:700;color:var(--text-dark);margin-bottom:8px;
  line-height:1.3;}
.bp-auth{font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;
  padding:3px 10px;background:#ecfdf5;color:#047857;}
.bp-blank{display:block;height:21px;}

/* ---------- логотип-ссылка ---------- */

a.logo:hover{opacity:.85;}

/* ---------- кнопка наверх: слева сверху ---------- */
.scroll-top{top:96px;left:24px;bottom:auto;right:auto;}

/* ---------- адаптив ---------- */
@media (max-width:1024px){
  .svc-grid>*{flex:1 1 240px;}
  .reviews-grid>*{flex:1 1 280px;}
}
@media (max-width:768px){
  .scroll-top{top:auto;bottom:16px;left:16px;right:auto;width:42px;height:42px;}
  .svc-grid>*,.reviews-grid>*,.cities-grid>*,.areas-grid>*{flex:1 1 100%;max-width:520px;}
  .bp-grid>*{flex:1 1 140px;max-width:200px;}
  .svc-media{height:140px;}
  .section-header{margin-bottom:22px;}
}
@media (max-width:480px){
  .bp-grid>*{flex:1 1 128px;}
  .rv-btn{width:100%;justify-content:center;}
}

/* === v8-header-patch === */

a.logo:hover{opacity:.88;}






/* === fault-code tables === */
.fc-group{margin:0 auto 38px;max-width:820px;}
.fc-group h3{font-size:19px;font-weight:700;color:var(--text-dark);margin-bottom:4px;}
.fc-series{font-size:13px;color:var(--text-medium);margin-bottom:12px;}
.fc-series code{background:var(--bg-light);padding:2px 6px;border-radius:4px;font-size:12px;}
.fc-table{width:100%;border-collapse:collapse;background:var(--bg-white);
  border:1px solid var(--border-light);border-radius:var(--radius);overflow:hidden;}
.fc-table th{background:var(--bg-light);text-align:left;font-size:13px;padding:10px 14px;
  color:var(--text-medium);text-transform:uppercase;letter-spacing:.04em;}
.fc-table td{padding:10px 14px;border-top:1px solid var(--border-light);font-size:15px;}
.fc-code{font-weight:700;color:var(--primary-blue);width:88px;white-space:nowrap;}
.fc-note{max-width:820px;margin:34px auto 0;padding:22px;background:var(--bg-light);
  border-radius:var(--radius);}
.fc-note p{margin-bottom:12px;line-height:1.6;}
@media (max-width:600px){.fc-table td,.fc-table th{padding:8px 10px;font-size:14px;}}

/* === symptom pages === */
.sym-body h3{font-size:19px;font-weight:700;margin:26px 0 8px;color:var(--text-dark);}
.sym-body p{line-height:1.65;margin-bottom:12px;}
.sym-list{columns:2;column-gap:32px;margin:0 0 18px 20px;}
.sym-list li{margin-bottom:6px;line-height:1.5;break-inside:avoid;}
.sym-src{font-size:13px;color:var(--text-medium);margin-top:22px;}
@media (max-width:600px){.sym-list{columns:1;}}

.sym-n{font-size:12px;color:var(--text-medium);}

.booking-frame{max-width:960px;margin:0 auto;border:1px solid var(--border-light);
  border-radius:var(--radius);overflow:hidden;background:var(--bg-white);}
.booking-frame iframe{display:block;width:100%;min-height:700px;}
@media (max-width:600px){.booking-frame iframe{min-height:820px;}}

/* === booking modal === */
.bk-overlay{position:fixed;inset:0;z-index:9999;background:rgba(15,23,42,.72);
  display:flex;align-items:center;justify-content:center;padding:20px;
  backdrop-filter:blur(2px);}
.bk-overlay[hidden]{display:none;}
.bk-box{position:relative;width:100%;max-width:820px;height:min(88vh,860px);
  background:#fff;border-radius:12px;overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.35);}
.bk-frame{width:100%;height:100%;border:0;display:block;}
.bk-close{position:absolute;top:8px;right:10px;z-index:2;width:36px;height:36px;
  border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#0f172a;
  font-size:24px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.18);}
.bk-close:hover{background:#fff;}
@media (max-width:600px){
  .bk-overlay{padding:0;}
  .bk-box{max-width:none;height:100vh;border-radius:0;}
}

/* === brand cards === */

.brand-card{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;height:100%;min-height:190px;
  padding:22px 16px;
  background:var(--bg-white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  text-decoration:none;color:inherit;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
a.brand-card:hover{
  transform:translateY(-4px);
  border-color:var(--primary-blue);
  box-shadow:0 12px 28px rgba(15,23,42,.10);
}
/* бокс под логотип фиксированной высоты — карточки не разъезжаются */
.brand-logo{
  height:56px;width:auto;max-width:130px;
  object-fit:contain;object-position:center;
  margin:0 0 14px;display:block;
}
/* заглушка для брендов без логотипа — та же высота, что у картинки */
.brand-icon{
  display:flex;align-items:center;justify-content:center;
  height:56px;width:56px;margin:0 0 14px;
  border-radius:12px;
  background:var(--bg-light);
  color:var(--primary-blue);
  font-size:24px;font-weight:800;line-height:1;
}


   /* ровно высота бейджа */

@media (max-width:600px){
  
  .brand-card{min-height:170px;padding:18px 12px;}
  .brand-logo,.brand-icon{height:46px;}
  .brand-icon{width:46px;font-size:20px;}
}






.brand-card h4{font-size:15px;font-weight:700;line-height:1.3;color:var(--text-dark);
  margin:0;min-height:38px;display:flex;align-items:center;justify-content:center;}









.auth-badge{display:inline-block;margin-top:8px;font-size:10px;letter-spacing:.05em;
  text-transform:uppercase;font-weight:700;padding:4px 10px;border-radius:999px;
  background:#ecfdf5;color:#047857;white-space:nowrap;}
.badge-spacer{display:block;margin-top:8px;height:22px;}


/* === hero fix === */
.hero h1{font-size:clamp(28px,4.4vw,46px);line-height:1.14;margin-bottom:14px;}
.hero h1 .highlight{display:inline;}
.hero .hero-geo{display:block;margin:0 0 18px;font-size:clamp(12px,1.3vw,15px);
  font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--text-medium);}
@media (max-width:600px){
  .hero h1{font-size:clamp(24px,7vw,32px);}
  .hero h1 br{display:none;}
}

.hero-local{display:flex;gap:26px;flex-wrap:wrap;margin-top:16px;padding-top:14px;
  border-top:1px solid var(--border-light);}
.hero-local-item{display:flex;flex-direction:column;}
.hero-local-label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;
  color:var(--text-medium);}
.hero-local-item a{font-size:16px;font-weight:600;color:var(--primary-blue);
  text-decoration:none;margin-top:2px;}
.hero-local-item a:hover{text-decoration:underline;}


.ph-card{display:flex;flex-direction:column;background:var(--bg-white);
  border:1px solid var(--border-light);border-radius:var(--radius);padding:16px 18px;}
.ph-card.ph-main{border:2px solid var(--primary-blue);}
.ph-label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;
  color:var(--text-medium);margin-bottom:6px;}
.ph-num{font-size:19px;font-weight:700;color:var(--text-dark);text-decoration:none;}
.ph-card:not(.ph-main) .ph-num{color:var(--primary-blue);}
.ph-num:hover{text-decoration:underline;}
.ph-note{font-size:12px;color:var(--text-medium);margin-top:5px;}


/* v11-footer */
.footer-logo-combo{display:flex;align-items:center;gap:10px;}
footer a.logo 
footer a.logo 
footer 




.hs-slide.is-active{opacity:1;}
.hs-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:38px;height:38px;border:0;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.86);color:#0f172a;font-size:22px;line-height:1;
  box-shadow:0 2px 10px rgba(15,23,42,.18);opacity:0;transition:opacity .2s ease;}
.hero-slider:hover .hs-nav{opacity:1;}
.hs-prev{left:12px;} .hs-next{right:12px;}
.hs-dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:2;
  display:flex;gap:8px;}
.hs-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.55);}
.hs-dots button.is-active{background:#fff;width:22px;border-radius:999px;}
@media (max-width:600px){.hs-nav{opacity:1;width:32px;height:32px;font-size:18px;}}

.hero-slider{position:relative;border-radius:16px;overflow:hidden;
  box-shadow:0 18px 44px rgba(15,23,42,.16);}
.hs-track{position:relative;width:100%;}
.hs-slide{width:100%;height:auto;display:block;object-fit:contain;}
.hs-slide:not(.is-active){position:absolute;inset:0;opacity:0;pointer-events:none;}
.hs-slide.is-active{position:relative;opacity:1;transition:opacity .45s ease;}

.notfound,.thankyou{padding:64px 0;}
.np-box{max-width:720px;margin:0 auto;text-align:center;}
.np-code{display:inline-block;font-size:clamp(48px,9vw,76px);font-weight:800;
  line-height:1;color:var(--border-light);letter-spacing:-.02em;}
.np-tick{display:inline-flex;align-items:center;justify-content:center;
  width:64px;height:64px;border-radius:50%;background:#ecfdf5;color:#047857;
  font-size:32px;margin-bottom:8px;}
.np-box h1{font-size:clamp(24px,3.2vw,34px);margin:14px 0 12px;}
.np-lead{font-size:17px;line-height:1.6;color:var(--text-medium);margin-bottom:22px;}
.np-about{font-size:15px;line-height:1.65;color:var(--text-medium);
  padding:18px 20px;background:var(--bg-light);border-radius:var(--radius);
  text-align:left;margin-bottom:24px;}
.np-next{text-align:left;background:var(--bg-light);border-radius:var(--radius);
  padding:20px 22px;margin-bottom:24px;}
.np-next h2{font-size:18px;margin-bottom:10px;}
.np-next ol{margin:0 0 12px 20px;}
.np-next li{margin-bottom:7px;line-height:1.55;}
.np-hint{font-size:14px;color:var(--text-medium);margin:0;}
.np-contacts{margin-bottom:24px;}
.np-phone{display:inline-block;font-size:clamp(24px,3vw,30px);font-weight:800;
  color:var(--primary-blue);text-decoration:none;}
.np-local{font-size:15px;margin:8px 0 4px;}
.np-local a{color:var(--primary-blue);font-weight:600;text-decoration:none;}
.np-hours{font-size:14px;color:var(--text-medium);}
.np-links{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}








.brand-more{background:var(--bg-white);}
.bm-arrow{display:flex;align-items:center;justify-content:center;
  height:56px;width:56px;margin:0 0 14px;border-radius:50%;
  background:var(--bg-light);color:var(--primary-blue);
  font-size:24px;line-height:1;transition:background .18s ease;}
.brand-more:hover .bm-arrow{background:var(--primary-blue);color:#fff;}
.brand-more h4{color:var(--primary-blue);}
@media (max-width:600px){.bm-arrow{height:46px;width:46px;font-size:20px;}}


a.logo:hover{opacity:.88;}




footer a.logo 
footer 
footer 



a.logo:hover{opacity:.88;}




footer a.logo 
footer 
footer 



a.logo:hover{opacity:.88;}
.logo-lock{display:inline-flex;align-items:center;gap:0;}
a.logo .logo-word{font-weight:800;letter-spacing:-.02em;color:#1D4ED8 !important;
  font-size:clamp(24px,2.9vw,33px);line-height:1;}
a.logo .logo-mark{height:clamp(26px,3.1vw,36px);width:auto;display:block;flex:0 0 auto;
  position:relative;top:1px;margin-left:-2px;}


footer 

@media (max-width:520px){
  
  a.logo .logo-mark{height:22px;}
  a.logo .logo-word{font-size:22px;}
}

a.logo{display:inline-flex;flex-direction:column;align-items:center;gap:2px;
  text-decoration:none;line-height:1;width:max-content;}
a.logo small{display:block;font-size:clamp(8px,.95vw,10px);font-weight:700;
  color:var(--text-medium);text-transform:uppercase;letter-spacing:.14em;
  white-space:nowrap;text-align:center;}
/* === footer light === */
footer{background:#f1f3f5 !important;color:#1f2937 !important;
  border-top:1px solid var(--border-light);}
footer h4{color:#0f172a !important;font-weight:700;}
footer p,footer li,footer span,footer address{color:#374151 !important;}
footer a{color:#374151 !important;text-decoration:none;}
footer a:hover{color:var(--primary-blue) !important;}
footer .footer-col ul li a{color:#374151 !important;}
footer hr,footer .footer-bottom{border-color:var(--border-light) !important;}
footer .footer-bottom,footer .footer-legal{color:#4b5563 !important;}
footer a.logo .logo-word{color:#1D4ED8 !important;}
footer a.logo small{color:#4b5563 !important;}
footer a.logo .logo-mark{height:30px;}
footer a[href^="tel:"]{color:var(--primary-blue) !important;font-weight:600;}
/* === бургер === */
.nav-burger{position:fixed;top:108px;right:18px;z-index:1200;
  display:flex;flex-direction:column;justify-content:center;gap:4px;
  width:44px;height:44px;padding:0 10px;border:1px solid var(--border-light);
  border-radius:10px;background:rgba(255,255,255,.94);cursor:pointer;
  box-shadow:0 4px 14px rgba(15,23,42,.12);backdrop-filter:blur(6px);
  transition:box-shadow .18s ease;}
.nav-burger:hover{box-shadow:0 6px 20px rgba(15,23,42,.18);}
.nav-burger span{display:block;height:2px;background:var(--text-dark);border-radius:2px;
  transition:transform .2s ease,opacity .2s ease;}
.nav-burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.nav-burger.open span:nth-child(2){opacity:0;}
.nav-burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

.nav-drawer{position:fixed;top:162px;right:18px;z-index:1199;
  min-width:252px;max-height:calc(100vh - 190px);overflow-y:auto;
  background:var(--bg-white);border:1px solid var(--border-light);
  border-radius:12px;box-shadow:0 18px 46px rgba(15,23,42,.18);padding:10px;}
.nav-drawer[hidden]{display:none;}
.nav-drawer nav{display:flex;flex-direction:column;}
.nav-drawer a{padding:9px 12px;border-radius:8px;text-decoration:none;
  color:var(--text-dark);font-size:15px;}
.nav-drawer a:hover{background:var(--bg-light);}
.nav-drawer a.btn{margin-top:8px;justify-content:center;}

/* мобильный: бургер внутри шапки справа */
@media (max-width:900px){
  .navbar-inner{position:relative;}
  .nav-burger{position:absolute;top:50%;right:0;transform:translateY(-50%);
    margin:0;box-shadow:none;background:var(--bg-white);}
  .nav-drawer{position:absolute;top:calc(100% + 12px);right:0;left:auto;
    max-height:calc(100vh - 140px);}
}
@media (max-width:600px){
  .nav-burger{width:40px;height:40px;padding:0 9px;}
  .nav-drawer{right:-4px;min-width:230px;}
}
@media (max-width:420px){
  .nav-drawer{position:fixed;top:70px;right:8px;left:8px;min-width:0;}
}
/* === steps === */
.how-it-works .steps-grid,.how-it-works .why-grid,.how-it-works 
.how-it-works .steps-grid>*,.how-it-works .why-grid>*{
  display:flex;flex-direction:column;align-items:center;text-align:center;height:100%;}
.how-it-works h4{font-size:17px;font-weight:700;margin:14px 0 8px;min-height:44px;
  display:flex;align-items:center;justify-content:center;}
.how-it-works p{font-size:14px;line-height:1.6;color:var(--text-medium);margin:0;}
.how-it-works .step-num,.how-it-works .step-number{
  display:flex;align-items:center;justify-content:center;
  width:48px;height:48px;border-radius:50%;background:var(--primary-blue);
  color:#fff;font-size:19px;font-weight:800;line-height:1;flex:0 0 auto;}
@media (max-width:900px){
  .how-it-works .steps-grid,.how-it-works 
}
@media (max-width:520px){
  .how-it-works .steps-grid,.how-it-works 
  .how-it-works h4{min-height:0;}
}
/* === why grid === */
.why-us 

.why-us .why-card svg{width:30px;height:30px;color:var(--primary-blue);margin:0 0 14px;}
.why-us .why-card h4{font-size:17px;font-weight:700;margin:0 0 10px;
  min-height:44px;display:flex;align-items:center;justify-content:center;}
.why-us .why-card p{font-size:14px;line-height:1.6;color:var(--text-medium);margin:0;}

@media (max-width:700px){
  
  .why-us .why-card h4{min-height:0;}
}
/* === section rhythm === */
.how-it-works{background:var(--bg-light) !important;}
.why-us{background:var(--bg-white);}
.reviews{background:var(--bg-light) !important;}
.cities{background:var(--bg-white) !important;}
.phones{background:var(--bg-white) !important;border-top:1px solid var(--border-light);}




/* === areas block === */



.areas-divider{width:100%;max-width:1160px;margin:38px auto 20px;
  padding-top:26px;border-top:1px solid var(--border-light);}
.areas-divider h3{text-align:center;font-size:18px;font-weight:700;
  color:var(--text-dark);margin:0;}






.areas 




.faq-list{max-width:840px;margin:0 auto;}
.faq-item{background:var(--bg-white);border:1px solid var(--border-light);
  border-radius:var(--radius);margin-bottom:10px;overflow:hidden;}
.faq-item summary{list-style:none;cursor:pointer;padding:16px 48px 16px 20px;
  font-size:16px;font-weight:700;color:var(--text-dark);position:relative;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";position:absolute;right:20px;top:50%;
  transform:translateY(-50%);font-size:22px;font-weight:400;color:var(--primary-blue);
  transition:transform .2s ease;}
.faq-item[open] summary::after{content:"\2212";}
.faq-item summary:hover{background:var(--bg-light);}
.faq-answer{padding:0 20px 18px;}
.faq-answer p{margin:0;font-size:15px;line-height:1.65;color:var(--text-medium);}
.faq-answer a{color:var(--primary-blue);font-weight:600;}
@media (max-width:600px){.faq-item summary{font-size:15px;padding:14px 42px 14px 16px;}}

.team-lead{display:flex;gap:clamp(20px,3vw,34px);align-items:flex-start;
  max-width:900px;margin:0 auto 48px;padding:clamp(22px,2.6vw,30px);
  background:var(--bg-light);border-radius:var(--radius);}
.tl-photo{flex:0 0 132px;height:132px;border-radius:50%;overflow:hidden;
  background:var(--primary-blue);display:flex;align-items:center;justify-content:center;}
.tl-photo img{width:100%;height:100%;object-fit:cover;}
.tl-initials{color:#fff;font-size:42px;font-weight:800;letter-spacing:.02em;}
.tl-body h3{font-size:23px;font-weight:800;margin:0 0 4px;color:var(--text-dark);}
.tl-role{font-size:13px;text-transform:uppercase;letter-spacing:.07em;
  color:var(--primary-blue);font-weight:700;margin:0 0 14px;}
.tl-body p{font-size:15px;line-height:1.65;color:var(--text-medium);margin:0 0 12px;}

.th-card{flex:0 1 330px;background:var(--bg-white);border:1px solid var(--border-light);
  border-radius:var(--radius);padding:22px;}
.th-card h3{font-size:17px;font-weight:700;margin:0 0 8px;color:var(--text-dark);}
.th-card p{font-size:14px;line-height:1.6;color:var(--text-medium);margin:0;}
@media (max-width:700px){
  .team-lead{flex-direction:column;align-items:center;text-align:center;}
  .th-card{flex:1 1 100%;max-width:480px;}
}

.ph-block{display:flex;gap:clamp(18px,2.6vw,30px);align-items:center;
  max-width:860px;margin:32px auto;padding:clamp(18px,2.2vw,24px);
  background:var(--bg-light);border-radius:var(--radius);}
.ph-block img{flex:0 0 240px;width:240px;height:auto;border-radius:10px;
  object-fit:cover;max-height:320px;}
.ph-text h3{font-size:19px;font-weight:700;margin:0 0 8px;color:var(--text-dark);}
.ph-text p{font-size:15px;line-height:1.65;color:var(--text-medium);margin:0;}
@media (max-width:700px){
  .ph-block{flex-direction:column;text-align:center;}
  .ph-block img{flex:0 0 auto;width:100%;max-width:320px;max-height:400px;}
}

.fc-hub h2{font-size:19px;font-weight:700;margin:30px 0 12px;color:var(--text-dark);}
.fc-cnt{font-size:13px;font-weight:600;color:var(--text-medium);}

.fc-chip{display:inline-block;padding:7px 13px;border-radius:8px;font-size:14px;
  font-weight:600;background:var(--bg-light);color:var(--primary-blue);
  text-decoration:none;border:1px solid transparent;}
.fc-chip:hover{border-color:var(--primary-blue);background:var(--bg-white);}

.fc-brand .fc-group{margin-bottom:34px;}
.fc-brand h2{font-size:19px;font-weight:700;margin:0 0 10px;color:var(--text-dark);}
.fc-table{width:100%;border-collapse:collapse;background:var(--bg-white);
  border:1px solid var(--border-light);border-radius:var(--radius);overflow:hidden;}
.fc-table th{background:var(--bg-light);text-align:left;font-size:12px;padding:9px 14px;
  color:var(--text-medium);text-transform:uppercase;letter-spacing:.04em;}
.fc-table td{padding:9px 14px;border-top:1px solid var(--border-light);font-size:15px;
  line-height:1.45;}
.fc-code-cell{font-weight:700;color:var(--primary-blue);width:96px;white-space:nowrap;}
@media (max-width:600px){.fc-table td,.fc-table th{padding:8px 10px;font-size:14px;}
  .fc-code-cell{width:70px;}}

.service-page h1{font-size:clamp(25px,3.4vw,34px);margin:8px 0 14px;}
.service-page h2{font-size:20px;font-weight:700;margin:34px 0 10px;color:var(--text-dark);}
.sv-lead{font-size:17px;line-height:1.7;color:var(--text-medium);margin-bottom:8px;}
.sv-note{font-size:14px;color:var(--text-medium);margin-bottom:16px;}

.sv-sub{background:var(--bg-light);border-radius:var(--radius);padding:16px 18px;
  margin-bottom:10px;}
.sv-sub h3{font-size:16px;font-weight:700;margin:0 0 6px;color:var(--text-dark);}
.sv-sub p{font-size:15px;line-height:1.6;color:var(--text-medium);margin:0;}
.sv-brands{font-size:16px;line-height:1.8;color:var(--text-dark);}
.service-page p{line-height:1.7;}


.brand-page h1{font-size:clamp(25px,3.4vw,34px);margin:8px 0 14px;}
.brand-page h2{font-size:20px;font-weight:700;margin:32px 0 10px;color:var(--text-dark);}
.brand-page p{line-height:1.7;}

.bp-notes{margin:0 0 8px 20px;}
.bp-notes li{margin-bottom:9px;line-height:1.65;color:var(--text-medium);}


.sv-img{display:block;float:none;margin:0 auto 22px;width:200px;height:auto;}
.bp-logo-hero{display:block;float:none;margin:0 0 22px;max-width:190px;
  max-height:78px;object-fit:contain;object-position:left;}
@media (max-width:600px){
  .sv-img{width:160px;}
  .bp-logo-hero{margin:0 auto 20px;object-position:center;}
}

/* === warranty page === */
.warranty .why-grid,.warranty .svc-grid,.wr-grid{
  display:flex !important;flex-wrap:wrap;justify-content:center;align-items:stretch;
  gap:clamp(16px,2vw,24px);max-width:1160px;margin:0 auto;}
.warranty .why-card,.wr-card{flex:0 1 340px;max-width:360px;
  display:flex;flex-direction:column;}
@media (max-width:700px){
  .warranty .why-card,.wr-card{flex:1 1 100%;max-width:480px;}
}

/* === warranty / services-grid === */



/* === brands grid 3col === */

/* === centered card grids === */
.brands-grid{display:flex !important;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:16px;max-width:1160px;margin:0 auto;}
.brands-grid > .brand-card{flex:0 0 calc((100% - 2*16px)/3);max-width:none;}
.services-grid{display:flex !important;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:16px;max-width:1160px;margin:0 auto;}
.services-grid > .service-card{flex:0 0 calc((100% - 2*16px)/3);max-width:none;}
.svc-grid{display:flex !important;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:16px;max-width:1160px;margin:0 auto;}
.svc-grid > .svc-card{flex:0 0 calc((100% - 2*16px)/3);max-width:none;}
.why-grid{display:flex !important;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:16px;max-width:1160px;margin:0 auto;}
.why-grid > .why-card{flex:0 0 calc((100% - 2*16px)/3);max-width:none;}
.areas-grid{display:flex !important;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:16px;max-width:1160px;margin:0 auto;}
.areas-grid > .area-card{flex:0 0 calc((100% - 2*16px)/3);max-width:none;}
.cities-grid{display:flex !important;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:16px;max-width:1160px;margin:0 auto;}
.cities-grid > .city-card{flex:0 0 calc((100% - 3*16px)/4);max-width:none;}
.steps-grid{display:flex !important;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:16px;max-width:1160px;margin:0 auto;}
.steps-grid > .step-card{flex:0 0 calc((100% - 3*16px)/4);max-width:none;}
.bp-grid{display:flex !important;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:16px;max-width:1160px;margin:0 auto;}
.bp-grid > .bp-card{flex:0 0 calc((100% - 3*16px)/4);max-width:none;}
.team-how{display:flex !important;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:16px;max-width:1160px;margin:0 auto;}
.team-how > .th-card{flex:0 0 calc((100% - 2*16px)/3);max-width:none;}
.ph-grid{display:flex !important;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:16px;max-width:1160px;margin:0 auto;}
.ph-grid > .ph-card{flex:0 0 calc((100% - 2*16px)/3);max-width:none;}
.fc-chips{display:flex !important;flex-wrap:wrap;justify-content:center;gap:8px;max-width:1100px;margin:0 auto;}
@media (max-width:820px){
  .brands-grid{gap:14px;} .brands-grid > .brand-card{flex:0 0 calc((100% - 14px)/2);}
  .services-grid{gap:14px;} .services-grid > .service-card{flex:0 0 calc((100% - 14px)/2);}
  .svc-grid{gap:14px;} .svc-grid > .svc-card{flex:0 0 calc((100% - 14px)/2);}
  .why-grid{gap:14px;} .why-grid > .why-card{flex:0 0 calc((100% - 14px)/2);}
  .areas-grid{gap:14px;} .areas-grid > .area-card{flex:0 0 calc((100% - 14px)/2);}
  .cities-grid{gap:14px;} .cities-grid > .city-card{flex:0 0 calc((100% - 14px)/2);}
  .steps-grid{gap:14px;} .steps-grid > .step-card{flex:0 0 calc((100% - 14px)/2);}
  .bp-grid{gap:14px;} .bp-grid > .bp-card{flex:0 0 calc((100% - 14px)/2);}
  .team-how{gap:14px;} .team-how > .th-card{flex:0 0 calc((100% - 14px)/2);}
  .ph-grid{gap:14px;} .ph-grid > .ph-card{flex:0 0 calc((100% - 14px)/2);}
}
@media (max-width:520px){
  .brands-grid{gap:12px;} .brands-grid > .brand-card{flex:1 1 100%;max-width:380px;}
  .services-grid{gap:12px;} .services-grid > .service-card{flex:1 1 100%;max-width:380px;}
  .svc-grid{gap:12px;} .svc-grid > .svc-card{flex:1 1 100%;max-width:380px;}
  .why-grid{gap:12px;} .why-grid > .why-card{flex:1 1 100%;max-width:380px;}
  .areas-grid{gap:12px;} .areas-grid > .area-card{flex:1 1 100%;max-width:380px;}
  .cities-grid{gap:12px;} .cities-grid > .city-card{flex:1 1 100%;max-width:380px;}
  .steps-grid{gap:12px;} .steps-grid > .step-card{flex:1 1 100%;max-width:380px;}
  .bp-grid{gap:12px;} .bp-grid > .bp-card{flex:1 1 100%;max-width:380px;}
  .team-how{gap:12px;} .team-how > .th-card{flex:1 1 100%;max-width:380px;}
  .ph-grid{gap:12px;} .ph-grid > .ph-card{flex:1 1 100%;max-width:380px;}
}

/* === reviews grid === */
.reviews-grid{display:flex !important;flex-wrap:wrap;justify-content:center;
  align-items:stretch;gap:16px;max-width:1160px;margin:0 auto;}
.reviews-grid > .review-card{flex:0 0 calc((100% - 2*16px)/3);max-width:none;
  display:flex;flex-direction:column;}
@media (max-width:820px){
  .reviews-grid{gap:14px;}
  .reviews-grid > .review-card{flex:0 0 calc((100% - 14px)/2);}
}
@media (max-width:520px){
  .reviews-grid{gap:12px;}
  .reviews-grid > .review-card{flex:1 1 100%;max-width:420px;}
}

/* === увеличенная типографика карточек === */
.brand-card h4{font-size:22px !important;line-height:1.25;min-height:52px;}
.brand-more h4{font-size:22px !important;}
.svc-card h3,.service-card h3{font-size:26px !important;line-height:1.25;}
.svc-card p,.service-card p{font-size:16px;line-height:1.6;}
.svc-more{font-size:15px;}
@media (max-width:600px){
  .brand-card h4{font-size:18px !important;min-height:0;}
  .svc-card h3,.service-card h3{font-size:21px !important;}
}

/* === бренды на главной: крупнее === */
.brands-home .brand-card h4{font-size:33px !important;line-height:1.2;min-height:74px;}
.brands-home .brand-more h4{font-size:33px !important;}
.brands-home .brand-logo,.brands-home .brand-icon{height:84px;}
.brands-home .brand-icon{width:84px;font-size:34px;}
.brands-home .bm-arrow{height:84px;width:84px;font-size:34px;}
.brands-home .brand-card{min-height:250px;}
.brands-home .auth-badge{font-size:13px;padding:5px 13px;}
.brands-home .badge-spacer{height:27px;}
@media (max-width:820px){
  .brands-home .brand-card h4{font-size:24px !important;min-height:58px;}
  .brands-home .brand-logo,.brands-home .brand-icon,.brands-home .bm-arrow{height:64px;}
  .brands-home .brand-icon,.brands-home .bm-arrow{width:64px;font-size:26px;}
  .brands-home .brand-card{min-height:200px;}
}
@media (max-width:520px){
  .brands-home .brand-card h4{font-size:19px !important;min-height:0;}
  .brands-home .brand-logo,.brands-home .brand-icon,.brands-home .bm-arrow{height:52px;}
}

.wr-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;
  border-radius:12px;background:var(--bg-light);color:var(--primary-blue);
  font-size:24px;margin-bottom:14px;}
.wr-star{font-size:13px;line-height:1.55;color:var(--text-medium);margin-top:10px;
  padding-top:10px;border-top:1px solid var(--border-light);}

/* === geo pages === */
.city-page h1,.county-page h1{font-size:clamp(25px,3.4vw,34px);margin:8px 0 14px;}
.city-page h2,.county-page h2{font-size:20px;font-weight:700;margin:32px 0 12px;}
.city-page p,.county-page p{line-height:1.7;}
.ct-zip{background:var(--bg-light);border-radius:var(--radius);padding:18px 20px;margin:8px 0 6px;}
.ct-zip h2{margin:0 0 8px;font-size:17px;}
.ct-zip p{margin:0;font-size:16px;letter-spacing:.01em;}
.zip-more{color:var(--text-medium);font-size:14px;}
.ct-shared{font-size:13px;color:var(--text-medium);margin-top:10px;}
.ct-svc{background:var(--bg-white);border:1px solid var(--border-light);
  border-radius:var(--radius);padding:16px 18px;margin-bottom:10px;}
.ct-svc h3{font-size:17px;font-weight:700;margin:0 0 6px;}
.ct-svc h3 a{color:var(--primary-blue);text-decoration:none;}
.ct-svc p{font-size:15px;line-height:1.6;color:var(--text-medium);margin:0;}
.ct-more{font-size:15px;line-height:1.9;}
.cy-grp{margin-bottom:16px;}
.cy-grp h3{font-size:16px;font-weight:700;margin:0 0 6px;}
.cy-grp p{font-size:15px;line-height:1.85;margin:0;}
.cy-zips{font-size:14px;line-height:1.8;color:var(--text-medium);}

.loc-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin:22px 0 8px;}
.loc-card{flex:0 1 400px;background:var(--bg-light);border-radius:var(--radius);padding:22px 24px;}
.loc-card h3{font-size:20px;font-weight:700;margin:0 0 10px;color:var(--text-dark);}
.loc-card address{font-style:normal;font-size:16px;line-height:1.6;color:var(--text-dark);
  margin-bottom:10px;}
.loc-tel{margin:0 0 4px;}
.loc-tel a{font-size:21px;font-weight:800;color:var(--primary-blue);text-decoration:none;}
.loc-hours{font-size:14px;color:var(--text-medium);margin:0 0 10px;}
.loc-rev{font-size:15px;margin:0 0 10px;padding:8px 0;
  border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);}
.loc-area{font-size:13px;line-height:1.6;color:var(--text-medium);margin:10px 0 0;}
