/* FAQ */
.faq-sec { padding-block: var(--sec); }
.home-gallery + .faq-sec, .aud-gallery + .faq-sec { padding-top: 0; }
.faq-grid { display: grid; grid-template-columns: 4fr 8fr; gap: 28px clamp(28px, 5vw, 72px); align-items: center; }
.faq details { border-top: 1px solid var(--line); }
.faq details:last-child { border-bottom: 1px solid var(--line); }
.faq-side p { margin-top: 12px; max-width: 22em; line-height: 1.36; color: var(--ink-soft); }
.faq-side .link-ask { color: var(--night); }
.faq summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 64px; padding: 12px 0; font-size: 1.25rem; font-weight: 500; line-height: 1.25; cursor: pointer; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; flex: none; width: 12px; height: 12px; border-right: 2px solid var(--lantern-dark); border-bottom: 2px solid var(--lantern-dark); transform: rotate(45deg) translate(-2px, -2px); transition: transform .2s ease; }
.faq details[open] summary::after { transform: rotate(225deg) translate(-2px, -2px); }
.faq details::details-content { block-size: 0; overflow: clip; transition: block-size .22s ease, content-visibility .22s allow-discrete; }
.faq details[open]::details-content { block-size: auto; }
.faq p { padding-bottom: 18px; max-width: 40em; }
@media (max-width: 760px) { .faq-grid { grid-template-columns: 1fr; }
}
