.faq-hero { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: var(--space-8); align-items: stretch; }
.faq-hero__content { max-width: 640px; }
.faq-hero__lead { font-size: var(--font-size-lg); color: var(--color-text-soft); margin-top: var(--space-3); }
.faq-hero__cta-group { margin-top: var(--space-6); display: flex; flex-wrap: wrap; gap: var(--space-3); }
.faq-hero__visual { align-self: stretch; }
.faq-hero__visual-title { font-size: var(--font-size-xl); margin-bottom: var(--space-3); }
.faq-hero__bullets { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--space-2); font-size: var(--font-size-sm); color: var(--color-text-soft); }
.faq-intro p { max-width: 720px; }
.faq-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--space-8); align-items: flex-start; }
.faq-layout__main { display: flex; flex-direction: column; gap: var(--space-4); }
.faq-list { margin-top: var(--space-2); }
.faq-list__bullets { list-style: none; padding: 0; margin: 0 0 var(--space-2); display: grid; gap: 0.3rem; font-size: var(--font-size-sm); color: var(--color-text-soft); }
.faq-item__question { background: none; border: none; width: 100%; text-align: left; color: inherit; font: inherit; }
.faq-item__icon { width: 1.8rem; height: 1.8rem; border-radius: 999px; border: 1px solid var(--color-border-strong); display: inline-flex; align-items: center; justify-content: center; font-size: 1.1rem; color: var(--color-primary-strong); flex-shrink: 0; transition: background var(--transition-normal), color var(--transition-normal), border-color var(--transition-normal), transform var(--transition-normal); }
.faq-item[aria-expanded="true"] .faq-item__icon,
.faq-item__question[aria-expanded="true"] .faq-item__icon { background: var(--color-primary-soft); border-color: rgba(166, 255, 59, 0.8); }
.faq-answer-with-media { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.1fr); gap: var(--space-4); align-items: center; }
.faq-answer-with-media__image img { border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); border: 1px solid rgba(255, 255, 255, 0.06); }
.faq-aside-card { position: sticky; top: 6rem; }
.faq-aside-card__btn { margin-top: var(--space-3); width: 100%; justify-content: center; }
.faq-aside-card__hint { margin-top: var(--space-3); font-size: var(--font-size-sm); color: var(--color-text-muted); }
@media (max-width: 1024px) { .faq-hero { grid-template-columns: minmax(0, 1.3fr); } .faq-hero__visual { order: -1; } .faq-layout { grid-template-columns: minmax(0, 2fr); } .faq-aside-card { position: static; } }
@media (max-width: 768px) { .faq-hero__cta-group { flex-direction: column; align-items: flex-start; } .faq-layout { gap: var(--space-6); } .faq-answer-with-media { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) { .faq-hero { gap: var(--space-6); } .faq-hero__lead { font-size: var(--font-size-base); } }
