.faq-page { background: var(--soft); }
.faq-hero { padding: 95px 24px 110px; text-align: center; background: linear-gradient(145deg, #fff, #fff1f4); }
.faq-hero h1 { font-size: clamp(44px, 6vw, 72px); }
.faq-hero > p:not(.eyebrow) { color: var(--muted); }
.back-link { margin-top: 24px; display: inline-block; color: var(--red); font-size: 13px; font-weight: 700; }
.faq-content { max-width: 900px; margin: -35px auto 0; padding: 0 24px 120px; position: relative; }
.faq-nav { padding: 20px 28px; display: flex; justify-content: center; gap: 36px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 12px 35px rgba(24,33,52,.08); font-size: 13px; font-weight: 700; }
.faq-nav a:hover { color: var(--red); }
.faq-group { padding-top: 90px; scroll-margin-top: 30px; }
.faq-group h2 { margin-bottom: 35px; font-size: 34px; }
details { margin-bottom: 12px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
summary { padding: 21px 56px 21px 24px; position: relative; cursor: pointer; list-style: none; font-size: 14px; font-weight: 700; }
summary::-webkit-details-marker { display: none; }
summary::after { content: "＋"; position: absolute; top: 18px; right: 22px; color: var(--red); font-size: 20px; }
details[open] summary::after { content: "−"; }
details p { margin: 0; padding: 0 24px 23px; color: var(--muted); font-size: 13px; }
details p a { color: var(--red); text-decoration: underline; }
.faq-contact { margin-top: 100px; padding: 60px 30px; border-radius: 22px; color: #fff; background: var(--navy); text-align: center; }
.faq-contact h2 { font-size: 36px; }
.faq-contact .button { margin-top: 18px; }
@media (max-width: 620px) {
  .faq-hero { padding: 70px 18px 95px; }
  .faq-content { padding-left: 18px; padding-right: 18px; }
  .faq-nav { gap: 16px; justify-content: flex-start; overflow-x: auto; white-space: nowrap; }
  .faq-group { padding-top: 70px; }
  .faq-group h2 { font-size: 28px; }
  summary { padding-left: 19px; font-size: 13px; }
  details p { padding-left: 19px; padding-right: 19px; }
  .faq-contact { margin-top: 75px; padding: 45px 22px; }
  .faq-contact h2 { font-size: 28px; }
}
