.faq-main { max-width: 920px; padding-block: 5rem; }
.faq-main h1 { font-size: clamp(3rem, 6vw, 5.6rem); }
.faq-main .lead { max-width: 800px; }
.faq-notice { margin-block: 2rem; padding: 1.5rem; background: #e7eddf; border: 1px solid var(--line); border-radius: 18px; line-height: 1.65; }
.faq-notice p { margin: .5rem 0 0; color: #42504a; }
.faq-topics { display: flex; flex-wrap: wrap; gap: .65rem; margin: 2rem 0 3.5rem; }
.faq-topics a { padding: .6rem .85rem; border: 1px solid var(--line); border-radius: 999px; }
.faq-group { scroll-margin-top: 7rem; margin-block: 3.5rem; }
.faq-group h2 { font-size: clamp(2rem, 4vw, 3rem); margin-bottom: 1.5rem; }
.faq-group details { border-top: 1px solid var(--line); scroll-margin-top: 7rem; }
.faq-group details:last-child { border-bottom: 1px solid var(--line); }
.faq-group summary { padding: 1.2rem .4rem; cursor: pointer; font-weight: 650; line-height: 1.5; }
.faq-group details[open] summary { color: #38672d; }
.faq-group details > div { padding: 0 .4rem .5rem; color: #42504a; line-height: 1.7; max-width: 800px; }
.faq-group .faq-planned { display: inline-block; margin: 0 0 .65rem; padding: .2rem .65rem; border-radius: 8px; color: #5d4a1f; background: #f0e6cd; font-size: .8rem; }
.faq-main a:focus-visible, .faq-main summary:focus-visible { outline: 3px solid #638e42; outline-offset: 4px; }
@media (max-width: 760px) { .faq-main { padding-block: 3rem; } .faq-notice { padding: 1.2rem; } .faq-group { scroll-margin-top: 6rem; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
