/* v2: правки Вадима из видео поверх общего стиля */

/* FAQ раскрывается по клику, без кнопки «Смотреть все» */
.faq__item { padding: 0; }
.faq__item summary { position: relative; display: block; padding: 26px 64px 26px 0; cursor: pointer; list-style: none; }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary .faq__q, .faq__item summary .faq__hint { display: block; }
.faq__item summary:hover .faq__q { color: var(--grey-300); }
.faq__item details[open] .faq__plus::after { transform: rotate(0deg); }
.faq__answer { display: grid; gap: 14px; max-width: 860px; padding: 0 64px 28px 0; color: rgba(255,255,255,.85); font-size: 15px; line-height: 22px; }
.faq__item details[open] .faq__answer { animation: faq-in .25s ease-out; }
@keyframes faq-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* Карточки над формой вылетают из центральной */
.contact__cards[data-fly] .contact__card--left,
.contact__cards[data-fly] .contact__card--right { transition: transform .9s cubic-bezier(.2,.8,.2,1), opacity .5s; }
.contact__cards[data-fly]:not(.is-in) .contact__card--left,
.contact__cards[data-fly]:not(.is-in) .contact__card--right { transform: translate(-50%, -50%) scale(.8); opacity: 0; }

@media (max-width: 640px) {
  .faq__item summary { padding: 20px 36px 20px 0; }
  .faq__answer { padding-right: 0; font-size: 15px; }
}

/* Внутренние страницы v2: кейсы и политика */
.page-hero { padding-top: 120px; }
.cases-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.case-card { position: relative; border-radius: 24px; overflow: hidden; background: #2a2a2a; }
.case-card img { width: 100%; aspect-ratio: 288 / 317; object-fit: cover; }
.case-card__tag { position: absolute; left: 16px; bottom: 16px; padding: 6px 12px; border-radius: 100px; background: var(--graphite); font-size: 14px; }
.cases-cta { margin-top: 48px; }
.legal { padding-top: 100px; }
.legal .container { max-width: 832px; }
.legal__title { margin-top: 20px; font: 600 40px/1.2 var(--font-head); }
.legal__draft { margin-top: 24px; padding: 16px 20px; border-radius: var(--radius-sm); background: var(--grey-50); color: var(--grey-600); }
.legal h2 { margin-top: 40px; font: 600 20px/1.3 var(--font-head); }
.legal h2 + p { margin-top: 12px; }
.legal p { color: #3a3a3a; }
.legal__date { margin: 40px 0 24px; color: var(--grey-500); }
@media (max-width: 1100px) { .cases-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) {
  .page-hero, .legal { padding-top: 56px; }
  .cases-grid { grid-template-columns: 1fr; }
  .legal__title { font-size: 26px; }
}
