.faq-page { width:100%; min-width:0; }
.faq-page .faq-inner { box-sizing:border-box; width:min(1100px,calc(100% - 40px)); margin-inline:auto; min-width:0; }
.faq-page .faq-intro { padding:76px 0 56px; background:#354b34; border-bottom:1px solid #91a18a; }
.faq-page .faq-eyebrow { margin:0 0 20px; color:#f2c7d5; font-size:13px; font-weight:700; line-height:1.5; letter-spacing:.12em; }
.faq-page h1 { max-width:900px; margin:0 0 28px; font-size:clamp(40px,5.5vw,76px); line-height:1.06; letter-spacing:-.035em; color:#f4efd8; }
.faq-page .faq-lead { max-width:760px; margin:0; font-size:clamp(20px,2vw,24px); line-height:1.55; }
.faq-page .faq-jump { display:flex; flex-wrap:wrap; gap:12px; margin-top:36px; }
.faq-page .faq-jump a { display:flex; align-items:center; box-sizing:border-box; min-height:44px; max-width:100%; padding:11px 20px; border:1px solid #b5bea6; border-radius:100px; font-size:16px; font-weight:700; line-height:1.4; text-decoration:none; }
.faq-page .faq-jump a:hover { background:#f2c7d5; color:#233422; border-color:#f2c7d5; }
.faq-page a:focus-visible { outline:3px solid #f2c7d5; outline-offset:5px; }
.faq-page .faq-content { padding:64px 0 80px; }
.faq-page .faq-section-heading { max-width:800px; margin-bottom:48px; }
.faq-page h2 { margin:0 0 20px; color:#f4efd8; font-size:clamp(30px,3.5vw,44px); line-height:1.15; letter-spacing:-.02em; }
.faq-page .faq-section-heading > p:last-child { margin:0; }
.faq-page .faq-group { margin-bottom:56px; scroll-margin-top:24px; min-width:0; }
.faq-page .faq-group-label { margin:0 0 20px; padding-bottom:14px; border-bottom:2px solid #f2c7d5; color:#f2c7d5; font-size:16px; font-weight:700; line-height:1.5; }
.faq-page .faq-answer { box-sizing:border-box; min-width:0; margin:0 0 16px; padding:32px 36px; background:#f4efd8; color:#30462f; border-radius:20px; }
.faq-page h3 { max-width:900px; margin:0 0 18px; color:#30462f; font-size:clamp(23px,2.5vw,28px); line-height:1.25; letter-spacing:-.01em; }
.faq-page .faq-answer p { max-width:900px; margin:0 0 14px; font-size:18px; line-height:1.65; }
.faq-page .faq-answer p:last-child { margin-bottom:0; }
.faq-page .faq-answer a { color:#30462f; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.faq-page .faq-answer a:focus-visible { outline-color:#435b42; }
.faq-page .faq-note { box-sizing:border-box; border:1px solid #b7c1a9; border-radius:24px; padding:32px 36px; max-width:100%; }
.faq-page .faq-note p:not(.faq-eyebrow) { max-width:800px; margin:0 0 24px; }
.faq-page .faq-note a { display:inline-block; min-height:24px; font-size:16px; font-weight:700; text-underline-offset:4px; }
@media (max-width:600px) {
.faq-page .faq-inner { width:calc(100% - 32px); }
.faq-page .faq-intro { padding:48px 0 36px; }
.faq-page .faq-content { padding:40px 0 48px; }
.faq-page .faq-section-heading { margin-bottom:32px; }
.faq-page .faq-answer { padding:24px 20px; border-radius:16px; }
.faq-page .faq-group { margin-bottom:36px; }
.faq-page .faq-note { padding:24px 20px; }
.faq-page .faq-jump { gap:10px; margin-top:28px; }
.faq-page .faq-jump a { padding:10px 16px; }
}
