/* ============================================================
   ПРАВКИ ПРОБА 585 - 10.07.2026
   Новый header (2 строки), герой 100vh, каталог, mega-menu,
   NAP-strip, модалка "Заказать звонок", улучшения логомарки
   ============================================================ */

/* ---------- Улучшенная логомарка ---------- */
.brand-logo,
.brand-logo--dark {
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  filter: contrast(1.08) saturate(1.05);
}
.site-header .brand-logo {
  width: 56px;
  height: 56px;
  object-fit: contain;
}

/* ============ HEADER v2 (две строки) ============ */
.site-header.site-header--v2 {
  background: #ffffff;
  border-bottom: 1px solid #e8ecea;
  position: sticky;
  top: 0;
  z-index: 1200;
  transition: box-shadow .2s ease;
}
.site-header--v2.scrolled {
  box-shadow: 0 2px 12px rgba(19,139,69,.08);
}

.site-header--v2 .header-row--top {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 0;
  flex-wrap: nowrap;
}

.site-header--v2 .brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: #0f1a15;
  flex: 0 0 auto;
}
.site-header--v2 .brand-text .name {
  display: block;
  font-family: Manrope, Inter, system-ui, sans-serif;
  font-weight: 800;
  font-size: 18px;
  line-height: 1;
  letter-spacing: .01em;
}
.site-header--v2 .brand-text .sub {
  display: block;
  font-size: 12px;
  color: #5a6a63;
  margin-top: 2px;
  letter-spacing: .02em;
}

/* КАТАЛОГ - большая кнопка */
.catalog-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  background: #f5f7f2;
  border: 1px solid #d9e0da;
  border-radius: 10px;
  color: #0f1a15;
  font-family: Manrope, Inter, system-ui, sans-serif;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease;
  flex: 0 0 auto;
}
.catalog-btn:hover,
.catalog-btn.is-active {
  background: #eef2ea;
  border-color: #138B45;
  color: #138B45;
}
.catalog-btn__ico {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  width: 16px;
}
.catalog-btn__ico span {
  display: block;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  transition: transform .18s ease;
}

/* Быстрые ссылки */
.quick-links {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1 1 auto;
  justify-content: flex-end;
}
.quick-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  color: #3a4a42;
  font-size: 13px;
  text-decoration: none;
  border-radius: 8px;
  transition: color .15s ease, background .15s ease;
}
.quick-link:hover {
  color: #138B45;
  background: #f5f7f2;
}
.quick-link--phone {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  padding: 4px 10px;
}
.quick-link__num {
  font-family: Manrope, Inter, system-ui, sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: #0f1a15;
  line-height: 1.1;
}
.quick-link__hours {
  font-size: 11px;
  color: #7a8b83;
  line-height: 1.2;
}

.btn-call {
  padding: 9px 16px;
  border: 1px solid #d9e0da;
  border-radius: 10px;
  background: transparent;
  color: #0f1a15;
  font-family: Manrope, Inter, system-ui, sans-serif;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: border-color .15s ease, color .15s ease;
  flex: 0 0 auto;
}
.btn-call:hover {
  border-color: #138B45;
  color: #138B45;
}

.btn-photo {
  flex: 0 0 auto;
  white-space: nowrap;
}

/* ============ ВТОРАЯ СТРОКА: категории ============ */
.header-cats {
  border-top: 1px solid #eef2ea;
  padding: 0;
}
.cats {
  display: flex;
  align-items: center;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
  overflow-x: visible;
  -webkit-overflow-scrolling: touch;
}
.cats__item {
  position: relative;
}
.cats__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 16px;
  color: #0f1a15;
  font-family: Manrope, Inter, system-ui, sans-serif;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  transition: color .15s ease;
  white-space: nowrap;
}
.cats__link:hover,
.cats__item:hover > .cats__link {
  color: #138B45;
}
.cats__arr {
  font-size: 10px;
  opacity: .6;
}

/* Mega-menu */
.mega {
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  min-width: 460px;
  padding: 24px 28px;
  background: #ffffff;
  border: 1px solid #e8ecea;
  border-radius: 0 0 14px 14px;
  box-shadow: 0 12px 30px rgba(11, 44, 26, .10);
  display: none;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  z-index: 1000;
}
.cats__item.has-mega:hover .mega,
.cats__item.has-mega:focus-within .mega {
  display: grid;
}
.mega__col {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.mega__ttl {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #7a8b83;
  margin-bottom: 6px;
  font-weight: 700;
}
.mega a {
  display: block;
  padding: 6px 8px;
  color: #0f1a15;
  font-size: 14px;
  text-decoration: none;
  border-radius: 6px;
  transition: background .12s ease, color .12s ease;
}
.mega a:hover {
  background: #f5f7f2;
  color: #138B45;
}

/* ============ ПАНЕЛЬ КАТАЛОГА ============ */
.catalog-panel {
  position: fixed;
  inset: 0;
  z-index: 2000;
  visibility: hidden;
  opacity: 0;
  transition: opacity .2s ease, visibility 0s linear .2s;
}
.catalog-panel.is-open {
  visibility: visible;
  opacity: 1;
  transition: opacity .2s ease;
}
.catalog-panel__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 26, 21, .45);
}
.catalog-panel__inner {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  max-height: 85vh;
  background: #ffffff;
  overflow-y: auto;
  padding: 40px 0 32px;
  box-shadow: 0 12px 40px rgba(11, 44, 26, .18);
  transform: translateY(-16px);
  transition: transform .25s ease;
}
.catalog-panel.is-open .catalog-panel__inner {
  transform: translateY(0);
}
.catalog-panel__close {
  position: absolute;
  top: 12px;
  right: 20px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid #e8ecea;
  background: #ffffff;
  color: #0f1a15;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  z-index: 5;
}
.catalog-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.catalog-col h4 {
  font-family: Manrope, Inter, system-ui, sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: #138B45;
  margin: 0 0 12px 0;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.catalog-col a {
  display: block;
  padding: 6px 0;
  color: #0f1a15;
  font-size: 15px;
  text-decoration: none;
  transition: color .12s ease;
}
.catalog-col a:hover {
  color: #138B45;
}

/* ============ ГЕРОЙ 100VH ============ */
.hero.hero--v2 {
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  width: 100%;
  overflow: hidden;
  background: #F7F5EF;
  color: #0F5A32;
  display: flex;
  align-items: center;
  isolation: isolate;
  margin-top: -1px; /* ликвидируем шов с шапкой */
}
.hero--v2::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(60% 60% at 80% 30%, rgba(19,139,69,.05) 0%, transparent 60%);
  z-index: 0;
}
.hero--v2::after {
  /* плавный переход в следующий блок */
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 160px;
  background: linear-gradient(to bottom, transparent 0%, #ffffff 100%);
  pointer-events: none;
  z-index: 1;
}
.hero--v2 .container {
  position: relative;
  z-index: 2;
  width: 100%;
}
.hero--v2 .hero__inner {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 60px;
  align-items: center;
  padding: 60px 0 200px;
}
.hero--v2 .hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #d4af37;
  font-weight: 700;
  margin-bottom: 24px;
}
.hero--v2 .hero__title {
  font-family: "Playfair Display", "Instrument Serif", Georgia, serif;
  font-weight: 700;
  font-size: clamp(36px, 5.5vw, 68px);
  line-height: 1.02;
  letter-spacing: -.02em;
  margin: 0 0 20px;
  color: #0F5A32;
}
.hero--v2 .hero__title .accent {
  color: #d4af37;
}
.hero--v2 .hero__lead {
  font-size: clamp(16px, 1.4vw, 20px);
  line-height: 1.5;
  color: #4A5A50;
  margin: 0 0 32px;
  max-width: 520px;
}
.hero--v2 .hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 28px;
}
.hero--v2 .hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 8px;
}
.hero--v2 .hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, .72);
  font-size: 13px;
}
.hero--v2 .hero__badge svg {
  color: #d4af37;
}

.hero--v2 .btn-primary,
.hero--v2 .btn-secondary,
.hero--v2 .btn-ghost {
  padding: 14px 24px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 700;
}
.hero--v2 .btn-primary {
  background: #138B45;
  color: #fff;
  border: 1px solid #138B45;
}
.hero--v2 .btn-primary:hover {
  background: #0f7439;
}
.hero--v2 .btn-secondary {
  background: rgba(255,255,255,.06);
  color: #fff;
  border: 1px solid rgba(255,255,255,.22);
  backdrop-filter: blur(6px);
}
.hero--v2 .btn-secondary:hover {
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.4);
}
.hero--v2 .btn-ghost {
  background: transparent;
  color: #d4af37;
  border: 1px solid rgba(212,175,55,.5);
}
.hero--v2 .btn-ghost:hover {
  background: rgba(212,175,55,.1);
  border-color: #d4af37;
}

.hero--v2 .hero__visual {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(0,0,0,.4);
  min-height: 400px;
  background: linear-gradient(135deg, #1a2f26, #0a1611);
}
.hero--v2 .hero__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hero--v2 .hero__price-card {
  position: absolute;
  left: 20px;
  bottom: 20px;
  right: 20px;
  padding: 16px 20px;
  background: rgba(255,255,255,.96);
  color: #0f1a15;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  backdrop-filter: blur(8px);
}
.hero--v2 .hero__price-lbl {
  font-size: 13px;
  color: #5a6a63;
  margin-bottom: 2px;
}
.hero--v2 .hero__price-val {
  font-family: Manrope, Inter, system-ui, sans-serif;
  font-weight: 900;
  font-size: 28px;
  color: #138B45;
  line-height: 1;
}
.hero--v2 .hero__price-val small {
  font-size: 14px;
  color: #5a6a63;
  font-weight: 500;
}
.hero--v2 .hero__price-delta {
  font-size: 13px;
  color: #138B45;
  font-weight: 700;
}

/* Мобильная адаптация героя */
@media (max-width: 900px) {
  .hero--v2 .hero__inner {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 40px 0 180px;
  }
  .hero--v2 .hero__visual {
    min-height: 260px;
    order: -1;
  }
}

/* ============ NAP STRIP над футером ============ */
.nap-strip {
  background: #0f1a15;
  color: #d8ded9;
  padding: 20px 0;
  border-top: 4px solid #138B45;
}
.nap-strip__inner {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 20px;
  align-items: center;
}
.nap-strip__label {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #7a8b83;
  margin-bottom: 4px;
  font-weight: 700;
}
.nap-strip__col a {
  color: #ffffff;
  text-decoration: none;
  font-weight: 600;
  transition: color .12s ease;
}
.nap-strip__col a:hover {
  color: #d4af37;
}
.nap-strip__phone {
  font-family: Manrope, Inter, system-ui, sans-serif;
  font-weight: 700;
  font-size: 18px;
}
.nap-strip__metro {
  display: block;
  font-size: 12px;
  color: #9aa39c;
  margin-top: 3px;
}
@media (max-width: 780px) {
  .nap-strip__inner {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
}
@media (max-width: 420px) {
  .nap-strip__inner {
    grid-template-columns: 1fr;
  }
}

/* ============ МОДАЛКА "Заказать звонок" ============ */
.callback-modal {
  position: fixed;
  inset: 0;
  z-index: 3000;
  visibility: hidden;
  opacity: 0;
  transition: opacity .2s ease, visibility 0s linear .2s;
}
.callback-modal.is-open {
  visibility: visible;
  opacity: 1;
  transition: opacity .2s ease;
}
.callback-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 26, 21, .58);
}
.callback-modal__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, calc(-50% + 16px));
  width: min(440px, calc(100% - 32px));
  padding: 32px 28px;
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 24px 60px rgba(11, 44, 26, .28);
  transition: transform .25s ease;
}
.callback-modal.is-open .callback-modal__inner {
  transform: translate(-50%, -50%);
}
.callback-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid #e8ecea;
  background: #ffffff;
  color: #0f1a15;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.callback-modal__title {
  font-family: Manrope, Inter, system-ui, sans-serif;
  font-weight: 800;
  font-size: 22px;
  color: #0f1a15;
  margin: 0 0 8px 0;
  text-align: center;
}
.callback-modal__lead {
  font-size: 14px;
  color: #5a6a63;
  text-align: center;
  margin: 0 0 20px;
}
.callback-modal form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.callback-modal label {
  font-size: 12px;
  color: #5a6a63;
  font-weight: 600;
  display: block;
  margin-bottom: 4px;
}
.callback-modal input[type="text"],
.callback-modal input[type="tel"] {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #d9e0da;
  border-radius: 10px;
  font-size: 15px;
  background: #f8f9f6;
  transition: border-color .15s ease, background .15s ease;
}
.callback-modal input:focus {
  outline: none;
  border-color: #138B45;
  background: #ffffff;
}
.callback-modal .btn {
  width: 100%;
  padding: 14px 20px;
  background: #138B45;
  color: #ffffff;
  border: 0;
  border-radius: 12px;
  font-family: Manrope, Inter, system-ui, sans-serif;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  transition: background .15s ease;
}
.callback-modal .btn:hover {
  background: #0f7439;
}
.callback-modal .btn:disabled {
  background: #94b6a1;
  cursor: not-allowed;
}
.callback-modal__legal {
  font-size: 11px;
  color: #7a8b83;
  text-align: center;
  margin-top: 12px;
  line-height: 1.5;
}
.callback-modal__legal a {
  color: #138B45;
}
.callback-modal__msg {
  margin-top: 12px;
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 14px;
  display: none;
}
.callback-modal__msg.is-ok {
  display: block;
  background: #e8f5ee;
  color: #0f5f2f;
  border: 1px solid #b6d9c3;
}
.callback-modal__msg.is-err {
  display: block;
  background: #fdecec;
  color: #7a1e1e;
  border: 1px solid #f0b7b7;
}
/* honeypot */
.callback-modal .hp-field {
  position: absolute;
  left: -9999px;
  top: -9999px;
  visibility: hidden;
}

/* ============ АДАПТИВ ХЕДЕРА ============ */
@media (max-width: 1200px) {
  .site-header--v2 .quick-link--map,
  .site-header--v2 .quick-link--max { display: none; }
}
@media (max-width: 1024px) {
  .site-header--v2 .btn-photo .brand-text .sub,
  .site-header--v2 .quick-link--phone .quick-link__hours { }
}
@media (max-width: 900px) {
  .site-header--v2 .header-cats { display: none; }
  .site-header--v2 .catalog-btn__label { display: none; }
  .site-header--v2 .catalog-btn { padding: 10px; }
  .site-header--v2 .quick-links { display: none; }
  .site-header--v2 .btn-call { display: none; }
  .site-header--v2 .btn-photo { display: none; }
  .site-header--v2 .m-burger { display: inline-flex; }
  .catalog-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (max-width: 640px) {
  .catalog-grid { grid-template-columns: 1fr; }
  .site-header--v2 .brand-text .sub { display: none; }
}
@media (min-width: 901px) {
  .site-header--v2 .m-burger { display: none; }
}

/* Убираем старую подпись «Федеральная сеть» на всякий случай */
.brand-text .label,
.brand--dark .brand-text .label {
  display: none !important;
}
/* ============================================================
   ПРОБА 585 · pravki addon 2026-07 (модалка callback + spasibo)
   ============================================================ */

/* --- модалка --- */
.callback-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}
.callback-modal.is-open{display:flex;animation:cbFadeIn .18s ease}
.callback-modal__backdrop{position:absolute;inset:0;background:rgba(15,17,20,.72);backdrop-filter:blur(4px)}
.callback-modal__inner{position:relative;background:#fff;color:#141414;max-width:460px;width:100%;border-radius:18px;padding:32px 28px;box-shadow:0 30px 80px rgba(0,0,0,.35);animation:cbSlideUp .22s cubic-bezier(.2,.7,.2,1)}
.callback-modal__close{position:absolute;top:10px;right:14px;width:36px;height:36px;border:0;background:transparent;font-size:26px;line-height:1;color:#5b6167;cursor:pointer;border-radius:50%;transition:background .15s}
.callback-modal__close:hover{background:#f2f3f5;color:#111}
.callback-modal__title{margin:0 0 6px;font-size:24px;font-weight:800;letter-spacing:-.01em}
.callback-modal__lead{margin:0 0 20px;color:#5b6167;font-size:14px;line-height:1.5}

.callback-form__row{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.callback-form__row span{font-size:13px;color:#3a3f45;font-weight:500}
.callback-form__row input,.callback-form__row textarea{border:1px solid #d8dde3;border-radius:12px;padding:12px 14px;font-size:15px;font-family:inherit;transition:border .15s, box-shadow .15s;background:#fbfcfd;color:#141414;-webkit-appearance:none}
.callback-form__row input:focus,.callback-form__row textarea:focus{outline:0;border-color:#c9a24b;box-shadow:0 0 0 3px rgba(201,162,75,.18);background:#fff}
.callback-form__row textarea{resize:vertical;min-height:60px;max-height:160px}

/* honeypot — реально скрытое поле, но не через display:none (иначе браузер может autofill) */
.hp-field{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}

.callback-form__submit{width:100%;margin-top:6px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px}
.callback-form__submit[disabled]{opacity:.65;cursor:wait}
.callback-form__spinner{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:cbSpin .7s linear infinite}
.callback-form__submit.is-loading .callback-form__spinner{display:inline-block}
.callback-form__submit.is-loading .callback-form__submit-txt{opacity:.7}

.callback-form__policy{margin:14px 0 0;font-size:12px;line-height:1.5;color:#7b8189;text-align:center}
.callback-form__policy a{color:#7b8189;text-decoration:underline;text-underline-offset:2px}
.callback-form__phone{margin:10px 0 0;text-align:center;font-size:13px;color:#3a3f45}
.callback-form__phone a{color:#141414;font-weight:600;text-decoration:none}

.callback-form__msg{margin-top:12px;padding:10px 12px;border-radius:10px;font-size:14px;line-height:1.45;display:none}
.callback-form__msg:not(:empty){display:block}
.callback-form__msg.is-error{background:#fbeaea;color:#912525;border:1px solid #f2c2c2}
.callback-form__msg.is-success{background:#e8f6ec;color:#1f6b34;border:1px solid #b8dfc4}

@keyframes cbFadeIn{from{opacity:0}to{opacity:1}}
@keyframes cbSlideUp{from{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes cbSpin{to{transform:rotate(360deg)}}

/* --- страница благодарности --- */
.thankyou-wrap{max-width:640px;margin:80px auto;padding:48px 32px;text-align:center;background:#fff;border-radius:18px;box-shadow:0 10px 40px rgba(15,17,20,.08)}
.thankyou-wrap h1{font-size:36px;font-weight:800;margin:0 0 16px;letter-spacing:-.02em}
.thankyou-wrap p{color:#5b6167;font-size:17px;line-height:1.55;margin:0 0 14px}
.thankyou-wrap .btn{margin-top:14px;display:inline-flex}
@media (max-width:720px){.thankyou-wrap{margin:40px 16px;padding:36px 22px}.thankyou-wrap h1{font-size:28px}}

/* --- кнопка МАКС акцентом --- */
.btn-max{background:#0084ff;color:#fff;border:0}
.btn-max:hover{background:#006cd1;color:#fff}
.btn-max svg{stroke:#fff}

/* --- герой v2 фикс если базовый css уже применяется --- */
.hero.hero--v2{position:relative;min-height:100vh;min-height:100dvh;background:linear-gradient(180deg,#101318 0%,#171a20 55%,#1c1f26 100%);color:#e8eaf0;display:flex;align-items:center;padding-top:110px;padding-bottom:80px}
.hero.hero--v2::before{content:"";position:absolute;inset:0;background:radial-gradient(1200px 600px at 20% 20%,rgba(201,162,75,.10),transparent 60%),radial-gradient(900px 500px at 80% 80%,rgba(201,162,75,.06),transparent 60%);pointer-events:none;z-index:0}
.hero.hero--v2::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:180px;background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,.02) 40%,#f6f7fa 100%);pointer-events:none;z-index:1}
.hero.hero--v2 > .container{position:relative;z-index:2}
.hero.hero--v2 .hero-h1{color:#fff;font-size:clamp(34px,5vw,64px);line-height:1.05;font-weight:800;letter-spacing:-.02em}
.hero.hero--v2 .hero-h1 .sub{display:block;color:#c9a24b;font-size:.42em;font-weight:600;margin-top:12px;letter-spacing:-.01em}
.hero.hero--v2 .hero-pitch{color:#c7ccd6;font-size:17px;line-height:1.55;max-width:520px;margin:16px 0 24px}
.hero.hero--v2 .pill.pill-neutral{background:rgba(255,255,255,.08);color:#e8eaf0;border:1px solid rgba(255,255,255,.14)}
.hero.hero--v2 .usp-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);color:#e8eaf0}
.hero.hero--v2 .usp-card .icon-square{background:rgba(201,162,75,.14);color:#f0c26a}
.hero.hero--v2 .usp-card .label{color:#e8eaf0}
.hero.hero--v2 .btn.btn-ghost{color:#e8eaf0;border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.04)}
.hero.hero--v2 .btn.btn-ghost:hover{background:rgba(255,255,255,.10)}
.hero.hero--v2 .btn.btn-secondary{background:rgba(255,255,255,.10);color:#fff;border:1px solid rgba(255,255,255,.18)}
.hero.hero--v2 .btn.btn-secondary:hover{background:rgba(255,255,255,.16)}

@media (max-width:900px){
	.hero.hero--v2{min-height:auto;padding-top:88px;padding-bottom:60px}
	.hero.hero--v2 .actions{flex-wrap:wrap}
	.hero.hero--v2 .actions .btn{flex:1 1 100%}
}

/* ============ Правки v40: Скоро открытие + карточки офисов ============ */
.office-card { position: relative; }
.office-card .photo { position: relative; }
.office-card--soon .photo { filter: grayscale(0.55) brightness(0.85); }
.office-card--soon .photo::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(15,90,50,0.28), rgba(15,90,50,0.55));
  pointer-events: none;
}
.office-card .soon-badge {
  position: absolute; top: 12px; right: 12px;
  background: #F5B915; color: #0F5A32;
  font-weight: 800; font-size: 12px;
  padding: 6px 12px; border-radius: 999px;
  box-shadow: 0 4px 14px rgba(0,0,0,.25), 0 0 0 2px rgba(255,255,255,.6);
  letter-spacing: .01em;
  text-transform: uppercase;
  z-index: 2;
}
.office-card--soon .hours--soon {
  color: #964219;
  font-weight: 700;
}
.office-card--soon .name {
  color: #7a7974;
}

/* ============ v41: Единая композиция «Наши офисы» ============ */
.offices-hero { padding: 56px 0 40px; background: linear-gradient(180deg, #F7F7F5 0%, #EEF6F1 100%); }
.offices-hero .section-head { margin-bottom: 28px; }
.offices-hero__grid {
  display: grid;
  grid-template-columns: 1.05fr 1.35fr;
  gap: 24px;
  align-items: stretch;
}
@media (max-width: 1024px) {
  .offices-hero__grid { grid-template-columns: 1fr; }
}

/* ЛЕВАЯ КОЛОНКА */
.offices-hero__left { display: flex; flex-direction: column; gap: 20px; }

/* «Нам доверяют» — компактная карточка */
.offices-hero__trust {
  background: #fff;
  border-radius: 20px;
  padding: 20px 22px;
  box-shadow: 0 8px 24px rgba(15,90,50,.08), 0 1px 0 rgba(15,90,50,.04);
  border: 1px solid rgba(15,90,50,.08);
}
.offices-hero__trust-lab {
  font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: #0F5A32; margin-bottom: 12px;
}

/* Главная карточка Пионерской */
.offices-hero__main-card {
  background: linear-gradient(135deg, #0F5A32 0%, #0B4326 100%);
  color: #fff;
  border-radius: 24px;
  padding: 28px 28px 26px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(15,90,50,.28);
  flex: 1 1 auto;
}
.offices-hero__main-card::before {
  content: ""; position: absolute; right: -80px; top: -80px;
  width: 240px; height: 240px; border-radius: 50%;
  background: radial-gradient(circle, rgba(245,185,21,.25) 0%, transparent 70%);
  pointer-events: none;
}
.offices-hero__main-badge {
  display: inline-flex; align-items: center; gap: 6px;
  background: #F5B915; color: #0F5A32;
  font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
  padding: 6px 12px; border-radius: 999px;
  margin-bottom: 14px;
}
.offices-hero__main-badge::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: #0F5A32;
  animation: probaPulse 1.8s ease-in-out infinite;
}
@keyframes probaPulse { 0%,100%{opacity:.4;transform:scale(1)} 50%{opacity:1;transform:scale(1.4)} }
.offices-hero__main-title {
  font-size: 26px; font-weight: 800; line-height: 1.15;
  margin-bottom: 12px;
}
.offices-hero__main-metro {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.14);
  padding: 6px 12px; border-radius: 999px;
  font-weight: 700; font-size: 14px;
  margin-bottom: 12px;
}
.offices-hero__main-addr {
  font-size: 17px; font-weight: 600; margin-bottom: 8px; opacity: .96;
}
.offices-hero__main-hours {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 14px; color: #E8F5EE; margin-bottom: 8px;
}
.offices-hero__main-hours .dot {
  width: 8px; height: 8px; border-radius: 50%; background: #F5B915;
  box-shadow: 0 0 0 3px rgba(245,185,21,.25);
}
.offices-hero__main-phone {
  display: block; color: #F5B915; font-size: 22px; font-weight: 800;
  text-decoration: none; margin: 8px 0 18px;
  letter-spacing: .01em;
}
.offices-hero__main-phone:hover { color: #FFCF3F; }
.offices-hero__main-actions {
  display: flex; gap: 10px; flex-wrap: wrap;
}
.offices-hero__main-actions .btn-primary {
  background: #F5B915; color: #0F5A32; border: 0;
  font-weight: 800; padding: 12px 20px; border-radius: 12px;
  box-shadow: 0 6px 16px rgba(245,185,21,.35);
}
.offices-hero__main-actions .btn-primary:hover { background: #FFCF3F; transform: translateY(-1px); }
.offices-hero__main-actions .btn-ghost {
  background: rgba(255,255,255,.14); color: #fff; border: 1px solid rgba(255,255,255,.28);
  font-weight: 700; padding: 12px 18px; border-radius: 12px;
}
.offices-hero__main-actions .btn-ghost:hover { background: rgba(255,255,255,.22); }

/* ПРАВАЯ КОЛОНКА */
.offices-hero__right {
  display: grid;
  grid-template-rows: minmax(320px, 1fr) minmax(280px, 1fr);
  gap: 20px;
}
@media (max-width: 1024px) {
  .offices-hero__right { grid-template-rows: auto auto; }
}

/* Галерея */














/* Карта */
.offices-hero__map {
  position: relative; border-radius: 24px; overflow: hidden;
  background: #E8F5EE;
  box-shadow: 0 12px 32px rgba(15,90,50,.12);
  min-height: 280px;
}
#offices-hero-ymap { position: absolute; inset: 0; }
.offices-hero__map-open {
  position: absolute; top: 12px; right: 12px;
  background: rgba(255,255,255,.95); color: #0F5A32;
  font-size: 13px; font-weight: 700;
  padding: 8px 14px; border-radius: 999px; text-decoration: none;
  box-shadow: 0 4px 14px rgba(0,0,0,.14);
  z-index: 5;
  backdrop-filter: blur(4px);
  transition: background .2s ease;
}
.offices-hero__map-open:hover { background: #fff; color: #0B4326; }

/* Маленькие иконки офисов «Скоро открытие» */

@media (max-width: 768px) {
  
}







/* Реселенг под мобилку */
@media (max-width: 640px) {
  .offices-hero__main-title { font-size: 22px; }
  .offices-hero__main-phone { font-size: 19px; }
  .offices-hero__main-card { padding: 22px; }
  
}

/* v41c · Фото офиса в hero /adresa/ */
.cat-hero-photo{
  border-radius:24px;overflow:hidden;box-shadow:0 24px 60px rgba(15,90,50,.20),0 8px 20px rgba(0,0,0,.06);
  transform:rotate(-1.5deg);position:relative;background:#F7F7F5;
}
.cat-hero-photo::after{
  content:"Главный офис · м. Пионерская";position:absolute;left:16px;bottom:16px;
  padding:8px 14px;border-radius:999px;background:rgba(15,90,50,.92);color:#F5B915;
  font-size:13px;font-weight:600;letter-spacing:.02em;backdrop-filter:blur(6px);
}
.cat-hero-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;}
@media (max-width:900px){.cat-hero-photo{transform:none;}}

/* v41c · office-card soon/main badges */
.office-card{position:relative;}
.office-card--soon{opacity:.88;background:linear-gradient(180deg,#FAF9F6 0%,#F3F1EB 100%);}
.office-card--soon .office-card__actions{gap:0;}
.office-card--main{border:2px solid rgba(15,90,50,.18);box-shadow:0 12px 40px rgba(15,90,50,.10);}
.soon-badge{
  position:absolute;top:14px;right:14px;padding:6px 12px;border-radius:999px;
  background:#F5B915;color:#0F5A32;font-weight:700;font-size:11px;
  letter-spacing:.05em;text-transform:uppercase;box-shadow:0 4px 12px rgba(245,185,21,.35);z-index:2;
}
.office-card__main-badge{
  position:absolute;top:14px;right:14px;padding:6px 12px;border-radius:999px;
  background:#0F5A32;color:#F5B915;font-weight:700;font-size:11px;letter-spacing:.05em;
  text-transform:uppercase;z-index:2;
}
.office-card__main-badge::before{
  content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#F5B915;
  margin-right:6px;vertical-align:middle;animation:probaPulse 1.4s ease-in-out infinite;
}
.office-card__soon-note{color:#7A7974;font-size:13px;font-style:italic;}
/* ============================================
   v42d: стрелки SVG, balloon Яндекс-стиль, мини-фото Скоро
   ============================================ */

/* КРАСИВЫЕ SVG-СТРЕЛКИ ГАЛЕРЕИ */






/* YMAP BALLOON — стилизация под Яндекс */
.ymap-balloon {
  min-width: 260px;
  max-width: 300px;
  padding: 14px 16px 12px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: #1f1f1f;
  line-height: 1.4;
}
.ymap-balloon__title {
  font-size: 15px;
  font-weight: 700;
  color: #0f0f0f;
  margin-bottom: 6px;
  letter-spacing: -0.01em;
}
.ymap-balloon__status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #437A22;
  font-weight: 600;
  margin-bottom: 10px;
  padding: 3px 8px;
  background: rgba(67, 122, 34, 0.1);
  border-radius: 4px;
}
.ymap-balloon__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #437A22;
  box-shadow: 0 0 0 3px rgba(67, 122, 34, 0.2);
}
.ymap-balloon__row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #333;
  margin: 5px 0;
}
.ymap-balloon__row svg {
  flex-shrink: 0;
}
.ymap-balloon__row span {
  flex: 1;
}
.ymap-balloon__phone {
  display: block;
  margin-top: 10px;
  padding: 9px 12px;
  background: #F5B915;
  color: #0F5A32 !important;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  text-decoration: none !important;
  transition: background 0.2s;
}
.ymap-balloon__phone:hover {
  background: #E4A800;
}
.ymap-balloon__route {
  display: block;
  margin-top: 6px;
  padding: 9px 12px;
  background: #0F5A32;
  color: #fff !important;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
  text-decoration: none !important;
  transition: background 0.2s;
}
.ymap-balloon__route:hover {
  background: #0B4326;
}

/* SOON ITEMS — мини-фото в квадрате слева */




.offices-hero__soon-photo svg {
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2));
}
.offices-hero__soon-photo 





@media (max-width: 900px) {
  
  
}
/* ============================================
   v43: ДИЗАЙНЕРСКАЯ ГАЛЕРЕЯ офиса
   ============================================ */

/* Рамка галереи — карточка с тенью */
.offices-hero__gallery {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  background: #F7F6F2;
  box-shadow:
    0 1px 3px rgba(15, 90, 50, 0.06),
    0 20px 40px -12px rgba(15, 90, 50, 0.18),
    inset 0 0 0 1px rgba(15, 90, 50, 0.08);
  aspect-ratio: 16/10;
  min-height: 320px;
}

/* Трек и слайды */
.offices-hero__gallery-track {
  position: relative;
  width: 100%;
  height: 100%;
}
.offices-hero__gallery-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
  display: block;
  background: #F7F6F2;
  overflow: hidden;
}
.offices-hero__gallery-slide.is-active {
  opacity: 1;
  pointer-events: auto;
  z-index: 1;
}
.offices-hero__gallery-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.offices-hero__gallery-slide:hover img {
  transform: scale(1.03);
}

/* Виньетирование сверху для читаемости счётчика */
.offices-hero__gallery::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 60px;
  background: linear-gradient(180deg, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0) 100%);
  z-index: 2;
  pointer-events: none;
}

/* Дизайнерские СТРЕЛКИ */
.offices-hero__gallery-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 0;
  background: rgba(255, 255, 255, 0.95);
  color: #0F5A32;
  cursor: pointer;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    0 4px 12px rgba(0, 0, 0, 0.15),
    0 1px 3px rgba(0, 0, 0, 0.1);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.offices-hero__gallery-nav:hover {
  background: #F5B915;
  color: #0F5A32;
  transform: translateY(-50%) scale(1.1);
  box-shadow:
    0 8px 20px rgba(245, 185, 21, 0.4),
    0 2px 6px rgba(0, 0, 0, 0.15);
}
.offices-hero__gallery-nav:active {
  transform: translateY(-50%) scale(0.95);
}
.offices-hero__gallery-nav svg {
  display: block;
  pointer-events: none;
  width: 22px;
  height: 22px;
}
.offices-hero__gallery-nav--prev { left: 16px; }
.offices-hero__gallery-nav--next { right: 16px; }

/* Счётчик — стеклянная плашка сверху слева */
.offices-hero__gallery-count {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 3;
  padding: 6px 12px;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 999px;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.01em;
  display: flex;
  align-items: center;
  gap: 6px;
}
.offices-hero__gallery-count .cur {
  color: #F5B915;
  font-weight: 700;
}

/* Точки-индикаторы — стеклянные капли внизу по центру */
.offices-hero__gallery-dots {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  gap: 6px;
  padding: 6px 10px;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 999px;
}
.offices-hero__gallery-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  border: 0;
  cursor: pointer;
  padding: 0;
  transition: all 0.2s;
}
.offices-hero__gallery-dot:hover {
  background: rgba(255, 255, 255, 0.8);
}
.offices-hero__gallery-dot.is-active {
  background: #F5B915;
  width: 22px;
  border-radius: 4px;
}

/* Мобильная адаптация */
@media (max-width: 768px) {
  .offices-hero__gallery {
    aspect-ratio: 4/3;
    min-height: 260px;
    border-radius: 16px;
  }
  .offices-hero__gallery-nav {
    width: 40px;
    height: 40px;
  }
  .offices-hero__gallery-nav--prev { left: 10px; }
  .offices-hero__gallery-nav--next { right: 10px; }
}

/* ============================================
   v43b: СКОРО ОТКРЫТИЕ карточки — с ФОТО офиса
   ============================================ */

/* Убираем старые правила поверх */
.offices-hero__soon-item .offices-hero__soon-photo {
  position: relative;
  flex: 0 0 auto;
  width: 68px;
  height: 68px;
  border-radius: 10px;
  overflow: hidden;
  background: linear-gradient(180deg, #0F5A32 0%, #0B4326 100%);
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}
.offices-hero__soon-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.offices-hero__soon-photo-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Плашка «Скоро открытие» — золотая внизу поверх фото */
.offices-hero__soon-photo .offices-hero__soon-badge {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 3px 4px 3px;
  background: linear-gradient(180deg, #F5B915 0%, #E0A500 100%);
  color: #0F5A32;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-align: center;
  line-height: 1;
  border-top: 1px solid rgba(15,90,50,0.2);
  z-index: 2;
}

/* Метро с золотым бейджем «M» */
.offices-hero__soon-metro {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #4A4A4A;
  font-weight: 500;
  margin-top: 2px;
}
.offices-hero__soon-metro-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #F5B915;
  color: #0F5A32;
  font-size: 11px;
  font-weight: 800;
  font-family: 'Arial', sans-serif;
  line-height: 1;
}
.offices-hero__soon-addr {
  font-size: 12px;
  color: #8A8A8A;
  margin-top: 2px;
  line-height: 1.3;
}
.offices-hero__soon-title {
  font-size: 15px;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.2;
  margin-bottom: 2px;
}
.offices-hero__soon-body {
  min-width: 0;
  flex: 1;
}
.offices-hero__soon-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid rgba(15,90,50,0.10);
  border-radius: 14px;
  box-shadow: 0 2px 8px rgba(15,90,50,0.05);
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.offices-hero__soon-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(15,90,50,0.12);
  border-color: rgba(245,185,21,0.4);
}

/* v43b: ряд карточек «Скоро открытие» — 3 в строку */
.offices-hero__soon-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 16px;
}
@media (max-width: 768px) {
  .offices-hero__soon-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}
