:root {
      --green: #15963a;
      --green-2: #0f7f30;
      --green-3: #eaf8ee;
      --green-4: #f4fbf6;
      --text: #15191f;
      --muted: #667085;
      --line: #e8edf0;
      --card: #ffffff;
      --bg: #fbfdfb;
      --shadow: 0 18px 50px rgba(16, 24, 40, .08);
      --shadow-soft: 0 10px 28px rgba(16, 24, 40, .06);
      --radius-xl: 30px;
      --radius-lg: 22px;
      --radius-md: 16px;
      --container: 1400px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; background: #fff; overscroll-behavior: none; }
    body > style { display: none; }
    body {
      margin: 0;
      overscroll-behavior: none;
      font-family: Inter, Arial, Helvetica, sans-serif;
      color: var(--text);
      background:
        radial-gradient(circle at 10% 8%, rgba(21,150,58,.08), transparent 22%),
        radial-gradient(circle at 93% 18%, rgba(21,150,58,.07), transparent 18%),
        linear-gradient(180deg, #fff 0%, var(--bg) 100%);
      line-height: 1.45;
    }

    a { color: inherit; text-decoration: none; }
    button, input, select, textarea { font: inherit; }
    img { max-width: 100%; display: block; }

    .container {
      width: min(var(--container), calc(100% - 40px));
      margin: 0 auto;
    }

    /* --- Header --- */
    .site-header {
      position: sticky;
      top: 0;
      z-index: 50;
      background: rgba(255, 255, 255, .86);
      backdrop-filter: blur(18px);
      border-bottom: 1px solid rgba(232,237,240,.9);
    }

    .header-inner {
      min-height: 82px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 28px;
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 12px;
      flex: 0 0 auto;
    }

    .brand-mark {
      display: flex;
      align-items: center;
    }

    .brand-mark svg { width: 28px; height: 28px; }
    .brand-title { font-size: 24px; font-weight: 850; letter-spacing: -.03em; line-height: 1; }
    .brand-subtitle { color: #4b5563; font-size: 14px; margin-top: 3px; }

    .nav {
      display: flex;
      align-items: center;
      gap: 28px;
      font-weight: 700;
      font-size: 15px;
      color: #232830;
    }

    .nav a { white-space: nowrap; }
    .nav a:hover { color: var(--green); }

    /* -- Dropdown -- */
    .nav-has-drop { position: relative; }
    .nav-drop-toggle { display: flex; align-items: center; gap: 5px; cursor: pointer; white-space: nowrap; border: none; background: none; padding: 0; font: inherit; font-weight: 700; font-size: 15px; color: #232830; outline: none; }
    .nav-drop-toggle svg { transition: transform .2s; flex-shrink:0; }
    .nav-has-drop.open .nav-drop-toggle svg { transform: rotate(180deg); }
    .nav-drop-menu {
      position: absolute; top: calc(100% + 14px); left: 50%; transform: translateX(-50%);
      background: #fff; border: 1px solid var(--line); border-radius: 16px;
      box-shadow: 0 16px 40px rgba(16,24,40,.12); padding: 8px; min-width: 240px;
      opacity: 0; visibility: hidden; pointer-events: none;
      transition: opacity .18s, transform .18s;
      transform: translateX(-50%) translateY(-6px);
    }
    .nav-has-drop.open .nav-drop-menu {
      opacity: 1; visibility: visible; pointer-events: auto;
      transform: translateX(-50%) translateY(0);
    }
    .nav-drop-menu a {
      display: flex; align-items: center; gap: 10px; padding: 9px 14px;
      border-radius: 10px; font-size: 14px; font-weight: 600; color: var(--text);
      text-decoration: none; white-space: nowrap; transition: background .15s, color .15s;
    }
    .nav-drop-menu a:hover { background: var(--green-3); color: var(--green); }
    .nav-drop-menu a svg { color: var(--green); flex-shrink:0; }
    .nav-drop-divider { height: 1px; background: var(--line); margin: 6px 0; }

    /* -- Burger -- */
    .burger-btn {
      display: none; width: 42px; height: 42px; border: 1px solid var(--line);
      border-radius: 10px; background: #fff; cursor: pointer; flex-direction: column;
      align-items: center; justify-content: center; gap: 5px; padding: 0;
    }
    .burger-btn span { display: block; width: 20px; height: 2px; background: var(--text); border-radius: 2px; transition: transform .22s, opacity .22s; }
    .burger-btn.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .burger-btn.open span:nth-child(2) { opacity: 0; }
    .burger-btn.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    /* -- Mobile nav panel -- */
    .mobile-nav {
      display: none; position: fixed; inset: 0; top: 0; z-index: 99;
      background: rgba(0,0,0,.45); backdrop-filter: blur(4px);
    }
    .mobile-nav.open { display: block; }
    .mobile-nav__panel {
      position: absolute; top: 0; right: 0; bottom: 0; width: min(320px, 85vw);
      background: #fff; box-shadow: -8px 0 32px rgba(0,0,0,.12);
      overflow-y: auto; padding: 24px 0 80px; display: flex; flex-direction: column;
      transform: translateX(100%); transition: transform .28s cubic-bezier(.4,0,.2,1);
    }
    .mobile-nav.open .mobile-nav__panel { transform: translateX(0); }
    .mobile-nav__close {
      display: flex; align-items: center; justify-content: flex-end;
      padding: 0 20px 16px; border-bottom: 1px solid var(--line); margin-bottom: 8px;
    }
    .mobile-nav__close button {
      width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 8px;
      background: #fff; font-size: 20px; cursor: pointer; display: flex; align-items: center; justify-content: center; line-height:1;
    }
    .mobile-nav a {
      display: flex; align-items: center; gap: 10px; padding: 13px 20px;
      font-size: 15px; font-weight: 700; color: var(--text); text-decoration: none;
      border-bottom: 1px solid var(--line);
    }
    .mobile-nav a:hover { color: var(--green); background: var(--green-3); }
    .mobile-nav a svg { color: var(--green); flex-shrink:0; }
    .mobile-nav__section { padding: 10px 20px 4px; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
    .mobile-nav__divider { height: 1px; background: var(--line); margin: 8px 0; }

    .header-actions {
      display: flex;
      align-items: center;
      gap: 14px;
      flex: 0 0 auto;
    }

    .phone-pill {
      min-width: 214px;
      border: 1px solid var(--line);
      border-radius: 999px;
      padding: 10px 16px;
      display: flex;
      align-items: center;
      gap: 11px;
      background: #fff;
      box-shadow: var(--shadow-soft);
    }

    .phone-icon,
    .icon-circle {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      color: var(--green);
      background: var(--green-3);
      flex: 0 0 auto;
    }

    .phone-main { font-weight: 850; font-size: 16px; line-height: 1; }
    .phone-sub { color: var(--muted); font-size: 12px; margin-top: 3px; }

    .btn {
      border: 0;
      cursor: pointer;
      border-radius: 14px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 52px;
      padding: 0 24px;
      font-weight: 850;
      transition: .2s ease;
      white-space: nowrap;
    }

    .btn-primary {
      background: linear-gradient(180deg, #22ad49, var(--green));
      color: #fff;
      box-shadow: 0 16px 30px rgba(21,150,58,.24);
    }

    .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 18px 38px rgba(21,150,58,.28); }

    .btn-outline {
      background: #fff;
      color: var(--green);
      border: 1.5px solid rgba(21,150,58,.45);
    }

    .btn-outline:hover { border-color: var(--green); background: var(--green-4); }

    .section {
      padding: 82px 0;
      position: relative;
      overflow: hidden;
    }

    .section + .section { border-top: 1px solid rgba(232,237,240,.6); }

    #prices    { background: url('/assets/img/fon.webp') center/cover; }
    #safety    { background: url('/assets/img/fon-uborka.webp') center/cover; }
    #reviews   { background: url('/assets/img/fon.webp') center/cover; }

    .section-head {
      max-width: 780px;
      margin-bottom: 34px;
    }

    .section-head.center { margin-left: auto; margin-right: auto; text-align: center; }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 7px 13px;
      border: 1px solid rgba(21,150,58,.18);
      border-radius: 999px;
      background: var(--green-4);
      color: var(--green);
      font-weight: 850;
      font-size: 13px;
      letter-spacing: .04em;
      text-transform: uppercase;
      margin-bottom: 18px;
    }

    h1, h2, h3 { margin: 0; letter-spacing: -.055em; line-height: 1.05; }
    h1 { font-size: clamp(44px, 5.2vw, 74px); }
    h2 { font-size: clamp(34px, 4.1vw, 58px); }
    h3 { font-size: 22px; }

    .green { color: var(--green); }
    .lead { color: #475467; font-size: 20px; margin: 22px 0 0; max-width: 680px; }
    .muted { color: var(--muted); }

    /* --- Hero --- */
    .hero {
      min-height: calc(100vh - 82px);
      padding: 16px 0 0;
      display: flex;
      align-items: stretch;
    }

    .hero > .container {
      display: flex;
      flex-direction: column;
    }

    .hero {
      background: url('/assets/img/fon1.webp') right top / auto 100% no-repeat;
      position: relative;
    }

    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(to right, rgba(255,255,255,.96) 48%, rgba(255,255,255,0) 68%);
      pointer-events: none;
    }

    .hero > .container { position: relative; }

    .hero-grid {
      flex: 1;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0;
      align-items: center;
    }

    .hero h1 { font-size: clamp(37px, 3.9vw, 58px); }

    /* Compact hero spacing */
    .hero .eyebrow { margin-bottom: 10px; }
    .hero .urgency-pill { margin-bottom: 8px; }
    .hero .lead { margin-top: 12px; font-size: 18px; max-width: 483px; }
    .hero .bottom-benefits { margin-top: 16px; }
    .hero .hero-form { padding: 22px 28px; margin-top: 50px; max-width: 760px; }
    .hero .hero-form h3 { margin-bottom: 8px; font-size: 23px; }
    .hero .hero-form .form-grid { margin-bottom: 12px; }
    .hero .hero-form .form-actions { gap: 8px; }
    .hero-form h3 { text-align: center; }
    .hero-form-sub {
      font-size: 14px;
      color: var(--muted);
      margin: -4px 0 14px;
      text-align: center;
    }
    .consent-check {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      font-size: 13px;
      color: var(--muted);
      cursor: pointer;
      margin-bottom: 10px;
    }
    .consent-check input[type="checkbox"] {
      width: 16px;
      height: 16px;
      flex-shrink: 0;
      margin-top: 1px;
      accent-color: var(--green);
      cursor: pointer;
    }
    .consent-check a { color: var(--green); text-decoration: none; }
    .consent-check a:hover { text-decoration: underline; }
    .hero-flat-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      column-gap: 20px;
      row-gap: 12px;
      margin-bottom: 14px;
    }
    .hf-field {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .hf-field > label,
    .hf-field > span {
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: 14px;
      font-weight: 600;
      color: #344054;
    }
    .hf-field > label svg,
    .hf-field > span svg { color: var(--green); flex-shrink: 0; }
    .hf-field > input,
    .hf-field > select {
      height: 48px;
      width: 100%;
      border-radius: 13px;
      border: 1px solid #dce4e8;
      background: #fff;
      padding: 0 16px;
      font: inherit;
      font-size: 15px;
      color: #1d2939;
      box-sizing: border-box;
    }
    .hf-field > .upload-box {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 48px;
      width: 100%;
      border-radius: 13px;
      border: 1.5px dashed var(--green);
      background: #f4fdf6;
      cursor: pointer;
      box-sizing: border-box;
      padding: 0;
    }
    .upload-box__inner {
      display: flex;
      align-items: center;
      gap: 10px;
      color: var(--green);
    }
    .upload-box__inner svg { flex-shrink: 0; }
    .upload-box__inner strong { font-size: 14px; font-weight: 700; color: var(--green); }
    .upload-box__inner small { display: none; }
    .hero .hero-form .btn { min-height: 42px; font-size: 15px; }
    .hero .hero-form .privacy { margin-top: 6px; }

    .chips {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      margin: 28px 0;
      max-width: 680px;
    }

    .chip {
      min-height: 58px;
      display: flex;
      align-items: center;
      gap: 10px;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 16px;
      padding: 10px 13px;
      box-shadow: var(--shadow-soft);
      font-size: 14px;
      font-weight: 800;
      color: #344054;
    }

    .chip svg { width: 22px; height: 22px; color: var(--green); flex: 0 0 auto; }

    .hero-form,
    .form-card,
    .white-card {
      background: rgba(255,255,255,.94);
      border: 1px solid var(--line);
      border-radius: var(--radius-xl);
      box-shadow: var(--shadow);
    }

    .hero-form { padding: 24px; max-width: 660px; }
    .hero-form h3 { margin-bottom: 18px; }

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

    .field label {
      display: block;
      color: #344054;
      font-weight: 800;
      font-size: 13px;
      margin-bottom: 7px;
    }

    .field input,
    .field select,
    .field textarea,
    .upload-box {
      width: 100%;
      height: 52px;
      border-radius: 13px;
      border: 1px solid #dce4e8;
      background: #fff;
      padding: 0 14px;
      outline: none;
      color: #1d2939;
    }

    .field input:focus,
    .field select:focus,
    .field textarea:focus { border-color: rgba(21,150,58,.55); box-shadow: 0 0 0 4px rgba(21,150,58,.08); }

    .upload-box {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      color: var(--green);
      font-weight: 850;
      border-style: dashed;
      cursor: pointer;
    }

    .form-actions { display: grid; gap: 12px; }
    .privacy { display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--muted); font-size: 13px; margin-top: 12px; }

    .hero-visual {
      position: relative;
      min-height: calc(100vh - 120px);
      border-radius: 42px;
      overflow: hidden;
      background: url('/assets/img/fon-uborka.webp') center/cover;
      box-shadow: var(--shadow);
      border: 1px solid var(--line);
    }

    .hero-visual-bg { display: none; }

    .hero-person {
      position: absolute;
      top: -20px;
      left: 50%;
      width: 220%;
      height: auto;
      transform: translateX(-50%);
      object-fit: contain;
      object-position: center top;
      pointer-events: none;
      filter: drop-shadow(0 24px 48px rgba(0,0,0,.14));
    }

    .badge {
      position: absolute;
      left: 22px;
      padding: 16px 20px;
      background: rgba(255,255,255,.94);
      border: 1px solid var(--line);
      border-radius: 22px;
      box-shadow: var(--shadow);
    }

    .badge.price { top: 140px; }
    .badge.clients { top: 276px; }
    .badge strong { color: var(--green); font-size: 32px; line-height: 1; display: block; letter-spacing: -.04em; }
    .badge span { color: #344054; font-weight: 800; font-size: 14px; }

    .bottom-benefits {
      margin-top: 28px;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      background: rgba(255,255,255,.94);
      border: 1px solid var(--line);
      border-radius: 24px;
      overflow: hidden;
      box-shadow: var(--shadow-soft);
    }

    .benefit-mini {
      padding: 22px;
      display: flex;
      gap: 14px;
      align-items: flex-start;
      border-right: 1px solid var(--line);
    }
    .benefit-mini:last-child { border-right: 0; }
    .benefit-mini h4 { margin: 0 0 5px; font-size: 17px; }
    .benefit-mini p { margin: 0; color: var(--muted); font-size: 14px; }

    /* --- Service grid --- */
    .service-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
    }

    .service-card,
    .problem-card,
    .price-card,
    .extra-card,
    .case-card {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: var(--radius-lg);
      box-shadow: var(--shadow-soft);
      overflow: hidden;
      transition: .22s ease;
      display: flex;
      flex-direction: column;
    }

    .service-card:hover,
    .problem-card:hover,
    .price-card:hover,
    .extra-card:hover,
    .case-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }

    .service-media {
      height: 175px;
      background: #f2f6f3 center/cover;
    }

    .media-sofa    { background-image: url('/assets/img/uslugi/khimchistka-divan.webp'); }
    .media-mattress{ background-image: url('/assets/img/uslugi/khimchistka-matras.webp'); }
    .media-chair   { background-image: url('/assets/img/uslugi/khimchistka-kreslo.webp'); }
    .media-stools  { background-image: url('/assets/img/uslugi/khimchistka-stula.webp'); }
    .media-carpet  { background-image: url('/assets/img/uslugi/khimchistka-kovrolin.webp'); }
    .media-office  { background-image: url('/assets/img/uslugi/khimchistka-ofis.webp'); }
    .media-pets    { background-image: url('/assets/img/uslugi/khimchistka-givotnie.webp'); }
    .media-pillows { background-image: url('/assets/img/uslugi/khimchistka-odeyalo1.webp'); }

    .service-body { padding: 19px; }
    .service-body h3 { margin-bottom: 8px; }
    .service-body p { margin: 0 0 14px; color: var(--muted); font-size: 15px; }
    .price-line { color: var(--green); font-size: 20px; font-weight: 900; margin-bottom: 14px; }

    .mini-cta-strip {
      margin-top: 28px;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 24px;
      padding: 22px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      box-shadow: var(--shadow-soft);
    }

    .mini-cta-strip strong { font-size: 22px; display: block; }
    .mini-cta-strip span { color: var(--muted); }
    .mini-actions { display: flex; gap: 12px; }

    /* --- Problems --- */
    #problems { padding: 50px 0; }
    #problems .section-head { max-width: none; margin-bottom: 20px; }

    .problems-layout {
      display: grid;
      grid-template-columns: 1fr 300px;
      gap: 12px;
      align-items: stretch;
    }
    .side-advice { justify-content: space-between; }

    .problem-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 10px;
    }

    .problem-card {
      padding: 0;
      min-height: auto;
      overflow: hidden;
    }

    .problem-photo {
      position: relative;
      height: 168px;
      background: #ede9e2 center/cover no-repeat;
    }
    .p-food  { background-image: url('/assets/img/uslugi/zagryzneniay/pyatna-edy-napitkov.png'); }
    .p-urine { background-image: url('/assets/img/uslugi/zagryzneniay/zapah-mochi.png'); }
    .p-sweat { background-image: url('/assets/img/uslugi/zagryzneniay/zapah-pota.png'); }
    .p-pets  { background-image: url('/assets/img/uslugi/zagryzneniay/sherst-zhivotnyh.png'); }
    .p-dust  { background-image: url('/assets/img/uslugi/zagryzneniay/pyl-allergeny.png'); }
    .p-elbow { background-image: url('/assets/img/uslugi/zagryzneniay/zasalennye-podlokotniki.png'); }
    .p-kids  { background-image: url('/assets/img/uslugi/zagryzneniay/sledy-posle-detey.png'); }
    .p-mold  { background-image: url('/assets/img/uslugi/zagryzneniay/syrost-plesen.png'); }

    .problem-badge {
      position: absolute;
      top: 8px;
      left: 8px;
      width: 34px;
      height: 34px;
      border-radius: 50%;
      background: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 2px 6px rgba(0,0,0,.12);
    }
    .problem-badge svg {
      width: 16px;
      height: 16px;
      color: var(--green);
      stroke: var(--green);
    }

    .problem-body { padding: 10px 14px 12px; }
    .problem-card h3 { font-size: 22px; margin-bottom: 4px; line-height: 1.3; }
    .problem-card p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.45; }

    .card-icon {
      width: 66px; height: 66px; border-radius: 50%;
      display: grid; place-items: center;
      background: var(--green-3); color: var(--green);
      font-size: 30px; margin-bottom: 18px;
    }

    .side-advice {
      border-radius: var(--radius-xl);
      background: #fff;
      border: 1px solid var(--line);
      box-shadow: var(--shadow-soft);
      display: flex;
      flex-direction: column;
      align-items: stretch;
      padding: 0;
      text-align: center;
      overflow: hidden;
    }

    .advisor-photo {
      width: 100%;
      flex: 1;
      background: url('/assets/img/Direktor.webp') center 20%/cover;
      min-height: 200px;
      border-radius: 0;
    }

    .side-advice-body { padding: 22px 22px 24px; width: 100%; }
    .side-advice h3 { font-size: 19px; margin-bottom: 8px; }
    .side-advice p { color: var(--muted); font-size: 14px; margin: 0 0 14px; }
    .side-advice .form-actions { flex-direction: column; gap: 8px; }

    /* --- Diagnostic --- */
    #diagnostic { padding: 50px 0; }
    #diagnostic .section-head { max-width: none; margin-bottom: 0; }

    .diagnostic-grid {
      display: grid;
      grid-template-columns: 1.29fr 1fr;
      gap: 32px;
      align-items: start;
      margin-top: 18px;
    }

    .diagnostic-left {
      display: flex;
      flex-direction: column;
    }
    .diagnostic-left > .lead { margin: 0 0 18px; }
    .diagnostic-left .timeline {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    #diagnostic aside { align-self: stretch; }

    .timeline {
      display: grid;
      gap: 8px;
      position: relative;
    }

    .step-card {
      display: grid;
      grid-template-columns: 44px 1fr;
      gap: 12px;
      align-items: center;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 16px;
      padding: 16px 18px;
      box-shadow: var(--shadow-soft);
    }

    .step-num {
      width: 34px;
      height: 34px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      background: var(--green);
      color: #fff;
      font-size: 14px;
      font-weight: 900;
      box-shadow: 0 8px 16px rgba(21,150,58,.2);
    }

    .step-card h3 { font-size: 22px; margin-bottom: 2px; }
    .step-card p { margin: 0; color: var(--muted); font-size: 15px; }

    .trust-panel { padding: 18px; }
    .trust-list { display: grid; gap: 8px; margin-bottom: 12px; }
    .trust-item { display: flex; gap: 12px; align-items: flex-start; padding: 10px 12px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
    .trust-item h4 { margin: 0 0 2px; font-size: 22px; }
    .trust-item p { margin: 0; color: var(--muted); font-size: 15px; }

    .diagnostic-photo {
      min-height: 140px;
      border-radius: 18px;
      background: url('/assets/img/proverka.webp') center/cover;
      position: relative;
      overflow: hidden;
      border: 1px solid var(--line);
    }

    .photo-badge {
      position: absolute;
      left: 18px;
      top: 18px;
      background: rgba(255,255,255,.94);
      border: 1px solid var(--line);
      border-radius: 16px;
      padding: 13px 15px;
      box-shadow: var(--shadow-soft);
    }
    .photo-badge strong { display:block; color: var(--green); font-size: 25px; }

    /* --- Prices --- */
    .prices-layout {
      display: grid;
      grid-template-columns: 1fr 320px;
      gap: 24px;
      align-items: start;
    }

    .price-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 18px;
      padding: 24px;
    }

    .price-card { padding: 24px; text-align: center; }
    .price-card .card-icon { margin: 0 auto 15px; border-radius: 20px; }
    .price-card h3 { font-size: 20px; min-height: 46px; }
    .price-card .price-line { margin-top: 10px; margin-bottom: 0; }

    .price-badges { display: grid; gap: 16px; }
    .price-badge { background:#fff; border: 1px solid var(--line); border-radius: 22px; padding: 22px; box-shadow: var(--shadow-soft); display: flex; gap: 14px; align-items: center; }
    .price-badge strong { display:block; font-size: 18px; }
    .price-badge span { color: var(--muted); font-size: 14px; }

    .note-box {
      margin-top: 18px;
      padding: 18px 20px;
      background: var(--green-4);
      border: 1px solid rgba(21,150,58,.16);
      border-radius: 18px;
      color: #344054;
      display: flex;
      align-items: center;
      gap: 12px;
    }

    /* --- Process --- */
    .process-layout {
      display: grid;
      grid-template-columns: .95fr 1.05fr;
      gap: 28px;
      align-items: center;
    }

    .process-photo {
      min-height: 610px;
      border-radius: 34px;
      background: url('/assets/img/kak-rabotaem.webp') center/cover;
      box-shadow: var(--shadow);
      border: 1px solid var(--line);
    }

    .stats-bar {
      margin-top: 26px;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 24px;
      padding: 20px;
      display: grid;
      grid-template-columns: repeat(3, 1fr) 220px;
      gap: 16px;
      align-items: center;
      box-shadow: var(--shadow-soft);
    }

    .stat-item { display:flex; gap: 12px; align-items:center; }
    .stat-item strong { display:block; font-size: 18px; }
    .stat-item span { color: var(--muted); }

    /* --- Extra services --- */
    .extra-grid, .separate-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
    }

    .extra-card { display: flex; flex-direction: column; }
    .extra-media {
      height: 210px;
      background: #eef4ef center/cover;
      position: relative;
    }

    .extra-media .floating-icon {
      position: absolute;
      left: 18px;
      bottom: -26px;
      width: 58px;
      height: 58px;
      border-radius: 16px;
      display: grid;
      place-items: center;
      background: #fff;
      color: var(--green);
      border: 1px solid var(--line);
      box-shadow: var(--shadow-soft);
      font-size: 26px;
    }

    .media-window  { background-image: url('/assets/img/uslugi/moyka-okon-ofis.png'); }
    .media-ac      { background-image: url('/assets/img/uslugi/chistka-kondicionera.png'); }
    .media-anti    { background-image: url('/assets/img/uslugi/dezinfektsiya-pomeshcheniy.png'); }
    .media-steam   { background-image: url('/assets/img/uslugi/chistka-parom.png'); }

    .extra-body { padding: 42px 18px 20px; display: flex; flex-direction: column; flex: 1; }
    .extra-body h3 { font-size: 21px; margin-bottom: 9px; }
    .extra-body p { margin: 0 0 14px; color: var(--muted); flex: 1; }

    /* --- Separate services --- */
    .separate-card {
      padding: 28px;
      min-height: 230px;
      text-align: center;
    }

    .separate-card .card-icon { margin: 0 auto 18px; border-radius: 20px; }
    .separate-card h3 { font-size: 20px; margin-bottom: 10px; }
    .separate-card p { margin: 0; color: var(--muted); }

    /* --- Cases --- */
    .cases-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
    }

    .case-photo {
      height: 260px;
      position: relative;
      overflow: hidden;
      display: flex;
    }

    .case-half {
      flex: 1;
      background: #ccc center/cover;
      min-height: 100%;
    }

    .case-photo:before {
      content: '';
      position: absolute;
      top: 0; bottom: 0; left: 50%;
      width: 3px;
      background: rgba(255,255,255,.95);
      z-index: 2;
    }

    .case-photo .before,
    .case-photo .after {
      position: absolute;
      bottom: 14px;
      padding: 6px 12px;
      background: rgba(0,0,0,.45);
      color: white;
      border-radius: 9px;
      font-weight: 850;
      font-size: 13px;
      z-index: 3;
    }
    .case-photo .before { left: 14px; }
    .case-photo .after { right: 14px; }

    .case-body { padding: 22px; }
    .case-body h3 { margin-bottom: 5px; }
    .case-body p { margin: 0 0 16px; color: var(--muted); }
    .case-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 15px 0; margin-bottom: 16px; }
    .case-stat small { color: var(--muted); display:block; font-weight: 700; }
    .case-stat strong { font-size: 20px; }
    .check-list { display: grid; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; color: #475467; font-size: 14px; }
    .check-list li { display: flex; gap: 8px; }
    .check-list li:before { content: '?'; color: var(--green); font-weight: 900; }

    /* --- Reviews --- */
    .reviews-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
      margin-top: 34px;
    }

    .review-card {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: var(--radius-lg);
      box-shadow: var(--shadow-soft);
      overflow: hidden;
      transition: .22s ease;
    }

    .review-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }

    .review-screenshot img {
      width: 100%;
      display: block;
    }

    .review-body {
      padding: 18px;
    }

    .review-stars {
      color: #f59e0b;
      font-size: 17px;
      margin-bottom: 9px;
      letter-spacing: 2px;
    }

    .review-name {
      font-weight: 850;
      font-size: 15px;
      margin-bottom: 4px;
    }

    .review-service {
      color: var(--muted);
      font-size: 13px;
      margin-bottom: 10px;
    }

    .review-text {
      color: #344054;
      font-size: 14px;
      line-height: 1.5;
      margin: 0;
    }

    .review-source {
      display: flex;
      align-items: center;
      gap: 7px;
      margin-top: 12px;
      padding-top: 12px;
      border-top: 1px solid var(--line);
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
    }

    .source-dot {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: var(--green);
    }

    .trust-numbers {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 24px;
      overflow: hidden;
      box-shadow: var(--shadow-soft);
      margin-bottom: 34px;
    }

    .trust-number {
      padding: 28px 22px;
      border-right: 1px solid var(--line);
      text-align: center;
    }

    .trust-number:last-child { border-right: 0; }
    .trust-number strong { display: block; font-size: 44px; font-weight: 900; color: var(--green); letter-spacing: -.04em; line-height: 1; }
    .trust-number span { color: var(--muted); font-size: 15px; }

    /* --- FAQ --- */
    .faq-layout {
      display: grid;
      grid-template-columns: 1fr .95fr;
      gap: 24px;
      align-items: stretch;
    }

    .faq-list { display: grid; gap: 12px; }

    .faq-item {
      border: 1px solid var(--line);
      border-radius: 18px;
      background: #fff;
      box-shadow: var(--shadow-soft);
      overflow: hidden;
    }

    .faq-q {
      padding: 20px 22px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      cursor: pointer;
      font-weight: 800;
      font-size: 17px;
      gap: 16px;
      user-select: none;
    }

    .faq-q:hover { color: var(--green); }

    .faq-icon {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      background: var(--green-3);
      color: var(--green);
      display: grid;
      place-items: center;
      flex: 0 0 auto;
      font-size: 22px;
      font-weight: 400;
      line-height: 1;
      transition: transform .22s ease;
    }

    .faq-item.open .faq-icon { transform: rotate(45deg); }

    .faq-a {
      padding: 0 22px 20px;
      color: #475467;
      font-size: 16px;
      line-height: 1.6;
      display: none;
    }

    .faq-item.open .faq-a { display: block; }

    .faq-side {
      position: sticky;
      top: 100px;
    }

    .faq-side-card {
      background: linear-gradient(180deg, var(--green-4), #fff);
      border: 1px solid rgba(21,150,58,.14);
      border-radius: var(--radius-xl);
      padding: 32px;
      box-shadow: var(--shadow-soft);
      height: 100%;
      display: flex;
      flex-direction: column;
      box-sizing: border-box;
    }

    .faq-side-photo {
      flex: 1;
      min-height: 320px;
      border-radius: 20px;
      background: url('/assets/img/devushka.webp') center top/cover;
      margin-bottom: 24px;
    }

    .faq-side-card h3 { font-size: 26px; margin-bottom: 12px; }
    .faq-side-card p { color: var(--muted); font-size: 16px; margin: 0 0 20px; }

    /* --- Final CTA --- */
    .final-cta {
      padding: 0;
      background:
        linear-gradient(90deg, #fff 0 55%, rgba(244,251,246,.45) 55%),
        radial-gradient(circle at 85% 25%, rgba(21,150,58,.08), transparent 28%);
    }

    .final-inner {
      display: grid;
      grid-template-columns: 1fr .8fr;
      gap: 34px;
      align-items: center;
      padding: 82px 0;
    }

    .final-form { padding: 28px; }
    .final-form .form-grid { grid-template-columns: 1fr 1fr; }
    .final-form .upload-wide { grid-column: 1 / -1; height: 120px; }

    .final-photo {
      min-height: 610px;
      border-radius: 40px;
      background: url('/assets/img/fon-zakaz.webp') center/cover;
      box-shadow: var(--shadow);
      position: relative;
    }

    .final-photo .floating-answer {
      position: absolute;
      right: 28px;
      top: 30px;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 20px;
      padding: 16px 20px;
      box-shadow: var(--shadow-soft);
      font-weight: 850;
    }

    /* --- Footer --- */
    .footer {
      background: linear-gradient(rgba(7,22,12,.86),rgba(7,22,12,.86)), url('/assets/img/fon.webp') center/cover no-repeat;
      color: #fff;
      padding: 46px 0;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.1fr .7fr .7fr .9fr;
      gap: 28px;
      align-items: start;
    }

    .footer a, .footer p { color: rgba(255,255,255,.72); }
    .footer h4 { margin: 0 0 14px; font-size: 18px; }
    .footer p { margin: 0; }
    .footer-links { display:grid; gap: 9px; }
    .footer-bottom { border-top: 1px solid rgba(255,255,255,.12); margin-top: 34px; padding-top: 20px; color: rgba(255,255,255,.55); display:flex; justify-content:space-between; gap: 20px; }

    .footer-city-select { display: block; margin-top: 18px; }
    .footer-city-select__label { display: block; font-size: 12px; color: rgba(255,255,255,.55); margin-bottom: 6px; }
    .footer-city-select select {
      width: 100%;
      appearance: none;
      -webkit-appearance: none;
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.18);
      border-radius: 10px;
      color: #fff;
      font-family: inherit;
      font-size: 14px;
      padding: 10px 34px 10px 12px;
      cursor: pointer;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 12px center;
    }
    .footer-city-select select:hover,
    .footer-city-select select:focus { border-color: var(--green); outline: none; }
    .footer-city-select select option { color: #1a1510; background: #fff; }

    /* ========== FOOTER LEGAL + MAP ========== */
    .footer-legal { border-top: 1px solid rgba(255,255,255,.1); margin-top: 34px; padding-top: 34px; }
    .footer-legal-grid { display: grid; grid-template-columns: 1fr 1.6fr; gap: 40px; align-items: start; }
    .footer-legal__title { font-size: 16px; font-weight: 700; color: #fff; margin: 0 0 18px; }
    .footer-legal__list { display: grid; gap: 9px; list-style: none; margin: 0; padding: 0; }
    .footer-legal__list li { font-size: 13.5px; color: rgba(255,255,255,.6); line-height: 1.55; }
    .footer-legal__list a { color: rgba(255,255,255,.6); text-decoration: none; }
    .footer-legal__list a:hover { color: #fff; }
    .footer-map { border-radius: 16px; overflow: hidden; height: 280px; border: 1px solid rgba(255,255,255,.1); }
    .footer-map iframe { width: 100%; height: 100%; border: none; display: block; }
    @media (max-width: 768px) { .footer-legal-grid { grid-template-columns: 1fr; } .footer-map { height: 220px; } }

    .mobile-bar { display: none; }

    /* --- SVG icon sizing --- */
    .icon-circle svg, .problem-icon svg { width: 28px; height: 28px; }
    .card-icon svg { width: 32px; height: 32px; }
    .floating-icon svg { width: 26px; height: 26px; }
    .stat-item .icon-circle svg { width: 22px; height: 22px; }

    /* --- "Popular" label on service cards --- */
    .service-media { position: relative; }
    .svc-badge {
      position: absolute;
      top: 12px;
      right: 12px;
      background: var(--green);
      color: #fff;
      font-size: 11px;
      font-weight: 900;
      padding: 5px 11px;
      border-radius: 99px;
      letter-spacing: .05em;
      text-transform: uppercase;
      z-index: 2;
      box-shadow: 0 4px 12px rgba(21,150,58,.35);
    }

    /* --- Urgency badge --- */
    .urgency-pill {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #fff8e1;
      border: 1px solid #f9c72a;
      border-radius: 999px;
      padding: 7px 16px;
      font-size: 13px;
      font-weight: 800;
      color: #7a5c00;
      margin-bottom: 14px;
    }

    /* --- Social proof bubble --- */
    .proof-bubble {
      position: fixed;
      bottom: 84px;
      left: 18px;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 18px;
      padding: 13px 16px;
      display: flex;
      gap: 11px;
      align-items: center;
      box-shadow: 0 18px 50px rgba(0,0,0,.13);
      font-size: 13px;
      font-weight: 700;
      z-index: 65;
      max-width: 270px;
      opacity: 0;
      transform: translateX(-110%);
      transition: opacity .45s ease, transform .55s cubic-bezier(.16,1,.3,1);
      pointer-events: none;
    }
    .proof-bubble.visible {
      opacity: 1;
      transform: translateX(0);
      pointer-events: auto;
    }

    .proof-dot {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: var(--green);
      flex: 0 0 auto;
      animation: proofPulse 2.2s ease-in-out infinite;
    }

    @keyframes proofPulse {
      0%,100% { opacity: 1; transform: scale(1); }
      50%      { opacity: .45; transform: scale(.8); }
    }

    .proof-bubble small { display: block; color: var(--muted); font-weight: 600; }

    /* --- Guarantee ribbon --- */
    .guarantee-ribbon {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      background: linear-gradient(135deg, var(--green-3), #e0f5e8);
      border: 1px solid rgba(21,150,58,.22);
      border-radius: 16px;
      padding: 12px 18px;
      margin-top: 18px;
      font-size: 14px;
      font-weight: 800;
      color: #1a4d27;
    }

    .guarantee-ribbon svg { color: var(--green); flex: 0 0 auto; }

    /* --- Responsive --- */
    @media (max-width: 1280px) {
      .nav { display: none; }
      .burger-btn { display: flex; }
    }
    @media (max-width: 1080px) {
      .hero-grid,
      .diagnostic-grid,
      .process-layout,
      .problems-layout,
      .prices-layout,
      .faq-layout,
      .final-inner { grid-template-columns: 1fr; }
      .hero-visual, .final-photo { min-height: 460px; }
      .service-grid, .problem-grid, .extra-grid, .separate-grid, .price-grid, .reviews-grid { grid-template-columns: repeat(2, 1fr); }
      .cases-grid { grid-template-columns: 1fr 1fr; }
      .stats-bar { grid-template-columns: repeat(2, 1fr); }
      .bottom-benefits, .trust-numbers { grid-template-columns: repeat(2, 1fr); }
      .benefit-mini:nth-child(2) { border-right: 0; }
      .trust-number:nth-child(2) { border-right: 0; }
      .footer-grid { grid-template-columns: 1fr 1fr; }
      .faq-side { position: static; }
    }

    @media (max-width: 720px) {
      .container { width: min(100% - 28px, var(--container)); }
      .header-inner { min-height: 72px; }
      .phone-pill, .header-actions .btn { display: none; }
      .brand-mark { width: 42px; height: 42px; }
      .brand-title { font-size: 21px; }
      .brand-subtitle { font-size: 12px; }
      .section { padding: 58px 0; }
      h1 { font-size: 39px; }
      h2 { font-size: 33px; }
      .lead { font-size: 17px; }
      .chips, .form-grid, .final-form .form-grid, .bottom-benefits, .trust-numbers,
      .service-grid, .problem-grid, .extra-grid, .separate-grid, .price-grid,
      .stats-bar, .footer-grid, .reviews-grid { grid-template-columns: 1fr; }
      .trust-number { border-right: 0; border-bottom: 1px solid var(--line); }
      .trust-number:last-child { border-bottom: 0; }
      .hero-form, .form-card, .white-card { border-radius: 22px; }
      .hero-visual { display: none; }
      .cases-grid { grid-template-columns: 1fr; }
      .mini-cta-strip { flex-direction: column; align-items: stretch; }
      .mini-actions { flex-direction: column; }
      .footer-bottom { flex-direction: column; }
      .mobile-bar { display: none; }
      .proof-bubble { display: none; }
      /* Hero text centering */
      .hero-content h1 { text-align: center; }
      .hero .lead { text-align: center; max-width: 100%; }
      /* Float phone button � icon-only circle */
      .float-max { display: none; }
      .float-callback { bottom: 20px; right: 20px; }
      .float-callback__btn { width: 58px; height: 58px; border-radius: 50%; padding: 0; justify-content: center; }
      .float-callback__label { display: none; }
      .hero-flat-grid { grid-template-columns: 1fr; row-gap: 12px; }
      /* Problems section: allow h2 to wrap on mobile */
      #problems h2, #diagnostic h2 { white-space: normal; overflow-wrap: break-word; }
      /* Advisor photo: show more of the face */
      .advisor-photo { min-height: 260px; }
    }

    /* -- ���� ���: ��������� + ������� ��������� (pl-*) -- */
    .pl-head { display:flex; align-items:flex-start; justify-content:center; position:relative; margin-bottom:36px; text-align:center; }
    .pl-head .section-head { text-align:center; margin:0 auto; }
    .pl-badge { position:absolute; right:0; top:0; background:#fff; border:1.5px solid #ececec; border-radius:12px; padding:14px 18px; display:flex; align-items:center; gap:12px; box-shadow:0 2px 12px rgba(0,0,0,.07); min-width:190px; }
    .pl-badge__icon { width:40px; height:40px; background:rgba(43,166,64,.12); border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--green); }
    .pl-badge__icon svg { width:22px; height:22px; }
    .pl-badge strong { display:block; font-size:15px; font-weight:700; color:#111; margin-bottom:2px; }
    .pl-badge span { font-size:12px; color:#777; line-height:1.4; }
    .pl-accordion { display:flex; flex-direction:column; gap:10px; width:100%; }
    .pl-acc-item { border:1.5px solid #e8e8e8; border-radius:14px; overflow:hidden; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.04); transition:box-shadow .18s; }
    .pl-acc-item--open { border-color:rgba(43,166,64,.3); box-shadow:0 4px 16px rgba(43,166,64,.1); }
    .pl-acc-trigger { display:flex; align-items:center; justify-content:space-between; width:100%; padding:16px 20px; border:none; background:none; cursor:pointer; text-align:left; gap:12px; transition:background .15s; }
    .pl-acc-trigger:hover { background:#fafff8; }
    .pl-acc-item--open .pl-acc-trigger { background:#fafff8; border-bottom:1.5px solid rgba(43,166,64,.15); }
    .pl-acc-trigger__left { display:flex; align-items:center; gap:12px; flex:1; min-width:0; }
    .pl-acc-trigger .pl-table__icon { width:36px; height:36px; background:rgba(43,166,64,.1); border-radius:9px; display:flex; align-items:center; justify-content:center; color:var(--green); flex-shrink:0; }
    .pl-acc-trigger .pl-table__icon svg { width:18px; height:18px; }
    .pl-acc-trigger__title { font-size:20px; font-weight:700; color:#1a1a1a; }
    .pl-acc-trigger__from { font-size:16px; font-weight:600; color:var(--green); margin-left:4px; white-space:nowrap; }
    .pl-acc-trigger__chevron { width:20px; height:20px; color:#aaa; flex-shrink:0; transition:transform .22s; }
    .pl-acc-item--open .pl-acc-trigger__chevron { transform:rotate(180deg); color:var(--green); }
    .pl-acc-body .pl-compare-wrap { border:none; border-radius:0; box-shadow:none; margin-bottom:0; }
    .pl-acc-body .pl-compare-head { display:none; }
    .pl-compare-wrap { background:#fff; border:1.5px solid #ececec; border-radius:16px; overflow:hidden; box-shadow:0 2px 12px rgba(0,0,0,.05); }
    .pl-compare-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }
    .pl-compare { width:100%; border-collapse:collapse; font-size:18px; }
    .pl-compare__header th { padding:16px 20px; text-align:center; font-size:18px; font-weight:700; color:#3a4a60; background:#fff; border-bottom:2px solid #c8d5e0; border-left:1.5px solid #c8d5e0; white-space:nowrap; }
    .pl-compare__header th.pl-compare__feat-col { text-align:left; color:#3a4a60; min-width:220px; border-left:none; }
    .pl-compare__header th.pl-compare__col--accent { color:var(--green); }
    .pl-compare__prices td { padding:12px 20px; text-align:center; font-size:18px; font-weight:700; color:var(--green); background:#fafbfc; border-bottom:1.5px solid #c8d5e0; border-left:1.5px solid #c8d5e0; }
    .pl-compare__prices td:first-child { text-align:left; color:#555; font-weight:600; border-left:none; }
    .pl-compare tbody tr td { padding:12px 20px; border-bottom:1.5px solid #c8d5e0; border-left:1.5px solid #c8d5e0; vertical-align:middle; color:#333; }
    .pl-compare tbody tr td:first-child { border-left:none; }
    .pl-compare tbody tr:last-child td { border-bottom:none; }
    .pl-compare tbody tr:hover td { background:#fafbfc; }
    .pl-compare__val { text-align:center; }
    .pl-compare__group td { padding:12px 20px 8px; font-size:15px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#888; background:#fafafa !important; border-top:1px solid #f0f0f0; }
    .pl-chk, .pl-dash { width:24px; height:24px; display:inline-block; vertical-align:middle; }
    .pl-compare__price-cell { font-size:17px; font-weight:600; color:#555; white-space:nowrap; }
    .pl-compare__cta-row td { padding:16px 20px; text-align:center; background:#fafafa; border-top:1.5px solid #f0f0f0 !important; color:#888; font-size:17px; font-weight:600; }
    .pl-compare__cta-row td:first-child { text-align:left; }
    .pl-compare__cta { display:inline-flex; align-items:center; justify-content:center; padding:9px 22px; border-radius:8px; border:1.5px solid rgba(43,166,64,.4); background:none; color:var(--green); font-size:16px; font-weight:600; text-decoration:none; transition:background .15s,color .15s,border-color .15s; white-space:nowrap; }
    .pl-compare__cta:hover { background:var(--green); color:#fff; border-color:var(--green); }
    .pl-compare__cta--accent { background:var(--green); color:#fff; border-color:var(--green); }
    .pl-compare__cta--accent:hover { background:#229135; border-color:#229135; }
    .pl-more { display:flex; align-items:center; gap:5px; width:100%; padding:12px 18px; border:none; background:none; color:var(--green); font-size:13px; font-weight:600; cursor:pointer; border-top:1.5px solid #f0f0f0; justify-content:center; }
    .pl-more svg { width:16px; height:16px; transition:transform .2s; flex-shrink:0; }
    .pl-cta-bar { display:flex; align-items:center; justify-content:space-between; gap:20px; background:#fff; border:1.5px solid #ececec; border-radius:14px; padding:22px 28px; margin-top:20px; box-shadow:0 2px 10px rgba(0,0,0,.05); }
    .pl-cta-bar__left { display:flex; align-items:center; gap:16px; }
    .pl-cta-bar__icon { width:48px; height:48px; background:rgba(43,166,64,.12); border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--green); }
    .pl-cta-bar__icon svg { width:24px; height:24px; }
    .pl-cta-bar strong { display:block; font-size:16px; font-weight:700; color:var(--green); margin-bottom:3px; }
    .pl-cta-bar span { font-size:13px; color:#777; }
    @media (max-width:1024px) { .pl-badge { position:static; margin:0 auto 20px; } .pl-head { flex-direction:column; align-items:center; } }
    @media (max-width:700px) { .pl-compare { font-size:13px; min-width:480px; } .pl-compare__header th, .pl-compare tbody tr td, .pl-compare__prices td, .pl-compare__cta-row td { padding-left:10px; padding-right:10px; } .pl-acc-trigger__from { display:none; } }
    @media (max-width:600px) { .pl-cta-bar { flex-direction:column; align-items:flex-start; } }

    /* -- Before/After ����� (cases-ba) -- */
    .cases-ba__head { display:flex; align-items:flex-start; justify-content:center; position:relative; margin-bottom:40px; text-align:center; }
    .cases-ba__head .section-head { text-align:center; margin:0 auto; }
    .cases-ba__btn-all { position:absolute; right:0; top:50%; transform:translateY(-50%); display:inline-flex; align-items:center; gap:8px; white-space:nowrap; }
    .cases-ba__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
    .case-slider { position:relative; overflow:hidden; height:260px; cursor:col-resize; user-select:none; -webkit-user-select:none; background:#e0e0e0; }
    .case-slider__before, .case-slider__after { position:absolute; inset:0; }
    .case-slider__before img, .case-slider__after img { width:100%; height:100%; object-fit:cover; display:block; pointer-events:none; user-select:none; -webkit-user-drag:none; }
    .case-slider__after { clip-path:inset(0 50% 0 0); }
    .case-slider__label { position:absolute; bottom:12px; font-size:13px; font-weight:700; padding:4px 10px; border-radius:6px; pointer-events:none; z-index:4; }
    .case-slider__label--before { left:10px; background:rgba(0,0,0,.6); color:#fff; }
    .case-slider__label--after { right:10px; background:var(--green); color:#fff; }
    .case-slider__line { position:absolute; top:0; left:50%; width:2px; height:100%; background:rgba(255,255,255,.9); transform:translateX(-50%); pointer-events:none; z-index:8; }
    .case-slider__handle { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:44px; height:44px; border-radius:50%; background:#fff; border:none; box-shadow:0 2px 14px rgba(0,0,0,.25); display:flex; align-items:center; justify-content:center; cursor:col-resize; z-index:10; padding:0; color:#444; flex-shrink:0; }
    .case-slider__handle:hover { box-shadow:0 4px 20px rgba(0,0,0,.32); }
    .case-card__body { padding:20px; display:flex; flex-direction:column; gap:12px; flex:1; }
    .case-card__title { font-size:18px; font-weight:700; color:#111; margin:0; line-height:1.3; }
    .case-card__stats { display:flex; gap:14px; }
    .case-stat { display:flex; align-items:center; gap:7px; }
    .case-stat__icon { width:32px; height:32px; flex-shrink:0; color:var(--green); stroke:var(--green); background:rgba(21,150,58,.08); border-radius:50%; padding:5px; }
    .case-stat div { display:flex; flex-direction:column; line-height:1.2; }
    .case-stat__label { font-size:12px; color:#999; }
    .case-stat__value { font-size:15px; font-weight:700; color:#111; }
    .case-card__type { display:flex; align-items:center; gap:7px; font-size:14px; color:#666; }
    .case-card__btn { width:100%; margin-top:auto; justify-content:center; display:flex; gap:8px; }
    .cases-ba__footer { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:28px; color:#aaa; font-size:14px; }
    @media (max-width:900px) { .cases-ba__head { flex-direction:column; align-items:center; } .cases-ba__btn-all { position:static; transform:none; margin-top:16px; } .cases-ba__grid { grid-template-columns:1fr; gap:20px; } .case-slider { height:220px; } }

    /* -- Trust-cards -- */
    .trust-cards { background:#fff; padding:28px 0; border-bottom:1px solid var(--line); }
    .trust-cards__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
    .trust-card { background:#fff; border-radius:14px; padding:20px 18px; display:flex; align-items:center; gap:14px; box-shadow:0 2px 14px rgba(0,0,0,.06); }
    .trust-card__icon { flex-shrink:0; width:68px; height:68px; background:#edf7ed; border-radius:50%; display:flex; align-items:center; justify-content:center; }
    .trust-card__icon img { width:48px; height:48px; object-fit:contain; }
    .trust-card__body { display:flex; flex-direction:column; gap:3px; }
    .trust-card__body strong { font-size:16px; font-weight:700; color:#111; line-height:1.2; }
    .trust-card__body span { font-size:13px; color:#777; }
    @media (max-width:900px) {
      .trust-cards { overflow:hidden; }
      .trust-cards__grid { display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; padding:4px 16px 12px; scrollbar-width:none; }
      .trust-cards__grid::-webkit-scrollbar { display:none; }
      .trust-card { min-width:200px; flex-shrink:0; scroll-snap-align:start; }
    }

    /* -- Safety-v2 -- */
    .safety-v2 { position:relative; overflow:hidden; }
    .safety-v2__accent { color:var(--green); }
    .safety-v2__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:40px; }
    .safety-v2__card { background:#fff; border:1.5px solid #e8edf4; border-radius:16px; padding:20px; box-shadow:0 2px 12px rgba(0,0,0,.04); display:flex; align-items:flex-start; gap:16px; }
    .safety-v2__icon { width:52px; height:52px; flex-shrink:0; }
    .safety-v2__icon svg { width:52px; height:52px; display:block; }
    .safety-v2__body { flex:1; }
    .safety-v2__title { font-size:15px; font-weight:700; color:#1f2c44; margin:0 0 5px; line-height:1.3; }
    .safety-v2__text { font-size:13.5px; color:#555; line-height:1.5; margin:0; }
    @media (max-width:900px) { .safety-v2__grid { grid-template-columns:repeat(2,1fr); } }
    @media (max-width:560px) { .safety-v2__grid { grid-template-columns:1fr; } }

    /* -- B2B-pro -- */
    .b2b-pro__card { border-radius:36px; border:1px solid rgba(36,52,70,.08); background:linear-gradient(180deg,#fdfefe 0%,#f7fafc 100%); box-shadow:0 18px 46px rgba(16,28,47,.1); padding:30px; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(460px,.95fr); gap:28px; }
    .b2b-pro__badge { display:inline-flex; align-items:center; padding:8px 16px; border-radius:999px; border:1px solid rgba(43,166,64,.55); color:#228b37; font-size:22px; font-weight:700; }
    .b2b-pro__content h2 { margin:14px 0 10px; font-size:clamp(36px,3.4vw,64px); line-height:1.04; color:#1a2740; }
    .b2b-pro__content > p { margin:0; max-width:760px; font-size:17px; line-height:1.45; color:#5c687a; }
    .b2b-pro__grid { margin-top:18px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .b2b-pro__item { background:#fff; border:1px solid rgba(36,52,70,.1); border-radius:16px; padding:16px 16px 14px; }
    .b2b-pro__item strong { display:block; font-size:16px; line-height:1.28; color:#1f2d46; }
    .b2b-pro__item span { display:block; margin-top:7px; font-size:16px; line-height:1.45; color:#677286; }
    .b2b-pro__actions { margin-top:16px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
    .b2b-pro__actions .btn { min-height:54px; font-size:16px; justify-content:center; }
    .b2b-pro__note { margin:10px 0 0; font-size:14px; color:#6f798c; }
    .b2b-pro__media { position:relative; border-radius:34px; overflow:hidden; min-height:560px; background:#edf3f8; }
    .b2b-pro__media img { width:100%; height:100%; object-fit:cover; display:block; }
    .b2b-pro__floating { position:absolute; right:16px; top:50%; transform:translateY(-50%); display:grid; gap:10px; width:auto; justify-items:end; max-width:calc(100% - 32px); }
    .b2b-pro__floating article { background:rgba(255,255,255,.98); border:1px solid rgba(36,52,70,.1); border-radius:16px; padding:12px 14px; box-shadow:0 8px 24px rgba(16,28,47,.08); width:fit-content; max-width:270px; min-width:220px; }
    .b2b-pro__floating strong { display:block; font-size:17px; color:#1d2a41; }
    .b2b-pro__floating span { display:block; margin-top:6px; font-size:15px; color:#5f6a7d; }
    .b2b-pro__segments { grid-column:1/-1; margin-top:2px; background:#fff; border:1px solid rgba(36,52,70,.08); border-radius:18px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
    .b2b-pro__segments span { padding:18px 14px; text-align:center; font-size:16px; color:#26334b; }
    .b2b-pro__segments span + span { border-left:1px solid rgba(36,52,70,.1); }
    @media (max-width:1280px) { .b2b-pro__card { grid-template-columns:1fr; gap:18px; } .b2b-pro__media { min-height:420px; } }
    @media (max-width:900px) { .b2b-pro__card { border-radius:22px; padding:18px; } .b2b-pro__grid, .b2b-pro__actions { grid-template-columns:1fr; } .b2b-pro__segments { grid-template-columns:1fr 1fr; } .b2b-pro__segments span + span { border-left:0; } }

    /* -- Reviews (klining style) -- */
    .reviews-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:36px; }
    .reviews-head__left { display:flex; flex-direction:column; gap:8px; }
    .reviews-badge { display:inline-flex; align-items:center; gap:7px; background:#e8f5ec; color:#2ba640; font-size:13px; font-weight:600; padding:7px 16px; border-radius:30px; width:fit-content; }
    .reviews-badge svg { width:14px; height:14px; flex-shrink:0; }
    .reviews__title { font-size:clamp(26px,3.5vw,46px); font-weight:800; color:#111; line-height:1.15; margin:0; }
    .reviews__desc { font-size:15px; color:#777; margin:0; }
    .reviews__all-btn { flex-shrink:0; display:inline-flex; align-items:center; gap:8px; background:var(--green); color:#fff; font-size:15px; font-weight:600; padding:14px 28px; border-radius:12px; text-decoration:none; white-space:nowrap; transition:background .2s; }
    .reviews__all-btn:hover { background:#229933; }
    .reviews__all-btn svg { width:16px; height:16px; flex-shrink:0; }
    .reviews-wrap { display:flex; align-items:center; gap:12px; margin-bottom:24px; }
    .reviews-nav { flex-shrink:0; width:44px; height:44px; border-radius:50%; border:1.5px solid #e0e0e0; background:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; color:#444; box-shadow:0 2px 8px rgba(0,0,0,.08); transition:border-color .15s,color .15s,box-shadow .15s; z-index:2; }
    .reviews-nav:hover { border-color:var(--green); color:var(--green); box-shadow:0 4px 14px rgba(43,166,64,.18); }
    .reviews-carousel { display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding:8px 4px 12px; flex:1; }
    .reviews-carousel::-webkit-scrollbar { display:none; }
    .reviews-carousel .review-card-new { flex:0 0 calc(33.333% - 16px); min-width:280px; scroll-snap-align:start; }
    .review-card-new { background:rgba(255,255,255,.88); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); border-radius:20px; border:1.5px solid rgba(255,255,255,.9); padding:22px 22px 18px; display:flex; flex-direction:column; gap:14px; box-shadow:0 4px 24px rgba(0,0,0,.07); transition:transform .2s,box-shadow .2s; }
    .review-card-new:hover { transform:translateY(-3px); box-shadow:0 8px 32px rgba(0,0,0,.11); }
    .review-card-new__top { display:flex; align-items:center; justify-content:space-between; }
    .review-stars { display:flex; align-items:center; gap:1px; }
    .review-quote-icon { width:38px; height:38px; background:#e8f5ec; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:26px; font-family:Georgia,serif; color:var(--green); line-height:1; padding-top:6px; font-weight:700; }
    .review-author { display:flex; align-items:center; gap:13px; }
    .review-avatar { width:54px; height:54px; border-radius:50%; flex-shrink:0; overflow:hidden; background:#e8f5ec; }
    .review-avatar img { width:100%; height:100%; object-fit:cover; display:block; }
    .review-author__info { display:flex; flex-direction:column; gap:5px; }
    .review-name { font-size:16px; font-weight:700; color:#111; line-height:1.2; }
    .review-service-tag { display:inline-flex; align-items:center; gap:5px; background:#e8f5ec; color:var(--green); font-size:12px; font-weight:600; padding:4px 10px; border-radius:20px; width:fit-content; }
    .review-text-body { font-size:14px; color:#444; line-height:1.72; margin:0; flex:1; }
    .review-footer-row { display:flex; align-items:center; justify-content:space-between; padding-top:13px; border-top:1px solid rgba(0,0,0,.07); margin-top:auto; }
    .review-platform { display:flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:#333; }
    .review-date { font-size:12px; color:#bbb; }
    .reviews-stats { background:#fff; border-radius:18px; border:1.5px solid #ebebeb; padding:28px 32px; display:grid; grid-template-columns:repeat(4,1fr); gap:0; box-shadow:0 2px 14px rgba(0,0,0,.05); margin-bottom:28px; }
    .reviews-stat { display:flex; align-items:flex-start; gap:16px; padding:0 28px 0 0; }
    .reviews-stat + .reviews-stat { padding-left:28px; padding-right:28px; border-left:1px solid #efefef; }
    .reviews-stat:last-child { padding-right:0; }
    .reviews-stat__icon { flex-shrink:0; width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
    .reviews-stat__icon svg { width:26px; height:26px; }
    .reviews-stat__icon--dark { background:#1e7a30; color:#fff; }
    .reviews-stat__icon--light { background:#e8f5ec; color:var(--green); }
    .reviews-stat__icon--orange { background:#fff4e6; color:#f97316; }
    .reviews-stat__body { display:flex; flex-direction:column; gap:4px; }
    .reviews-stat__value { font-size:17px; font-weight:800; color:#111; line-height:1.2; }
    .reviews-stat__value--lg { font-size:19px; }
    .reviews-stat__value--orange { color:#f97316; }
    .reviews-stat__stars { display:flex; align-items:center; gap:2px; }
    .reviews-stat__label { font-size:12.5px; color:#888; line-height:1.5; }
    .reviews-slogan { display:flex; align-items:center; justify-content:center; gap:9px; font-size:14px; color:#999; }
    .reviews-slogan svg { color:var(--green); flex-shrink:0; }
    @media (max-width:1024px) { .reviews-carousel .review-card-new { flex:0 0 calc(50% - 12px); } .reviews-stats { grid-template-columns:repeat(2,1fr); gap:20px; } .reviews-stat { padding:0 !important; border-left:none !important; } .reviews-stat:nth-child(odd) { padding-right:20px !important; border-right:1px solid #efefef; } }
    @media (max-width:768px) { .reviews-head { flex-direction:column; align-items:flex-start; } .reviews__all-btn { width:100%; justify-content:center; } .reviews-stats { grid-template-columns:1fr 1fr; } }
    @media (max-width:640px) { .reviews-carousel .review-card-new { flex:0 0 85%; } .reviews-nav { display:none; } .reviews-wrap { gap:0; } }
    @media (max-width:480px) { .reviews-stats { grid-template-columns:1fr; gap:20px; } .reviews-stat:nth-child(odd) { border-right:none !important; padding-right:0 !important; } }

    /* ========== VIDEO REVIEWS ========== */
    .video-reviews__grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:40px; }
    .video-reviews__frame { position:relative; padding-bottom:56.25%; height:0; border-radius:16px; overflow:hidden; background:#111; }
    .video-reviews__frame iframe { position:absolute; top:0; left:0; width:100%; height:100%; }
    .video-reviews__cta { text-align:center; margin-top:32px; }
    @media (max-width:640px) { .video-reviews__grid { grid-template-columns:1fr; } }

    /* ========== DIRECTOR ========== */
    .director-layout { display:grid; grid-template-columns:1fr 44%; gap:0; align-items:stretch; min-height:600px; }
    .director-left { display:flex; flex-direction:column; justify-content:center; gap:20px; padding-top:40px; padding-bottom:48px; padding-right:40px; }
    .director-badge { display:inline-flex; align-items:center; gap:7px; background:#e8f5ec; color:#1a7030; font-size:12.5px; font-weight:600; padding:5px 13px; border-radius:30px; width:fit-content; letter-spacing:.01em; }
    .director-badge__dot { width:7px; height:7px; border-radius:50%; background:#2ba640; flex-shrink:0; animation:director-pulse 2s ease-in-out infinite; }
    @keyframes director-pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(.8)} }
    .director-title { font-size:clamp(30px,3.6vw,50px); font-weight:800; color:#0d1c0d; line-height:1.12; margin:0; letter-spacing:-.02em; }
    .director-desc { font-size:15px; color:#5a6a5a; line-height:1.7; margin:0; max-width:500px; }
    .director-features { display:flex; gap:10px; flex-wrap:wrap; }
    .director-feature { display:flex; align-items:center; gap:9px; background:#fff; border:1.5px solid #e0e8e0; border-radius:12px; padding:10px 15px; font-size:13px; font-weight:500; color:#1a2a1a; flex:1; min-width:155px; box-shadow:0 1px 4px rgba(0,0,0,.04); }
    .director-feature__icon { flex-shrink:0; width:34px; height:34px; background:#e8f5ec; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#2ba640; }
    .director-feature__icon svg { width:16px; height:16px; }
    .director-contact { background:#fff; border-radius:16px; border:1.5px solid #ddeadd; border-left:4px solid #2ba640; overflow:hidden; box-shadow:0 2px 16px rgba(43,166,64,.07),0 1px 4px rgba(0,0,0,.04); }
    .director-contact__row { display:flex; align-items:center; gap:14px; padding:18px 20px; }
    .director-contact__messenger { flex-shrink:0; width:50px; height:50px; background:#0077FF; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; box-shadow:0 3px 10px rgba(0,119,255,.3); }
    .director-contact__messenger img { width:24px; height:24px; }
    .director-contact__info-text { flex:1; display:flex; flex-direction:column; gap:2px; }
    .director-contact__info-text strong { font-size:15px; font-weight:700; color:#0d1c0d; }
    .director-contact__info-text span { font-size:12.5px; color:#8a9a8a; }
    .director-contact__btn { display:inline-flex; align-items:center; gap:8px; background:#2ba640; color:#fff; font-size:14px; font-weight:600; padding:12px 22px; border-radius:12px; text-decoration:none; white-space:nowrap; transition:background .18s,box-shadow .18s; flex-shrink:0; box-shadow:0 4px 14px rgba(43,166,64,.28); }
    .director-contact__btn:hover { background:#229933; box-shadow:0 6px 18px rgba(43,166,64,.36); }
    .director-contact__btn svg { width:14px; height:14px; }
    .director-contact__details { display:flex; align-items:center; gap:14px; padding:12px 20px; border-top:1px solid #eef3ee; background:#fafcfa; }
    .director-contact__detail { display:flex; align-items:center; gap:7px; font-size:13.5px; color:#3a4a3a; font-weight:500; }
    .director-contact__detail svg { color:#2ba640; flex-shrink:0; }
    .director-contact__sep { color:#ccd4cc; font-size:16px; line-height:1; flex-shrink:0; }
    .director-right { position:relative; display:flex; flex-direction:column; align-self:stretch; overflow:visible; }
    .director-right::after { content:''; position:absolute; bottom:0; left:0; right:0; height:120px; background:linear-gradient(to top,#f5f9f5 0%,rgba(245,249,245,.55) 55%,transparent 100%); pointer-events:none; z-index:1; }
    .director-photo { flex:1; display:block; width:100%; min-height:0; object-fit:contain; object-position:bottom center; z-index:0; }
    .director-sig { position:absolute; bottom:48px; right:0; background:rgba(255,255,255,.97); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid rgba(220,235,220,.9); border-radius:18px; padding:16px 22px; box-shadow:0 6px 28px rgba(0,0,0,.09); min-width:190px; z-index:3; }
    .director-sig__script { display:block; font-style:italic; font-family:Georgia,'Palatino Linotype',serif; font-size:28px; color:#1a2e1a; line-height:1.15; margin-bottom:10px; font-weight:400; letter-spacing:-.01em; }
    .director-sig__name { display:block; font-size:15px; font-weight:700; color:#0d1c0d; }
    .director-sig__role { display:block; font-size:12px; color:#7a8a7a; margin-top:3px; line-height:1.45; }
    .director-trusts { border-top:1px solid #e8ede8; background:#f4f8f4; padding:18px 0; }
    .director-trust-list { display:flex; align-items:center; justify-content:space-between; gap:0; }
    .director-trust { display:flex; align-items:center; gap:10px; flex:1; padding:0 28px; font-size:12.5px; color:#4a5a4a; line-height:1.5; font-weight:400; }
    .director-trust+.director-trust { border-left:1px solid #dde5dd; }
    .director-trust svg { color:#15963a; flex-shrink:0; opacity:1; }
    @media (max-width:1024px) { .director-layout { grid-template-columns:1fr 38%; } .director-left { padding-right:24px; } }
    @media (max-width:768px) { .director-layout { grid-template-columns:1fr; } .director-left { padding-right:0; padding-bottom:32px; } .director-right { order:-1; max-height:364px; overflow:hidden; } .director-photo { max-height:364px; object-position:top center; } .director-sig { padding:8px 12px; min-width:120px; bottom:20px; } .director-sig__script { font-size:18px; margin-bottom:5px; } .director-sig__name { font-size:12px; } .director-sig__role { font-size:10px; margin-top:2px; } .director-features { flex-direction:column; } .director-feature { min-width:unset; flex:unset; } .director-contact__row { flex-wrap:wrap; gap:12px; } .director-contact__btn { width:100%; justify-content:center; } .director-trust-list { flex-wrap:wrap; gap:12px; } .director-trust { flex:0 0 calc(50% - 6px); border-left:none !important; padding:0 4px; } }

    /* ========== SEO TOGGLE ========== */
    .seo-toggle-section,.section.seo-toggle-section { padding-top:36px; padding-bottom:36px; }
    .seo-toggle { text-align:center; padding-bottom:0; }
    .seo-toggle__summary { display:inline-flex; align-items:center; justify-content:center; min-height:48px; margin:24px auto 0; padding:0 24px; border-radius:8px; background:var(--green); box-shadow:0 4px 16px rgba(43,166,64,.28); color:#fff; font-weight:600; cursor:pointer; list-style:none; user-select:none; transition:background .2s,transform .2s; }
    .seo-toggle__summary:hover { background:#229135; transform:translateY(-1px); }
    .seo-toggle__summary::-webkit-details-marker { display:none; }
    .seo-toggle__panel { max-height:0; padding:0 24px 24px; overflow:hidden; opacity:0; transition:max-height .38s ease,opacity .28s ease,padding-top .38s ease; }
    .seo-toggle[open] .seo-toggle__panel { padding-top:20px; opacity:1; max-height:2000px; }
    .seo-toggle__content { padding:28px 30px; border:1px solid rgba(32,48,66,.08); border-radius:24px; background:rgba(255,255,255,.82); }
    .seo-toggle__content h2 { margin:0 0 14px; }
    .seo-toggle__copy { display:grid; gap:14px; }
    .seo-toggle__copy p { margin:0; color:var(--muted); line-height:1.72; }
    @media (max-width:767px) { .seo-toggle__summary { margin:20px auto 0; } .seo-toggle__panel { padding:0 20px 20px; } .seo-toggle[open] .seo-toggle__panel { padding-top:18px; } .seo-toggle__content { padding:22px 20px; } }

    /* ========== FLOAT BUTTONS ========== */
    .float-max { position:fixed; bottom:92px; right:28px; z-index:90; display:inline-flex; align-items:center; gap:10px; padding:0 22px 0 18px; height:54px; background:#0077FF; color:#fff; border-radius:27px; text-decoration:none; font-family:inherit; font-size:15px; font-weight:600; white-space:nowrap; box-shadow:0 4px 20px rgba(0,119,255,.45),0 2px 6px rgba(0,0,0,.12); transition:background .18s,box-shadow .18s,transform .15s; }
    .float-max:hover { background:#005fd6; transform:translateY(-2px); color:#fff; }
    .float-max img { flex-shrink:0; }
    .float-callback { position:fixed; bottom:28px; right:28px; z-index:90; }
    .float-callback__btn { display:inline-flex; align-items:center; gap:10px; padding:0 22px 0 18px; height:54px; background:#27ae60; color:#fff; border:none; border-radius:27px; cursor:pointer; font-family:inherit; font-size:15px; font-weight:600; white-space:nowrap; box-shadow:0 4px 20px rgba(39,174,96,.45),0 2px 6px rgba(0,0,0,.12); transition:background .18s,box-shadow .18s,transform .15s; }
    .float-callback__btn:hover { background:#219a52; transform:translateY(-2px); }
    .float-callback__icon { flex-shrink:0; }
    @media (max-width:840px) { .float-callback { bottom:max(20px,env(safe-area-inset-bottom,20px)); right:max(16px,env(safe-area-inset-right,16px)); z-index:120; } .float-callback__btn { width:54px; height:54px; padding:0; border-radius:50%; justify-content:center; } .float-callback__label { display:none; } .float-max { bottom:max(84px,calc(env(safe-area-inset-bottom,0px)+84px)); right:max(16px,env(safe-area-inset-right,16px)); width:54px; height:54px; padding:0; border-radius:50%; justify-content:center; z-index:120; } .float-max__label { display:none; } }

    /* ========== MODAL ========== */
    .him-modal[hidden] { display:none; }
    .him-modal { position:fixed; inset:0; z-index:200; }
    .him-modal__backdrop { position:absolute; inset:0; background:rgba(31,45,63,.34); backdrop-filter:blur(8px); }
    .him-modal__dialog { position:relative; width:min(520px,calc(100% - 24px)); margin:8vh auto 0; padding:26px; border-radius:24px; background:#fff; border:1px solid rgba(36,52,70,.08); box-shadow:0 28px 64px rgba(31,45,63,.18); }
    .him-modal__close { position:absolute; top:14px; right:14px; width:38px; height:38px; border:1px solid rgba(36,52,70,.08); border-radius:999px; background:rgba(255,255,255,.92); color:#6b7280; cursor:pointer; font-size:20px; line-height:1; display:flex; align-items:center; justify-content:center; }
    .him-modal__eyebrow { display:inline-flex; align-items:center; min-height:34px; padding:0 12px; border-radius:999px; background:#f0faf2; color:#2ba640; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
    .him-modal__dialog h3 { margin-top:16px; font-size:28px; }

    /* ========== CATALOG PAGE (uslugi) ========== */
    .catalog-hero { padding: 48px 0 40px; background: var(--green-4); border-bottom: 1px solid var(--line); }
    .catalog-hero__eyebrow { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--green); text-transform: uppercase; letter-spacing: .07em; margin-bottom: 14px; }
    .catalog-hero h1 { font-size: clamp(28px, 5vw, 48px); font-weight: 900; line-height: 1.15; margin: 0 0 14px; }
    .catalog-hero__lead { font-size: 16px; color: var(--muted); margin: 0 0 24px; max-width: 600px; }
    .catalog-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; }

    .catalog-group { padding: 48px 0 0; }
    .catalog-group:last-of-type { padding-bottom: 60px; }
    .catalog-group__head { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 24px; }
    .catalog-group__icon { flex-shrink: 0; width: 46px; height: 46px; border-radius: 14px; background: var(--green-3); color: var(--green); display: flex; align-items: center; justify-content: center; }
    .catalog-group__title { font-size: clamp(20px, 3vw, 26px); font-weight: 800; margin: 0 0 4px; }
    .catalog-group__sub { font-size: 15px; color: var(--muted); margin: 0; }

    .svc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }

    .svc-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 20px; display: flex; flex-direction: column; gap: 8px; box-shadow: var(--shadow-soft); transition: transform .2s, box-shadow .2s; }
    .svc-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
    .svc-card__icon { width: 40px; height: 40px; border-radius: 12px; background: var(--green-3); color: var(--green); display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-bottom: 4px; }
    .svc-card__name { font-size: 16px; font-weight: 700; margin: 0; line-height: 1.3; }
    .svc-card__desc { font-size: 14px; color: var(--muted); margin: 0; line-height: 1.5; flex: 1; }
    .svc-card__price { font-size: 17px; font-weight: 800; color: var(--green); margin-top: 4px; }
    .svc-card__link { display: inline-flex; align-items: center; gap: 5px; font-size: 14px; font-weight: 600; color: var(--green); text-decoration: none; margin-top: auto; }
    .svc-card__link:hover { text-decoration: underline; }

    .catalog-divider { margin: 40px 0 0; border: none; border-top: 1px solid var(--line); }

    @media (max-width: 720px) {
      .catalog-hero { padding: 32px 0 28px; }
      .svc-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
      .svc-card { padding: 16px; }
      .catalog-group { padding-top: 32px; }
    }
    @media (max-width: 420px) {
      .svc-grid { grid-template-columns: 1fr; }
    }
    .him-modal__lead { margin-top:12px; color:var(--muted); line-height:1.6; }
    .him-modal-form { display:grid; gap:14px; margin-top:22px; }
    .him-modal-form .field { display:grid; gap:6px; }
    .him-modal-form .field span { font-size:14px; color:#374151; font-weight:600; }
    .him-modal-form input,.him-modal-form textarea { width:100%; height:52px; padding:0 16px; border:1px solid rgba(32,48,66,.15); border-radius:13px; font-family:inherit; font-size:15px; color:#1f2937; background:#fafcff; outline:none; transition:border-color .18s; box-sizing:border-box; }
    .him-modal-form input:focus,.him-modal-form textarea:focus { border-color:#2ba640; }
    .him-modal-form textarea { height:auto; resize:vertical; min-height:80px; padding:12px 16px; }
    .him-modal-form .btn-submit { width:100%; min-height:52px; font-size:16px; }

    /* ========== EXIT MODAL ========== */
    .him-exit-modal[hidden] { display:none; }
    .him-exit-modal { position:fixed; inset:0; z-index:200; }
    .him-exit-modal .him-modal__backdrop { background:rgba(25,35,53,.28); backdrop-filter:blur(10px); }
    .him-exit-dialog { position:relative; width:min(660px,calc(100% - 24px)); max-height:calc(100svh - 24px); margin:12px auto; padding:20px 22px 16px; border-radius:22px; background:#fff; border:1px solid rgba(36,52,70,.08); box-shadow:0 20px 50px rgba(16,24,40,.18); overflow:auto; }
    .him-exit__close { position:absolute; top:14px; right:14px; width:36px; height:36px; border-radius:50%; border:1px solid rgba(36,52,70,.12); background:rgba(255,255,255,.96); color:#667085; font-size:22px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; }
    .him-exit__eyebrow { display:inline-flex; align-items:center; gap:6px; min-height:34px; padding:0 12px; border-radius:10px; background:linear-gradient(180deg,#f3fdf5,#edf9ef); border:1px solid rgba(43,166,64,.16); color:#2ba640; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
    .him-exit__top { display:grid; grid-template-columns:170px 1fr; gap:16px; align-items:center; margin:12px 0 14px; }
    .him-exit__visual { display:flex; align-items:center; justify-content:center; }
    .him-exit__visual img { width:min(100%,150px); height:auto; }
    .him-exit__copy h3 { margin:0; font-size:34px; line-height:.96; font-weight:800; letter-spacing:-.04em; color:#1f2a44; }
    .him-exit__headline { margin:6px 0 0; font-size:15px; font-weight:500; color:#243446; }
    .him-exit__lead { margin:8px 0 0; font-size:13px; color:#667085; line-height:1.5; }
    .him-exit__benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:14px; }
    .him-exit__benefit { display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:0 10px; border-radius:10px; background:linear-gradient(180deg,#f7fcf8,#f2faf4); border:1px solid rgba(43,166,64,.12); color:#243446; font-size:12px; line-height:1.3; }
    .him-exit__benefit svg { color:#2ba640; flex-shrink:0; }
    .him-exit-form { display:grid; gap:12px; margin-top:14px; }
    .him-exit-form input[type="tel"] { width:100%; padding:10px 14px; border:1px solid rgba(32,48,66,.15); border-radius:12px; font-family:inherit; font-size:15px; box-sizing:border-box; outline:none; }
    .him-exit-form input:focus { border-color:#2ba640; }
    .him-exit__value { display:grid; grid-template-columns:auto 1fr auto; gap:10px; align-items:center; padding:10px 12px; border-radius:12px; background:linear-gradient(180deg,#f7fcf8,#f0faf2); border:1px solid rgba(43,166,64,.12); }
    .him-exit__value svg { color:#2ba640; }
    .him-exit__value strong { display:block; color:#2ba640; font-size:13px; font-weight:800; }
    .him-exit__value span { color:#243446; font-size:12px; line-height:1.4; }
    .him-exit__bottom { display:grid; grid-template-columns:1fr minmax(200px,300px); gap:10px; align-items:center; }
    .him-exit__privacy { display:inline-flex; align-items:center; gap:6px; color:#667085; font-size:11px; line-height:1.4; }
    .him-exit__privacy input { width:14px; height:14px; margin:0; accent-color:#2ba640; }
    .him-exit__privacy a { text-decoration:underline; color:#667085; }
    .him-exit__submit { min-height:44px; border-radius:12px; background:linear-gradient(180deg,#31bb48,#28a53f); color:#fff; font-size:15px; font-weight:800; box-shadow:0 10px 18px rgba(43,166,64,.22); border:none; cursor:pointer; font-family:inherit; width:100%; }
    .him-exit__safe { display:inline-flex; align-items:center; justify-content:center; gap:6px; margin:0; color:#8a94a6; font-size:11px; line-height:1.4; }
    .him-exit__safe svg { color:#2ba640; }
    @media (max-width:680px) { .him-exit-dialog { padding:16px 14px 14px; } .him-exit__top { grid-template-columns:1fr; } .him-exit__visual { display:none; } .him-exit__copy h3 { font-size:26px; } .him-exit__benefits,.him-exit__bottom { grid-template-columns:1fr; } }

/* -- Header / Nav -- */
/* -- Dropdown nav -- */
  .nav-has-drop { position: relative; }
  .nav-drop-toggle { display: flex; align-items: center; gap: 5px; cursor: pointer; white-space: nowrap; border: none; background: none; padding: 0; font: inherit; font-weight: 700; font-size: 15px; color: #232830; outline: none; }
  .nav-drop-toggle svg { transition: transform .2s; flex-shrink:0; }
  .nav-has-drop.open .nav-drop-toggle svg { transform: rotate(180deg); }
  .nav-drop-menu {
    position: absolute; top: calc(100% + 14px); left: 50%; transform: translateX(-50%);
    background: #fff; border: 1px solid var(--line); border-radius: 16px;
    box-shadow: 0 16px 40px rgba(16,24,40,.12); padding: 8px; min-width: 240px;
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .18s, transform .18s;
    transform: translateX(-50%) translateY(-6px);
  }
  .nav-has-drop.open .nav-drop-menu {
    opacity: 1; visibility: visible; pointer-events: auto;
    transform: translateX(-50%) translateY(0);
  }
  .nav-drop-menu a {
    display: flex; align-items: center; gap: 10px; padding: 9px 14px;
    border-radius: 10px; font-size: 14px; font-weight: 600; color: var(--text);
    text-decoration: none; white-space: nowrap; transition: background .15s, color .15s;
  }
  .nav-drop-menu a:hover { background: var(--green-3); color: var(--green); }
  .nav-drop-divider { height: 1px; background: var(--line); margin: 6px 0; }

  /* -- Burger -- */
  .burger-btn {
    display: none; width: 42px; height: 42px; border: 1px solid var(--line);
    border-radius: 10px; background: #fff; cursor: pointer; flex-direction: column;
    align-items: center; justify-content: center; gap: 5px; padding: 0;
  }
  .burger-btn span { display: block; width: 20px; height: 2px; background: var(--text); border-radius: 2px; transition: transform .22s, opacity .22s; }
  .burger-btn.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .burger-btn.open span:nth-child(2) { opacity: 0; }
  .burger-btn.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* -- Mobile nav panel -- */
  .mobile-nav {
    display: none; position: fixed; inset: 0; top: 0; z-index: 99;
    background: rgba(0,0,0,.45); backdrop-filter: blur(4px);
  }
  .mobile-nav.open { display: block; }
  .mobile-nav__panel {
    position: absolute; top: 0; right: 0; bottom: 0; width: min(320px, 85vw);
    background: #fff; box-shadow: -8px 0 32px rgba(0,0,0,.12);
    overflow-y: auto; padding: 24px 0 80px; display: flex; flex-direction: column;
    transform: translateX(100%); transition: transform .28s cubic-bezier(.4,0,.2,1);
  }
  .mobile-nav.open .mobile-nav__panel { transform: translateX(0); }
  .mobile-nav__close {
    display: flex; align-items: center; justify-content: flex-end;
    padding: 0 20px 16px; border-bottom: 1px solid var(--line); margin-bottom: 8px;
  }
  .mobile-nav__close button {
    width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 8px;
    background: #fff; font-size: 20px; cursor: pointer; display: flex; align-items: center; justify-content: center; line-height:1;
  }
  .mobile-nav a {
    display: flex; align-items: center; gap: 10px; padding: 13px 20px;
    font-size: 15px; font-weight: 700; color: var(--text); text-decoration: none;
    border-bottom: 1px solid var(--line);
  }
  .mobile-nav a:hover { color: var(--green); background: var(--green-3); }
  .mobile-nav a svg { color: var(--green); flex-shrink:0; }
  .mobile-nav__section { padding: 10px 20px 4px; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
  .mobile-nav__divider { height: 1px; background: var(--line); margin: 8px 0; }
  .mobile-nav .btn { border-bottom: none; border-radius: 12px; justify-content: center; }
  .mobile-nav .btn-primary { background: var(--green); color: #fff; }
  .mobile-nav .btn-primary:hover { background: var(--green-2); color: #fff; }

  @media (max-width: 1280px) {
    .nav { display: none; }
    .burger-btn { display: flex; margin-left: auto; }
  }
  @media (max-width: 1080px) {
    .header-actions { display: none; }
  }
/* -- Breadcrumb & page-title -- */
.breadcrumb { display:flex; align-items:center; gap:6px; font-size:13px; color:var(--muted); padding:18px 0 0; flex-wrap:wrap; }
.breadcrumb a { color:var(--muted); text-decoration:none; }
.breadcrumb a:hover { color:var(--green); }
.breadcrumb svg { color:var(--muted); flex-shrink:0; }
.page-title { padding:28px 0 10px; }
.page-title h1 { font-size:42px; font-weight:900; color:var(--text); line-height:1.1; margin:0; }

/* -- Contacts page -- */
.contacts-layout { display:grid; grid-template-columns:1fr 1fr; gap:40px; padding:32px 0 16px; align-items:start; }
.contacts-info { display:flex; flex-direction:column; gap:18px; }
.contacts-phone a { font-size:28px; font-weight:900; color:var(--green); text-decoration:none; }
.contacts-phone a:hover { color:var(--green-2); }
.contacts-email a { font-size:16px; font-weight:700; color:var(--text); text-decoration:none; }
.contacts-email a:hover { color:var(--green); }
.contacts-hours { font-size:15px; color:var(--muted); font-weight:600; }
.contacts-desc { font-size:15px; line-height:1.6; color:var(--text); }
.contacts-desc a { color:var(--green); text-decoration:none; font-weight:700; }
.contacts-address { font-size:14px; color:var(--muted); line-height:1.6; }
.contacts-socials { display:flex; gap:10px; }
.social-btn { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:12px; background:var(--green-3); color:var(--green); text-decoration:none; transition:background .15s, color .15s; }
.social-btn:hover { background:var(--green); color:#fff; }
.contacts-form-wrap { background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:28px; box-shadow:var(--shadow-soft); }
.contacts-form { display:flex; flex-direction:column; gap:14px; }
.contacts-form input,
.contacts-form textarea { width:100%; box-sizing:border-box; border:1px solid var(--line); border-radius:var(--radius-md); padding:12px 14px; font:inherit; font-size:14px; color:var(--text); background:#fff; outline:none; transition:border-color .15s; }
.contacts-form input:focus,
.contacts-form textarea:focus { border-color:var(--green); }
.contacts-form textarea { min-height:100px; resize:vertical; }
.contacts-form .consent-row { display:flex; align-items:flex-start; gap:10px; font-size:13px; color:var(--muted); cursor:pointer; }
.contacts-form .consent-row input[type="checkbox"] { flex-shrink:0; margin-top:2px; accent-color:var(--green); width:16px; height:16px; }
.contacts-form .consent-row a { color:var(--green); }
.contacts-form .btn-submit { width:100%; }
.form-success { display:none; background:var(--green-3); color:var(--green); border-radius:var(--radius-md); padding:16px; font-weight:700; text-align:center; }

/* -- Divider -- */
.section-divider { height:1px; background:var(--line); margin:36px 0; }

/* -- Map section -- */
.map-section h2 { font-size:28px; font-weight:800; margin:0 0 16px; }
.map-wrap { border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--line); }
.map-wrap iframe { display:block; width:100%; height:320px; border:none; }

/* -- Requisites -- */
.requisites h2 { font-size:28px; font-weight:800; margin:0 0 16px; }
.requisites-list p { margin:0 0 8px; font-size:15px; line-height:1.6; color:var(--text); }

/* -- Privacy / Consent pages -- */
.text-page { max-width:820px; padding:32px 0 64px; }
.text-page h1 { font-size:36px; font-weight:900; margin:0 0 28px; }
.text-page h2 { font-size:20px; font-weight:800; margin:28px 0 10px; }
.text-page p, .text-page li { font-size:15px; line-height:1.8; color:var(--text); margin:0 0 12px; }
.text-page ul { padding-left:20px; }
.text-page a { color:var(--green); }

/* -- Contacts responsive -- */
@media (max-width: 768px) {
  .contacts-layout { grid-template-columns:1fr; gap:24px; }
  .page-title h1 { font-size:30px; }
}