﻿    /* --- HEADER --- */
    header.site {
      position: sticky; top: 0; z-index: 100; backdrop-filter: blur(18px);
      background: linear-gradient(180deg, rgba(8,11,18,0.92), rgba(8,11,18,0.78));
      border-bottom: 1px solid rgba(148,163,184,0.14);
    }
    .brand { display:flex; align-items:center; gap: 10px; cursor: pointer; min-width: 0; }
    .brand-badge {
      width:40px; height:40px; display:grid; place-items:center; color:#fff; font-weight:900;
      filter: drop-shadow(0 10px 20px rgba(91,140,255,0.16));
    }
    .brand .h3 { letter-spacing: -0.03em; }
    .row { display:flex; align-items:center; justify-content:space-between; height:72px; }
    
    .burger, .toggle-lang, .language-trigger {
      border: 1px solid rgba(148,163,184,0.18);
      background:
        linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.025)),
        rgba(15,20,32,0.86);
      border-radius: 16px !important;
      cursor:pointer;
      display:grid; place-items:center; color: var(--text);
      height: 44px; padding: 0 14px;
      box-shadow: 0 12px 28px rgba(0,0,0,0.24), inset 0 1px 0 rgba(255,255,255,0.05);
      transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
    }
    .burger:hover,
    .toggle-lang:hover,
    .language-trigger:hover,
    .custom-select-trigger:hover {
      transform: translateY(-1px);
      border-color: rgba(148,163,184,0.34);
      background:
        linear-gradient(180deg, rgba(255,255,255,0.1), rgba(255,255,255,0.035)),
        rgba(18,24,38,0.92);
    }
    .burger { width: 44px; padding: 0; display: none; }
    .burger svg { width: 20px; height: 20px; }
    .burger path { stroke-width: 2.4; }
    .toggle-lang { 
      font-weight: 700; 
      font-size: 14px;
      min-width: 52px;
      text-transform: uppercase;
    }
    .desktop-nav {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-left: 34px;
      margin-right: auto;
      min-width: 0;
    }
    .desktop-nav-link {
      position: relative;
      height: 32px;
      padding: 0 10px;
      color: rgba(245,247,255,.86);
      background: transparent;
      border: 1px solid transparent;
      border-radius: 10px !important;
      box-shadow: none;
      appearance: none;
      cursor: pointer;
      font-size: 13px;
      font-weight: 500;
      line-height: 1;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      white-space: nowrap;
      transition: color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    }
    .desktop-nav-link:hover,
    .nav-dropdown:hover .desktop-nav-link,
    .nav-dropdown:focus-within .desktop-nav-link {
      color: #fff;
      background: rgba(255,255,255,.055);
      border-color: rgba(148,163,184,.12);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
      transform: none;
    }
    .nav-dropdown:hover .desktop-nav-link,
    .nav-dropdown:focus-within .desktop-nav-link {
      color: #a78bfa;
      background: linear-gradient(180deg, rgba(99,102,241,.16), rgba(168,85,247,.08));
      border-color: rgba(139,92,246,.26);
    }
    .nav-dropdown {
      position: relative;
    }
    .nav-dropdown::after {
      content: "";
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      height: 10px;
      display: none;
    }
    .nav-dropdown:hover::after,
    .nav-dropdown:focus-within::after {
      display: block;
    }
    .nav-dropdown-trigger {
      appearance: none;
    }
    .nav-chevron {
      width: 16px;
      height: 16px;
      color: rgba(245,247,255,.68);
      transition: transform .18s ease, color .18s ease;
    }
    .nav-dropdown:hover .nav-chevron,
    .nav-dropdown:focus-within .nav-chevron {
      transform: rotate(180deg);
      color: #a78bfa;
    }
    .nav-dropdown-panel {
      position: absolute;
      top: calc(100% + 8px);
      left: 0;
      width: 280px;
      padding: 8px;
      background: #141622;
      border: 1px solid rgba(148,163,184,0.18);
      border-radius: 10px !important;
      box-shadow: 0 24px 55px rgba(0,0,0,.42);
      display: none;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transform: translateY(-8px);
      transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
      z-index: 220;
    }
    .nav-dropdown:hover .nav-dropdown-panel,
    .nav-dropdown:focus-within .nav-dropdown-panel {
      display: block;
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translateY(0);
    }
    .nav-dropdown-panel-wide {
      width: 320px;
      overflow: visible;
    }
    .nav-contacts-panel {
      width: 340px;
    }
    .nav-dropdown-item {
      width: 100%;
      min-height: 46px;
      padding: 10px 12px;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 10px;
      color: var(--text);
      background: transparent;
      border: 0;
      border-radius: 8px !important;
      font-size: 13px;
      font-weight: 500;
      font-family: inherit;
      text-align: left;
      transition: background .18s ease, color .18s ease;
    }
    .nav-dropdown-item:hover {
      background: rgba(91,140,255,.12);
    }
    .nav-item-icon {
      width: 30px;
      height: 30px;
      flex: 0 0 30px;
      display: grid;
      place-items: center;
      color: rgba(166,176,205,.88);
      background: rgba(255,255,255,.045);
      border: 1px solid rgba(148,163,184,.08);
      border-radius: 8px !important;
      transition: color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
    }
    .nav-item-icon svg {
      width: 18px;
      height: 18px;
      display: block;
    }
    .nav-item-icon path,
    .nav-item-icon circle,
    .nav-item-icon rect {
      stroke: currentColor;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    .nav-item-copy {
      min-width: 0;
      flex: 1 1 auto;
      line-height: 1.22;
    }
    .nav-dropdown-item:hover .nav-item-icon,
    .nav-flyout-item.is-active > .nav-flyout-trigger .nav-item-icon {
      color: #22c55e;
      background: rgba(34,197,94,.10);
      border-color: rgba(34,197,94,.18);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
    }
    .nav-dropdown-item-soon {
      color: rgba(245,247,255,.82);
    }
    .soon-badge {
      flex: 0 0 auto;
      margin-left: auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 20px;
      padding: 0 8px;
      border-radius: 999px !important;
      color: #fff;
      background: linear-gradient(135deg, #16a34a 0%, #22c55e 100%);
      border: 1px solid rgba(134,239,172,.36);
      box-shadow: 0 8px 18px rgba(34,197,94,.18), inset 0 1px 0 rgba(255,255,255,.18);
      font-size: 11px;
      font-weight: 700;
    }
    .nav-dropdown-item-disabled {
      cursor: default;
      opacity: .72;
    }
    .nav-dropdown-item-disabled:hover {
      background: transparent;
    }
    .nav-services-panel {
      isolation: isolate;
      position: absolute;
      width: 660px;
      min-height: 314px;
      padding: 12px;
      overflow: hidden;
      background:
        linear-gradient(90deg, #171923 0, #171923 48%, #1a1c27 48%, #1a1c27 100%);
    }
    .nav-services-panel::after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 312px;
      width: 1px;
      background: rgba(148,163,184,.12);
      pointer-events: none;
    }
    .nav-services-panel > .nav-dropdown-item,
    .nav-services-panel > .nav-flyout-item > .nav-dropdown-item {
      width: 292px;
      min-height: 54px;
      padding: 12px 14px;
      line-height: 1.22;
    }
    .nav-flyout-item {
      position: static;
      width: 292px;
    }
    .nav-flyout-trigger {
      cursor: pointer;
    }
    .nav-flyout-trigger .nav-item-copy {
      line-height: 1.25;
    }
    .nav-sub-chevron {
      width: 16px;
      height: 16px;
      flex: 0 0 auto;
      margin-left: auto;
      color: rgba(245,247,255,.62);
      transition: color .18s ease, transform .18s ease;
    }
    .nav-flyout-item.is-active > .nav-flyout-trigger {
      color: #fff;
      background: linear-gradient(180deg, rgba(91,140,255,.15), rgba(139,92,246,.09));
    }
    .nav-flyout-item.is-active .nav-sub-chevron {
      color: #22c55e;
      transform: translateX(2px);
    }
    .nav-flyout-panel {
      position: absolute;
      top: 12px;
      right: 12px;
      bottom: 12px;
      left: 316px;
      width: auto;
      padding: 4px 2px 4px 12px;
      background: transparent;
      border: 0;
      border-radius: 0 !important;
      box-shadow: none;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transform: translateX(-6px);
      transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
      z-index: 240;
      overflow: visible;
    }
    .nav-flyout-panel::before {
      content: "";
      position: absolute;
      top: -12px;
      bottom: -12px;
      left: -42px;
      width: 42px;
    }
    .nav-flyout-panel .nav-dropdown-item {
      min-height: 46px;
      padding: 9px 12px;
    }
    .nav-flyout-item.is-active .nav-flyout-panel {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translateX(0);
    }
    .language-select {
      position: relative;
      flex: 0 0 auto;
    }
    .language-trigger {
      height: 44px;
      width: 44px;
      padding: 0;
      color: var(--text);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      font-size: 13px;
      font-weight: 500;
      cursor: pointer;
    }
    .language-trigger span {
      display: none;
    }
    .language-trigger svg {
      width: 20px;
      height: 20px;
      color: rgba(245,247,255,.9);
    }
    .language-options {
      position: absolute;
      top: calc(100% + 10px);
      right: 0;
      width: 160px;
      padding: 8px;
      background: rgba(20, 22, 34, 0.98);
      border: 1px solid rgba(148,163,184,0.18);
      border-radius: 10px !important;
      box-shadow: 0 24px 55px rgba(0,0,0,.42);
      opacity: 0;
      visibility: hidden;
      transform: translateY(-8px);
      transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
      z-index: 230;
    }
    .language-select.open .language-options {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }
    .language-option {
      width: 100%;
      min-height: 38px;
      padding: 0 8px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      color: var(--text);
      background: transparent;
      border: 0;
      border-radius: 8px !important;
      cursor: pointer;
      font-size: 13px;
      font-weight: 500;
      text-align: left;
    }
    .language-option:hover {
      background: rgba(255,255,255,.06);
    }
    .language-check {
      opacity: 0;
      color: #c7d2fe;
    }
    .language-option.active .language-check {
      opacity: 1;
    }
    .header-actions { display:flex; gap:10px; align-items:center; min-width: 0; }

    @media (max-width: 1120px) {
      .desktop-nav {
        margin-left: 20px;
      }
      .desktop-nav-link {
        padding: 0 10px;
      }
      .nav-services-panel {
        left: -220px;
        width: 620px;
      }
      .nav-services-panel::after {
        left: 292px;
      }
      .nav-services-panel > .nav-dropdown-item,
      .nav-services-panel > .nav-flyout-item > .nav-dropdown-item,
      .nav-flyout-item {
        width: 272px;
      }
      .nav-services-panel .nav-flyout-panel {
        left: 296px;
        right: 12px;
        width: auto;
        transform: translateX(-6px);
      }
      .nav-services-panel .nav-flyout-panel::before {
        left: auto;
        right: auto;
      }
      .nav-flyout-item.is-active .nav-flyout-panel {
        transform: translateX(0);
      }
    }

    @media (max-width: 1023px) {
      .burger { display: grid; }
      .desktop-nav { display: none; }
    }

    @media (max-width: 768px) {
      #desktopLangSelect { display: none !important; }
      header.site .container { padding: 0 14px; }
      .row { gap: 10px; height: 64px; }
      .brand { gap: 8px; flex-shrink: 0; }
      .header-actions { margin-left: auto; gap: 10px; min-width: 0; }
      #headerCitySelect { min-width: 0; max-width: 168px; }
      #headerCitySelect .custom-select-trigger { min-width: 0 !important; padding: 0 12px 0 14px; }
      #headerCitySelect .custom-select-trigger span { max-width: 104px; }
      .form-input, .custom-select-trigger, .custom-option, input, select, textarea {
        font-size: 16px !important; 
      }
    }

    @media (max-width: 420px) {
      .brand .h3 { display: block; font-size: 18px; }
      .brand-badge { width: 36px; height: 36px; }
      .row { height: 62px; }
      #headerCitySelect { max-width: 150px; }
      .burger { width: 42px; height: 42px; border-radius: 14px !important; }
    }

    @media (max-width: 374px) {
      .brand .h3 { font-size: 16px; }
      #headerCitySelect { max-width: 150px; }
    }

    .custom-select-container { position: relative; user-select: none; min-width: 100px; }
    
    .custom-select-trigger {
      display: flex; align-items: center; justify-content: space-between; padding: 0 15px 0 16px; height: 44px;
      background:
        linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.025)),
        rgba(15,20,32,0.86);
      border: 1px solid rgba(148,163,184,0.18);
      border-radius: 16px !important;
      cursor: pointer; font-size: 14px; font-weight: 700; color: var(--text); transition: all 0.2s; gap: 8px;
      box-shadow: 0 12px 28px rgba(0,0,0,0.24), inset 0 1px 0 rgba(255,255,255,0.05);
    }
    .custom-select-trigger span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .custom-select-arrow { width: 16px; height: 16px; transition: transform 0.3s ease; color: var(--text-dim); }
    .custom-select-container.open .custom-select-arrow { transform: rotate(180deg); }

    .custom-options {
      position: absolute; top: calc(100% + 8px); left: 0; right: 0; background: var(--surface-2);
      border: 1px solid rgba(148,163,184,0.2); border-radius: 16px !important; box-shadow: var(--shadow);
      opacity: 0; visibility: hidden; transform: translateY(-10px); transition: all 0.2s ease; z-index: 200; overflow: hidden;
    }
    .custom-select-container.open .custom-options { opacity: 1; visibility: visible; transform: translateY(0); }

    .custom-option {
      padding: 12px 14px; font-size: 14px; font-weight: 600; color: var(--text-dim);
      cursor: pointer; transition: all 0.2s; border-bottom: 1px solid rgba(255,255,255,0.04);
    }
    .custom-option:last-child { border-bottom: none; }
    .custom-option:hover { background: rgba(91,140,255,0.12); color: var(--text); }
    .custom-option.selected { background: rgba(139,92,246,0.2); color: #fff; }
    
    #headerCitySelect .custom-select-trigger { min-width: 150px; }
    #headerCitySelect .custom-options { min-width: 160px; left: auto; right: 0; }

    #headerCitySelect .custom-select-trigger,
    #desktopLangSelect .language-trigger {
      height: 32px;
      color: rgba(245,247,255,.86);
      background: transparent;
      border: 1px solid transparent;
      box-shadow: none;
      border-radius: 10px !important;
      transition: color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    }
    #headerCitySelect .custom-select-trigger {
      min-width: 132px;
      padding: 0 12px;
      font-weight: 500;
      gap: 10px;
    }
    #desktopLangSelect .language-trigger {
      width: 38px;
      padding: 0;
    }
    #headerCitySelect .custom-select-trigger:hover,
    #headerCitySelect.open .custom-select-trigger,
    #desktopLangSelect .language-trigger:hover,
    #desktopLangSelect.open .language-trigger {
      color: #fff;
      background: rgba(255,255,255,.055);
      border-color: rgba(148,163,184,.12);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
      transform: none;
    }
    #headerCitySelect.open .custom-select-trigger,
    #desktopLangSelect.open .language-trigger {
      color: #a78bfa;
      background: linear-gradient(180deg, rgba(99,102,241,.16), rgba(168,85,247,.08));
      border-color: rgba(139,92,246,.26);
    }
    #headerCitySelect .custom-select-arrow,
    #desktopLangSelect .language-trigger svg {
      color: rgba(245,247,255,.68);
    }
    #headerCitySelect.open .custom-select-arrow,
    #desktopLangSelect.open .language-trigger svg,
    #desktopLangSelect .language-trigger:hover svg {
      color: #a78bfa;
    }
    #headerCitySelect .custom-options {
      top: calc(100% + 10px);
      min-width: 160px;
      background: #141622;
      border-color: rgba(148,163,184,.18);
      border-radius: 10px !important;
      box-shadow: 0 24px 55px rgba(0,0,0,.42);
    }

    .form-group .custom-select-container { width: 100%; }
    .form-group .custom-select-trigger { width: 100%; justify-content: space-between; font-weight: 400; font-size: 15px; }
    

