/* ===== Блок «Вопросы до старта» ===== */
.osa-internal .o-faq { display: grid; grid-template-columns: .7fr 1.3fr; gap: 70px; }
.osa-internal .o-faq details { border-top: 1px solid var(--osa-line); padding: 22px 0; }
.osa-internal .o-faq details:last-child { border-bottom: 1px solid var(--osa-line); }
.osa-internal .o-faq summary { font: 400 17px/1.5 'Unbounded', sans-serif; list-style: none; cursor: pointer; padding-right: 44px; position: relative; display: flex; align-items: center; min-height: 32px; }
.osa-internal .o-faq summary::-webkit-details-marker { display: none; }
.osa-internal .o-faq summary::after { content: ''; position: absolute; right: 0; top: 50%; width: 32px; height: 32px; border-radius: 50%; background: var(--osa-paper); transform: translateY(-50%); transition: background .2s ease; }
.osa-internal .o-faq summary::before { content: ''; position: absolute; right: 10px; top: 50%; width: 12px; height: 12px; transform: translateY(-50%); z-index: 1; background: linear-gradient(var(--osa-ink), var(--osa-ink)) center/12px 2px no-repeat, linear-gradient(var(--osa-ink), var(--osa-ink)) center/2px 12px no-repeat; transition: background .2s ease; }
.osa-internal .o-faq details:not([open]) summary:hover::after { background: var(--osa-yellow); }
.osa-internal .o-faq details[open] summary::after { background: var(--osa-yellow); }
.osa-internal .o-faq details[open] summary::before { background: linear-gradient(var(--osa-ink), var(--osa-ink)) center/12px 2px no-repeat; }

/* Плавное раскрытие */
.osa-internal .o-faq-content { max-height: 0; overflow: hidden; opacity: 0; transition: max-height .35s ease, opacity .3s ease; }
.osa-internal .o-faq-content-inner { padding-top: 16px; }
.osa-internal .o-faq details[open] .o-faq-content { opacity: 1; }
.osa-internal .o-faq-content p { font-size: 16px; line-height: 1.6; margin: 0; color: var(--osa-muted); }

/* ===== Адаптив ===== */
@media (max-width: 1279px) {
	.osa-internal .o-faq { gap: 40px; }
}

@media (max-width: 991px) {
	.osa-internal .o-faq { grid-template-columns: 1fr; gap: 32px; }
}

@media (max-width: 575px) {
	.osa-internal .o-faq { gap: 24px; }
	.osa-internal .o-faq details { padding: 20px 0; }
	.osa-internal .o-faq summary { font-size: 15px; padding-right: 40px; min-height: 28px; }
	.osa-internal .o-faq summary::after { width: 28px; height: 28px; }
	.osa-internal .o-faq summary::before { right: 9px; width: 10px; height: 10px; background: linear-gradient(var(--osa-ink), var(--osa-ink)) center/10px 2px no-repeat, linear-gradient(var(--osa-ink), var(--osa-ink)) center/2px 10px no-repeat; }
	.osa-internal .o-faq details[open] summary::before { background: linear-gradient(var(--osa-ink), var(--osa-ink)) center/10px 2px no-repeat; }
	.osa-internal .o-faq-content p { font-size: 15px; }
}