/* ============================================================
   CONTACTS.CSS — стили страницы «Контакты»
   Подключается после style.css
   ============================================================ */
.navbar__link--active {
  color: #199812 !important;
  pointer-events: none;
  cursor: default;
  opacity: 0.65;
}
.navbar__link--active:hover {
  color: #199812 !important;

}

/* ── Анимации ── */
@keyframes card-float {
  0%,100% { transform: translateY(0); }
  50%      { transform: translateY(-7px); }
}
@keyframes btn-float {
  0%,100% { transform: translateY(0); }
  50%      { transform: translateY(-10px); }
}
@keyframes btn-glow {
  0%,100% { box-shadow: 0 4px 20px rgba(200,150,80,.25); }
  50%      { box-shadow: 0 8px 36px rgba(200,150,80,.5); }
}
@keyframes border-pulse {
  0%,100% { border-color: rgba(200,150,80,.4); }
  50%      { border-color: rgba(200,150,80,.9); }
}
@keyframes card-shimmer {
  0%    { left: -70%; }
  45%   { left: 130%; }
  100%  { left: 130%; }
}
@keyframes dot-glow {
  0%,100% { box-shadow: 0 0 4px currentColor; }
  50%      { box-shadow: 0 0 14px currentColor, 0 0 26px rgba(200,150,80,.4); }
}
@keyframes pulse-ring {
  0%   { transform: scale(0.9); opacity: .7; }
  70%  { transform: scale(1.4); opacity: 0; }
  100% { transform: scale(1.4); opacity: 0; }
}

/* ── Scroll Reveal ── */
.will-animate {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .55s ease, transform .55s ease;
}
.will-animate.revealed {
  opacity: 1;
  transform: translateY(0);
}


/* ============================================================
   КНОПКИ СТРАНИЦЫ
   ============================================================ */
.btn-ct {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  border: none;
  outline: none;
  transition: background .35s ease, color .25s, border-color .35s ease,
              transform .35s ease, box-shadow .35s ease,
              border-radius .45s cubic-bezier(.4,0,.2,1);
  padding: 14px 32px;
  white-space: nowrap;
}

.btn-ct--primary {
  background: var(--accent);
  color: #fff;
  border-radius: 50px;
  animation: btn-float 2.8s ease-in-out infinite, btn-glow 3.5s ease-in-out infinite;
}
.btn-ct--primary:hover {
  animation: none;
  border-radius: 10px;
  background: linear-gradient(to top, var(--accent-dark) 0%, var(--accent) 100%);
  transform: translateY(-2px);
  box-shadow: 0 10px 32px rgba(200,150,80,.4);
  color: #fff;
}

.btn-ct--outline {
  background: transparent;
  color: var(--text);
  border: 2px solid rgba(200,150,80,.4);
  border-radius: 50px;
  animation: btn-float 2.8s ease-in-out infinite .7s, border-pulse 2.8s ease-in-out infinite;
}
.btn-ct--outline:hover {
  animation: none;
  border-radius: 10px;
  background: rgba(200,150,80,.06);
  border-color: var(--accent);
  transform: translateY(-2px);
}


/* ── Breadcrumb — как в services.php ── */
.breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-light);
  margin-bottom: 28px;
}
.breadcrumb a {
  color: var(--accent);
  font-weight: 600;
  text-decoration: none;
  transition: color .2s;
}
.breadcrumb a:hover { color: var(--accent-dark); }
.breadcrumb__sep { color: var(--border); }


/* ============================================================
   HERO
   ============================================================ */
.contacts-hero {
  padding: 110px 0 60px;
  background: #ffffff;
}

.contacts-hero__inner {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 60px;
  align-items: center;
  margin-top: 32px;
}

.contacts-hero__card {
  display: flex;
  align-items: center;
}

/* ── Анимации бейджа ── */
@keyframes badge-idle-swing {
  0%   { transform: rotate(-1.2deg) translateY(0); }
  20%  { transform: rotate( 1.4deg) translateY(-1px); }
  40%  { transform: rotate(-0.8deg) translateY(0); }
  60%  { transform: rotate( 1.0deg) translateY(-1px); }
  80%  { transform: rotate(-1.2deg) translateY(0); }
  100% { transform: rotate(-1.2deg) translateY(0); }
}
@keyframes badge-glow-idle {
  0%,100% { box-shadow: 0 2px 8px rgba(25,152,18,.12), 0 0 0 0 rgba(25,152,18,0); }
  50%     { box-shadow: 0 4px 18px rgba(25,152,18,.22), 0 0 0 4px rgba(25,152,18,.06); }
}
@keyframes badge-leaf-swing {
  0%   { transform: rotate(-14deg) translateY(0)    scale(1.04); }
  18%  { transform: rotate( 16deg) translateY(-3px) scale(1.05); }
  34%  { transform: rotate(-12deg) translateY(-1px) scale(1.04); }
  50%  { transform: rotate( 13deg) translateY(-3px) scale(1.05); }
  66%  { transform: rotate(-10deg) translateY(-1px) scale(1.04); }
  82%  { transform: rotate( 10deg) translateY(-2px) scale(1.045); }
  100% { transform: rotate(-14deg) translateY(0)    scale(1.04); }
}
@keyframes badge-border-breathe {
  0%,100% { border-color: rgba(25,152,18,.20); }
  50%     { border-color: rgba(25,152,18,.55); }
}
@keyframes badge-text-shimmer {
  0%   { background-position: -200% center; }
  100% { background-position:  200% center; }
}
@keyframes dot-ripple {
  0%   { transform: scale(1);   opacity: .9; }
  70%  { transform: scale(2.6); opacity: 0; }
  100% { transform: scale(2.6); opacity: 0; }
}
@keyframes dot-ripple2 {
  0%   { transform: scale(1);   opacity: .6; }
  70%  { transform: scale(3.8); opacity: 0; }
  100% { transform: scale(3.8); opacity: 0; }
}

.contacts-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(25,152,18,.09);
  border: 1.5px solid rgba(25,152,18,.20);
  color: #199812;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 8px 18px;
  border-radius: 50px;
  margin-bottom: 20px;
  cursor: default;
  transform-origin: center center;
  animation:
    badge-idle-swing   3.8s ease-in-out infinite,
    badge-glow-idle    3.2s ease-in-out infinite,
    badge-border-breathe 3.2s ease-in-out infinite;
  transition: background .3s, box-shadow .3s;
  position: relative;
  overflow: hidden;
}

/* Бегущий блик по тексту в покое */
.contacts-hero__badge::after {
  content: '';
  position: absolute;
  top: 0; left: -60%; width: 35%; height: 100%;
  background: linear-gradient(120deg,
    transparent,
    rgba(255,255,255,.55),
    transparent);
  transform: skewX(-18deg);
  animation: card-shimmer 4s ease-in-out infinite 1.5s;
  pointer-events: none;
}

/* HOVER — листок раскачивается */
.contacts-hero__badge:hover {
  animation:
    badge-leaf-swing     .55s cubic-bezier(.36,.07,.19,.97) infinite,
    badge-border-breathe  .6s ease-in-out infinite;
  background: rgba(25,152,18,.15);
  box-shadow:
    0 6px 24px rgba(25,152,18,.22),
    0 0 0 4px rgba(25,152,18,.08);
}

/* Точка — три концентрических волны */
.contacts-hero__badge-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #199812;
  flex-shrink: 0;
  position: relative;
  animation: dot-glow 2.2s ease-in-out infinite;
  color: #199812;
}
.contacts-hero__badge-dot::before,
.contacts-hero__badge-dot::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: #199812;
  animation: dot-ripple 2s ease-out infinite;
}
.contacts-hero__badge-dot::after {
  animation: dot-ripple2 2s ease-out infinite .5s;
  background: rgba(25,152,18,.5);
}

.contacts-hero__title {
  font-size: 48px;
  font-weight: 900;
  line-height: 1.1;
  color: var(--text);
  margin: 0 0 4px;
  min-height: 120px;
}

.contacts-hero__title em,
.typewriter-accent {
  color: var(--accent);
  font-style: normal;
}

.typewriter-cursor {
  display: inline-block;
  width: 3px;
  background: var(--accent);
  margin-left: 3px;
  vertical-align: middle;
  font-weight: 900;
  opacity: 0;
  transition: opacity .3s;
}
.typewriter-cursor.active { opacity: 1; animation: blink 1s step-end infinite; }
.typewriter-cursor.done   { opacity: 0; }
@keyframes blink { 0%,100%{opacity:1}50%{opacity:0} }

.contacts-hero__lead {
  font-size: 16px;
  line-height: 1.7;
  color: var(--text-light);
  max-width: 520px;
  margin: 20px 0 32px;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .5s ease, transform .5s ease;
}
.contacts-hero__lead.lead-visible {
  opacity: 1;
  transform: translateY(0);
}

.contacts-hero__stats {
  display: flex;
  gap: 36px;
  margin-bottom: 36px;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .5s ease, transform .5s ease;
}
.contacts-hero__stats.stats-visible {
  opacity: 1;
  transform: translateY(0);
}

.contacts-hero__buttons {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .5s ease, transform .5s ease;
}
.contacts-hero__buttons.buttons-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── Stat items ── */
.stat-item { display: flex; flex-direction: column; gap: 4px; }
.stat-num   { font-size: 32px; font-weight: 900; color: var(--accent); line-height: 1; }
.stat-label { font-size: 12px; color: var(--text-light); font-weight: 500; }


/* ── Статус карточка ── */
@keyframes status-float {
  0%   { transform: translateY(0)    rotate(0deg)   scale(1); }
  30%  { transform: translateY(-6px) rotate(.4deg)  scale(1.01); }
  60%  { transform: translateY(-4px) rotate(-.3deg) scale(1.005); }
  100% { transform: translateY(0)    rotate(0deg)   scale(1); }
}
@keyframes status-glow-idle {
  0%,100% { box-shadow: 0 8px 28px rgba(200,150,80,.10), 0 2px 8px rgba(200,150,80,.06); }
  50%     { box-shadow: 0 14px 42px rgba(200,150,80,.22), 0 4px 14px rgba(200,150,80,.12); }
}
@keyframes scan-line {
  0%   { top: -4px; opacity: .55; }
  80%  { top: calc(100% + 4px); opacity: .15; }
  100% { top: calc(100% + 4px); opacity: 0; }
}
@keyframes card-breathe {
  0%,100% { border-color: rgba(200,150,80,.22); }
  50%     { border-color: rgba(200,150,80,.55); }
}
@keyframes header-shimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}

.contacts-status-card {
  background: var(--white);
  border: 1.5px solid rgba(200,150,80,.22);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: 0 8px 28px rgba(200,150,80,.10), 0 2px 8px rgba(200,150,80,.06);
  position: relative;
  animation:
    status-float      5s ease-in-out infinite,
    status-glow-idle  3.5s ease-in-out infinite,
    card-breathe      4s ease-in-out infinite;
  cursor: default;
  transition:
    transform   .5s cubic-bezier(.34,1.56,.64,1),
    box-shadow  .4s ease,
    border-color .3s ease;
}

/* Сканирующая линия — idle */
.contacts-status-card::before {
  content: '';
  position: absolute;
  left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(200,150,80,.6) 40%,
    rgba(255,220,140,.9) 50%,
    rgba(200,150,80,.6) 60%,
    transparent 100%);
  z-index: 3;
  animation: scan-line 3.5s ease-in-out infinite;
  pointer-events: none;
  border-radius: 1px;
}

/* Блик */
.contacts-status-card::after {
  content: '';
  position: absolute;
  top: 0; left: -70%; width: 40%; height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.45), transparent);
  transform: skewX(-15deg);
  animation: card-shimmer 6s ease-in-out infinite 1s;
  pointer-events: none;
  z-index: 2;
}

/* ── HOVER — карточка оживает ── */
.contacts-status-card:hover {
  animation: none;
  transform: translateY(-12px) scale(1.035) rotate(-.5deg);
  box-shadow:
    0 28px 60px rgba(200,150,80,.28),
    0 8px 24px rgba(200,150,80,.18),
    0 0 0 2px rgba(200,150,80,.5);
  border-color: var(--accent);
}
/* При hover сканер ускоряется */
.contacts-status-card:hover::before {
  animation: scan-line .9s ease-in-out infinite;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(200,150,80,.8) 40%,
    rgba(255,235,160,1) 50%,
    rgba(200,150,80,.8) 60%,
    transparent 100%);
}

.contacts-status-card__body {
  padding: 20px 22px 22px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.contacts-status__row {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  color: var(--text);
}
.contacts-status__row--online { font-weight: 700; color: #199812; }

.contacts-status__dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex-shrink: 0;
  position: relative;
}
.contacts-status__dot--green {
  background: #199812;
  animation: dot-glow 2s ease-in-out infinite;
  color: #199812;
}
.contacts-status__dot--green::after {
  content: '';
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  border: 2px solid #199812;
  animation: pulse-ring 2s ease-out infinite;
}

.contacts-status__icon {
  width: 20px;
  text-align: center;
  font-size: 15px;
  flex-shrink: 0;
}

.contacts-status__divider {
  border-top: 1px solid var(--border);
  margin: 2px 0;
}

.contacts-status__load-top {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-light);
  margin-bottom: 8px;
}
.contacts-status__load-val { color: var(--accent); }

.contacts-status__load-bar {
  height: 6px;
  background: var(--border);
  border-radius: 3px;
  overflow: hidden;
}
.contacts-status__load-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--accent-dark), var(--accent));
  border-radius: 3px;
  transition: width 1.2s ease;
}

.contacts-status__load-note {
  font-size: 11px;
  color: #199812;
  font-weight: 600;
  margin-top: 6px;
  display: block;
}

/* block-header — светлая версия для статус-карточки */
.contacts-status-card .block-header {
  background: linear-gradient(
    120deg,
    #FDF6EC 0%,
    #FFF8F0 40%,
    #FDF0D8 70%,
    #FFF8F0 100%
  );
  background-size: 200% 100%;
  animation: header-shimmer 4s linear infinite;
  border-bottom: 1.5px solid rgba(200,150,80,.28);
  padding: 13px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
  z-index: 1;
}
.contacts-status-card .block-header__dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--accent);
  animation: dot-glow 2.2s ease-in-out infinite;
  color: var(--accent);
}
.contacts-status-card .block-header__label {
  font-size: 11px; font-weight: 800;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--accent-dark);
}

/* block-header — общий паттерн (тёмный — для других блоков) */
.block-header {
  background: linear-gradient(135deg, #2A2018, #3D3020);
  padding: 14px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.block-header__dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: #C89650;
  animation: dot-glow 2.2s ease-in-out infinite;
}
.block-header__label {
  font-size: 11px; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase;
  color: #C89650;
}


/* ============================================================
   СПОСОБЫ СВЯЗИ
   ============================================================ */
/* ── Анимации карточек способов связи ── */
@keyframes way-float-1 {
  0%,100% { transform: translateY(0) rotate(0deg); }
  33%     { transform: translateY(-5px) rotate(.3deg); }
  66%     { transform: translateY(-3px) rotate(-.2deg); }
}
@keyframes way-float-2 {
  0%,100% { transform: translateY(0) rotate(0deg); }
  33%     { transform: translateY(-6px) rotate(-.3deg); }
  66%     { transform: translateY(-2px) rotate(.25deg); }
}
@keyframes way-float-3 {
  0%,100% { transform: translateY(0) rotate(0deg); }
  33%     { transform: translateY(-4px) rotate(.25deg); }
  66%     { transform: translateY(-6px) rotate(-.3deg); }
}
@keyframes icon-spin {
  0%   { transform: rotate(0deg)   scale(1); }
  25%  { transform: rotate(-12deg) scale(1.15); }
  50%  { transform: rotate(8deg)   scale(1.2); }
  75%  { transform: rotate(-6deg)  scale(1.15); }
  100% { transform: rotate(0deg)   scale(1); }
}
@keyframes icon-bounce {
  0%,100% { transform: translateY(0) scale(1); }
  40%     { transform: translateY(-6px) scale(1.18); }
  60%     { transform: translateY(-4px) scale(1.14); }
}
@keyframes arrow-bounce {
  0%,100% { transform: translateX(0); opacity: 1; }
  50%     { transform: translateX(5px); opacity: .7; }
}
@keyframes info-pop {
  0%,100% { transform: scale(1) translateY(0); }
  50%     { transform: scale(1.03) translateY(-3px); }
}
@keyframes info-glow {
  0%,100% { box-shadow: 0 2px 8px rgba(200,150,80,.08); }
  50%     { box-shadow: 0 6px 22px rgba(200,150,80,.22); }
}

.contacts-ways-section {
  padding: 48px 0 72px;
  background: #f7f8fa;
}

.contacts-ways-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 48px;
  perspective: 1200px;
}

/* ── Объёмная карточка — эффект выпуклости ── */
.contacts-way-card {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 28px 24px;
  background: linear-gradient(160deg, #ffffff 0%, #fdf8f2 60%, #f9f2e8 100%);
  border: 1.5px solid rgba(200,150,80,.18);
  border-radius: 20px;
  text-decoration: none;
  color: var(--text);
  position: relative;
  overflow: hidden;
  cursor: pointer;

  /* Объём: многослойная тень снизу + верхний блик */
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,          /* верхний блик */
    0 -1px 0 rgba(200,150,80,.08) inset,          /* нижняя граница изнутри */
    0 4px 6px rgba(42,32,24,.06),
    0 8px 16px rgba(42,32,24,.08),
    0 16px 32px rgba(42,32,24,.06),
    0 2px 4px rgba(200,150,80,.10);

  transform-style: preserve-3d;
  transition:
    transform   .5s cubic-bezier(.34,1.56,.64,1),
    box-shadow  .4s ease,
    border-color .3s ease;
}

.contacts-way-card:nth-child(1) { animation: way-float-1 4.5s ease-in-out infinite; }
.contacts-way-card:nth-child(2) { animation: way-float-2 4.8s ease-in-out infinite .4s; }
.contacts-way-card:nth-child(3) { animation: way-float-3 4.2s ease-in-out infinite .8s; }

/* Верхний блик — выпуклость как линза */
.contacts-way-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 50%;
  background: linear-gradient(180deg,
    rgba(255,255,255,.65) 0%,
    rgba(255,255,255,.15) 60%,
    transparent 100%);
  border-radius: 20px 20px 60% 60% / 20px 20px 40px 40px;
  pointer-events: none;
  z-index: 1;
  transition: opacity .3s;
}

/* Бегущий блик */
.contacts-way-card::after {
  content: '';
  position: absolute;
  top: 0; left: -70%; width: 40%; height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.7), transparent);
  transform: skewX(-15deg);
  animation: card-shimmer 5s ease-in-out infinite;
  pointer-events: none;
  z-index: 2;
}
.contacts-way-card:nth-child(2)::after { animation-delay: .8s; }
.contacts-way-card:nth-child(3)::after { animation-delay: 1.6s; }

/* HOVER — увеличительное стекло: карточка вырастает и приближается */
.contacts-way-card:hover {
  animation: none;
  transform: translateY(-14px) scale(1.06) rotateX(-3deg);
  border-color: rgba(200,150,80,.5);
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 -1px 0 rgba(200,150,80,.12) inset,
    0 8px 12px rgba(42,32,24,.08),
    0 20px 40px rgba(42,32,24,.12),
    0 32px 64px rgba(200,150,80,.16),
    0 0 0 2px rgba(200,150,80,.3),
    0 40px 80px rgba(200,150,80,.10);
}
/* При hover блик сверху усиливается */
.contacts-way-card:hover::before {
  opacity: 1.4;
  background: linear-gradient(180deg,
    rgba(255,255,255,.85) 0%,
    rgba(255,255,255,.25) 60%,
    transparent 100%);
}

/* Иконка — при hover крутится/прыгает */
.contacts-way-card__icon {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  z-index: 3;
  transition: transform .3s ease, box-shadow .3s ease;
}

.contacts-way-card--telegram .contacts-way-card__icon {
  background: linear-gradient(135deg, rgba(40,170,240,.18), rgba(40,170,240,.08));
  color: #29ABE2;
  box-shadow: 0 4px 12px rgba(40,170,240,.15), 0 1px 0 rgba(255,255,255,.8) inset;
}
.contacts-way-card--phone .contacts-way-card__icon {
  background: linear-gradient(135deg, rgba(25,152,18,.16), rgba(25,152,18,.06));
  color: #199812;
  box-shadow: 0 4px 12px rgba(25,152,18,.15), 0 1px 0 rgba(255,255,255,.8) inset;
}
.contacts-way-card--email .contacts-way-card__icon {
  background: linear-gradient(135deg, rgba(200,150,80,.20), rgba(200,150,80,.08));
  color: var(--accent);
  box-shadow: 0 4px 12px rgba(200,150,80,.18), 0 1px 0 rgba(255,255,255,.8) inset;
}

.contacts-way-card--telegram:hover .contacts-way-card__icon {
  animation: icon-spin 0.6s cubic-bezier(.36,.07,.19,.97) forwards;
  box-shadow: 0 8px 24px rgba(40,170,240,.3), 0 1px 0 rgba(255,255,255,.9) inset;
}
.contacts-way-card--phone:hover .contacts-way-card__icon {
  animation: icon-bounce 0.55s cubic-bezier(.36,.07,.19,.97) forwards;
  box-shadow: 0 8px 24px rgba(25,152,18,.3), 0 1px 0 rgba(255,255,255,.9) inset;
}
.contacts-way-card--email:hover .contacts-way-card__icon {
  animation: icon-bounce 0.55s cubic-bezier(.36,.07,.19,.97) forwards;
  box-shadow: 0 8px 24px rgba(200,150,80,.3), 0 1px 0 rgba(255,255,255,.9) inset;
}

.contacts-way-card__body {
  flex: 1;
  min-width: 0;
  position: relative;
  z-index: 3;
}
.contacts-way-card__label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 4px;
}
.contacts-way-card__name {
  font-size: 17px;
  font-weight: 800;
  color: var(--text);
  margin-bottom: 2px;
  transition: color .25s;
}
.contacts-way-card:hover .contacts-way-card__name { color: var(--accent-dark); }
.contacts-way-card__value {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 4px;
}
.contacts-way-card__note {
  font-size: 12px;
  color: var(--text-light);
}

.contacts-way-card__arrow {
  font-size: 20px;
  color: var(--accent);
  opacity: 0;
  transform: translateX(-8px) scale(.8);
  transition: opacity .3s, transform .3s cubic-bezier(.34,1.56,.64,1);
  flex-shrink: 0;
  position: relative;
  z-index: 3;
}
.contacts-way-card:hover .contacts-way-card__arrow {
  opacity: 1;
  transform: translateX(0) scale(1);
  animation: arrow-bounce .6s ease-in-out infinite .2s;
}

/* ── Инфо-плашки — объёмные таблетки ── */
.contacts-info-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 44px;
}
.contacts-info-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: linear-gradient(160deg, #fffaf4 0%, #fdf3e3 100%);
  border: 1.5px solid rgba(200,150,80,.22);
  border-radius: 50px;
  padding: 7px 16px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text);
  cursor: default;
  position: relative;
  overflow: hidden;

  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 3px 8px rgba(200,150,80,.10),
    0 6px 16px rgba(200,150,80,.07);

  transition: transform .4s cubic-bezier(.34,1.56,.64,1), box-shadow .3s, border-color .3s;
  animation: info-pop 4s ease-in-out infinite, info-glow 4s ease-in-out infinite;
}
.contacts-info-item:nth-child(2) { animation-delay: .8s; }
.contacts-info-item:nth-child(3) { animation-delay: 1.6s; }

/* Блик на таблетке */
.contacts-info-item::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 50%;
  background: linear-gradient(180deg, rgba(255,255,255,.55) 0%, transparent 100%);
  border-radius: 50px 50px 0 0;
  pointer-events: none;
}

.contacts-info-item:hover {
  transform: translateY(-5px) scale(1.04);
  border-color: rgba(200,150,80,.5);
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 8px 24px rgba(200,150,80,.22),
    0 16px 32px rgba(200,150,80,.12),
    0 0 0 2px rgba(200,150,80,.15);
  animation: none;
}

.contacts-info-item__icon {
  font-size: 14px;
  transition: transform .4s cubic-bezier(.34,1.56,.64,1);
}
.contacts-info-item:hover .contacts-info-item__icon {
  transform: scale(1.3) rotate(-10deg);
}




/* ── Анимации формы ── */
@keyframes form-box-idle {
  0%,100% { box-shadow: 0 8px 32px rgba(200,150,80,.10), 0 2px 8px rgba(200,150,80,.06), 0 0 0 1.5px rgba(200,150,80,.14); }
  50%     { box-shadow: 0 16px 48px rgba(200,150,80,.18), 0 4px 16px rgba(200,150,80,.10), 0 0 0 1.5px rgba(200,150,80,.28); }
}
@keyframes form-orb-1 {
  0%,100% { transform: translate(0,0) scale(1); opacity: .55; }
  33%     { transform: translate(18px,-14px) scale(1.12); opacity: .7; }
  66%     { transform: translate(-10px,10px) scale(.92); opacity: .45; }
}
@keyframes form-orb-2 {
  0%,100% { transform: translate(0,0) scale(1); opacity: .4; }
  40%     { transform: translate(-20px,12px) scale(1.1); opacity: .6; }
  70%     { transform: translate(14px,-8px) scale(.9); opacity: .35; }
}
@keyframes label-float-up {
  from { transform: translateY(0); opacity: .7; }
  to   { transform: translateY(-24px) scale(.85); opacity: 1; }
}
@keyframes input-focus-glow {
  0%   { box-shadow: 0 0 0 0 rgba(200,150,80,0); }
  50%  { box-shadow: 0 0 0 5px rgba(200,150,80,.18); }
  100% { box-shadow: 0 0 0 3px rgba(200,150,80,.14); }
}
@keyframes submit-pulse {
  0%,100% { box-shadow: 0 4px 20px rgba(200,150,80,.3), 0 1px 0 rgba(255,255,255,.25) inset; }
  50%     { box-shadow: 0 8px 36px rgba(200,150,80,.55), 0 1px 0 rgba(255,255,255,.25) inset; }
}
@keyframes submit-shimmer {
  0%   { left: -80%; }
  50%  { left: 130%; }
  100% { left: 130%; }
}
@keyframes check-pop {
  0%   { transform: scale(0) rotate(-20deg); opacity: 0; }
  60%  { transform: scale(1.2) rotate(5deg);  opacity: 1; }
  100% { transform: scale(1) rotate(0deg);    opacity: 1; }
}
@keyframes tg-bounce {
  0%,100% { transform: translateY(0) rotate(0deg); }
  30%     { transform: translateY(-4px) rotate(-8deg); }
  60%     { transform: translateY(-2px) rotate(5deg); }
}

/* ============================================================
   ФОРМА ЗАЯВКИ
   ============================================================ */
.contacts-form-section {
  padding: 80px 0 72px;
  background: #ffffff;
}

.contacts-form-wrap {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 64px;
  align-items: center;
}

/* ── Левая колонка ── */
.contacts-form-meta__desc {
  font-size: 15px;
  line-height: 1.7;
  color: var(--text-light);
  margin-bottom: 28px;
}

.contacts-form-checklist {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 36px;
}
.contacts-check-item {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  color: var(--text);
  transition: transform .25s;
}
.contacts-check-item:hover { transform: translateX(4px); }

.contacts-check-item__mark {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(25,152,18,.18), rgba(25,152,18,.08));
  color: #199812;
  font-size: 12px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(25,152,18,.18), 0 1px 0 rgba(255,255,255,.8) inset;
  transition: transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .25s;
}
.contacts-check-item:hover .contacts-check-item__mark {
  transform: scale(1.2) rotate(10deg);
  box-shadow: 0 4px 14px rgba(25,152,18,.3), 0 1px 0 rgba(255,255,255,.9) inset;
  animation: check-pop .4s cubic-bezier(.34,1.56,.64,1);
}

.contacts-form-alt {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.contacts-form-alt__label {
  font-size: 11px;
  color: var(--text-light);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.contacts-form-alt__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 700;
  color: var(--accent);
  text-decoration: none;
  transition: gap .3s, color .2s;
}
.contacts-form-alt__link:hover {
  color: var(--accent-dark);
  gap: 12px;
}
.contacts-form-alt__link svg {
  transition: transform .4s cubic-bezier(.34,1.56,.64,1);
}
.contacts-form-alt__link:hover svg {
  animation: tg-bounce .6s ease-in-out infinite;
}

/* ── Форма-карточка — объёмная ── */
.contacts-form-box {
  background: linear-gradient(160deg, #ffffff 0%, #fdfaf6 60%, #faf5ee 100%);
  border: 1.5px solid rgba(200,150,80,.18);
  border-radius: 28px;
  padding: 40px 40px 36px;
  position: relative;
  overflow: hidden;

  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 -1px 0 rgba(200,150,80,.06) inset,
    0 8px 32px rgba(200,150,80,.10),
    0 2px 8px rgba(200,150,80,.06);

  animation: form-box-idle 4s ease-in-out infinite;
  transition: box-shadow .4s, border-color .3s;
}
.contacts-form-box:focus-within {
  animation: none;
  border-color: rgba(200,150,80,.4);
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 12px 48px rgba(200,150,80,.18),
    0 4px 16px rgba(200,150,80,.12),
    0 0 0 3px rgba(200,150,80,.08);
}

/* Декоративные орбы — фоновые пятна */
.contacts-form-box::before {
  content: '';
  position: absolute;
  width: 220px; height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(200,150,80,.12) 0%, transparent 70%);
  top: -60px; right: -60px;
  animation: form-orb-1 7s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}
.contacts-form-box::after {
  content: '';
  position: absolute;
  width: 160px; height: 160px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(200,150,80,.09) 0%, transparent 70%);
  bottom: -40px; left: -40px;
  animation: form-orb-2 9s ease-in-out infinite 1.5s;
  pointer-events: none;
  z-index: 0;
}

/* Верхний блик */
.contacts-form-box .contacts-form {
  position: relative;
  z-index: 1;
}

.contacts-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}

.contacts-form__group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.contacts-form__group--full {
  grid-column: 1 / -1;
}

.contacts-form__label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-light);
  transition: color .25s;
}
.contacts-form__group:focus-within .contacts-form__label {
  color: var(--accent-dark);
}

.contacts-form__input {
  width: 100%;
  background: rgba(247,243,238,.7);
  border: 1.5px solid rgba(200,150,80,.15);
  border-radius: 14px;
  padding: 13px 16px;
  font-family: inherit;
  font-size: 14px;
  color: var(--text);
  outline: none;
  transition: border-color .3s, box-shadow .3s, background .3s, transform .2s;
  box-sizing: border-box;
  appearance: none;
  backdrop-filter: blur(4px);
}
.contacts-form__input:hover {
  border-color: rgba(200,150,80,.3);
  background: rgba(255,255,255,.9);
}
.contacts-form__input:focus {
  border-color: var(--accent);
  background: #ffffff;
  transform: translateY(-1px);
  animation: input-focus-glow .4s ease forwards;
  box-shadow: 0 0 0 3px rgba(200,150,80,.14), 0 4px 12px rgba(200,150,80,.10);
}
.contacts-form__input::placeholder {
  color: var(--text-light);
  opacity: .55;
  transition: opacity .25s;
}
.contacts-form__input:focus::placeholder { opacity: .3; }

.contacts-form__select-wrap {
  position: relative;
}
.contacts-form__select {
  cursor: pointer;
  padding-right: 40px;
}
.contacts-form__select-arrow {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: var(--accent);
  transition: transform .3s;
}
.contacts-form__select:focus + .contacts-form__select-arrow {
  transform: translateY(-50%) rotate(180deg);
}

.contacts-form__textarea {
  resize: none;
  min-height: 130px;
  line-height: 1.65;
}

/* ── Кнопка отправки — главный акцент ── */
.contacts-form__submit {
  width: 100%;
  justify-content: center;
  border: none;
  cursor: pointer;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .02em;
  padding: 16px 32px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--accent) 0%, #D4A060 50%, var(--accent-dark) 100%);
  background-size: 200% 100%;
  color: #fff;
  position: relative;
  overflow: hidden;
  animation: submit-pulse 3s ease-in-out infinite;
  transition: transform .3s cubic-bezier(.34,1.56,.64,1), border-radius .4s ease, background-position .4s;
}
/* Бегущий блик на кнопке */
.contacts-form__submit::before {
  content: '';
  position: absolute;
  top: 0; left: -80%; width: 45%; height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.4), transparent);
  transform: skewX(-15deg);
  animation: submit-shimmer 3s ease-in-out infinite 1s;
  pointer-events: none;
}
.contacts-form__submit:hover {
  animation: none;
  transform: translateY(-3px) scale(1.02);
  border-radius: 50px;
  background-position: 100% 0;
  box-shadow: 0 12px 36px rgba(200,150,80,.45), 0 4px 12px rgba(200,150,80,.25);
}
.contacts-form__submit:active {
  transform: translateY(0) scale(.98);
}

.contacts-form__note {
  grid-column: 1 / -1;
  font-size: 11px;
  color: var(--text-light);
  line-height: 1.5;
  text-align: center;
  margin-top: -6px;
  opacity: .7;
}


/* ============================================================
   FAQ
   ============================================================ */

/* ── Анимации иконок ── */
@keyframes clock-minute {
  from { transform-origin: 14px 14px; transform: rotate(0deg); }
  to   { transform-origin: 14px 14px; transform: rotate(360deg); }
}
@keyframes clock-hour {
  from { transform-origin: 14px 14px; transform: rotate(0deg); }
  to   { transform-origin: 14px 14px; transform: rotate(360deg); }
}
@keyframes icon-idle-rock {
  0%,100% { transform: rotate(0deg); }
  30%     { transform: rotate(-8deg); }
  70%     { transform: rotate(7deg); }
}
@keyframes icon-idle-bob {
  0%,100% { transform: translateY(0); }
  50%     { transform: translateY(-4px); }
}
@keyframes icon-idle-pulse {
  0%,100% { transform: scale(1); }
  50%     { transform: scale(1.12); }
}
@keyframes icon-idle-swing {
  0%,100% { transform: rotate(0deg); }
  25%     { transform: rotate(-10deg); }
  75%     { transform: rotate(10deg); }
}
@keyframes doc-draw {
  from { stroke-dashoffset: 14; }
  to   { stroke-dashoffset: 0; }
}
@keyframes pin-drop {
  0%   { transform: translateY(-6px) scale(.8); opacity: 0; }
  60%  { transform: translateY(3px) scale(1.1); opacity: 1; }
  100% { transform: translateY(0) scale(1); opacity: 1; }
}
@keyframes lock-open {
  0%,100% { transform-origin: 9px 13px; transform: rotate(0deg) translateY(0); }
  40%     { transform-origin: 9px 13px; transform: rotate(-30deg) translateY(-2px); }
  60%     { transform-origin: 9px 13px; transform: rotate(-28deg) translateY(-2px); }
}
@keyframes coin-flip {
  0%    { transform: scaleX(1); }
  40%   { transform: scaleX(0.1); }
  50%   { transform: scaleX(0.1); }
  90%   { transform: scaleX(1); }
  100%  { transform: scaleX(1); }
}
@keyframes hand-wave {
  0%,100% { transform: rotate(0deg); }
  20%     { transform: rotate(-15deg); }
  50%     { transform: rotate(10deg); }
  80%     { transform: rotate(-8deg); }
}

@keyframes faq-idle-1 {
  0%,100% { transform: translateY(0) rotate(0deg);   box-shadow: 0 2px 8px rgba(42,32,24,.06), 0 0 0 0 rgba(200,150,80,0);   border-color: rgba(200,150,80,.12); }
  33%     { transform: translateY(-5px) rotate(.3deg); box-shadow: 0 12px 28px rgba(200,150,80,.18), 0 0 0 3px rgba(200,150,80,.08); border-color: rgba(200,150,80,.35); }
  66%     { transform: translateY(-3px) rotate(-.2deg);box-shadow: 0 8px 20px rgba(200,150,80,.12), 0 0 0 2px rgba(200,150,80,.05); border-color: rgba(200,150,80,.22); }
}
@keyframes faq-idle-2 {
  0%,100% { transform: translateY(0) rotate(0deg);    box-shadow: 0 2px 8px rgba(42,32,24,.06); border-color: rgba(200,150,80,.12); }
  40%     { transform: translateY(-7px) rotate(-.4deg);box-shadow: 0 14px 32px rgba(200,150,80,.20), 0 0 0 4px rgba(200,150,80,.07); border-color: rgba(200,150,80,.38); }
  75%     { transform: translateY(-2px) rotate(.2deg); box-shadow: 0 6px 16px rgba(200,150,80,.10); border-color: rgba(200,150,80,.18); }
}
@keyframes faq-idle-3 {
  0%,100% { transform: translateY(0) scale(1);        box-shadow: 0 2px 8px rgba(42,32,24,.06); border-color: rgba(200,150,80,.12); }
  50%     { transform: translateY(-4px) scale(1.012);  box-shadow: 0 16px 36px rgba(200,150,80,.22), 0 0 0 3px rgba(200,150,80,.09); border-color: rgba(200,150,80,.40); }
}
@keyframes faq-idle-4 {
  0%,100% { transform: translateY(0) rotate(0deg);     box-shadow: 0 2px 8px rgba(42,32,24,.06); border-color: rgba(200,150,80,.12); }
  30%     { transform: translateY(-6px) rotate(.35deg); box-shadow: 0 13px 30px rgba(200,150,80,.19), 0 0 0 3px rgba(200,150,80,.07); border-color: rgba(200,150,80,.33); }
  70%     { transform: translateY(-4px) rotate(-.25deg);box-shadow: 0 9px 22px rgba(200,150,80,.13); border-color: rgba(200,150,80,.20); }
}
@keyframes faq-idle-5 {
  0%,100% { transform: translateY(0) scale(1);        box-shadow: 0 2px 8px rgba(42,32,24,.06); border-color: rgba(200,150,80,.12); }
  45%     { transform: translateY(-8px) scale(1.015);  box-shadow: 0 18px 40px rgba(200,150,80,.24), 0 0 0 4px rgba(200,150,80,.08); border-color: rgba(200,150,80,.42); }
}
@keyframes faq-idle-6 {
  0%,100% { transform: translateY(0) rotate(0deg);    box-shadow: 0 2px 8px rgba(42,32,24,.06); border-color: rgba(200,150,80,.12); }
  35%     { transform: translateY(-5px) rotate(-.3deg);box-shadow: 0 12px 28px rgba(200,150,80,.17), 0 0 0 3px rgba(200,150,80,.07); border-color: rgba(200,150,80,.32); }
  65%     { transform: translateY(-3px) rotate(.2deg); box-shadow: 0 7px 18px rgba(200,150,80,.11); border-color: rgba(200,150,80,.19); }
}
@keyframes faq-icon-pulse-glow {
  0%,100% { box-shadow: 0 0 0 0 rgba(200,150,80,.30); background: rgba(200,150,80,.10); }
  50%     { box-shadow: 0 0 0 7px rgba(200,150,80,0);  background: rgba(200,150,80,.20); }
}


/* ============================================================
   FAQ
   ============================================================ */
.contacts-faq-section {
  padding: 80px 0 88px;
  background: #f7f8fa;
}

.contacts-faq-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 48px;
}

.contacts-faq-item {
  background: #ffffff;
  border: 1.5px solid rgba(200,150,80,.12);
  border-radius: var(--radius-md);
  padding: 24px 22px;
  display: flex;
  gap: 16px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(42,32,24,.06), 0 1px 3px rgba(42,32,24,.04);
  opacity: 0;
  transform: translateY(44px);
}

/* Появление — JS добавляет faq-visible */
.contacts-faq-item.faq-visible {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .55s ease, transform .6s cubic-bezier(.34,1.2,.64,1);
}

/* Idle-анимации — стартуют после появления через animation-delay */
.contacts-faq-item.faq-visible:nth-child(1) { animation: faq-idle-1 4.2s ease-in-out infinite 0.7s; }
.contacts-faq-item.faq-visible:nth-child(2) { animation: faq-idle-2 5.0s ease-in-out infinite 0.9s; transition-delay: .12s; }
.contacts-faq-item.faq-visible:nth-child(3) { animation: faq-idle-3 4.6s ease-in-out infinite 1.1s; transition-delay: .24s; }
.contacts-faq-item.faq-visible:nth-child(4) { animation: faq-idle-4 4.8s ease-in-out infinite 0.8s; transition-delay: .10s; }
.contacts-faq-item.faq-visible:nth-child(5) { animation: faq-idle-5 3.9s ease-in-out infinite 1.0s; transition-delay: .22s; }
.contacts-faq-item.faq-visible:nth-child(6) { animation: faq-idle-6 4.4s ease-in-out infinite 1.2s; transition-delay: .34s; }

.contacts-faq-item:hover {
  animation: none !important;
  transform: translateY(-6px) !important;
  border-color: rgba(200,150,80,.45);
  box-shadow: 0 16px 44px rgba(200,150,80,.16), 0 4px 12px rgba(200,150,80,.10);
  transition: transform .4s cubic-bezier(.34,1.56,.64,1), box-shadow .3s, border-color .3s !important;
}


/* ── Обёртка иконки ── */
.contacts-faq-item__icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: var(--accent-light);
  border: 1px solid rgba(200,150,80,.18);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent);
  margin-top: 2px;
  animation: faq-icon-pulse-glow 3s ease-in-out infinite;
  transition: background .3s, box-shadow .3s, transform .3s cubic-bezier(.34,1.56,.64,1);
}
.contacts-faq-item:nth-child(2) .contacts-faq-item__icon { animation-delay: .5s; }
.contacts-faq-item:nth-child(3) .contacts-faq-item__icon { animation-delay: 1.1s; }
.contacts-faq-item:nth-child(4) .contacts-faq-item__icon { animation-delay: .3s; }
.contacts-faq-item:nth-child(5) .contacts-faq-item__icon { animation-delay: .9s; }
.contacts-faq-item:nth-child(6) .contacts-faq-item__icon { animation-delay: .7s; }
.contacts-faq-item:hover .contacts-faq-item__icon {
  animation: none;
  background: rgba(200,150,80,.18);
  box-shadow: 0 4px 16px rgba(200,150,80,.22);
  transform: scale(1.12) translateY(-2px);
}

/* ── SVG базовые стили ── */
.faq-svg {
  display: block;
  transition: transform .3s;
}

/* Часы — в покое тикают, при hover стрелки крутятся быстро */
.faq-svg--clock { animation: icon-idle-rock 3s ease-in-out infinite; }
.contacts-faq-item:hover .faq-svg--clock { animation: none; }
.contacts-faq-item:hover .faq-clock__minute {
  animation: clock-minute .8s linear infinite;
  transform-box: fill-box;
}
.contacts-faq-item:hover .faq-clock__hour {
  animation: clock-hour 6s linear infinite;
  transform-box: fill-box;
}

/* Документ — в покое bob, при hover галочка прорисовывается */
.faq-svg--doc { animation: icon-idle-bob 2.5s ease-in-out infinite; }
.contacts-faq-item:hover .faq-svg--doc { animation: none; }
.faq-doc__check { transition: stroke-dashoffset .5s ease .1s; }
.contacts-faq-item:hover .faq-doc__check { stroke-dashoffset: 0; }

/* Монета — в покое пульсирует, при hover переворачивается */
.faq-svg--coin { animation: icon-idle-pulse 2.2s ease-in-out infinite; }
.contacts-faq-item:hover .faq-svg--coin {
  animation: coin-flip .7s ease-in-out forwards;
  transform-box: fill-box;
  transform-origin: center;
}

/* Пин — в покое покачивается, при hover подпрыгивает и падает */
.faq-svg--pin { animation: icon-idle-swing 3.5s ease-in-out infinite; transform-origin: center top; }
.contacts-faq-item:hover .faq-svg--pin {
  animation: pin-drop .5s cubic-bezier(.34,1.56,.64,1) forwards;
}

/* Рукопожатие — в покое качается, при hover трясётся */
.faq-svg--hand { animation: icon-idle-rock 2.8s ease-in-out infinite; }
.contacts-faq-item:hover .faq-svg--hand {
  animation: hand-wave .5s ease-in-out 2 forwards;
}

/* Замок — в покое пульсирует, при hover открывается */
.faq-svg--lock { animation: icon-idle-pulse 3s ease-in-out infinite; }
.faq-lock__shackle { transition: transform .4s cubic-bezier(.34,1.56,.64,1); transform-box: fill-box; }
.contacts-faq-item:hover .faq-lock__shackle {
  animation: lock-open .5s cubic-bezier(.34,1.56,.64,1) forwards;
}

.contacts-faq-item__q {
  font-size: 15px;
  font-weight: 800;
  color: var(--text);
  margin: 0 0 8px;
  line-height: 1.3;
  transition: color .25s;
}
.contacts-faq-item:hover .contacts-faq-item__q { color: var(--accent-dark); }

.contacts-faq-item__a {
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--text-light);
  margin: 0;
}
/* Текущий пункт меню в футере */
.footer__link--current {
  color: #199812;
  cursor: default;
  pointer-events: none;
  font-size: 14px;

}