.page-faq { box-sizing: border-box; width: min(1200px, calc(100% - 48px)); margin: 70px auto; color: #222; }
.page-faq h2 { margin: 0 0 28px; font-size: clamp(24px, 3vw, 36px); line-height: 1.4; font-weight: 700; word-break: keep-all; }
.page-faq details { border-bottom: 1px solid #d8d8d8; background: #fff; }
.page-faq details:first-of-type { border-top: 2px solid #b99265; }
.page-faq summary { padding: 23px 20px; font-size: 18px; font-weight: 600; line-height: 1.6; cursor: pointer; overflow-wrap: anywhere; }
.page-faq summary::marker { color: #9b754a; }
.page-faq summary:focus-visible { outline: 2px solid #9b754a; outline-offset: -2px; }
.page-faq details[open] summary { color: #735331; }
.page-faq details > div { padding: 0 24px 25px; font-size: 16px; line-height: 1.9; overflow-wrap: anywhere; }
#page-faq-title { scroll-margin-top: 100px; }
.page-faq-main .main_con_title { margin-bottom: 40px; }
.page-faq-main .main_con_title p.page-faq-eyebrow { margin: 0; color: #be976a; font-family: "Marcellus", serif; font-size: 20px; line-height: 1.4; }
.page-faq-main .main_con_title h2 span.title { margin-top: 20px; font-size: clamp(28px, 3.3vw, 44px); line-height: 1.4; }
.page-faq-main details:first-of-type { border-top-color: #be976a; }
/* Reserve room for the site's fixed consultation shortcuts. */
@media (max-width: 1300px) {
    .page-faq { padding-right: 64px; }
}
@media (max-width: 600px) {
    .page-faq { width: calc(100% - 32px); margin: 45px auto; }
    .page-faq summary { padding: 18px 10px; font-size: 16px; }
    .page-faq details > div { padding: 0 10px 20px; font-size: 15px; }
}

/* Main FAQ follows the navy, warm gold and rounded sections of the home page. */
.page-faq-main { width: 96%; margin: 64px auto 80px; padding: 46px clamp(32px, 6vw, 112px) 36px; background: #f6f5f2; border: 1px solid #ece8e1; border-radius: 24px; }
.page-faq-main .main_con_title { margin-bottom: 32px; }
.page-faq-main .main_con_title p.page-faq-eyebrow { display: flex; align-items: center; justify-content: center; gap: 14px; font-size: 16px; letter-spacing: .12em; }
.page-faq-main .page-faq-eyebrow::before, .page-faq-main .page-faq-eyebrow::after { content: ""; width: 28px; height: 1px; background: #be976a; }
.page-faq-main .main_con_title h2 { margin-bottom: 0; }
.page-faq-main .main_con_title h2 span.title { margin-top: 14px; color: #111523; font-size: clamp(26px, 2.7vw, 36px); letter-spacing: -.04em; word-break: keep-all; }
.page-faq-main details, .page-faq-main details:first-of-type { margin-top: 10px; border: 1px solid #e7e3dc; border-radius: 12px; background: #fff; overflow: hidden; }
.page-faq-main summary { position: relative; display: block; list-style: none; padding: 22px 60px 22px 56px; color: #242835; font-size: 17px; line-height: 1.6; word-break: keep-all; }
.page-faq-main summary::-webkit-details-marker { display: none; }
.page-faq-main summary::before { content: "Q"; position: absolute; left: 24px; top: 22px; color: #a27c4d; font-family: "Marcellus", serif; font-size: 20px; line-height: 1.35; }
.page-faq-main summary::after { content: "+"; position: absolute; right: 20px; top: 20px; width: 28px; height: 28px; border: 1px solid #e5dfd6; border-radius: 50%; color: #9b754a; font-size: 21px; font-weight: 400; line-height: 26px; text-align: center; }
.page-faq-main summary:hover { background: #fcfbf9; }
.page-faq-main details[open] { border-color: #be976a; box-shadow: 0 4px 16px rgba(17,21,35,.04); }
.page-faq-main details[open] summary { background: #111523; color: #fff; }
.page-faq-main details[open] summary::before { color: #d6b486; }
.page-faq-main details[open] summary::after { content: "−"; color: #d6b486; border-color: #665a4e; }
.page-faq-main details > div { padding: 22px 28px 26px 56px; color: #565960; font-size: 16px; line-height: 1.9; word-break: keep-all; }
@media (max-width: 600px) {
    .page-faq-main { width: 96%; margin: 40px auto 48px; padding: 28px 68px 18px 12px; border-radius: 16px; }
    .page-faq-main .main_con_title { margin-bottom: 24px; }
    .page-faq-main .main_con_title h2 span.title { font-size: 25px; line-height: 1.5; }
    .page-faq-main summary { padding: 17px 36px 17px 31px; font-size: 15px; }
    .page-faq-main summary::before { left: 11px; top: 18px; font-size: 17px; }
    .page-faq-main summary::after { right: 9px; top: 18px; width: 21px; height: 21px; line-height: 19px; font-size: 18px; }
    .page-faq-main details > div { padding: 16px 14px 20px; font-size: 14px; line-height: 1.85; word-break: normal; }
}
@media (min-width: 601px) and (max-width: 1500px) {
    .page-faq-main { padding-right: 112px; padding-left: 40px; }
}
