/* Page-owned FAQ layout; shared shell and base theme remain inherited. */
.faq-page { width:100%; min-width:0; padding-bottom:80px; }
.faq-page *, .faq-page *::before, .faq-page *::after { box-sizing:border-box; }
.faq-container { width:min(1280px,calc(100% - 48px)); margin-inline:auto; min-width:0; }
.faq-intro { padding:76px 0 56px; border-top:1px solid #c8c5bc; border-bottom:1px solid #c8c5bc; background:#ebe8df; }
.faq-eyebrow { margin:0 0 18px; font-size:14px; line-height:1.5; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#65513b; }
.faq-page h1 { margin:0 0 24px; max-width:100%; font-size:clamp(40px,5.3vw,78px); line-height:1.07; letter-spacing:-.035em; color:#20211f; }
.faq-lead { margin:0; max-width:800px; font-size:24px; line-height:1.5; }
.faq-jump { display:flex; flex-wrap:wrap; gap:10px; margin-top:32px; }
.faq-jump a { display:flex; align-items:center; min-height:44px; padding:9px 16px; border:1px solid #8e887b; color:#20211f; text-decoration:none; font-size:16px; line-height:1.4; }
.faq-jump a:hover { background:#20211f; color:#fff; }
.faq-content { padding-top:16px; }
.faq-group { display:flex; flex-wrap:wrap; gap:24px 64px; padding-block:52px; border-bottom:1px solid #c8c5bc; scroll-margin-top:24px; }
.faq-group-title { flex:1 1 280px; min-width:0; }
.faq-page h2 { margin:0; font-size:32px; line-height:1.2; letter-spacing:-.02em; color:#20211f; }
.faq-answers { flex:2 1 640px; min-width:0; }
.faq-answer { min-width:0; padding-block:28px; border-bottom:1px solid #d4d0c7; }
.faq-answer:first-child { padding-top:0; }
.faq-answer:last-child { padding-bottom:0; border-bottom:0; }
.faq-answer h3 { margin:0 0 14px; color:#20211f; font-size:24px; line-height:1.3; }
.faq-answer p { margin:0; max-width:min(100%,1100px); font-size:18px; line-height:1.75; }
.faq-page a { text-underline-offset:4px; }
.faq-answer a { color:#864000; text-decoration:underline; }
.faq-page a:focus-visible { outline:3px solid #9b4d00; outline-offset:4px; }
.faq-next { display:flex; flex-wrap:wrap; gap:24px 40px; align-items:center; justify-content:space-between; padding:36px; margin-top:48px; background:#e6e1d5; border-left:5px solid #ea7d06; }
.faq-next > div { flex:1 1 500px; min-width:0; }
.faq-next p { margin:14px 0 0; max-width:700px; font-size:18px; line-height:1.6; }
.faq-button { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; min-height:52px; max-width:100%; padding:14px 22px; background:#ea7d06; color:#111; font-weight:700; font-size:18px; line-height:1.4; text-decoration:none; }
.faq-button:hover { background:#f39a39; }
.faq-button span { flex:none; }
@media (max-width:600px) {
  .faq-container { width:calc(100% - 32px); }
  .faq-intro { padding-block:40px 32px; }
  .faq-lead { font-size:20px; }
  .faq-jump { gap:8px; margin-top:24px; }
  .faq-jump a { padding:8px 12px; }
  .faq-group { padding-block:32px; }
  .faq-page h2 { font-size:28px; }
  .faq-answer h3 { font-size:22px; }
  .faq-next { padding:24px 20px; margin-top:32px; }
  .faq-page { padding-bottom:48px; }
}
